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