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