ARM: shmobile: r8a7791: add ADSP clocks
Subsystems (3)
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
@@ -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
@@ -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
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
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_RCANis changed?
Yes. It shouldn't be?
Quoted 2 lines
Gr{oetje,eeting}s,
Geert
WBR, Sergei
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_RCANis 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
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_RCANis 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