// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* * Copyright 2023 Toradex */ // Verdin AM62 single-channel LVDS /dts-v1/; /plugin/; #include #include #include #include "k3-pinctrl.h" / { compatible = "toradex,verdin-am62"; }; &{/} { backlight_lvds_native: backlight-lvds-native { compatible = "pwm-backlight"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2s_2_d_out_gpio>; brightness-levels = <0 45 63 88 119 158 203 255>; default-brightness-level = <4>; /* Verdin I2S_2_D_OUT as GPIO (SODIMM 46) */ enable-gpios = <&main_gpio0 34 GPIO_ACTIVE_HIGH>; /* Verdin PWM_2 (SODIMM 16) */ pwms = <&epwm0 1 6666667 PWM_POLARITY_INVERTED>; }; panel-lvds-native { compatible = "panel-lvds"; backlight = <&backlight_lvds_native>; data-mapping = "vesa-24"; height-mm = <136>; width-mm = <217>; panel-timing { clock-frequency = <68900000 71100000 73400000>; de-active = <1>; hactive = <1280 1280 1280>; hback-porch = <23 60 71>; hfront-porch = <23 60 71>; hsync-active = <0>; hsync-len = <15 40 47>; pixelclk-active = <1>; /* positive edge */ vactive = <800 800 800>; vback-porch = <5 7 10>; vfront-porch = <5 7 10>; vsync-active = <0>; vsync-len = <6 9 12>; }; port { panel_lvds_native_in: endpoint { remote-endpoint = <&oldi_out0>; }; }; }; }; &main_pmx0 { /* Mallow Touch RST */ pinctrl_i2s_2_d_in_gpio: main-gpio0-33-default-pins { pinctrl-single,pins = < AM62X_IOPAD(0x0088, PIN_INPUT, 7) /* (L24) GPMC0_OEn_REn.GPIO0_33 */ /* SODIMM 48 */ >; }; /* Mallow Touch INT#*/ pinctrl_i2s_2_sync_gpio: main-gpio0-37-default-pins { pinctrl-single,pins = < AM62X_IOPAD(0x0098, PIN_INPUT, 7) /* (U23) GPMC0_WAIT0.GPIO0_37 */ /* SODIMM 44 */ >; }; }; &dss { status = "okay"; }; &dss_ports { #address-cells = <1>; #size-cells = <0>; /* VP1: LVDS Output (OLDI TX 0) */ port@0 { reg = <0>; oldi_out0: endpoint { remote-endpoint = <&panel_lvds_native_in>; }; }; }; /* Verdin PWM_1, PWM_2 */ &epwm0 { status = "okay"; }; /* Verdin I2C_2_DSI */ &main_i2c2 { #address-cells = <1>; #size-cells = <0>; status = "okay"; touch@4a { compatible = "atmel,maxtouch"; reg = <0x4a>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2s_2_d_in_gpio>, <&pinctrl_i2s_2_sync_gpio>; /* Verdin I2S_2_SYNC as GPIO (SODIMM 44) */ interrupt-parent = <&main_gpio0>; interrupts = <37 IRQ_TYPE_EDGE_FALLING>; /* Verdin I2S_2_D_IN as GPIO(SODIMM 48) */ reset-gpios = <&main_gpio0 33 GPIO_ACTIVE_LOW>; }; };