Add R8A77980/Condor/V3HSK LVDS/HDMI support
Subsystems (2)
v3 cover Add R8A77980/Condor/V3HSK LVDS/HDMI support
Hello!
Here's the set of 5 patches against Simon Horman's 'renesas.git' repo's 'renesas-devel-20180613-v4.17' tag and the Condor/V3HSK TD patches adding Ethernet PHY IRQs. We're adding the R8A77980 FCPVD/VSPD/DU/LVDS device nodes and then describing the LVDS decoder and HDMI encoder connected to the LVDS output on the Condor and V3HSK boards. These patches depend on the Thine THC63LVD1024 driver and the R8A77980 LVDS support patch in order to work...
[1/2] arm64: dts: renesas: r8a77980: add FCPVD/VSPD/DU/LVDS support [2/2] arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
WBR, Sergei
PATCH v3 1/2 arm64: dts: renesas: r8a77980: add FCPVD/VSPD/DU/LVDS support
Describe the interconnected FCPVD0, VSPD0, DU, and LVDS0 devices in the R8A77980 device tree...
Based on the original (and large) patch by Vladimir Barinov.
---
Changes in version 3:
- merged in the VSPD/DU/LVDS patches, renamed the patch, and updated the patch description accordingly;
- fixed the VSPD0's "reg" property.
arch/arm64/boot/dts/renesas/r8a77980.dtsi | 77 ++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+)
arch/arm64/boot/dts/renesas/r8a77980.dtsi +77 -0
@@ -653,6 +653,83 @@ resets = <&cpg 408>; }; + vspd0: vsp at fea20000 { + compatible = "renesas,vsp2"; + reg = <0 0xfea20000 0 0x5000>; + interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 623>; + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; + resets = <&cpg 623>; + renesas,fcp = <&fcpvd0>; + }; + + fcpvd0: fcp at fea27000 { + compatible = "renesas,fcpv"; + reg = <0 0xfea27000 0 0x200>; + clocks = <&cpg CPG_MOD 603>; + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; + resets = <&cpg 603>; + }; + + du: display at feb00000 { + compatible = "renesas,du-r8a77980", + "renesas,du-r8a77970"; + reg = <0 0xfeb00000 0 0x80000>; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>; + clock-names = "du.0"; + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; + resets = <&cpg 724>; + vsps = <&vspd0>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + du_out_rgb: endpoint { + }; + }; + + port at 1 { + reg = <1>; + du_out_lvds0: endpoint { + remote-endpoint = <&lvds0_in>; + }; + }; + }; + }; + + lvds0: lvds-encoder at feb90000 { + compatible = "renesas,r8a77980-lvds"; + reg = <0 0xfeb90000 0 0x14>; + clocks = <&cpg CPG_MOD 727>; + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; + resets = <&cpg 727>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + lvds0_in: endpoint { + remote-endpoint = + <&du_out_lvds0>; + }; + }; + + port at 1 { + reg = <1>; + lvds0_out: endpoint { + }; + }; + }; + }; + prr: chipid at fff00044 { compatible = "renesas,prr"; reg = <0 0xfff00044 0 4>;
PATCH v3 1/2 arm64: dts: renesas: r8a77980: add FCPVD/VSPD/DU/LVDS support
Quoted 9 lines · Sergei Shtylyov
Describe the interconnected FCPVD0, VSPD0, DU, and LVDS0 devices in the R8A77980 device tree...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>Reviewed-by Laurent Pinchart <[email protected]>
Quoted 5 lines
---
Changes in version 3:
- merged in the VSPD/DU/LVDS patches, renamed the patch, and updated the patch description accordingly;
- fixed the VSPD0's "reg" property.
Thanks Sergei, applied.
vsps and channel indices (was: Re: [PATCH v3 1/2] arm64: dts: renesas: r8a77980: add FCPVD/VSPD/DU/LVDS support)
In reply to Sergei ShtylyovHi Sergei, Laurent, Kieran,
Quoted 12 lines · Sergei Shtylyov
Describe the interconnected FCPVD0, VSPD0, DU, and LVDS0 devices in the R8A77980 device tree...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>Reviewed-by Laurent Pinchart <[email protected]>arch/arm64/boot/dts/renesas/r8a77980.dtsi +0
-0
arch/arm64/boot/dts/renesas/r8a77980.dtsi line 683
Quoted 10 lines
arch/arm64/boot/dts/renesas/r8a77980.dtsi +10
-0+ du: display@feb00000 { + compatible = "renesas,du-r8a77980", + "renesas,du-r8a77970"; + reg = <0 0xfeb00000 0 0x80000>; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>; + clock-names = "du.0"; + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; + resets = <&cpg 724>; + vsps = <&vspd0>;
According to the bindings, the vsps property should also contain a channel index.
Laurent added the indices to r8a7795.dtsi, but r8a7795-es.dtsi overrides that with a version without the indices.
Kieran included the indices when adding DU support for r8a77965 and r8a77995.
r8a7796.dtsi, r8a77970.dtsi, and r8a77980.dtsi lack the indices.
Commit fd57d77f9c649cf9 ("dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property") says a backwards-compatibility mode can be implemented, but I fail to see how this can work, as rcar_du_vsps_init() will just return an error, which is propagated.
What am I missing?
Thanks!
Gr{oetje,eeting}s,
Geert
Signature · 5 lines
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] 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
Re: vsps and channel indices (was: Re: [PATCH v3 1/2] arm64: dts: renesas: r8a77980: add FCPVD/VSPD/DU/LVDS support)
Hi Geert,
Quoted 34 lines · On Tuesday, 28 August 2018 15:10:52 EEST Geert Uytterhoeven wrote:
Hi Sergei, Laurent, Kieran,
Quoted 12 lines · Sergei Shtylyov
Describe the interconnected FCPVD0, VSPD0, DU, and LVDS0 devices in the R8A77980 device tree...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>Reviewed-by Laurent Pinchart <[email protected]>arch/arm64/boot/dts/renesas/r8a77980.dtsi +0
-0arch/arm64/boot/dts/renesas/r8a77980.dtsi line 683
Quoted 10 lines
arch/arm64/boot/dts/renesas/r8a77980.dtsi +10
-0+ du: display@feb00000 { + compatible = "renesas,du-r8a77980", + "renesas,du-r8a77970"; + reg = <0 0xfeb00000 0 0x80000>; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>; + clock-names = "du.0"; + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; + resets = <&cpg 724>; + vsps = <&vspd0>;According to the bindings, the vsps property should also contain a channel index.
Laurent added the indices to
r8a7795.dtsi, butr8a7795-es.dtsioverrides that with a version without the indices.
Kieran included the indices when adding DU support for r8a77965 and r8a77995.
Quoted 8 lines
r8a7796.dtsi,r8a77970.dtsi, andr8a77980.dtsilack the indices.Commit
fd57d77f9c649cf9("dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property") says a backwards-compatibility mode can be implemented, but I fail to see how this can work, asrcar_du_vsps_init()will just return an error, which is propagated.What am I missing?
We're missing a DT validator :-/
The vsps property shoould indeed contain indices. However, rcar_du_vsps_init() implements a backward-compatibility mode by checking the length of the property:
cells = of_property_count_u32_elems(np, "vsps") / rcdu->num_crtcs - 1;
and using that as an argument to of_parse_phandle_with_fixed_args().
Signature · 3 lines
Regards, Laurent Pinchart
Re: vsps and channel indices (was: Re: [PATCH v3 1/2] arm64: dts: renesas: r8a77980: add FCPVD/VSPD/DU/LVDS support)
Hi Laurent,
Quoted 44 lines · Laurent Pinchart
Quoted 32 lines · On Tuesday, 28 August 2018 15:10:52 EEST Geert Uytterhoeven wrote:
Quoted 12 lines · Sergei Shtylyov
Describe the interconnected FCPVD0, VSPD0, DU, and LVDS0 devices in the R8A77980 device tree...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>Reviewed-by Laurent Pinchart <[email protected]>arch/arm64/boot/dts/renesas/r8a77980.dtsi +0
-0arch/arm64/boot/dts/renesas/r8a77980.dtsi line 683
Quoted 10 lines
arch/arm64/boot/dts/renesas/r8a77980.dtsi +10
-0+ du: display@feb00000 { + compatible = "renesas,du-r8a77980", + "renesas,du-r8a77970"; + reg = <0 0xfeb00000 0 0x80000>; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>; + clock-names = "du.0"; + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; + resets = <&cpg 724>; + vsps = <&vspd0>;According to the bindings, the vsps property should also contain a channel index.
Laurent added the indices to
r8a7795.dtsi, butr8a7795-es.dtsioverrides that with a version without the indices.
Kieran included the indices when adding DU support for r8a77965 and r8a77995.Quoted 8 lines
r8a7796.dtsi,r8a77970.dtsi, andr8a77980.dtsilack the indices.Commit
fd57d77f9c649cf9("dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property") says a backwards-compatibility mode can be implemented, but I fail to see how this can work, asrcar_du_vsps_init()will just return an error, which is propagated.What am I missing?
We're missing a DT validator :-/
Quoted 7 lines
The vsps property shoould indeed contain indices. However,
rcar_du_vsps_init()implements a backward-compatibility mode by checking the length of the property:cells = of_property_count_u32_elems(np, "vsps") / rcdu->num_crtcs - 1;and using that as an argument to
of_parse_phandle_with_fixed_args().
Thanks for the explanation! I had seen that call, but failed to discover the actual fallback mechanism in the code...
Perhaps updating the comment to describe the backward-compatibility mode would help:
/*
* First parse the DT vsps property to populate the list of VSPs. Each
* entry contains a pointer to the VSP DT node and a bitmask of the
* connected DU CRTCs.
*/
Thanks!
Gr{oetje,eeting}s,
Geert
Signature · 5 lines
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] 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 v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
In reply to Sergei ShtylyovDefine the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.
arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 +++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++++++ 2 files changed, 226 insertions(+)
arch/arm64/boot/dts/renesas/r8a77980-condor.dts +106 -0
@@ -45,6 +45,56 @@ regulator-boot-on; regulator-always-on; }; + + d1_8v: regulator-2 { + compatible = "regulator-fixed"; + regulator-name = "D1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&d3_3v>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + x1_clk: x1-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <148500000>; + }; }; &avb {
@@ -74,6 +124,13 @@ }; }; +&du { + clocks = <&cpg CPG_MOD 724>, + <&x1_clk>; + clock-names = "du.0", "dclkin.0"; + status = "okay"; +}; + &extal_clk { clock-frequency = <16666666>; };
@@ -102,6 +159,55 @@ gpio-controller; #gpio-cells = <2>; }; + + hdmi at 39 { + compatible = "adi,adv7511w"; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <20 IRQ_TYPE_LEVEL_LOW>; + avdd-supply = <&d1_8v>; + dvdd-supply = <&d1_8v>; + pvdd-supply = <&d1_8v>; + bgvdd-supply = <&d1_8v>; + dvdd-3v-supply = <&d3_3v>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&thc63lvd1024_out>; + }; + }; + + port at 1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + +&lvds0 { + status = "okay"; + + ports { + port at 1 { + lvds0_out: endpoint { + remote-endpoint = <&thc63lvd1024_in>; + }; + }; + }; }; &mmc0 {
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +120 -0
138 lines not on this page · raw message
PATCH v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
Quoted 9 lines · Sergei Shtylyov
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>
Quoted 7 lines
---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 +++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++++++
Laurent, could you review this?
Quoted 279 lines
2 files changed, 226 insertions(+)Index:
renesas/arch/arm64/boot/dts/renesas/r8a77980-condor.dts
===================================================================arch/arm64/boot/dts/renesas/r8a77980-condor.dts +106
-0@@ -45,6 +45,56 @@ regulator-boot-on; regulator-always-on; }; + + d1_8v: regulator-2 { + compatible = "regulator-fixed"; + regulator-name = "D1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&d3_3v>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + x1_clk: x1-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <148500000>; + }; }; &avb {@@ -74,6 +124,13 @@ }; }; +&du { + clocks = <&cpg CPG_MOD 724>, + <&x1_clk>; + clock-names = "du.0", "dclkin.0"; + status = "okay"; +}; + &extal_clk { clock-frequency = <16666666>; };@@ -102,6 +159,55 @@ gpio-controller; #gpio-cells = <2>; }; + + hdmi at 39 { + compatible = "adi,adv7511w"; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <20 IRQ_TYPE_LEVEL_LOW>; + avdd-supply = <&d1_8v>; + dvdd-supply = <&d1_8v>; + pvdd-supply = <&d1_8v>; + bgvdd-supply = <&d1_8v>; + dvdd-3v-supply = <&d3_3v>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&thc63lvd1024_out>; + }; + }; + + port at 1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + +&lvds0 { + status = "okay"; + + ports { + port at 1 { + lvds0_out: endpoint { + remote-endpoint = <&thc63lvd1024_in>; + }; + }; + }; }; &mmc0 {Index:
renesas/arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts
===================================================================arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +120
-0@@ -27,6 +27,63 @@ /* first 128MB is reserved for secure area. */ reg = <0 0x48000000 0 0x78000000>; }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&vcc3v3_d5>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + vcc1v8_d4: regulator-0 { + compatible = "regulator-fixed"; + regulator-name = "VCC1V8_D4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + vcc3v3_d5: regulator-1 { + compatible = "regulator-fixed"; + regulator-name = "VCC3V3_D5"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; +}; + +&du { + status = "okay"; }; &extal_clk {@@ -53,6 +110,64 @@ }; }; +&lvds0 { + status = "okay"; + + ports { + port at 1 { + lvds0_out: endpoint { + remote-endpoint = <&thc63lvd1024_in>; + }; + }; + }; +}; + +&i2c0 { + pinctrl-0 = <&i2c0_pins>; + pinctrl-names = "default"; + + status = "okay"; + clock-frequency = <400000>; + + hdmi at 39 { + compatible = "adi,adv7511w"; + #sound-dai-cells = <0>; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <20 IRQ_TYPE_LEVEL_LOW>; + avdd-supply = <&vcc1v8_d4>; + dvdd-supply = <&vcc1v8_d4>; + pvdd-supply = <&vcc1v8_d4>; + bgvdd-supply = <&vcc1v8_d4>; + dvdd-3v-supply = <&vcc3v3_d5>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&thc63lvd1024_out>; + }; + }; + + port at 1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + &pfc { gether_pins: gether { groups = "gether_mdio_a", "gether_rgmii",@@ -60,6 +175,11 @@ function = "gether"; }; + i2c0_pins: i2c0 { + groups = "i2c0"; + function = "i2c0"; + }; + scif0_pins: scif0 { groups = "scif0_data"; function = "scif0";
PATCH v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
Quoted 15 lines · Simon Horman
Quoted 14 lines · Sergei Shtylyov
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.
Quoted 4 lines
Quoted 2 lines
arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 +++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++++++Laurent, could you review this?
Ping
PATCH v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
Quoted 16 lines · Simon Horman
Quoted 15 lines · Simon Horman
Quoted 14 lines · Sergei Shtylyov
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines
arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 +++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++++++Laurent, could you review this?
Ping
For the Condor part:
Unfortunately, I do not have documentation for the other board.
CU
Uli
PATCH v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
In reply to Simon HormanHello!
Quoted 14 lines · Simon Horman
Quoted 14 lines
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.
Quoted 4 lines
Quoted 2 lines
arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 +++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++++++Laurent, could you review this?
2 months have passed and no review so far...
MBR, Sergei
PATCH v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
In reply to Sergei ShtylyovHi Sergei,
Thank you for the patch.
Quoted 9 lines · On Wednesday, 13 June 2018 23:12:40 EEST Sergei Shtylyov wrote:
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>
Quoted 8 lines
---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 ++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++ 2 files changed, 226 insertions(+)
I would have split that in two patchees.
arch/arm64/boot/dts/renesas/r8a77980-condor.dts line 49
Quoted 11 lines
Index:
renesas/arch/arm64/boot/dts/renesas/r8a77980-condor.dts
===================================================================arch/arm64/boot/dts/renesas/r8a77980-condor.dts +2
-0@@ -45,6 +45,56 @@ regulator-boot-on; regulator-always-on; }; + + d1_8v: regulator-2 {
Nitpicking, the naming for the regulator and clock nodes seems a bit weird. That shouldn't block this patch, but the issue should still be discussed with DT maintainers. A clear rule should be enacted on how to name top level nodes for which no register value makes sense.
Quoted 176 lines
arch/arm64/boot/dts/renesas/r8a77980-condor.dts +104
-0+ compatible = "regulator-fixed"; + regulator-name = "D1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&d3_3v>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + x1_clk: x1-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <148500000>; + }; }; &avb {@@ -74,6 +124,13 @@ }; }; +&du { + clocks = <&cpg CPG_MOD 724>, + <&x1_clk>; + clock-names = "du.0", "dclkin.0"; + status = "okay"; +}; + &extal_clk { clock-frequency = <16666666>; };@@ -102,6 +159,55 @@ gpio-controller; #gpio-cells = <2>; }; + + hdmi at 39 { + compatible = "adi,adv7511w"; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <20 IRQ_TYPE_LEVEL_LOW>; + avdd-supply = <&d1_8v>; + dvdd-supply = <&d1_8v>; + pvdd-supply = <&d1_8v>; + bgvdd-supply = <&d1_8v>; + dvdd-3v-supply = <&d3_3v>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&thc63lvd1024_out>; + }; + }; + + port at 1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + +&lvds0 { + status = "okay"; + + ports { + port at 1 { + lvds0_out: endpoint { + remote-endpoint = <&thc63lvd1024_in>; + }; + }; + }; }; &mmc0 {Index:
renesas/arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts
===================================================================arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +47
-0@@ -27,6 +27,63 @@ /* first 128MB is reserved for secure area. */ reg = <0 0x48000000 0 0x78000000>; }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&vcc3v3_d5>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + vcc1v8_d4: regulator-0 { + compatible = "regulator-fixed"; + regulator-name = "VCC1V8_D4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + vcc3v3_d5: regulator-1 { + compatible = "regulator-fixed";
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts line 86
Quoted 10 lines
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +10
-0+ regulator-name = "VCC3V3_D5"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; +}; + +&du { + status = "okay";
No dot clock for the DU ?
Apart from that,
Quoted 80 lines
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +63
-0}; &extal_clk {@@ -53,6 +110,64 @@ }; }; +&lvds0 { + status = "okay"; + + ports { + port at 1 { + lvds0_out: endpoint { + remote-endpoint = <&thc63lvd1024_in>; + }; + }; + }; +}; + +&i2c0 { + pinctrl-0 = <&i2c0_pins>; + pinctrl-names = "default"; + + status = "okay"; + clock-frequency = <400000>; + + hdmi at 39 { + compatible = "adi,adv7511w"; + #sound-dai-cells = <0>; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <20 IRQ_TYPE_LEVEL_LOW>; + avdd-supply = <&vcc1v8_d4>; + dvdd-supply = <&vcc1v8_d4>; + pvdd-supply = <&vcc1v8_d4>; + bgvdd-supply = <&vcc1v8_d4>; + dvdd-3v-supply = <&vcc3v3_d5>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&thc63lvd1024_out>; + }; + }; + + port at 1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + &pfc { gether_pins: gether { groups = "gether_mdio_a", "gether_rgmii",@@ -60,6 +175,11 @@ function = "gether"; }; + i2c0_pins: i2c0 { + groups = "i2c0"; + function = "i2c0"; + }; + scif0_pins: scif0 { groups = "scif0_data"; function = "scif0";
Signature · 3 lines
Regards, Laurent Pinchart
PATCH v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
Quoted 19 lines · Laurent Pinchart
Hi Sergei,
Thank you for the patch.
Quoted 14 lines · On Wednesday, 13 June 2018 23:12:40 EEST Sergei Shtylyov wrote:
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.
Quoted 5 lines
Quoted 3 lines
arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 ++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++ 2 files changed, 226 insertions(+)I would have split that in two patchees.
I take your point but I think one is fine.
Sergei, will you address the other review items?
Quoted 299 lines
arch/arm64/boot/dts/renesas/r8a77980-condor.dts line 49
Quoted 12 lines
Index:
renesas/arch/arm64/boot/dts/renesas/r8a77980-condor.dts
===================================================================arch/arm64/boot/dts/renesas/r8a77980-condor.dts +2
-0@@ -45,6 +45,56 @@ regulator-boot-on; regulator-always-on; }; + + d1_8v: regulator-2 {Nitpicking, the naming for the regulator and clock nodes seems a bit weird. That shouldn't block this patch, but the issue should still be discussed with DT maintainers. A clear rule should be enacted on how to name top level nodes for which no register value makes sense.
Quoted 176 lines
arch/arm64/boot/dts/renesas/r8a77980-condor.dts +104
-0+ compatible = "regulator-fixed"; + regulator-name = "D1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&d3_3v>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + x1_clk: x1-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <148500000>; + }; }; &avb {@@ -74,6 +124,13 @@ }; }; +&du { + clocks = <&cpg CPG_MOD 724>, + <&x1_clk>; + clock-names = "du.0", "dclkin.0"; + status = "okay"; +}; + &extal_clk { clock-frequency = <16666666>; };@@ -102,6 +159,55 @@ gpio-controller; #gpio-cells = <2>; }; + + hdmi at 39 { + compatible = "adi,adv7511w"; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <20 IRQ_TYPE_LEVEL_LOW>; + avdd-supply = <&d1_8v>; + dvdd-supply = <&d1_8v>; + pvdd-supply = <&d1_8v>; + bgvdd-supply = <&d1_8v>; + dvdd-3v-supply = <&d3_3v>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&thc63lvd1024_out>; + }; + }; + + port at 1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + +&lvds0 { + status = "okay"; + + ports { + port at 1 { + lvds0_out: endpoint { + remote-endpoint = <&thc63lvd1024_in>; + }; + }; + }; }; &mmc0 {Index:
renesas/arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts
===================================================================arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +47
-0@@ -27,6 +27,63 @@ /* first 128MB is reserved for secure area. */ reg = <0 0x48000000 0 0x78000000>; }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&vcc3v3_d5>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + vcc1v8_d4: regulator-0 { + compatible = "regulator-fixed"; + regulator-name = "VCC1V8_D4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + vcc3v3_d5: regulator-1 { + compatible = "regulator-fixed";arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts line 86
Quoted 10 lines
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +10
-0+ regulator-name = "VCC3V3_D5"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; +}; + +&du { + status = "okay";No dot clock for the DU ?
Apart from that,
Reviewed-by Laurent Pinchart <[email protected]>Quoted 80 lines
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +63
-0}; &extal_clk {@@ -53,6 +110,64 @@ }; }; +&lvds0 { + status = "okay"; + + ports { + port at 1 { + lvds0_out: endpoint { + remote-endpoint = <&thc63lvd1024_in>; + }; + }; + }; +}; + +&i2c0 { + pinctrl-0 = <&i2c0_pins>; + pinctrl-names = "default"; + + status = "okay"; + clock-frequency = <400000>; + + hdmi at 39 { + compatible = "adi,adv7511w"; + #sound-dai-cells = <0>; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <20 IRQ_TYPE_LEVEL_LOW>; + avdd-supply = <&vcc1v8_d4>; + dvdd-supply = <&vcc1v8_d4>; + pvdd-supply = <&vcc1v8_d4>; + bgvdd-supply = <&vcc1v8_d4>; + dvdd-3v-supply = <&vcc3v3_d5>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&thc63lvd1024_out>; + }; + }; + + port at 1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + &pfc { gether_pins: gether { groups = "gether_mdio_a", "gether_rgmii",@@ -60,6 +175,11 @@ function = "gether"; }; + i2c0_pins: i2c0 { + groups = "i2c0"; + function = "i2c0"; + }; + scif0_pins: scif0 { groups = "scif0_data"; function = "scif0";Signature · 3 lines
Regards, Laurent Pinchart
PATCH v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
Quoted 14 lines · Simon Horman
Quoted 14 lines
Quoted 14 lines
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 ++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++ 2 files changed, 226 insertions(+)I would have split that in two patchees.
I take your point but I think one is fine.
Yeah, one patch here fits Arnd's criterion. :-)
Quoted 1 line
Sergei, will you address the other review items?
Done, about to repost...
MBR, Sergei
PATCH v3 2/2 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
In reply to Laurent PinchartHello!
Quoted 25 lines · Laurent Pinchart
Quoted 9 lines
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>Quoted 8 lines
---
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 ++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 120 ++++++++++++++++++++ 2 files changed, 226 insertions(+)I would have split that in two patchees.
Quoted 5 lines
Index:
renesas/arch/arm64/boot/dts/renesas/r8a77980-condor.dts
===================================================================arch/arm64/boot/dts/renesas/r8a77980-condor.dts +0
-0
[...]
Quoted 59 lines
Quoted 59 lines
Index:
renesas/arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts
===================================================================arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +51
-0@@ -27,6 +27,63 @@ /* first 128MB is reserved for secure area. */ reg = <0 0x48000000 0 0x78000000>; }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&vcc3v3_d5>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + vcc1v8_d4: regulator-0 { + compatible = "regulator-fixed"; + regulator-name = "VCC1V8_D4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + vcc3v3_d5: regulator-1 { + compatible = "regulator-fixed"; + regulator-name = "VCC3V3_D5"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on;
Quoted 8 lines
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts line 86
Quoted 6 lines
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +6
-0+ regulator-always-on; + }; +}; + +&du { + status = "okay";No dot clock for the DU ?
You're right, there's OSC1 providing 148.5 MHz. Fixed.
Quoted 3 lines
Apart from that,
Reviewed-by Laurent Pinchart <[email protected]>
Thanks.
MBR, Sergei
v3 cover Add R8A77980/Condor/V3HSK LVDS/HDMI support
In reply to Sergei ShtylyovQuoted 1 line · Sergei Shtylyov
Here's the set of 5 patches against Simon Horman's 'renesas.git' repo's
Only 2, not 5 anymore. :-)
Quoted 1 line
'renesas-devel-20180613-v4.17' tag and the Condor/V3HSK TD patches adding
Only 1 DT patch, not 2 anymore. :-)
Quoted 7 lines
Ethernet PHY IRQs. We're adding the R8A77980 FCPVD/VSPD/DU/LVDS device nodes and then describing the LVDS decoder and HDMI encoder connected to the LVDS output on the Condor and V3HSK boards. These patches depend on the Thine THC63LVD1024 driver and the R8A77980 LVDS support patch in order to work...
[1/2] arm64: dts: renesas: r8a77980: add FCPVD/VSPD/DU/LVDS support [2/2] arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
WBR, Sergei
PATCH v4 1/1 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
In reply to Sergei ShtylyovDefine the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
---
The patch is against the 'renesas-devel-20180822-v4.18' tag of Simon Horman's 'renesas.git' repo. The only driver support still unmerged seems to be the R8A77980 LVDS support patches...
Changes in version 4:
- added the OSC1 clock node and a reference to it from the DU device node in the V3HSK board DT;
- added Ulrich's and Laurent's tags.
Changes in version 2:
- added the V3HSK DT update, reworded the description, renamed the patch;
- added a space between the HDMI node name and a brace.
arch/arm64/boot/dts/renesas/r8a77980-condor.dts | 106 +++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts | 129 ++++++++++++++++++++++++ 2 files changed, 235 insertions(+)
arch/arm64/boot/dts/renesas/r8a77980-condor.dts +106 -0
@@ -45,6 +45,56 @@ regulator-boot-on; regulator-always-on; }; + + d1_8v: regulator-2 { + compatible = "regulator-fixed"; + regulator-name = "D1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7511_out>; + }; + }; + }; + + lvds-decoder { + compatible = "thine,thc63lvd1024"; + vcc-supply = <&d3_3v>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + thc63lvd1024_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port at 2 { + reg = <2>; + thc63lvd1024_out: endpoint { + remote-endpoint = <&adv7511_in>; + }; + }; + }; + }; + + x1_clk: x1-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <148500000>; + }; }; &avb {
@@ -74,6 +124,13 @@ }; }; +&du { + clocks = <&cpg CPG_MOD 724>, + <&x1_clk>; + clock-names = "du.0", "dclkin.0"; + status = "okay"; +}; + &extal_clk { clock-frequency = <16666666>; };
@@ -102,6 +159,55 @@ gpio-controller; #gpio-cells = <2>; }; + + hdmi at 39 { + compatible = "adi,adv7511w"; + reg = <0x39>; + interrupt-parent = <&gpio1>; + interrupts = <20 IRQ_TYPE_LEVEL_LOW>; + avdd-supply = <&d1_8v>; + dvdd-supply = <&d1_8v>; + pvdd-supply = <&d1_8v>; + bgvdd-supply = <&d1_8v>; + dvdd-3v-supply = <&d3_3v>; + + adi,input-depth = <8>; + adi,input-colorspace = "rgb"; + adi,input-clock = "1x"; + adi,input-style = <1>; + adi,input-justification = "evenly"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port at 0 { + reg = <0>; + adv7511_in: endpoint { + remote-endpoint = <&thc63lvd1024_out>; + }; + }; + + port at 1 { + reg = <1>; + adv7511_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + +&lvds0 { + status = "okay"; + + ports { + port at 1 { + lvds0_out: endpoint { + remote-endpoint = <&thc63lvd1024_in>; + }; + }; + }; }; &mmc0 {
arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +129 -0
147 lines not on this page · raw message
Simon Horman
AppliedPATCH v4 1/1 arm64: dts: renesas: condor/v3hsk: add DU/LVDS/HDMI support
Quoted 11 lines · Sergei Shtylyov
Define the Condor/V3HSK board dependent parts of the DU and LVDS device nodes. Also add the device nodes for Thine THC63LVD1024 LVDS decoder and Analog Devices ADV7511W HDMI transmitter...
Based on the original (and large) patch by Vladimir Barinov.
Signed-off-by Vladimir Barinov <[email protected]>Signed-off-by Sergei Shtylyov <[email protected]>Reviewed-by Ulrich Hecht <[email protected]>Reviewed-by Laurent Pinchart <[email protected]>
Quoted 4 lines
---
The patch is against the 'renesas-devel-20180822-v4.18' tag of Simon Horman's 'renesas.git' repo. The only driver support still unmerged seems to be the R8A77980 LVDS support patches...
Thanks, applied for v4.20.