diff options
Diffstat (limited to 'drivers/clk/hisilicon/clk-hi3xxx.c')
-rw-r--r-- | drivers/clk/hisilicon/clk-hi3xxx.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/clk/hisilicon/clk-hi3xxx.c b/drivers/clk/hisilicon/clk-hi3xxx.c index d16d92a4390a..b14c11c0899a 100644 --- a/drivers/clk/hisilicon/clk-hi3xxx.c +++ b/drivers/clk/hisilicon/clk-hi3xxx.c @@ -249,7 +249,7 @@ static void __init hi3620_clkmux_setup(struct device_node *np) struct clk *clk; const char *clk_name, **parent_names = NULL; u32 rdata[2], mask, *table = NULL; - u8 num_parents, shift; + u8 num_parents, shift, flag = 0; void __iomem *reg, *base; int i, ret; @@ -262,6 +262,10 @@ static void __init hi3620_clkmux_setup(struct device_node *np) if (of_property_read_u32_array(np, "hisilicon,clkmux-reg", &rdata[0], 2)) return; + + if (of_property_read_bool(np, "hiword")) + flag = CLK_MUX_HIWORD_MASK; + ret = hi3xxx_parse_mux(np, &num_parents, table); if (ret) return; @@ -277,7 +281,7 @@ static void __init hi3620_clkmux_setup(struct device_node *np) mask = rdata[1] >> shift; clk = clk_register_mux_table(NULL, clk_name, parent_names, num_parents, CLK_SET_RATE_PARENT, reg, shift, mask, - CLK_MUX_HIWORD_MASK, table, + flag, table, &hs_clk.lock); if (IS_ERR(clk)) goto err_clk; |