Skip to contentSkip to conversation

ARM: shmobile: r8a7791: add ADSP clocks

PATCH New Sergei Shtylyov 2 participants 5 messages Dec 29, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: shmobile: r8a7791: add ADSP clocks

Add the ADSP clocks to the CPG and MSTP5 nodes of the R8A7791 device tree.

Based on the original patch by Konstantin Kozhevnikov <[email protected]>.

---
The patch is against 'renesas-devel-20141229-v3.19-rc2' tag of Simon Horman's 'renesas.git' repo plus the R8A7791 CAN patches posted last week. It depends on the patch adding the ADSP clock support to the 'clk-rcar-gen2' driver in order to work.

 arch/arm/boot/dts/r8a7791.dtsi            |   11 +++++++----
 include/dt-bindings/clock/r8a7791-clock.h |    4 +++-
 2 files changed, 10 insertions(+), 5 deletions(-)
arch/arm/boot/dts/r8a7791.dtsi +7 -4
Index: renesas/arch/arm/boot/dts/r8a7791.dtsi
===================================================================
@@ -909,7 +909,7 @@
 			#clock-cells = <1>;
 			clock-output-names = "main", "pll0", "pll1", "pll3",
 					     "lb", "qspi", "sdh", "sd0", "z",
-					     "rcan";
+					     "adsp", "rcan";
 		};
 
 		/* Variable factor clocks */
@@ -1164,13 +1164,16 @@
 		mstp5_clks: mstp5_clks at e6150144 {
 			compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
 			reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
-			clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>;
+			clocks = <&hp_clk>, <&hp_clk>, <&cpg_clocks R8A7791_CLK_ADSP>,
+				 <&extal_clk>, <&p_clk>;
 			#clock-cells = <1>;
 			clock-indices = <
 				R8A7791_CLK_AUDIO_DMAC0 R8A7791_CLK_AUDIO_DMAC1
-				R8A7791_CLK_THERMAL R8A7791_CLK_PWM
+				R8A7791_CLK_ADSP_MOD R8A7791_CLK_THERMAL
+				R8A7791_CLK_PWM
 			>;
-			clock-output-names = "audmac0", "audmac1", "thermal", "pwm";
+			clock-output-names = "audmac0", "audmac1", "adsp_mod",
+					     "thermal", "pwm";
 		};
 		mstp7_clks: mstp7_clks at e615014c {
 			compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
include/dt-bindings/clock/r8a7791-clock.h +3 -1
Index: renesas/include/dt-bindings/clock/r8a7791-clock.h
===================================================================
@@ -20,7 +20,8 @@
 #define R8A7791_CLK_SDH			6
 #define R8A7791_CLK_SD0			7
 #define R8A7791_CLK_Z			8
-#define R8A7791_CLK_RCAN		9
+#define R8A7791_CLK_ADSP		9
+#define R8A7791_CLK_RCAN		10
 
 /* MSTP0 */
 #define R8A7791_CLK_MSIOF0		0
@@ -72,6 +73,7 @@
 /* MSTP5 */
 #define R8A7791_CLK_AUDIO_DMAC1		1
 #define R8A7791_CLK_AUDIO_DMAC0		2
+#define R8A7791_CLK_ADSP_MOD		6
 #define R8A7791_CLK_THERMAL		22
 #define R8A7791_CLK_PWM			23
 
#1 lore raw

PATCH 1/1 ARM: shmobile: r8a7791: add ADSP clocks

include/dt-bindings/clock/r8a7791-clock.h line 24

Quoted 6 lines · Sergei Shtylyov
include/dt-bindings/clock/r8a7791-clock.h +2 -1
 
-#define R8A7791_CLK_RCAN               9
+#define R8A7791_CLK_ADSP               9
+#define R8A7791_CLK_RCAN               10

R8A7791_CLK_RCAN is changed?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#2 lore raw

PATCH 1/1 ARM: shmobile: r8a7791: add ADSP clocks

Hello.

Quoted 8 lines · Geert Uytterhoeven

include/dt-bindings/clock/r8a7791-clock.h line 24

Quoted 6 lines
include/dt-bindings/clock/r8a7791-clock.h +2 -1
 
-#define R8A7791_CLK_RCAN               9
+#define R8A7791_CLK_ADSP               9
+#define R8A7791_CLK_RCAN               10

R8A7791_CLK_RCAN is changed?

Yes. It shouldn't be?

Quoted 2 lines

Gr{oetje,eeting}s,
Geert

WBR, Sergei

#3 lore raw

PATCH 1/1 ARM: shmobile: r8a7791: add ADSP clocks

Hi Sergei,

Quoted 6 lines · Sergei Shtylyov
Quoted 2 lines · Geert Uytterhoeven
Quoted 2 lines
include/dt-bindings/clock/r8a7791-clock.h +0 -0
Quoted 7 lines
Quoted 5 lines

include/dt-bindings/clock/r8a7791-clock.h line 24

Quoted 3 lines
include/dt-bindings/clock/r8a7791-clock.h +2 -1
-#define R8A7791_CLK_RCAN               9
+#define R8A7791_CLK_ADSP               9
+#define R8A7791_CLK_RCAN               10

R8A7791_CLK_RCAN is changed?

Yes. It shouldn't be?

All definitions in include/dt-bindings/ are part of the DT ABI, and cannot be changed without breaking the DT binding.

Hence when adding new entries, they must be added at the end of the list, using a new available value.

Apart from that, what happens if you boot a new DTS on a kernel with an old clk-rcar-gen2 driver that doesn't know about the new CPG clock? Does it just fail to initialize and find that single clock, or does the whole CPG
driver fail?
I wanted to check that after seeing the RCAN CPG patch, but haven't gotten to it yet due to Xmas and NY holidays.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#4 lore raw

PATCH 1/1 ARM: shmobile: r8a7791: add ADSP clocks

Quoted 9 lines · Geert Uytterhoeven
Quoted 8 lines
Quoted 8 lines

include/dt-bindings/clock/r8a7791-clock.h line 24

Quoted 6 lines
include/dt-bindings/clock/r8a7791-clock.h +2 -1
 
-#define R8A7791_CLK_RCAN               9
+#define R8A7791_CLK_ADSP               9
+#define R8A7791_CLK_RCAN               10

R8A7791_CLK_RCAN is changed?

Quoted 7 lines
Quoted 1 line

Yes. It shouldn't be?

All definitions in include/dt-bindings/ are part of the DT ABI, and cannot be changed without breaking the DT binding.

Hence when adding new entries, they must be added at the end of the list, using a new available value.

    Oh, OK...
Quoted 3 lines

Apart from that, what happens if you boot a new DTS on a kernel with an old clk-rcar-gen2 driver that doesn't know about the new CPG clock? Does it just fail to initialize and find that single clock,

Yes, exactly. The driver will cuss loudly but will continue to work.

Quoted 1 line

or does the whole CPG driver fail?

    No.
Quoted 2 lines

I wanted to check that after seeing the RCAN CPG patch, but haven't gotten to it yet due to Xmas and NY holidays.

No holidays yet here. There will be long holidays starting from January 1st...

Quoted 2 lines

Gr{oetje,eeting}s,
Geert

WBR, Sergei