1*33e18fc4SFrieder Schrempf// SPDX-License-Identifier: GPL-2.0 2*33e18fc4SFrieder Schrempf/* 3*33e18fc4SFrieder Schrempf * Copyright (C) 2024 Kontron Electronics GmbH 4*33e18fc4SFrieder Schrempf */ 5*33e18fc4SFrieder Schrempf 6*33e18fc4SFrieder Schrempf/dts-v1/; 7*33e18fc4SFrieder Schrempf/plugin/; 8*33e18fc4SFrieder Schrempf 9*33e18fc4SFrieder Schrempf#include <dt-bindings/gpio/gpio.h> 10*33e18fc4SFrieder Schrempf#include "imx8mm-pinfunc.h" 11*33e18fc4SFrieder Schrempf 12*33e18fc4SFrieder Schrempf&{/} { 13*33e18fc4SFrieder Schrempf compatible = "kontron,imx8mm-bl", "kontron,imx8mm-sl", "fsl,imx8mm"; 14*33e18fc4SFrieder Schrempf 15*33e18fc4SFrieder Schrempf backlight: backlight { 16*33e18fc4SFrieder Schrempf compatible = "pwm-backlight"; 17*33e18fc4SFrieder Schrempf pwms = <&pwm1 0 50000 0>; 18*33e18fc4SFrieder Schrempf brightness-levels = <0 100>; 19*33e18fc4SFrieder Schrempf num-interpolated-steps = <100>; 20*33e18fc4SFrieder Schrempf default-brightness-level = <100>; 21*33e18fc4SFrieder Schrempf }; 22*33e18fc4SFrieder Schrempf 23*33e18fc4SFrieder Schrempf panel { 24*33e18fc4SFrieder Schrempf compatible = "jenson,bl-jt60050-01a", "panel-lvds"; 25*33e18fc4SFrieder Schrempf pinctrl-names = "default"; 26*33e18fc4SFrieder Schrempf pinctrl-0 = <&pinctrl_panel>; 27*33e18fc4SFrieder Schrempf backlight = <&backlight>; 28*33e18fc4SFrieder Schrempf data-mapping = "vesa-24"; 29*33e18fc4SFrieder Schrempf enable-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; 30*33e18fc4SFrieder Schrempf height-mm = <86>; 31*33e18fc4SFrieder Schrempf width-mm = <154>; 32*33e18fc4SFrieder Schrempf 33*33e18fc4SFrieder Schrempf panel-timing { 34*33e18fc4SFrieder Schrempf clock-frequency = <51200000>; 35*33e18fc4SFrieder Schrempf hactive = <1024>; 36*33e18fc4SFrieder Schrempf vactive = <600>; 37*33e18fc4SFrieder Schrempf hsync-len = <1>; 38*33e18fc4SFrieder Schrempf hfront-porch = <160>; 39*33e18fc4SFrieder Schrempf hback-porch = <160>; 40*33e18fc4SFrieder Schrempf vsync-len = <1>; 41*33e18fc4SFrieder Schrempf vfront-porch = <12>; 42*33e18fc4SFrieder Schrempf vback-porch = <23>; 43*33e18fc4SFrieder Schrempf }; 44*33e18fc4SFrieder Schrempf 45*33e18fc4SFrieder Schrempf port { 46*33e18fc4SFrieder Schrempf panel_out_bridge: endpoint { 47*33e18fc4SFrieder Schrempf remote-endpoint = <&bridge_out_panel>; 48*33e18fc4SFrieder Schrempf }; 49*33e18fc4SFrieder Schrempf }; 50*33e18fc4SFrieder Schrempf }; 51*33e18fc4SFrieder Schrempf}; 52*33e18fc4SFrieder Schrempf 53*33e18fc4SFrieder Schrempf&dsi_mux_sel_hdmi { 54*33e18fc4SFrieder Schrempf status = "disabled"; 55*33e18fc4SFrieder Schrempf}; 56*33e18fc4SFrieder Schrempf 57*33e18fc4SFrieder Schrempf&dsi_mux_sel_lvds { 58*33e18fc4SFrieder Schrempf status = "okay"; 59*33e18fc4SFrieder Schrempf}; 60*33e18fc4SFrieder Schrempf 61*33e18fc4SFrieder Schrempf&mipi_dsi_out { 62*33e18fc4SFrieder Schrempf remote-endpoint = <&bridge_in_dsi_lvds>; 63*33e18fc4SFrieder Schrempf}; 64*33e18fc4SFrieder Schrempf 65*33e18fc4SFrieder Schrempf&gpio3 { 66*33e18fc4SFrieder Schrempf pinctrl-names = "default"; 67*33e18fc4SFrieder Schrempf pinctrl-0 = <&pinctrl_gpio3>; 68*33e18fc4SFrieder Schrempf 69*33e18fc4SFrieder Schrempf panel-rst-hog { 70*33e18fc4SFrieder Schrempf gpio-hog; 71*33e18fc4SFrieder Schrempf gpios = <20 GPIO_ACTIVE_HIGH>; 72*33e18fc4SFrieder Schrempf output-high; 73*33e18fc4SFrieder Schrempf line-name = "panel-reset"; 74*33e18fc4SFrieder Schrempf }; 75*33e18fc4SFrieder Schrempf 76*33e18fc4SFrieder Schrempf panel-stby-hog { 77*33e18fc4SFrieder Schrempf gpio-hog; 78*33e18fc4SFrieder Schrempf gpios = <21 GPIO_ACTIVE_HIGH>; 79*33e18fc4SFrieder Schrempf output-high; 80*33e18fc4SFrieder Schrempf line-name = "panel-standby"; 81*33e18fc4SFrieder Schrempf }; 82*33e18fc4SFrieder Schrempf 83*33e18fc4SFrieder Schrempf panel-hinv-hog { 84*33e18fc4SFrieder Schrempf gpio-hog; 85*33e18fc4SFrieder Schrempf gpios = <24 GPIO_ACTIVE_HIGH>; 86*33e18fc4SFrieder Schrempf output-high; 87*33e18fc4SFrieder Schrempf line-name = "panel-horizontal-invert"; 88*33e18fc4SFrieder Schrempf }; 89*33e18fc4SFrieder Schrempf 90*33e18fc4SFrieder Schrempf panel-vinv-hog { 91*33e18fc4SFrieder Schrempf gpio-hog; 92*33e18fc4SFrieder Schrempf gpios = <25 GPIO_ACTIVE_HIGH>; 93*33e18fc4SFrieder Schrempf output-low; 94*33e18fc4SFrieder Schrempf line-name = "panel-vertical-invert"; 95*33e18fc4SFrieder Schrempf }; 96*33e18fc4SFrieder Schrempf}; 97*33e18fc4SFrieder Schrempf 98*33e18fc4SFrieder Schrempf&hdmi { 99*33e18fc4SFrieder Schrempf status = "disabled"; 100*33e18fc4SFrieder Schrempf}; 101*33e18fc4SFrieder Schrempf 102*33e18fc4SFrieder Schrempf&i2c2 { 103*33e18fc4SFrieder Schrempf clock-frequency = <400000>; 104*33e18fc4SFrieder Schrempf pinctrl-names = "default"; 105*33e18fc4SFrieder Schrempf pinctrl-0 = <&pinctrl_i2c2>; 106*33e18fc4SFrieder Schrempf #address-cells = <1>; 107*33e18fc4SFrieder Schrempf #size-cells = <0>; 108*33e18fc4SFrieder Schrempf status = "okay"; 109*33e18fc4SFrieder Schrempf 110*33e18fc4SFrieder Schrempf touchscreen@5d { 111*33e18fc4SFrieder Schrempf compatible = "goodix,gt928"; 112*33e18fc4SFrieder Schrempf reg = <0x5d>; 113*33e18fc4SFrieder Schrempf pinctrl-names = "default"; 114*33e18fc4SFrieder Schrempf pinctrl-0 = <&pinctrl_touch>; 115*33e18fc4SFrieder Schrempf interrupt-parent = <&gpio3>; 116*33e18fc4SFrieder Schrempf interrupts = <22 8>; 117*33e18fc4SFrieder Schrempf reset-gpios = <&gpio3 23 0>; 118*33e18fc4SFrieder Schrempf irq-gpios = <&gpio3 22 0>; 119*33e18fc4SFrieder Schrempf }; 120*33e18fc4SFrieder Schrempf}; 121*33e18fc4SFrieder Schrempf 122*33e18fc4SFrieder Schrempf&lvds { 123*33e18fc4SFrieder Schrempf status = "okay"; 124*33e18fc4SFrieder Schrempf 125*33e18fc4SFrieder Schrempf ports { 126*33e18fc4SFrieder Schrempf #address-cells = <1>; 127*33e18fc4SFrieder Schrempf #size-cells = <0>; 128*33e18fc4SFrieder Schrempf 129*33e18fc4SFrieder Schrempf port@0 { 130*33e18fc4SFrieder Schrempf reg = <0>; 131*33e18fc4SFrieder Schrempf 132*33e18fc4SFrieder Schrempf bridge_in_dsi_lvds: endpoint { 133*33e18fc4SFrieder Schrempf remote-endpoint = <&mipi_dsi_out>; 134*33e18fc4SFrieder Schrempf data-lanes = <1 2>; 135*33e18fc4SFrieder Schrempf }; 136*33e18fc4SFrieder Schrempf }; 137*33e18fc4SFrieder Schrempf 138*33e18fc4SFrieder Schrempf port@2 { 139*33e18fc4SFrieder Schrempf reg = <2>; 140*33e18fc4SFrieder Schrempf 141*33e18fc4SFrieder Schrempf bridge_out_panel: endpoint { 142*33e18fc4SFrieder Schrempf remote-endpoint = <&panel_out_bridge>; 143*33e18fc4SFrieder Schrempf }; 144*33e18fc4SFrieder Schrempf }; 145*33e18fc4SFrieder Schrempf }; 146*33e18fc4SFrieder Schrempf}; 147*33e18fc4SFrieder Schrempf 148*33e18fc4SFrieder Schrempf&pwm1 { 149*33e18fc4SFrieder Schrempf pinctrl-names = "default"; 150*33e18fc4SFrieder Schrempf pinctrl-0 = <&pinctrl_pwm1>; 151*33e18fc4SFrieder Schrempf status = "okay"; 152*33e18fc4SFrieder Schrempf}; 153*33e18fc4SFrieder Schrempf 154*33e18fc4SFrieder Schrempf&iomuxc { 155*33e18fc4SFrieder Schrempf pinctrl_gpio3: gpio3grp { 156*33e18fc4SFrieder Schrempf fsl,pins = < 157*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_SAI5_RXD3_GPIO3_IO24 0x19 158*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x19 159*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_SAI5_RXD0_GPIO3_IO21 0x19 160*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x19 161*33e18fc4SFrieder Schrempf >; 162*33e18fc4SFrieder Schrempf }; 163*33e18fc4SFrieder Schrempf 164*33e18fc4SFrieder Schrempf pinctrl_i2c2: i2c2grp { 165*33e18fc4SFrieder Schrempf fsl,pins = < 166*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000083 167*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x40000083 168*33e18fc4SFrieder Schrempf >; 169*33e18fc4SFrieder Schrempf }; 170*33e18fc4SFrieder Schrempf 171*33e18fc4SFrieder Schrempf pinctrl_panel: panelgrp { 172*33e18fc4SFrieder Schrempf fsl,pins = < 173*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_SAI5_RXFS_GPIO3_IO19 0x19 174*33e18fc4SFrieder Schrempf >; 175*33e18fc4SFrieder Schrempf }; 176*33e18fc4SFrieder Schrempf 177*33e18fc4SFrieder Schrempf pinctrl_pwm1: pwm1grp { 178*33e18fc4SFrieder Schrempf fsl,pins = < 179*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_SPDIF_EXT_CLK_PWM1_OUT 0x6 180*33e18fc4SFrieder Schrempf >; 181*33e18fc4SFrieder Schrempf }; 182*33e18fc4SFrieder Schrempf 183*33e18fc4SFrieder Schrempf pinctrl_touch: touchgrp { 184*33e18fc4SFrieder Schrempf fsl,pins = < 185*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x19 186*33e18fc4SFrieder Schrempf MX8MM_IOMUXC_SAI5_RXD2_GPIO3_IO23 0x19 187*33e18fc4SFrieder Schrempf >; 188*33e18fc4SFrieder Schrempf }; 189*33e18fc4SFrieder Schrempf}; 190