diff options
-rw-r--r-- | drivers/clk/rockchip/clk-rk3188.c | 26 | ||||
-rw-r--r-- | drivers/clk/rockchip/clk-rk3288.c | 18 |
2 files changed, 27 insertions, 17 deletions
diff --git a/drivers/clk/rockchip/clk-rk3188.c b/drivers/clk/rockchip/clk-rk3188.c index 6a81bc9e54f0..adfbfefeddf3 100644 --- a/drivers/clk/rockchip/clk-rk3188.c +++ b/drivers/clk/rockchip/clk-rk3188.c | |||
@@ -174,17 +174,10 @@ static struct rockchip_clk_branch common_clk_branches[] __initdata = { | |||
174 | GATE(0, "aclk_cpu", "aclk_cpu_pre", 0, | 174 | GATE(0, "aclk_cpu", "aclk_cpu_pre", 0, |
175 | RK2928_CLKGATE_CON(0), 3, GFLAGS), | 175 | RK2928_CLKGATE_CON(0), 3, GFLAGS), |
176 | 176 | ||
177 | DIV(0, "pclk_cpu_pre", "aclk_cpu_pre", 0, | ||
178 | RK2928_CLKSEL_CON(1), 12, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO), | ||
179 | GATE(0, "atclk_cpu", "pclk_cpu_pre", 0, | 177 | GATE(0, "atclk_cpu", "pclk_cpu_pre", 0, |
180 | RK2928_CLKGATE_CON(0), 6, GFLAGS), | 178 | RK2928_CLKGATE_CON(0), 6, GFLAGS), |
181 | GATE(0, "pclk_cpu", "pclk_cpu_pre", 0, | 179 | GATE(0, "pclk_cpu", "pclk_cpu_pre", 0, |
182 | RK2928_CLKGATE_CON(0), 5, GFLAGS), | 180 | RK2928_CLKGATE_CON(0), 5, GFLAGS), |
183 | DIV(0, "hclk_cpu_pre", "aclk_cpu_pre", 0, | ||
184 | RK2928_CLKSEL_CON(1), 8, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO), | ||
185 | COMPOSITE_NOMUX(0, "hclk_ahb2apb", "hclk_cpu_pre", 0, | ||
186 | RK2928_CLKSEL_CON(1), 14, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO, | ||
187 | RK2928_CLKGATE_CON(4), 9, GFLAGS), | ||
188 | GATE(0, "hclk_cpu", "hclk_cpu_pre", 0, | 181 | GATE(0, "hclk_cpu", "hclk_cpu_pre", 0, |
189 | RK2928_CLKGATE_CON(0), 4, GFLAGS), | 182 | RK2928_CLKGATE_CON(0), 4, GFLAGS), |
190 | 183 | ||
@@ -416,7 +409,17 @@ static struct rockchip_clk_branch rk3066a_clk_branches[] __initdata = { | |||
416 | COMPOSITE_NOGATE(0, "armclk", mux_armclk_p, 0, | 409 | COMPOSITE_NOGATE(0, "armclk", mux_armclk_p, 0, |
417 | RK2928_CLKSEL_CON(0), 8, 1, MFLAGS, 0, 5, DFLAGS), | 410 | RK2928_CLKSEL_CON(0), 8, 1, MFLAGS, 0, 5, DFLAGS), |
418 | DIVTBL(0, "aclk_cpu_pre", "armclk", 0, | 411 | DIVTBL(0, "aclk_cpu_pre", "armclk", 0, |
419 | RK2928_CLKSEL_CON(1), 0, 3, DFLAGS, div_aclk_cpu_t), | 412 | RK2928_CLKSEL_CON(1), 0, 3, DFLAGS | CLK_DIVIDER_READ_ONLY, div_aclk_cpu_t), |
413 | DIV(0, "pclk_cpu_pre", "aclk_cpu_pre", 0, | ||
414 | RK2928_CLKSEL_CON(1), 12, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO | ||
415 | | CLK_DIVIDER_READ_ONLY), | ||
416 | DIV(0, "hclk_cpu_pre", "aclk_cpu_pre", 0, | ||
417 | RK2928_CLKSEL_CON(1), 8, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO | ||
418 | | CLK_DIVIDER_READ_ONLY), | ||
419 | COMPOSITE_NOMUX(0, "hclk_ahb2apb", "hclk_cpu_pre", 0, | ||
420 | RK2928_CLKSEL_CON(1), 14, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO | ||
421 | | CLK_DIVIDER_READ_ONLY, | ||
422 | RK2928_CLKGATE_CON(4), 9, GFLAGS), | ||
420 | 423 | ||
421 | GATE(CORE_L2C, "core_l2c", "aclk_cpu", 0, | 424 | GATE(CORE_L2C, "core_l2c", "aclk_cpu", 0, |
422 | RK2928_CLKGATE_CON(9), 4, GFLAGS), | 425 | RK2928_CLKGATE_CON(9), 4, GFLAGS), |
@@ -534,6 +537,13 @@ static struct rockchip_clk_branch rk3188_clk_branches[] __initdata = { | |||
534 | /* do not source aclk_cpu_pre from the apll, to keep complexity down */ | 537 | /* do not source aclk_cpu_pre from the apll, to keep complexity down */ |
535 | COMPOSITE_NOGATE(0, "aclk_cpu_pre", mux_aclk_cpu_p, CLK_SET_RATE_NO_REPARENT, | 538 | COMPOSITE_NOGATE(0, "aclk_cpu_pre", mux_aclk_cpu_p, CLK_SET_RATE_NO_REPARENT, |
536 | RK2928_CLKSEL_CON(0), 5, 1, MFLAGS, 0, 5, DFLAGS), | 539 | RK2928_CLKSEL_CON(0), 5, 1, MFLAGS, 0, 5, DFLAGS), |
540 | DIV(0, "pclk_cpu_pre", "aclk_cpu_pre", 0, | ||
541 | RK2928_CLKSEL_CON(1), 12, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO), | ||
542 | DIV(0, "hclk_cpu_pre", "aclk_cpu_pre", 0, | ||
543 | RK2928_CLKSEL_CON(1), 8, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO), | ||
544 | COMPOSITE_NOMUX(0, "hclk_ahb2apb", "hclk_cpu_pre", 0, | ||
545 | RK2928_CLKSEL_CON(1), 14, 2, DFLAGS | CLK_DIVIDER_POWER_OF_TWO, | ||
546 | RK2928_CLKGATE_CON(4), 9, GFLAGS), | ||
537 | 547 | ||
538 | GATE(CORE_L2C, "core_l2c", "armclk", 0, | 548 | GATE(CORE_L2C, "core_l2c", "armclk", 0, |
539 | RK2928_CLKGATE_CON(9), 4, GFLAGS), | 549 | RK2928_CLKGATE_CON(9), 4, GFLAGS), |
diff --git a/drivers/clk/rockchip/clk-rk3288.c b/drivers/clk/rockchip/clk-rk3288.c index 12112899ff51..f6f278b005b9 100644 --- a/drivers/clk/rockchip/clk-rk3288.c +++ b/drivers/clk/rockchip/clk-rk3288.c | |||
@@ -170,31 +170,31 @@ static struct rockchip_clk_branch rk3288_clk_branches[] __initdata = { | |||
170 | RK3288_CLKSEL_CON(0), 15, 1, MFLAGS, 8, 5, DFLAGS), | 170 | RK3288_CLKSEL_CON(0), 15, 1, MFLAGS, 8, 5, DFLAGS), |
171 | 171 | ||
172 | COMPOSITE_NOMUX(0, "armcore0", "armclk", 0, | 172 | COMPOSITE_NOMUX(0, "armcore0", "armclk", 0, |
173 | RK3288_CLKSEL_CON(36), 0, 3, DFLAGS, | 173 | RK3288_CLKSEL_CON(36), 0, 3, DFLAGS | CLK_DIVIDER_READ_ONLY, |
174 | RK3288_CLKGATE_CON(12), 0, GFLAGS), | 174 | RK3288_CLKGATE_CON(12), 0, GFLAGS), |
175 | COMPOSITE_NOMUX(0, "armcore1", "armclk", 0, | 175 | COMPOSITE_NOMUX(0, "armcore1", "armclk", 0, |
176 | RK3288_CLKSEL_CON(36), 4, 3, DFLAGS, | 176 | RK3288_CLKSEL_CON(36), 4, 3, DFLAGS | CLK_DIVIDER_READ_ONLY, |
177 | RK3288_CLKGATE_CON(12), 1, GFLAGS), | 177 | RK3288_CLKGATE_CON(12), 1, GFLAGS), |
178 | COMPOSITE_NOMUX(0, "armcore2", "armclk", 0, | 178 | COMPOSITE_NOMUX(0, "armcore2", "armclk", 0, |
179 | RK3288_CLKSEL_CON(36), 8, 3, DFLAGS, | 179 | RK3288_CLKSEL_CON(36), 8, 3, DFLAGS | CLK_DIVIDER_READ_ONLY, |
180 | RK3288_CLKGATE_CON(12), 2, GFLAGS), | 180 | RK3288_CLKGATE_CON(12), 2, GFLAGS), |
181 | COMPOSITE_NOMUX(0, "armcore3", "armclk", 0, | 181 | COMPOSITE_NOMUX(0, "armcore3", "armclk", 0, |
182 | RK3288_CLKSEL_CON(36), 12, 3, DFLAGS, | 182 | RK3288_CLKSEL_CON(36), 12, 3, DFLAGS | CLK_DIVIDER_READ_ONLY, |
183 | RK3288_CLKGATE_CON(12), 3, GFLAGS), | 183 | RK3288_CLKGATE_CON(12), 3, GFLAGS), |
184 | COMPOSITE_NOMUX(0, "l2ram", "armclk", 0, | 184 | COMPOSITE_NOMUX(0, "l2ram", "armclk", 0, |
185 | RK3288_CLKSEL_CON(37), 0, 3, DFLAGS, | 185 | RK3288_CLKSEL_CON(37), 0, 3, DFLAGS | CLK_DIVIDER_READ_ONLY, |
186 | RK3288_CLKGATE_CON(12), 4, GFLAGS), | 186 | RK3288_CLKGATE_CON(12), 4, GFLAGS), |
187 | COMPOSITE_NOMUX(0, "aclk_core_m0", "armclk", 0, | 187 | COMPOSITE_NOMUX(0, "aclk_core_m0", "armclk", 0, |
188 | RK3288_CLKSEL_CON(0), 0, 4, DFLAGS, | 188 | RK3288_CLKSEL_CON(0), 0, 4, DFLAGS | CLK_DIVIDER_READ_ONLY, |
189 | RK3288_CLKGATE_CON(12), 5, GFLAGS), | 189 | RK3288_CLKGATE_CON(12), 5, GFLAGS), |
190 | COMPOSITE_NOMUX(0, "aclk_core_mp", "armclk", 0, | 190 | COMPOSITE_NOMUX(0, "aclk_core_mp", "armclk", 0, |
191 | RK3288_CLKSEL_CON(0), 4, 4, DFLAGS, | 191 | RK3288_CLKSEL_CON(0), 4, 4, DFLAGS | CLK_DIVIDER_READ_ONLY, |
192 | RK3288_CLKGATE_CON(12), 6, GFLAGS), | 192 | RK3288_CLKGATE_CON(12), 6, GFLAGS), |
193 | COMPOSITE_NOMUX(0, "atclk", "armclk", 0, | 193 | COMPOSITE_NOMUX(0, "atclk", "armclk", 0, |
194 | RK3288_CLKSEL_CON(37), 4, 5, DFLAGS, | 194 | RK3288_CLKSEL_CON(37), 4, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, |
195 | RK3288_CLKGATE_CON(12), 7, GFLAGS), | 195 | RK3288_CLKGATE_CON(12), 7, GFLAGS), |
196 | COMPOSITE_NOMUX(0, "pclk_dbg_pre", "armclk", 0, | 196 | COMPOSITE_NOMUX(0, "pclk_dbg_pre", "armclk", 0, |
197 | RK3288_CLKSEL_CON(37), 9, 5, DFLAGS, | 197 | RK3288_CLKSEL_CON(37), 9, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, |
198 | RK3288_CLKGATE_CON(12), 8, GFLAGS), | 198 | RK3288_CLKGATE_CON(12), 8, GFLAGS), |
199 | GATE(0, "pclk_dbg", "pclk_dbg_pre", 0, | 199 | GATE(0, "pclk_dbg", "pclk_dbg_pre", 0, |
200 | RK3288_CLKGATE_CON(12), 9, GFLAGS), | 200 | RK3288_CLKGATE_CON(12), 9, GFLAGS), |