> On September 14, 2018 at 11:10 AM Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> wrote: > > > Add the LVDS decoder, HDMI encoder, VGA encoder and HDMI and VGA > connectors, and wire up the display-related nodes with clocks, pinmux > and regulators. > > The LVDS0 and LVDS1 encoders can use the DU_DOTCLKIN0, DU_DOTCLKIN1 and > EXTAL externals clocks. Two of them are provided to the SoC on the Ebisu > board, hook them up in DT. > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > Tested-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> > --- > arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts | 166 +++++++++++++++++++++++++ > 1 file changed, 166 insertions(+) > > diff --git a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts > index 2bc3a4884b00..772ea8843d84 100644 > --- a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts > +++ b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts > @@ -28,6 +28,88 @@ > /* first 128MB is reserved for secure area. */ > reg = <0x0 0x48000000 0x0 0x38000000>; > }; > + > + hdmi-out { > + compatible = "hdmi-connector"; > + type = "a"; > + > + port { > + hdmi_con_out: endpoint { > + remote-endpoint = <&adv7511_out>; > + }; > + }; > + }; > + > + lvds-decoder { > + compatible = "thine,thc63lvd1024"; > + vcc-supply = <®_3p3v>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + thc63lvd1024_in: endpoint { > + remote-endpoint = <&lvds0_out>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + thc63lvd1024_out: endpoint { > + remote-endpoint = <&adv7511_in>; > + }; > + }; > + }; > + }; > + > + vga { > + compatible = "vga-connector"; > + > + port { > + vga_in: endpoint { > + remote-endpoint = <&adv7123_out>; > + }; > + }; > + }; > + > + vga-encoder { > + compatible = "adi,adv7123"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + adv7123_in: endpoint { > + remote-endpoint = <&du_out_rgb>; > + }; > + }; > + port@1 { > + reg = <1>; > + adv7123_out: endpoint { > + remote-endpoint = <&vga_in>; > + }; > + }; > + }; > + }; > + > + reg_3p3v: regulator1 { > + compatible = "regulator-fixed"; > + regulator-name = "fixed-3.3V"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + x13_clk: x13 { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <74250000>; > + }; > }; > > &avb { > @@ -47,6 +129,25 @@ > }; > }; > > +&du { > + pinctrl-0 = <&du_pins>; > + pinctrl-names = "default"; > + status = "okay"; > + > + clocks = <&cpg CPG_MOD 724>, > + <&cpg CPG_MOD 723>, > + <&x13_clk>; > + clock-names = "du.0", "du.1", "dclkin.0"; > + > + ports { > + port@0 { > + endpoint { > + remote-endpoint = <&adv7123_in>; > + }; > + }; > + }; > +}; > + > &ehci0 { > status = "okay"; > }; > @@ -55,6 +156,66 @@ > clock-frequency = <48000000>; > }; > > +&i2c0 { > + status = "okay"; > + > + hdmi-encoder@39 { > + compatible = "adi,adv7511w"; > + reg = <0x39>; > + interrupt-parent = <&gpio1>; > + interrupts = <1 IRQ_TYPE_LEVEL_LOW>; > + > + 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@0 { > + reg = <0>; > + adv7511_in: endpoint { > + remote-endpoint = <&thc63lvd1024_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + adv7511_out: endpoint { > + remote-endpoint = <&hdmi_con_out>; > + }; > + }; > + }; > + }; > +}; > + > +&lvds0 { > + status = "okay"; > + > + clocks = <&cpg CPG_MOD 727>, > + <&x13_clk>, > + <&extal_clk>; > + clock-names = "fck", "dclkin.0", "extal"; > + > + ports { > + port@1 { > + lvds0_out: endpoint { > + remote-endpoint = <&thc63lvd1024_in>; > + }; > + }; > + }; > +}; > + > +&lvds1 { > + clocks = <&cpg CPG_MOD 727>, > + <&x13_clk>, > + <&extal_clk>; > + clock-names = "fck", "dclkin.0", "extal"; > +}; > + > &ohci0 { > status = "okay"; > }; > @@ -67,6 +228,11 @@ > }; > }; > > + du_pins: du { > + groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; > + function = "du"; > + }; > + > usb0_pins: usb { > groups = "usb0_b"; > function = "usb0"; > -- Reviewed-by: Ulrich Hecht <uli+renesas@xxxxxxxx> CU Uli