diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts index 1b63395837f4..debdf29d8e4d 100644 --- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts +++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts @@ -228,12 +228,69 @@ hdmi0: connector-hdmi { compatible = "hdmi-connector"; label = "hdmi"; type = "a"; + status = "disabled"; port { hdmi_connector_in: endpoint { remote-endpoint = <&sii9022_out>; }; }; }; + + vdd_lcd: regulator-lcd { + compatible = "regulator-fixed"; + regulator-name = "lcd_power"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + }; + + + display { + //compatible = "microtips,mf-101hiebcaf0", "panel-simple"; + compatible = "nvd,tm2118sa123l", "panel-simple"; + + power-supply = <&vdd_lcd>; + + enable-gpios = <&main_gpio0 19 GPIO_ACTIVE_HIGH>; + reset-gpios = <&main_gpio0 33 GPIO_ACTIVE_HIGH>; + stby-gpios = <&main_gpio0 18 GPIO_ACTIVE_LOW>; + + + + /* + * Note that the OLDI TX 0 transmits the odd set of pixels + * while the OLDI TX 1 transmits the even set. This is a + * fixed configuration in the IP integration and is not + * changeable. The properties, "dual-lvds-odd-pixels" and + * "dual-lvds-even-pixels" have been used to merely + * identify if a Dual Link configuration is required. + * Swapping them will cause an error in the dss oldi driver. + */ + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dual-lvds-odd-pixels; + + lcd_in0: endpoint { + remote-endpoint = <&oldi0_dss0_out>; + }; + }; + + port@1 { + reg = <1>; + dual-lvds-even-pixels; + + lcd_in1: endpoint { + remote-endpoint = <&oldi1_dss0_out>; + }; + }; + }; + }; + + }; &main_gpio0 { @@ -504,6 +561,16 @@ usb_con_hs: endpoint { }; }; }; +touchscreen@4a { + compatible = "atmel,maxtouch"; + reg = <0x4a>; + + interrupt-parent = <&main_gpio0>; + interrupts = <16 IRQ_TYPE_EDGE_FALLING>; + + status = "okay"; + }; + }; &main_i2c1 { @@ -574,6 +641,7 @@ sii9022: bridge-hdmi@3b { interrupts = <16 IRQ_TYPE_EDGE_FALLING>; #sound-dai-cells = <0>; sil,i2s-data-lanes = < 0 >; + status = "disabled"; hdmi_tx_ports: ports { #address-cells = <1>; @@ -881,16 +949,105 @@ &dss0 { pinctrl-0 = <&main_dpi_pins_default>; }; +&oldi0_dss0 { + status = "okay"; + ti,companion-oldi = <&oldi1_dss0>; +}; + +&oldi1_dss0 { + status = "okay"; + ti,secondary-oldi; +}; + +&oldi0_dss0_ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + oldi0_dss0_in: endpoint { + remote-endpoint = <&dss0_dpi0_out0>; + }; + }; + + port@1 { + reg = <1>; + + oldi0_dss0_out: endpoint { + remote-endpoint = <&lcd_in0>; + }; + }; +}; + +&oldi1_dss0_ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + oldi1_dss0_in: endpoint { + remote-endpoint = <&dss0_dpi0_out1>; + }; + }; + + port@1 { + reg = <1>; + + oldi1_dss0_out: endpoint { + remote-endpoint = <&lcd_in1>; + }; + }; +}; + + +&dss0_ports { + #address-cells = <1>; + #size-cells = <0>; + + /* VP1: Output to OLDI */ + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + dss0_dpi0_out0: endpoint@0 { + reg = <0>; + remote-endpoint = <&oldi0_dss0_in>; + }; + + dss0_dpi0_out1: endpoint@1 { + reg = <1>; + remote-endpoint = <&oldi1_dss0_in>; + }; + }; + + /* DSS0-VP2: DPI/HDMI Output */ + hdmi0_dss: port@1 { + reg = <1>; + + status = "disabled"; + dss0_dpi1_out: endpoint { + remote-endpoint = <&sii9022_in>; + }; + }; + +}; + +#if 0 &dss0_ports { /* DSS0-VP2: DPI/HDMI Output */ hdmi0_dss: port@1 { reg = <1>; + status = "disabled"; dss0_dpi1_out: endpoint { remote-endpoint = <&sii9022_in>; }; }; }; +#endif &epwm0 { /* Pin 24/26 of J4 */