1*2846c905SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*2846c905SEmmanuel Vadot/* 3*2846c905SEmmanuel Vadot * Copyright (C) 2024 Heiko Schocher <hs@denx.de> 4*2846c905SEmmanuel Vadot */ 5*2846c905SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 6*2846c905SEmmanuel Vadot#include <dt-bindings/input/input.h> 7*2846c905SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 8*2846c905SEmmanuel Vadot#include <dt-bindings/pwm/pwm.h> 9*2846c905SEmmanuel Vadot 10*2846c905SEmmanuel Vadot/dts-v1/; 11*2846c905SEmmanuel Vadot/plugin/; 12*2846c905SEmmanuel Vadot 13*2846c905SEmmanuel Vadot&{/} { 14*2846c905SEmmanuel Vadot model = "Aristainetos3 helios carrier with LVDS"; 15*2846c905SEmmanuel Vadot compatible = "abb,imx8mp-aristanetos3-helios", 16*2846c905SEmmanuel Vadot "abb,imx8mp-aristanetos3-som", 17*2846c905SEmmanuel Vadot "fsl,imx8mp"; 18*2846c905SEmmanuel Vadot 19*2846c905SEmmanuel Vadot panel_lvds: panel-lvds { 20*2846c905SEmmanuel Vadot compatible = "lg,lb070wv8"; 21*2846c905SEmmanuel Vadot power-supply = <®_vcc_disp>; 22*2846c905SEmmanuel Vadot backlight = <&lvds_backlight>; 23*2846c905SEmmanuel Vadot 24*2846c905SEmmanuel Vadot port { 25*2846c905SEmmanuel Vadot in_lvds0: endpoint { 26*2846c905SEmmanuel Vadot remote-endpoint = <&ldb_lvds_ch0>; 27*2846c905SEmmanuel Vadot }; 28*2846c905SEmmanuel Vadot }; 29*2846c905SEmmanuel Vadot }; 30*2846c905SEmmanuel Vadot 31*2846c905SEmmanuel Vadot reg_vcc_disp: regulator-disp { 32*2846c905SEmmanuel Vadot pinctrl-names = "default"; 33*2846c905SEmmanuel Vadot pinctrl-0 = <&pinctrl_lcd0_vcc_en>; 34*2846c905SEmmanuel Vadot compatible = "regulator-fixed"; 35*2846c905SEmmanuel Vadot regulator-name = "disp_power_en_2v8"; 36*2846c905SEmmanuel Vadot regulator-min-microvolt = <2800000>; 37*2846c905SEmmanuel Vadot regulator-max-microvolt = <2800000>; 38*2846c905SEmmanuel Vadot gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>; 39*2846c905SEmmanuel Vadot enable-active-high; 40*2846c905SEmmanuel Vadot regulator-boot-on; 41*2846c905SEmmanuel Vadot regulator-always-on; 42*2846c905SEmmanuel Vadot }; 43*2846c905SEmmanuel Vadot}; 44*2846c905SEmmanuel Vadot 45*2846c905SEmmanuel Vadot&gpio3 { 46*2846c905SEmmanuel Vadot pinctrl-names = "default"; 47*2846c905SEmmanuel Vadot pinctrl-0 = <&pinctrl_gpio3_hog>; 48*2846c905SEmmanuel Vadot 49*2846c905SEmmanuel Vadot lvdssel-hog { 50*2846c905SEmmanuel Vadot gpio-hog; 51*2846c905SEmmanuel Vadot gpios = <23 GPIO_ACTIVE_HIGH>; 52*2846c905SEmmanuel Vadot output-low; 53*2846c905SEmmanuel Vadot line-name = "LVDSSEL"; 54*2846c905SEmmanuel Vadot }; 55*2846c905SEmmanuel Vadot}; 56*2846c905SEmmanuel Vadot 57*2846c905SEmmanuel Vadot&hdmi_blk_ctrl { 58*2846c905SEmmanuel Vadot status = "disabled"; 59*2846c905SEmmanuel Vadot}; 60*2846c905SEmmanuel Vadot 61*2846c905SEmmanuel Vadot&hdmi_pvi { 62*2846c905SEmmanuel Vadot status = "disabled"; 63*2846c905SEmmanuel Vadot}; 64*2846c905SEmmanuel Vadot 65*2846c905SEmmanuel Vadot&hdmi_tx { 66*2846c905SEmmanuel Vadot status = "disabled"; 67*2846c905SEmmanuel Vadot}; 68*2846c905SEmmanuel Vadot 69*2846c905SEmmanuel Vadot&hdmi_tx_phy { 70*2846c905SEmmanuel Vadot status = "disabled"; 71*2846c905SEmmanuel Vadot}; 72*2846c905SEmmanuel Vadot 73*2846c905SEmmanuel Vadot&irqsteer_hdmi { 74*2846c905SEmmanuel Vadot status = "disabled"; 75*2846c905SEmmanuel Vadot}; 76*2846c905SEmmanuel Vadot 77*2846c905SEmmanuel Vadot&ldb_lvds_ch0 { 78*2846c905SEmmanuel Vadot remote-endpoint = <&in_lvds0>; 79*2846c905SEmmanuel Vadot}; 80*2846c905SEmmanuel Vadot 81*2846c905SEmmanuel Vadot&lcdif1 { 82*2846c905SEmmanuel Vadot status = "disabled"; 83*2846c905SEmmanuel Vadot}; 84*2846c905SEmmanuel Vadot 85*2846c905SEmmanuel Vadot&lcdif2 { 86*2846c905SEmmanuel Vadot status = "okay"; 87*2846c905SEmmanuel Vadot}; 88*2846c905SEmmanuel Vadot 89*2846c905SEmmanuel Vadot&lcdif3 { 90*2846c905SEmmanuel Vadot status = "disabled"; 91*2846c905SEmmanuel Vadot}; 92*2846c905SEmmanuel Vadot 93*2846c905SEmmanuel Vadot&lvds_backlight { 94*2846c905SEmmanuel Vadot status = "okay"; 95*2846c905SEmmanuel Vadot}; 96*2846c905SEmmanuel Vadot 97*2846c905SEmmanuel Vadot&lvds_bridge { 98*2846c905SEmmanuel Vadot /* IMX8MP_CLK_MEDIA_LDB = IMX8MP_CLK_MEDIA_DISP2_PIX * 7 */ 99*2846c905SEmmanuel Vadot assigned-clock-rates = <232820000>; 100*2846c905SEmmanuel Vadot status = "okay"; 101*2846c905SEmmanuel Vadot}; 102*2846c905SEmmanuel Vadot 103*2846c905SEmmanuel Vadot&media_blk_ctrl { 104*2846c905SEmmanuel Vadot /* 105*2846c905SEmmanuel Vadot * currently it is not possible to let display clocks configure 106*2846c905SEmmanuel Vadot * automatically, so we need to set them manually 107*2846c905SEmmanuel Vadot */ 108*2846c905SEmmanuel Vadot assigned-clock-rates = <500000000>, <200000000>, <0>, 109*2846c905SEmmanuel Vadot /* IMX8MP_CLK_MEDIA_DISP2_PIX = pixelclk of lvds panel */ 110*2846c905SEmmanuel Vadot <33260000>, <0>, 111*2846c905SEmmanuel Vadot /* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_LDB * 2 */ 112*2846c905SEmmanuel Vadot <465640000>; 113*2846c905SEmmanuel Vadot}; 114