diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-30 19:33:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-05-30 19:33:37 -0400 |
commit | 20f944965601c59e68865d4ee12225fbabb5652b (patch) | |
tree | 861c3c11c6b06536f4677cae9e34f7068a43d7b0 /drivers/clk | |
parent | bec7550cca106c3ccc061e3e625516af63054fe4 (diff) | |
parent | 1cc54078d104f5b4d7e9f8d55362efa5a8daffdb (diff) |
Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk driver fixes from Stephen Boyd:
- Don't expose the SiFive clk driver on non-RISCV architectures
- Fix some bits describing clks in the imx8mm driver
- Always call clk domain code in the TI driver so non-legacy platforms
work
* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
clk: ti: clkctrl: Fix clkdm_clk handling
clk: imx: imx8mm: fix int pll clk gate
clk: sifive: restrict Kconfig scope for the FU540 PRCI driver
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/imx/clk-imx8mm.c | 12 | ||||
-rw-r--r-- | drivers/clk/sifive/Kconfig | 1 | ||||
-rw-r--r-- | drivers/clk/ti/clkctrl.c | 8 |
3 files changed, 11 insertions, 10 deletions
diff --git a/drivers/clk/imx/clk-imx8mm.c b/drivers/clk/imx/clk-imx8mm.c index 1ef8438e3d6d..122a81ab8e48 100644 --- a/drivers/clk/imx/clk-imx8mm.c +++ b/drivers/clk/imx/clk-imx8mm.c | |||
@@ -449,12 +449,12 @@ static int __init imx8mm_clocks_init(struct device_node *ccm_node) | |||
449 | clks[IMX8MM_AUDIO_PLL2_OUT] = imx_clk_gate("audio_pll2_out", "audio_pll2_bypass", base + 0x14, 13); | 449 | clks[IMX8MM_AUDIO_PLL2_OUT] = imx_clk_gate("audio_pll2_out", "audio_pll2_bypass", base + 0x14, 13); |
450 | clks[IMX8MM_VIDEO_PLL1_OUT] = imx_clk_gate("video_pll1_out", "video_pll1_bypass", base + 0x28, 13); | 450 | clks[IMX8MM_VIDEO_PLL1_OUT] = imx_clk_gate("video_pll1_out", "video_pll1_bypass", base + 0x28, 13); |
451 | clks[IMX8MM_DRAM_PLL_OUT] = imx_clk_gate("dram_pll_out", "dram_pll_bypass", base + 0x50, 13); | 451 | clks[IMX8MM_DRAM_PLL_OUT] = imx_clk_gate("dram_pll_out", "dram_pll_bypass", base + 0x50, 13); |
452 | clks[IMX8MM_GPU_PLL_OUT] = imx_clk_gate("gpu_pll_out", "gpu_pll_bypass", base + 0x64, 13); | 452 | clks[IMX8MM_GPU_PLL_OUT] = imx_clk_gate("gpu_pll_out", "gpu_pll_bypass", base + 0x64, 11); |
453 | clks[IMX8MM_VPU_PLL_OUT] = imx_clk_gate("vpu_pll_out", "vpu_pll_bypass", base + 0x74, 13); | 453 | clks[IMX8MM_VPU_PLL_OUT] = imx_clk_gate("vpu_pll_out", "vpu_pll_bypass", base + 0x74, 11); |
454 | clks[IMX8MM_ARM_PLL_OUT] = imx_clk_gate("arm_pll_out", "arm_pll_bypass", base + 0x84, 13); | 454 | clks[IMX8MM_ARM_PLL_OUT] = imx_clk_gate("arm_pll_out", "arm_pll_bypass", base + 0x84, 11); |
455 | clks[IMX8MM_SYS_PLL1_OUT] = imx_clk_gate("sys_pll1_out", "sys_pll1_bypass", base + 0x94, 13); | 455 | clks[IMX8MM_SYS_PLL1_OUT] = imx_clk_gate("sys_pll1_out", "sys_pll1_bypass", base + 0x94, 11); |
456 | clks[IMX8MM_SYS_PLL2_OUT] = imx_clk_gate("sys_pll2_out", "sys_pll2_bypass", base + 0x104, 13); | 456 | clks[IMX8MM_SYS_PLL2_OUT] = imx_clk_gate("sys_pll2_out", "sys_pll2_bypass", base + 0x104, 11); |
457 | clks[IMX8MM_SYS_PLL3_OUT] = imx_clk_gate("sys_pll3_out", "sys_pll3_bypass", base + 0x114, 13); | 457 | clks[IMX8MM_SYS_PLL3_OUT] = imx_clk_gate("sys_pll3_out", "sys_pll3_bypass", base + 0x114, 11); |
458 | 458 | ||
459 | /* SYS PLL fixed output */ | 459 | /* SYS PLL fixed output */ |
460 | clks[IMX8MM_SYS_PLL1_40M] = imx_clk_fixed_factor("sys_pll1_40m", "sys_pll1_out", 1, 20); | 460 | clks[IMX8MM_SYS_PLL1_40M] = imx_clk_fixed_factor("sys_pll1_40m", "sys_pll1_out", 1, 20); |
diff --git a/drivers/clk/sifive/Kconfig b/drivers/clk/sifive/Kconfig index 8db4a3eb4782..f3b4eb9cb0f5 100644 --- a/drivers/clk/sifive/Kconfig +++ b/drivers/clk/sifive/Kconfig | |||
@@ -2,6 +2,7 @@ | |||
2 | 2 | ||
3 | menuconfig CLK_SIFIVE | 3 | menuconfig CLK_SIFIVE |
4 | bool "SiFive SoC driver support" | 4 | bool "SiFive SoC driver support" |
5 | depends on RISCV || COMPILE_TEST | ||
5 | help | 6 | help |
6 | SoC drivers for SiFive Linux-capable SoCs. | 7 | SoC drivers for SiFive Linux-capable SoCs. |
7 | 8 | ||
diff --git a/drivers/clk/ti/clkctrl.c b/drivers/clk/ti/clkctrl.c index 96d65a1cf7be..8e834317c97d 100644 --- a/drivers/clk/ti/clkctrl.c +++ b/drivers/clk/ti/clkctrl.c | |||
@@ -137,9 +137,6 @@ static int _omap4_clkctrl_clk_enable(struct clk_hw *hw) | |||
137 | int ret; | 137 | int ret; |
138 | union omap4_timeout timeout = { 0 }; | 138 | union omap4_timeout timeout = { 0 }; |
139 | 139 | ||
140 | if (!clk->enable_bit) | ||
141 | return 0; | ||
142 | |||
143 | if (clk->clkdm) { | 140 | if (clk->clkdm) { |
144 | ret = ti_clk_ll_ops->clkdm_clk_enable(clk->clkdm, hw->clk); | 141 | ret = ti_clk_ll_ops->clkdm_clk_enable(clk->clkdm, hw->clk); |
145 | if (ret) { | 142 | if (ret) { |
@@ -151,6 +148,9 @@ static int _omap4_clkctrl_clk_enable(struct clk_hw *hw) | |||
151 | } | 148 | } |
152 | } | 149 | } |
153 | 150 | ||
151 | if (!clk->enable_bit) | ||
152 | return 0; | ||
153 | |||
154 | val = ti_clk_ll_ops->clk_readl(&clk->enable_reg); | 154 | val = ti_clk_ll_ops->clk_readl(&clk->enable_reg); |
155 | 155 | ||
156 | val &= ~OMAP4_MODULEMODE_MASK; | 156 | val &= ~OMAP4_MODULEMODE_MASK; |
@@ -179,7 +179,7 @@ static void _omap4_clkctrl_clk_disable(struct clk_hw *hw) | |||
179 | union omap4_timeout timeout = { 0 }; | 179 | union omap4_timeout timeout = { 0 }; |
180 | 180 | ||
181 | if (!clk->enable_bit) | 181 | if (!clk->enable_bit) |
182 | return; | 182 | goto exit; |
183 | 183 | ||
184 | val = ti_clk_ll_ops->clk_readl(&clk->enable_reg); | 184 | val = ti_clk_ll_ops->clk_readl(&clk->enable_reg); |
185 | 185 | ||