Commit bac44171 authored by Garrett Giordano's avatar Garrett Giordano Committed by Nishanth Menon

arm64: dts: ti: k3-am625-phyboard-lyra-rdk: Add HDMI support

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 for DSS DPI output and HDMI Interrupt.

Add DT nodes for SIL9022 HDMI transmitter (TX), and the HDMI connector
on the phyBOARD-Lyra.

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: default avatarGarrett Giordano <ggiordano@phytec.com>
Reviewed-by: default avatarWadim Egorov <w.egorov@phytec.de>
Link: https://lore.kernel.org/r/20231204222811.2344460-2-ggiordano@phytec.comSigned-off-by: default avatarNishanth Menon <nm@ti.com>
parent 9c316d58
...@@ -35,6 +35,18 @@ can_tc1: can-phy0 { ...@@ -35,6 +35,18 @@ can_tc1: can-phy0 {
standby-gpios = <&gpio_exp 1 GPIO_ACTIVE_HIGH>; standby-gpios = <&gpio_exp 1 GPIO_ACTIVE_HIGH>;
}; };
hdmi0: connector-hdmi {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&sii9022_out>;
};
};
};
keys { keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
autorepeat; autorepeat;
...@@ -93,6 +105,37 @@ AM62X_IOPAD(0x244, PIN_INPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */ ...@@ -93,6 +105,37 @@ AM62X_IOPAD(0x244, PIN_INPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */
>; >;
}; };
hdmi_int_pins_default: hdmi-int-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x040, PIN_INPUT, 7) /* (N23) GPMC0_AD1.GPIO0_16 */
>;
};
main_dss0_pins_default: main-dss0-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */
AM62X_IOPAD(0x0bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */
AM62X_IOPAD(0x0e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */
AM62X_IOPAD(0x0e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */
AM62X_IOPAD(0x0e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */
AM62X_IOPAD(0x0ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */
AM62X_IOPAD(0x0f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */
AM62X_IOPAD(0x0f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */
AM62X_IOPAD(0x0c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */
AM62X_IOPAD(0x0c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */
AM62X_IOPAD(0x0c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */
AM62X_IOPAD(0x0cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */
AM62X_IOPAD(0x0d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */
AM62X_IOPAD(0x0d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */
AM62X_IOPAD(0x0d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */
AM62X_IOPAD(0x0dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */
AM62X_IOPAD(0x0fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */
AM62X_IOPAD(0x0f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */
AM62X_IOPAD(0x104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */
AM62X_IOPAD(0x100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */
>;
};
main_i2c1_pins_default: main-i2c1-default-pins { main_i2c1_pins_default: main-i2c1-default-pins {
pinctrl-single,pins = < pinctrl-single,pins = <
AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */
...@@ -184,6 +227,26 @@ cpsw3g_phy3: ethernet-phy@3 { ...@@ -184,6 +227,26 @@ cpsw3g_phy3: ethernet-phy@3 {
}; };
}; };
&dss {
pinctrl-names = "default";
pinctrl-0 = <&main_dss0_pins_default>;
status = "okay";
};
&dss_ports {
#address-cells = <1>;
#size-cells = <0>;
/* VP2: DPI/HDMI Output */
port@1 {
reg = <1>;
dpi1_out: endpoint {
remote-endpoint = <&sii9022_in>;
};
};
};
&main_i2c1 { &main_i2c1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>; pinctrl-0 = <&main_i2c1_pins_default>;
...@@ -207,6 +270,37 @@ gpio_exp: gpio-expander@21 { ...@@ -207,6 +270,37 @@ gpio_exp: gpio-expander@21 {
"GPIO6_ETH1_USER_RESET", "GPIO7_AUDIO_USER_RESET"; "GPIO6_ETH1_USER_RESET", "GPIO7_AUDIO_USER_RESET";
}; };
sii9022: bridge-hdmi@39 {
compatible = "sil,sii9022";
reg = <0x39>;
interrupt-parent = <&main_gpio0>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_int_pins_default>;
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>;
};
};
};
};
eeprom@51 { eeprom@51 {
compatible = "atmel,24c02"; compatible = "atmel,24c02";
pagesize = <16>; pagesize = <16>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment