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