Message ID | 20230807153307.22174-1-a-bhatia1@ti.com |
---|---|
Headers | show |
Series | arm64: ti: k3-am62: Add display support | expand |
On 07/08/23 21:03, Aradhya Bhatia wrote: > The DSS outputs DPI signals via its second video port (VP2). The DPI > output from DSS is 24 bits (RGB888) and is forwarded to an HDMI > transmitter (SIL9022) on the board. > > Add pinmux info for DSS DPI output. > > Add DT nodes for SIL9022 HDMI transmitter (TX), and the HDMI connector > on the AM625 SK and AM62-LP SK platforms. > > Additionally, connect the output of DSS (VP2) with input of the HDMI TX, > and the output of HDMI TX to the input of the HDMI connector. > > Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> > --- > .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 93 +++++++++++++++++++ > 1 file changed, 93 insertions(+) > > diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi > index 540ed8a0d7fb..edbe5295373b 100644 > --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi > +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi > @@ -114,6 +114,17 @@ sound_master: simple-audio-card,codec { > clocks = <&tlv320_mclk>; > }; > }; > + > + hdmi0: connector-hdmi { > + compatible = "hdmi-connector"; > + label = "hdmi"; > + type = "a"; > + port { > + hdmi_connector_in: endpoint { > + remote-endpoint = <&sii9022_out>; > + }; > + }; > + }; > }; > > &main_pmx0 { > @@ -226,6 +237,39 @@ AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25/J17) GPMC0_WEN.MCASP1_AXR0 */ > AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23/K20) GPMC0_ADVN_ALE.MCASP1_AXR2 */ > >; > }; > + > + main_dss0_pins_default: main-dss0-default-pins { > + pinctrl-single,pins = < > + AM62X_IOPAD(0x0100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */ > + AM62X_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */ > + AM62X_IOPAD(0x0104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */ > + AM62X_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */ > + AM62X_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */ > + AM62X_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */ > + AM62X_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */ > + AM62X_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */ > + AM62X_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */ > + AM62X_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */ > + AM62X_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */ > + AM62X_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */ > + AM62X_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */ > + AM62X_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */ > + AM62X_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */ > + AM62X_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */ > + AM62X_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */ > + AM62X_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */ > + AM62X_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */ > + AM62X_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */ > + AM62X_IOPAD(0x005c, PIN_OUTPUT, 1) /* (R24) GPMC0_AD8.VOUT0_DATA16 */ > + AM62X_IOPAD(0x0060, PIN_OUTPUT, 1) /* (R25) GPMC0_AD9.VOUT0_DATA17 */ > + AM62X_IOPAD(0x0064, PIN_OUTPUT, 1) /* (T25) GPMC0_AD10.VOUT0_DATA18 */ > + AM62X_IOPAD(0x0068, PIN_OUTPUT, 1) /* (R21) GPMC0_AD11.VOUT0_DATA19 */ > + AM62X_IOPAD(0x006c, PIN_OUTPUT, 1) /* (T22) GPMC0_AD12.VOUT0_DATA20 */ > + AM62X_IOPAD(0x0070, PIN_OUTPUT, 1) /* (T24) GPMC0_AD13.VOUT0_DATA21 */ > + AM62X_IOPAD(0x0074, PIN_OUTPUT, 1) /* (U25) GPMC0_AD14.VOUT0_DATA22 */ > + AM62X_IOPAD(0x0078, PIN_OUTPUT, 1) /* (U24) GPMC0_AD15.VOUT0_DATA23 */ Rest of the pinmux in the file uses padding of 3. Here you are using padding of 4. Consistency would be good. > + >; > + }; > }; > > &mcu_pmx0 { > @@ -313,6 +357,38 @@ tlv320aic3106: audio-codec@1b { > IOVDD-supply = <&vcc_3v3_sys>; > DRVDD-supply = <&vcc_3v3_sys>; > }; > + > + sii9022: bridge-hdmi@3b { > + compatible = "sil,sii9022"; > + reg = <0x3b>; > + Line break not needed. > + interrupt-parent = <&exp1>; > + interrupts = <16 IRQ_TYPE_EDGE_FALLING>; > + Same. > + #sound-dai-cells = <0>; > + sil,i2s-data-lanes = < 0 >; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + sii9022_in: endpoint { > + remote-endpoint = <&dpi1_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + sii9022_out: endpoint { > + remote-endpoint = <&hdmi_connector_in>; > + }; > + }; > + }; > + }; > }; > > &sdhci0 { > @@ -410,3 +486,20 @@ &mcasp1 { > tx-num-evt = <32>; > rx-num-evt = <32>; > }; > + > +&dss { > + status = "okay"; > + pinctrl-names = "default"; > + pinctrl-0 = <&main_dss0_pins_default>; > +}; > + > +&dss_ports { > + /* VP2: DPI Output */ > + port@1 { > + reg = <1>; > + > + dpi1_out: endpoint { > + remote-endpoint = <&sii9022_in>; > + }; > + }; > +};