diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-06-19 23:02:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-06-19 23:02:29 -0400 |
commit | 9705596d08ac87c18aee32cc97f2783b7d14624e (patch) | |
tree | 34ac05e4e29db94c8c7aeaa89966a9de39c7bbcd | |
parent | 865be78022e9ae8151c755d01201012ccf5e3232 (diff) | |
parent | 949bdfed4b0f74215da60992e9f5e14c9ecbb064 (diff) |
Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk fixes from Stephen Boyd:
"One build fix for an Amlogic clk driver and a handful of Allwinner clk
driver fixes for some DT bindings and a randconfig build error that
all came in this merge window"
* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
clk: sunxi-ng: a64: Export PLL_PERIPH0 clock for the PRCM
clk: sunxi-ng: h3: Export PLL_PERIPH0 clock for the PRCM
dt-bindings: clock: sunxi-ccu: Add pll-periph to PRCM's needed clocks
clk: sunxi-ng: sun5i: Fix ahb_bist_clk definition
clk: sunxi-ng: enable SUNXI_CCU_MP for PRCM
clk: meson: gxbb: fix build error without RESET_CONTROLLER
clk: sunxi-ng: v3s: Fix usb otg device reset bit
clk: sunxi-ng: a31: Correct lcd1-ch1 clock register offset
-rw-r--r-- | Documentation/devicetree/bindings/clock/sunxi-ccu.txt | 7 | ||||
-rw-r--r-- | drivers/clk/meson/Kconfig | 1 | ||||
-rw-r--r-- | drivers/clk/sunxi-ng/Kconfig | 1 | ||||
-rw-r--r-- | drivers/clk/sunxi-ng/ccu-sun50i-a64.h | 4 | ||||
-rw-r--r-- | drivers/clk/sunxi-ng/ccu-sun5i.c | 2 | ||||
-rw-r--r-- | drivers/clk/sunxi-ng/ccu-sun6i-a31.c | 2 | ||||
-rw-r--r-- | drivers/clk/sunxi-ng/ccu-sun8i-h3.h | 4 | ||||
-rw-r--r-- | drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | 2 | ||||
-rw-r--r-- | include/dt-bindings/clock/sun50i-a64-ccu.h | 2 | ||||
-rw-r--r-- | include/dt-bindings/clock/sun8i-h3-ccu.h | 2 |
10 files changed, 19 insertions, 8 deletions
diff --git a/Documentation/devicetree/bindings/clock/sunxi-ccu.txt b/Documentation/devicetree/bindings/clock/sunxi-ccu.txt index e9c5a1d9834a..f465647a4dd2 100644 --- a/Documentation/devicetree/bindings/clock/sunxi-ccu.txt +++ b/Documentation/devicetree/bindings/clock/sunxi-ccu.txt | |||
@@ -22,7 +22,8 @@ Required properties : | |||
22 | - #clock-cells : must contain 1 | 22 | - #clock-cells : must contain 1 |
23 | - #reset-cells : must contain 1 | 23 | - #reset-cells : must contain 1 |
24 | 24 | ||
25 | For the PRCM CCUs on H3/A64, one more clock is needed: | 25 | For the PRCM CCUs on H3/A64, two more clocks are needed: |
26 | - "pll-periph": the SoC's peripheral PLL from the main CCU | ||
26 | - "iosc": the SoC's internal frequency oscillator | 27 | - "iosc": the SoC's internal frequency oscillator |
27 | 28 | ||
28 | Example for generic CCU: | 29 | Example for generic CCU: |
@@ -39,8 +40,8 @@ Example for PRCM CCU: | |||
39 | r_ccu: clock@01f01400 { | 40 | r_ccu: clock@01f01400 { |
40 | compatible = "allwinner,sun50i-a64-r-ccu"; | 41 | compatible = "allwinner,sun50i-a64-r-ccu"; |
41 | reg = <0x01f01400 0x100>; | 42 | reg = <0x01f01400 0x100>; |
42 | clocks = <&osc24M>, <&osc32k>, <&iosc>; | 43 | clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu CLK_PLL_PERIPH0>; |
43 | clock-names = "hosc", "losc", "iosc"; | 44 | clock-names = "hosc", "losc", "iosc", "pll-periph"; |
44 | #clock-cells = <1>; | 45 | #clock-cells = <1>; |
45 | #reset-cells = <1>; | 46 | #reset-cells = <1>; |
46 | }; | 47 | }; |
diff --git a/drivers/clk/meson/Kconfig b/drivers/clk/meson/Kconfig index 19480bcc7046..2f29ee1a4d00 100644 --- a/drivers/clk/meson/Kconfig +++ b/drivers/clk/meson/Kconfig | |||
@@ -14,6 +14,7 @@ config COMMON_CLK_MESON8B | |||
14 | config COMMON_CLK_GXBB | 14 | config COMMON_CLK_GXBB |
15 | bool | 15 | bool |
16 | depends on COMMON_CLK_AMLOGIC | 16 | depends on COMMON_CLK_AMLOGIC |
17 | select RESET_CONTROLLER | ||
17 | help | 18 | help |
18 | Support for the clock controller on AmLogic S905 devices, aka gxbb. | 19 | Support for the clock controller on AmLogic S905 devices, aka gxbb. |
19 | Say Y if you want peripherals and CPU frequency scaling to work. | 20 | Say Y if you want peripherals and CPU frequency scaling to work. |
diff --git a/drivers/clk/sunxi-ng/Kconfig b/drivers/clk/sunxi-ng/Kconfig index b0d551a8efe4..eb89c7801f00 100644 --- a/drivers/clk/sunxi-ng/Kconfig +++ b/drivers/clk/sunxi-ng/Kconfig | |||
@@ -156,6 +156,7 @@ config SUN8I_R_CCU | |||
156 | bool "Support for Allwinner SoCs' PRCM CCUs" | 156 | bool "Support for Allwinner SoCs' PRCM CCUs" |
157 | select SUNXI_CCU_DIV | 157 | select SUNXI_CCU_DIV |
158 | select SUNXI_CCU_GATE | 158 | select SUNXI_CCU_GATE |
159 | select SUNXI_CCU_MP | ||
159 | default MACH_SUN8I || (ARCH_SUNXI && ARM64) | 160 | default MACH_SUN8I || (ARCH_SUNXI && ARM64) |
160 | 161 | ||
161 | endif | 162 | endif |
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.h b/drivers/clk/sunxi-ng/ccu-sun50i-a64.h index 9b3cd24b78d2..061b6fbb4f95 100644 --- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.h +++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.h | |||
@@ -31,7 +31,9 @@ | |||
31 | #define CLK_PLL_VIDEO0_2X 8 | 31 | #define CLK_PLL_VIDEO0_2X 8 |
32 | #define CLK_PLL_VE 9 | 32 | #define CLK_PLL_VE 9 |
33 | #define CLK_PLL_DDR0 10 | 33 | #define CLK_PLL_DDR0 10 |
34 | #define CLK_PLL_PERIPH0 11 | 34 | |
35 | /* PLL_PERIPH0 exported for PRCM */ | ||
36 | |||
35 | #define CLK_PLL_PERIPH0_2X 12 | 37 | #define CLK_PLL_PERIPH0_2X 12 |
36 | #define CLK_PLL_PERIPH1 13 | 38 | #define CLK_PLL_PERIPH1 13 |
37 | #define CLK_PLL_PERIPH1_2X 14 | 39 | #define CLK_PLL_PERIPH1_2X 14 |
diff --git a/drivers/clk/sunxi-ng/ccu-sun5i.c b/drivers/clk/sunxi-ng/ccu-sun5i.c index 5c476f966a72..5372bf8be5e6 100644 --- a/drivers/clk/sunxi-ng/ccu-sun5i.c +++ b/drivers/clk/sunxi-ng/ccu-sun5i.c | |||
@@ -243,7 +243,7 @@ static SUNXI_CCU_GATE(ahb_ss_clk, "ahb-ss", "ahb", | |||
243 | static SUNXI_CCU_GATE(ahb_dma_clk, "ahb-dma", "ahb", | 243 | static SUNXI_CCU_GATE(ahb_dma_clk, "ahb-dma", "ahb", |
244 | 0x060, BIT(6), 0); | 244 | 0x060, BIT(6), 0); |
245 | static SUNXI_CCU_GATE(ahb_bist_clk, "ahb-bist", "ahb", | 245 | static SUNXI_CCU_GATE(ahb_bist_clk, "ahb-bist", "ahb", |
246 | 0x060, BIT(6), 0); | 246 | 0x060, BIT(7), 0); |
247 | static SUNXI_CCU_GATE(ahb_mmc0_clk, "ahb-mmc0", "ahb", | 247 | static SUNXI_CCU_GATE(ahb_mmc0_clk, "ahb-mmc0", "ahb", |
248 | 0x060, BIT(8), 0); | 248 | 0x060, BIT(8), 0); |
249 | static SUNXI_CCU_GATE(ahb_mmc1_clk, "ahb-mmc1", "ahb", | 249 | static SUNXI_CCU_GATE(ahb_mmc1_clk, "ahb-mmc1", "ahb", |
diff --git a/drivers/clk/sunxi-ng/ccu-sun6i-a31.c b/drivers/clk/sunxi-ng/ccu-sun6i-a31.c index 89e68d29bf45..df97e25aec76 100644 --- a/drivers/clk/sunxi-ng/ccu-sun6i-a31.c +++ b/drivers/clk/sunxi-ng/ccu-sun6i-a31.c | |||
@@ -556,7 +556,7 @@ static SUNXI_CCU_M_WITH_MUX_GATE(lcd0_ch1_clk, "lcd0-ch1", lcd_ch1_parents, | |||
556 | 0x12c, 0, 4, 24, 3, BIT(31), | 556 | 0x12c, 0, 4, 24, 3, BIT(31), |
557 | CLK_SET_RATE_PARENT); | 557 | CLK_SET_RATE_PARENT); |
558 | static SUNXI_CCU_M_WITH_MUX_GATE(lcd1_ch1_clk, "lcd1-ch1", lcd_ch1_parents, | 558 | static SUNXI_CCU_M_WITH_MUX_GATE(lcd1_ch1_clk, "lcd1-ch1", lcd_ch1_parents, |
559 | 0x12c, 0, 4, 24, 3, BIT(31), | 559 | 0x130, 0, 4, 24, 3, BIT(31), |
560 | CLK_SET_RATE_PARENT); | 560 | CLK_SET_RATE_PARENT); |
561 | 561 | ||
562 | static const char * const csi_sclk_parents[] = { "pll-video0", "pll-video1", | 562 | static const char * const csi_sclk_parents[] = { "pll-video0", "pll-video1", |
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-h3.h b/drivers/clk/sunxi-ng/ccu-sun8i-h3.h index 85973d1e8165..1b4baea37d81 100644 --- a/drivers/clk/sunxi-ng/ccu-sun8i-h3.h +++ b/drivers/clk/sunxi-ng/ccu-sun8i-h3.h | |||
@@ -29,7 +29,9 @@ | |||
29 | #define CLK_PLL_VIDEO 6 | 29 | #define CLK_PLL_VIDEO 6 |
30 | #define CLK_PLL_VE 7 | 30 | #define CLK_PLL_VE 7 |
31 | #define CLK_PLL_DDR 8 | 31 | #define CLK_PLL_DDR 8 |
32 | #define CLK_PLL_PERIPH0 9 | 32 | |
33 | /* PLL_PERIPH0 exported for PRCM */ | ||
34 | |||
33 | #define CLK_PLL_PERIPH0_2X 10 | 35 | #define CLK_PLL_PERIPH0_2X 10 |
34 | #define CLK_PLL_GPU 11 | 36 | #define CLK_PLL_GPU 11 |
35 | #define CLK_PLL_PERIPH1 12 | 37 | #define CLK_PLL_PERIPH1 12 |
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c index e58706b40ae9..6297add857b5 100644 --- a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c +++ b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | |||
@@ -537,7 +537,7 @@ static struct ccu_reset_map sun8i_v3s_ccu_resets[] = { | |||
537 | [RST_BUS_EMAC] = { 0x2c0, BIT(17) }, | 537 | [RST_BUS_EMAC] = { 0x2c0, BIT(17) }, |
538 | [RST_BUS_HSTIMER] = { 0x2c0, BIT(19) }, | 538 | [RST_BUS_HSTIMER] = { 0x2c0, BIT(19) }, |
539 | [RST_BUS_SPI0] = { 0x2c0, BIT(20) }, | 539 | [RST_BUS_SPI0] = { 0x2c0, BIT(20) }, |
540 | [RST_BUS_OTG] = { 0x2c0, BIT(23) }, | 540 | [RST_BUS_OTG] = { 0x2c0, BIT(24) }, |
541 | [RST_BUS_EHCI0] = { 0x2c0, BIT(26) }, | 541 | [RST_BUS_EHCI0] = { 0x2c0, BIT(26) }, |
542 | [RST_BUS_OHCI0] = { 0x2c0, BIT(29) }, | 542 | [RST_BUS_OHCI0] = { 0x2c0, BIT(29) }, |
543 | 543 | ||
diff --git a/include/dt-bindings/clock/sun50i-a64-ccu.h b/include/dt-bindings/clock/sun50i-a64-ccu.h index 370c0a0473fc..d66432c6e675 100644 --- a/include/dt-bindings/clock/sun50i-a64-ccu.h +++ b/include/dt-bindings/clock/sun50i-a64-ccu.h | |||
@@ -43,6 +43,8 @@ | |||
43 | #ifndef _DT_BINDINGS_CLK_SUN50I_A64_H_ | 43 | #ifndef _DT_BINDINGS_CLK_SUN50I_A64_H_ |
44 | #define _DT_BINDINGS_CLK_SUN50I_A64_H_ | 44 | #define _DT_BINDINGS_CLK_SUN50I_A64_H_ |
45 | 45 | ||
46 | #define CLK_PLL_PERIPH0 11 | ||
47 | |||
46 | #define CLK_BUS_MIPI_DSI 28 | 48 | #define CLK_BUS_MIPI_DSI 28 |
47 | #define CLK_BUS_CE 29 | 49 | #define CLK_BUS_CE 29 |
48 | #define CLK_BUS_DMA 30 | 50 | #define CLK_BUS_DMA 30 |
diff --git a/include/dt-bindings/clock/sun8i-h3-ccu.h b/include/dt-bindings/clock/sun8i-h3-ccu.h index c2afc41d6964..e139fe5c62ec 100644 --- a/include/dt-bindings/clock/sun8i-h3-ccu.h +++ b/include/dt-bindings/clock/sun8i-h3-ccu.h | |||
@@ -43,6 +43,8 @@ | |||
43 | #ifndef _DT_BINDINGS_CLK_SUN8I_H3_H_ | 43 | #ifndef _DT_BINDINGS_CLK_SUN8I_H3_H_ |
44 | #define _DT_BINDINGS_CLK_SUN8I_H3_H_ | 44 | #define _DT_BINDINGS_CLK_SUN8I_H3_H_ |
45 | 45 | ||
46 | #define CLK_PLL_PERIPH0 9 | ||
47 | |||
46 | #define CLK_CPUX 14 | 48 | #define CLK_CPUX 14 |
47 | 49 | ||
48 | #define CLK_BUS_CE 20 | 50 | #define CLK_BUS_CE 20 |