R8A7792 clock fixes
Subsystems (2)
cover R8A7792 clock fixes
Hello.
Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20160711-v4.7-rc7' tag. I've found a couple of issues in the R8A7792 DT clock descriptions, so these patches are targeted as fixes for 4.8.
[1/2] ARM: dts: r8a7792: add PLL1 divided by 2 clock [2/2] ARM: dts: r8a7792: remove ADSP clock
WBR, Sergei
PATCH 1/2 ARM: dts: r8a7792: add PLL1 divided by 2 clock
Despite the QSPI clock has PLL1/VCOx1/4 clock as a parent, the latter hasn't been added to the R8A7792 device tree -- fix this overlook at last...
--- arch/arm/boot/dts/r8a7792.dtsi | 7 +++++++ 1 file changed, 7 insertions(+)
arch/arm/boot/dts/r8a7792.dtsi +7 -0
@@ -469,6 +469,13 @@ }; /* Fixed factor clocks */ + pll1_div2_clk: pll1_div2 { + compatible = "fixed-factor-clock"; + clocks = <&cpg_clocks R8A7792_CLK_PLL1>; + #clock-cells = <0>; + clock-div = <2>; + clock-mult = <1>; + }; zs_clk: zs { compatible = "fixed-factor-clock"; clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
PATCH 1/2 ARM: dts: r8a7792: add PLL1 divided by 2 clock
Quoted 5 lines · Sergei Shtylyov
Despite the QSPI clock has PLL1/VCOx1/4 clock as a parent, the latter hasn't been added to the R8A7792 device tree -- fix this overlook at last...
Signed-off-by Sergei Shtylyov <[email protected]>
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 2/2 ARM: dts: r8a7792: remove ADSP clock
In reply to Sergei ShtylyovSimon Horman told me that R8A7792 had ADSP clock (based on the most recent R-Car gen2 manual) but when I got that manual as well, this claim proved to be false: R8A7792 is the only gen2 SoC that doesn't have ADSP at all. Remove that clock for good...
--- arch/arm/boot/dts/r8a7792.dtsi | 2 +- include/dt-bindings/clock/r8a7792-clock.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-)
arch/arm/boot/dts/r8a7792.dtsi +1 -1
@@ -464,7 +464,7 @@ clocks = <&extal_clk>; #clock-cells = <1>; clock-output-names = "main", "pll0", "pll1", "pll3", - "lb", "qspi", "z", "adsp"; + "lb", "qspi", "z"; #power-domain-cells = <0>; };
include/dt-bindings/clock/r8a7792-clock.h +0 -1
@@ -18,7 +18,6 @@#define R8A7792_CLK_LB 4#define R8A7792_CLK_QSPI 5#define R8A7792_CLK_Z 6 -#define R8A7792_CLK_ADSP 7/* MSTP0 */ #define R8A7792_CLK_MSIOF0 0
PATCH 2/2 ARM: dts: r8a7792: remove ADSP clock
Quoted 1 line · Sergei Shtylyov
Simon Horman told me that R8A7792 had ADSP clock (based on the most recent
... based on a probably incorrect table in ...
Quoted 5 lines
R-Car gen2 manual) but when I got that manual as well, this claim proved to be false: R8A7792 is the only gen2 SoC that doesn't have ADSP at all. Remove that clock for good...
Signed-off-by Sergei Shtylyov <[email protected]>
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
cover R8A7792 clock fixes
In reply to Sergei ShtylyovQuoted 3 lines · Sergei Shtylyov
Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20160711-v4.7-rc7' tag. I've found a couple of issues in the R8A7792 DT clock descriptions, so these patches are targeted as fixes for 4.8.
Oops, those were atop of the PFC/GPIO/EtherAVB patches in my series. After
moving them before those, there was offset -185 lines while applying -- tell me if I need to repost.
Quoted 2 lines
[1/2] ARM: dts: r8a7792: add PLL1 divided by 2 clock [2/2] ARM: dts: r8a7792: remove ADSP clock
WBR, Sergei
cover R8A7792 clock fixes
Quoted 6 lines · Sergei Shtylyov
Quoted 3 lines · Sergei Shtylyov
Here's the set of 2 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20160711-v4.7-rc7' tag. I've found a couple of issues in the R8A7792 DT clock descriptions, so these patches are targeted as fixes for 4.8.
Quoted 8 lines
Oops, those were atop of the PFC/GPIO/EtherAVB patches in my series.
After moving them before those, there was offset -185 lines while applying -- tell me if I need to repost.Quoted 2 lines
[1/2] ARM: dts: r8a7792: add PLL1 divided by 2 clock [2/2] ARM: dts: r8a7792: remove ADSP clock
WBR, Sergei
No need. I have queued these up.
PATCH 1/1 ARM: dts: r8a7794: remove Z clock
In reply to Sergei ShtylyovR8A7794 doesn't have Cortex-A15 CPUs, thus there's no Z clock...
---
The patch is against the 'master' branch of Simon Horman's 'renesas.git' repo.
arch/arm/boot/dts/r8a7794.dtsi | 3 +-- include/dt-bindings/clock/r8a7794-clock.h | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-)
arch/arm/boot/dts/r8a7794.dtsi +1 -2
@@ -1025,8 +1025,7 @@ clocks = <&extal_clk &usb_extal_clk>; #clock-cells = <1>; clock-output-names = "main", "pll0", "pll1", "pll3", - "lb", "qspi", "sdh", "sd0", "z", - "rcan"; + "lb", "qspi", "sdh", "sd0", "rcan"; #power-domain-cells = <0>; }; /* Variable factor clocks */
include/dt-bindings/clock/r8a7794-clock.h +1 -2
@@ -20,8 +20,7 @@#define R8A7794_CLK_QSPI 5#define R8A7794_CLK_SDH 6#define R8A7794_CLK_SD0 7 -#define R8A7794_CLK_Z 8 -#define R8A7794_CLK_RCAN 9 +#define R8A7794_CLK_RCAN 8/* MSTP0 */ #define R8A7794_CLK_MSIOF0 0
PATCH 1/1 ARM: dts: r8a7794: remove Z clock
Quoted 7 lines · Sergei Shtylyov
R8A7794 doesn't have Cortex-A15 CPUs, thus there's no Z clock...
Fixes 0dce5454d5c2 ("ARM: shmobile: Initial r8a7794 SoC device tree")Signed-off-by Sergei Shtylyov <[email protected]>---
The patch is against the 'master' branch of Simon Horman's 'renesas.git' repo.
Thanks, I have queued this up.
PATCH 1/1 ARM: dts: r8a7794: remove Z clock
In reply to Sergei ShtylyovQuoted 4 lines · Sergei Shtylyov
R8A7794 doesn't have Cortex-A15 CPUs, thus there's no Z clock...
Fixes 0dce5454d5c2 ("ARM: shmobile: Initial r8a7794 SoC device tree")Signed-off-by Sergei Shtylyov <[email protected]>
Quoted 26 lines
---
The patch is against the 'master' branch of Simon Horman's 'renesas.git' repo.arch/arm/boot/dts/r8a7794.dtsi | 3 +-- include/dt-bindings/clock/r8a7794-clock.h | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-)Index:
renesas/arch/arm/boot/dts/r8a7794.dtsi
===================================================================arch/arm/boot/dts/r8a7794.dtsi +1
-2@@ -1025,8 +1025,7 @@ clocks = <&extal_clk &usb_extal_clk>; #clock-cells = <1>; clock-output-names = "main", "pll0", "pll1", "pll3", - "lb", "qspi", "sdh", "sd0", "z", - "rcan"; + "lb", "qspi", "sdh", "sd0", "rcan"; #power-domain-cells = <0>; }; /* Variable factor clocks */Index:
renesas/include/dt-bindings/clock/r8a7794-clock.h
===================================================================
include/dt-bindings/clock/r8a7794-clock.h line 23
Quoted 6 lines
include/dt-bindings/clock/r8a7794-clock.h +1
-2@@ -20,8 +20,7 @@#define R8A7794_CLK_QSPI 5#define R8A7794_CLK_SDH 6#define R8A7794_CLK_SD0 7 -#define R8A7794_CLK_Z 8 -#define R8A7794_CLK_RCAN 9 +#define R8A7794_CLK_RCAN 8
JFTR, this changes the bindings file, but the values are solely used for indexing
the clock-output-names array, so this is fine.
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: dts: r8a7791: link DU to VSPDs
In reply to Sergei ShtylyovAdd the "vsps" property to the DU device node in order to link this node to the VSPD nodes.
---
This patch is against the 'renesas-devel-20161212-v4.9' of Simon Horman's 'renesas.git' repo. It's only meaningful if the DU driver patch I've just posted is applied.
arch/arm/boot/dts/r8a7791.dtsi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
arch/arm/boot/dts/r8a7791.dtsi +3 -2
@@ -989,7 +989,7 @@ power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; }; - vsp1 at fe930000 { + vspd0: vsp1 at fe930000 { compatible = "renesas,vsp1"; reg = <0 0xfe930000 0 0x8000>; interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
@@ -997,7 +997,7 @@ power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; }; - vsp1 at fe938000 { + vspd1: vsp1 at fe938000 { compatible = "renesas,vsp1"; reg = <0 0xfe938000 0 0x8000>; interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
@@ -1016,6 +1016,7 @@ <&mstp7_clks R8A7791_CLK_DU1>, <&mstp7_clks R8A7791_CLK_LVDS0>; clock-names = "du.0", "du.1", "lvds.0"; + vsps = <&vspd0 &vspd1>; status = "disabled"; ports {
PATCH 1/1 ARM: dts: r8a7791: link DU to VSPDs
Hi Sergei,
Quoted 9 lines · Sergei Shtylyov
Add the "vsps" property to the DU device node in order to link this node to the VSPD nodes.
Signed-off-by Sergei Shtylyov <[email protected]>---
This patch is against the 'renesas-devel-20161212-v4.9' of Simon Horman's 'renesas.git' repo. It's only meaningful if the DU driver patch I've just posted is applied.
Next time, please consider pointing out the exact name of the patch you are referring to.
Thanks,
/ magnus
PATCH 1/1 ARM: dts: r8a7791: link DU to VSPDs
In reply to Sergei ShtylyovHi Sergei,
Quoted 4 lines · On Thursday 15 Dec 2016 01:07:52 Sergei Shtylyov wrote:
Add the "vsps" property to the DU device node in order to link this node to the VSPD nodes.
Signed-off-by Sergei Shtylyov <[email protected]>
I'd like to first address the issues I've pointed out on the driver side of this change.
Quoted 38 lines
---
This patch is against the 'renesas-devel-20161212-v4.9' of Simon Horman's 'renesas.git' repo. It's only meaningful if the DU driver patch I've just posted is applied.arch/arm/boot/dts/r8a7791.dtsi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)Index:
renesas/arch/arm/boot/dts/r8a7791.dtsi
===================================================================arch/arm/boot/dts/r8a7791.dtsi +3
-2@@ -989,7 +989,7 @@ power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; }; - vsp1@fe930000 { + vspd0: vsp1@fe930000 { compatible = "renesas,vsp1"; reg = <0 0xfe930000 0 0x8000>; interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;@@ -997,7 +997,7 @@ power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; }; - vsp1@fe938000 { + vspd1: vsp1@fe938000 { compatible = "renesas,vsp1"; reg = <0 0xfe938000 0 0x8000>; interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;@@ -1016,6 +1016,7 @@ <&mstp7_clks R8A7791_CLK_DU1>, <&mstp7_clks R8A7791_CLK_LVDS0>; clock-names = "du.0", "du.1", "lvds.0"; + vsps = <&vspd0 &vspd1>; status = "disabled"; ports {
Signature · 3 lines
Regards, Laurent Pinchart
PATCH 1/1 ARM: dts: r8a7794: link DU to VSPD
In reply to Sergei ShtylyovAdd the "vsps" property to the DU device node in order to link this node to the (single) VSPD node.
---
This patch is against the 'renesas-devel-20161220-v4.9' of Simon Horman's 'renesas.git' repo. It's only meaningful if the "Enable R8A7794 DU VSPD compositor" DU driver patches are applied...
arch/arm/boot/dts/r8a7794.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
arch/arm/boot/dts/r8a7794.dtsi +2 -1
@@ -908,7 +908,7 @@ power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; }; - vsp1 at fe930000 { + vspd0: vsp1 at fe930000 { compatible = "renesas,vsp1"; reg = <0 0xfe930000 0 0x8000>; interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
@@ -925,6 +925,7 @@ clocks = <&mstp7_clks R8A7794_CLK_DU0>, <&mstp7_clks R8A7794_CLK_DU0>; clock-names = "du.0", "du.1"; + vsps = <&vspd0>; status = "disabled"; ports {
PATCH 1/1 ARM: dts: r8a7794: link DU to VSPD
Hi Sergei,
Quoted 4 lines · On Thursday 29 Dec 2016 00:35:07 Sergei Shtylyov wrote:
Add the "vsps" property to the DU device node in order to link this node to the (single) VSPD node.
Signed-off-by Sergei Shtylyov <[email protected]>
I'd like to first address the issues I've pointed out on the driver side of this change.
Quoted 29 lines
---
This patch is against the 'renesas-devel-20161220-v4.9' of Simon Horman's 'renesas.git' repo. It's only meaningful if the "Enable R8A7794 DU VSPD compositor" DU driver patches are applied...arch/arm/boot/dts/r8a7794.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)Index:
renesas/arch/arm/boot/dts/r8a7794.dtsi
===================================================================arch/arm/boot/dts/r8a7794.dtsi +2
-1@@ -908,7 +908,7 @@ power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; }; - vsp1@fe930000 { + vspd0: vsp1@fe930000 { compatible = "renesas,vsp1"; reg = <0 0xfe930000 0 0x8000>; interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;@@ -925,6 +925,7 @@ clocks = <&mstp7_clks R8A7794_CLK_DU0>, <&mstp7_clks R8A7794_CLK_DU0>; clock-names = "du.0", "du.1"; + vsps = <&vspd0>; status = "disabled"; ports {
Signature · 3 lines
Regards, Laurent Pinchart
PATCH v2 1/1 ARM: dts: r8a7791: link DU to VSPDs
In reply to Sergei ShtylyovAdd the "vsps" property to the DU device node in order to link this node to the VSPD nodes.
---
Changes in version 2:
- rebased the patch.
This patch is against the 'renesas-devel-20170125-v4.10-rc5' of Simon Horman's 'renesas.git' repo. It's only meaningful if the DRM driver patches I've just posted are applied.
arch/arm/boot/dts/r8a7791.dtsi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
arch/arm/boot/dts/r8a7791.dtsi +3 -2
@@ -992,7 +992,7 @@ power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; }; - vsp1 at fe930000 { + vspd0: vsp1 at fe930000 { compatible = "renesas,vsp1"; reg = <0 0xfe930000 0 0x8000>; interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
@@ -1000,7 +1000,7 @@ power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; }; - vsp1 at fe938000 { + vspd1: vsp1 at fe938000 { compatible = "renesas,vsp1"; reg = <0 0xfe938000 0 0x8000>; interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
@@ -1019,6 +1019,7 @@ <&mstp7_clks R8A7791_CLK_DU1>, <&mstp7_clks R8A7791_CLK_LVDS0>; clock-names = "du.0", "du.1", "lvds.0"; + vsps = <&vspd0 &vspd1>; status = "disabled"; ports {
PATCH v2 1/1 ARM: dts: r8a7791: link DU to VSPDs
Quoted 5 lines · Sergei Shtylyov
Add the "vsps" property to the DU device node in order to link this node to the VSPD nodes.
Signed-off-by Sergei Shtylyov <[email protected]>
Quoted 7 lines
---
Changes in version 2:
- rebased the patch.This patch is against the 'renesas-devel-20170125-v4.10-rc5' of Simon Horman's 'renesas.git' repo. It's only meaningful if the DRM driver patches I've just posted are applied.
Forgot to note that without this patch the DU driver fails to link to VSPD
and probe correctly, so there's no video signal. So it makes sense to apply before the DU driver patch (once it's ACKed for merge)...
MBR, Sergei
PATCH v2 1/1 ARM: dts: r8a7791: link DU to VSPDs
Hi Sergei,
Quoted 19 lines · Sergei Shtylyov
Quoted 10 lines · Sergei Shtylyov
Add the "vsps" property to the DU device node in order to link this node to
the VSPD nodes.Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- rebased the patch.Quoted 5 lines
This patch is against the 'renesas-devel-20170125-v4.10-rc5' of Simon Horman's
'renesas.git' repo. It's only meaningful if the DRM driver patches I've just
posted are applied.
Quoted 3 lines
Forgot to note that without this patch the DU driver fails to link to
VSPD and probe correctly, so there's no video signal. So it makes sense to apply before the DU driver patch (once it's ACKed for merge)...
Doesn't that translate to breaking the DT ABI? Is there someway we can avoid doing that?
Thanks,
/ magnus
PATCH v2 1/1 ARM: dts: r8a7791: link DU to VSPDs
Quoted 17 lines · Magnus Damm
Quoted 17 lines
Quoted 15 lines
Add the "vsps" property to the DU device node in order to link this node to
the VSPD nodes.Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- rebased the patch.This patch is against the 'renesas-devel-20170125-v4.10-rc5' of Simon Horman's
'renesas.git' repo. It's only meaningful if the DRM driver patches I've just
posted are applied.
Quoted 6 lines
Quoted 3 lines
Forgot to note that without this patch the DU driver fails to link to
VSPD and probe correctly, so there's no video signal. So it makes sense to apply before the DU driver patch (once it's ACKed for merge)...Doesn't that translate to breaking the DT ABI? Is there someway we can avoid doing that?
It doesn't -- if this patch is merged ahead of the DU patches.
Quoted 3 lines
Thanks,
/ magnus
MBR, Sergei
PATCH v2 1/1 ARM: dts: r8a7791: link DU to VSPDs
Hi Sergei,
Quoted 27 lines · Sergei Shtylyov
Quoted 25 lines · Magnus Damm
Quoted 23 lines
Quoted 10 lines
Add the "vsps" property to the DU device node in order to link this node to
the VSPD nodes.Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- rebased the patch.Quoted 6 lines
This patch is against the 'renesas-devel-20170125-v4.10-rc5' of Simon Horman's
'renesas.git' repo. It's only meaningful if the DRM driver patches I've
just
posted are applied.Forgot to note that without this patch the DU driver fails to link to
VSPD and probe correctly, so there's no video signal. So it makes sense to
apply before the DU driver patch (once it's ACKed for merge)...
Quoted 5 lines
Quoted 2 lines
Doesn't that translate to breaking the DT ABI? Is there someway we can avoid doing that?
It doesn't -- if this patch is merged ahead of the DU patches.
Perhaps I'm misunderstanding, but if you require a DTS patch to be merged before a driver change then doesn't this mean that older DTBs will stop working with newer kernels and the user is forced to update the DTB to avoid breakage?
It would be nice if older DTBs could keep on working as before and the DU driver modification would work both with connected VSPs and also keep on working as before in case the VSP connection is not present in DT.
Cheers,
/ magnus
PATCH v2 1/1 ARM: dts: r8a7791: link DU to VSPDs
Hello!
Quoted 29 lines · Magnus Damm
Quoted 29 lines
Quoted 27 lines
Quoted 19 lines
Quoted 10 lines
Add the "vsps" property to the DU device node in order to link this node to
the VSPD nodes.Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- rebased the patch.Quoted 6 lines
This patch is against the 'renesas-devel-20170125-v4.10-rc5' of Simon Horman's
'renesas.git' repo. It's only meaningful if the DRM driver patches I've
just
posted are applied.Quoted 4 lines
Forgot to note that without this patch the DU driver fails to link to
VSPD and probe correctly, so there's no video signal. So it makes sense to
apply before the DU driver patch (once it's ACKed for merge)...Doesn't that translate to breaking the DT ABI? Is there someway we can avoid doing that?
Quoted 6 lines
Quoted 1 line
It doesn't -- if this patch is merged ahead of the DU patches.
Perhaps I'm misunderstanding, but if you require a DTS patch to be merged before a driver change then doesn't this mean that older DTBs will stop working with newer kernels and the user is forced to update the DTB to avoid breakage?
Yes, it seems so. :-(
Quoted 4 lines
It would be nice if older DTBs could keep on working as before and the DU driver modification would work both with connected VSPs and also keep on working as before in case the VSP connection is not present in DT.
I'll try to look into that...
Quoted 3 lines
Cheers,
/ magnus
MBR, Sergei