aboutsummaryrefslogtreecommitdiff
path: root/drivers/clk/hisilicon/clk-hi3xxx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/hisilicon/clk-hi3xxx.c')
-rw-r--r--drivers/clk/hisilicon/clk-hi3xxx.c8
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;