1// SPDX-License-Identifier: GPL-2.0 2// 3// Copyright (C) 2019 Logic PD, Inc. 4 5/dts-v1/; 6#include "imx6q.dtsi" 7#include "imx6-logicpd-som.dtsi" 8#include "imx6-logicpd-baseboard.dtsi" 9 10/ { 11 model = "Logic PD i.MX6QD SOM-M3"; 12 compatible = "logicpd,imx6q-logicpd", "fsl,imx6q"; 13 14 backlight: backlight-lvds { 15 compatible = "pwm-backlight"; 16 pwms = <&pwm3 0 20000 0>; 17 brightness-levels = <0 4 8 16 32 64 128 255>; 18 default-brightness-level = <6>; 19 power-supply = <®_lcd>; 20 }; 21 22 panel-lvds0 { 23 compatible = "okaya,rs800480t-7x0gp"; 24 power-supply = <®_lcd_reset>; 25 backlight = <&backlight>; 26 27 port { 28 panel_in_lvds0: endpoint { 29 remote-endpoint = <&lvds0_out>; 30 }; 31 }; 32 }; 33 34 reg_lcd: regulator-lcd { 35 pinctrl-names = "default"; 36 pinctrl-0 = <&pinctrl_lcd_reg>; 37 compatible = "regulator-fixed"; 38 regulator-name = "lcd_panel_pwr"; 39 regulator-min-microvolt = <3300000>; 40 regulator-max-microvolt = <3300000>; 41 gpio = <&gpio4 17 GPIO_ACTIVE_HIGH>; 42 enable-active-high; 43 vin-supply = <®_3v3>; 44 startup-delay-us = <500000>; 45 }; 46 47 reg_lcd_reset: regulator-lcd-reset { 48 pinctrl-names = "default"; 49 pinctrl-0 = <&pinctrl_lcd_reset>; 50 compatible = "regulator-fixed"; 51 regulator-name = "nLCD_RESET"; 52 regulator-min-microvolt = <3300000>; 53 regulator-max-microvolt = <3300000>; 54 gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>; 55 enable-active-high; 56 vin-supply = <®_lcd>; 57 }; 58}; 59 60&clks { 61 assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, 62 <&clks IMX6QDL_CLK_LDB_DI1_SEL>, 63 <&clks IMX6QDL_CLK_IPU1_DI0_PRE_SEL>, 64 <&clks IMX6QDL_CLK_IPU2_DI0_PRE_SEL>; 65 assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>, 66 <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>, 67 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 68 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>; 69}; 70 71&hdmi { 72 ddc-i2c-bus = <&i2c3>; 73 status = "okay"; 74}; 75 76&i2c1 { 77 touchscreen@26 { 78 compatible = "ilitek,ili2117"; 79 reg = <0x26>; 80 pinctrl-names = "default"; 81 pinctrl-0 = <&pinctrl_touchscreen>; 82 interrupts-extended = <&gpio1 6 IRQ_TYPE_EDGE_RISING>; 83 }; 84}; 85 86&ldb { 87 status = "okay"; 88 89 lvds-channel@0 { 90 fsl,data-mapping = "spwg"; 91 fsl,data-width = <24>; 92 status = "okay"; 93 94 port@4 { 95 reg = <4>; 96 lvds0_out: endpoint { 97 remote-endpoint = <&panel_in_lvds0>; 98 }; 99 }; 100 }; 101 102}; 103 104&pwm3 { 105 status = "okay"; 106}; 107 108®_hdmi { 109 regulator-always-on; /* Without this, the level shifter on HDMI doesn't turn on */ 110}; 111 112&iomuxc { 113 pinctrl_lcd_reg: lcdreg { 114 fsl,pins = < 115 MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x100b0 /* R_LCD_PANEL_PWR */ 116 >; 117 }; 118 119 pinctrl_lcd_reset: lcdreset { 120 fsl,pins = < 121 MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x100b0 /* LCD_nRESET */ 122 >; 123 }; 124 125 pinctrl_touchscreen: touchscreengrp { 126 fsl,pins = < 127 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 /* TOUCH_nPINTDAV */ 128 >; 129 }; 130}; 131