xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6q-logicpd.dts (revision c771600c6af14749609b49565ffb4cac2959710d)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring//
3724ba675SRob Herring// Copyright (C) 2019 Logic PD, Inc.
4724ba675SRob Herring
5724ba675SRob Herring/dts-v1/;
6724ba675SRob Herring#include "imx6q.dtsi"
7724ba675SRob Herring#include "imx6-logicpd-som.dtsi"
8724ba675SRob Herring#include "imx6-logicpd-baseboard.dtsi"
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	model = "Logic PD i.MX6QD SOM-M3";
12724ba675SRob Herring	compatible = "logicpd,imx6q-logicpd", "fsl,imx6q";
13724ba675SRob Herring
14724ba675SRob Herring	backlight: backlight-lvds {
15724ba675SRob Herring		compatible = "pwm-backlight";
16724ba675SRob Herring		pwms = <&pwm3 0 20000 0>;
17724ba675SRob Herring		brightness-levels = <0 4 8 16 32 64 128 255>;
18724ba675SRob Herring		default-brightness-level = <6>;
19724ba675SRob Herring		power-supply = <&reg_lcd>;
20724ba675SRob Herring	};
21724ba675SRob Herring
22724ba675SRob Herring	panel-lvds0 {
23724ba675SRob Herring		compatible = "okaya,rs800480t-7x0gp";
24724ba675SRob Herring		power-supply = <&reg_lcd_reset>;
25724ba675SRob Herring		backlight = <&backlight>;
26724ba675SRob Herring
27724ba675SRob Herring		port {
28724ba675SRob Herring			panel_in_lvds0: endpoint {
29724ba675SRob Herring				remote-endpoint = <&lvds0_out>;
30724ba675SRob Herring			};
31724ba675SRob Herring		};
32724ba675SRob Herring	};
33724ba675SRob Herring
34724ba675SRob Herring	reg_lcd: regulator-lcd {
35724ba675SRob Herring		pinctrl-names = "default";
36724ba675SRob Herring		pinctrl-0 = <&pinctrl_lcd_reg>;
37724ba675SRob Herring		compatible = "regulator-fixed";
38724ba675SRob Herring		regulator-name = "lcd_panel_pwr";
39724ba675SRob Herring		regulator-min-microvolt = <3300000>;
40724ba675SRob Herring		regulator-max-microvolt = <3300000>;
41724ba675SRob Herring		gpio = <&gpio4 17 GPIO_ACTIVE_HIGH>;
42724ba675SRob Herring		enable-active-high;
43724ba675SRob Herring		vin-supply = <&reg_3v3>;
44724ba675SRob Herring		startup-delay-us = <500000>;
45724ba675SRob Herring	};
46724ba675SRob Herring
47724ba675SRob Herring	reg_lcd_reset: regulator-lcd-reset {
48724ba675SRob Herring		pinctrl-names = "default";
49724ba675SRob Herring		pinctrl-0 = <&pinctrl_lcd_reset>;
50724ba675SRob Herring		compatible = "regulator-fixed";
51724ba675SRob Herring		regulator-name = "nLCD_RESET";
52724ba675SRob Herring		regulator-min-microvolt = <3300000>;
53724ba675SRob Herring		regulator-max-microvolt = <3300000>;
54724ba675SRob Herring		gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
55724ba675SRob Herring		enable-active-high;
56724ba675SRob Herring		vin-supply = <&reg_lcd>;
57724ba675SRob Herring	};
58724ba675SRob Herring};
59724ba675SRob Herring
60724ba675SRob Herring&clks {
61724ba675SRob Herring	assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
62724ba675SRob Herring			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
63724ba675SRob Herring			  <&clks IMX6QDL_CLK_IPU1_DI0_PRE_SEL>,
64724ba675SRob Herring			  <&clks IMX6QDL_CLK_IPU2_DI0_PRE_SEL>;
65724ba675SRob Herring	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
66724ba675SRob Herring				 <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
67724ba675SRob Herring				 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
68724ba675SRob Herring				 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>;
69724ba675SRob Herring};
70724ba675SRob Herring
71724ba675SRob Herring&hdmi {
72724ba675SRob Herring	ddc-i2c-bus = <&i2c3>;
73724ba675SRob Herring	status = "okay";
74724ba675SRob Herring};
75724ba675SRob Herring
76724ba675SRob Herring&i2c1 {
77724ba675SRob Herring	touchscreen@26 {
78724ba675SRob Herring		compatible = "ilitek,ili2117";
79724ba675SRob Herring		reg = <0x26>;
80724ba675SRob Herring		pinctrl-names = "default";
81724ba675SRob Herring		pinctrl-0 = <&pinctrl_touchscreen>;
82724ba675SRob Herring		interrupts-extended = <&gpio1 6 IRQ_TYPE_EDGE_RISING>;
83724ba675SRob Herring	};
84724ba675SRob Herring};
85724ba675SRob Herring
86724ba675SRob Herring&ldb {
87724ba675SRob Herring	status = "okay";
88724ba675SRob Herring
89724ba675SRob Herring	lvds-channel@0 {
90724ba675SRob Herring		fsl,data-mapping = "spwg";
91724ba675SRob Herring		fsl,data-width = <24>;
92724ba675SRob Herring		status = "okay";
93724ba675SRob Herring
94724ba675SRob Herring		port@4 {
95724ba675SRob Herring			reg = <4>;
96724ba675SRob Herring			lvds0_out: endpoint {
97724ba675SRob Herring				remote-endpoint = <&panel_in_lvds0>;
98724ba675SRob Herring			};
99724ba675SRob Herring		};
100724ba675SRob Herring	};
101724ba675SRob Herring
102724ba675SRob Herring};
103724ba675SRob Herring
104724ba675SRob Herring&pwm3 {
105724ba675SRob Herring	status = "okay";
106724ba675SRob Herring};
107724ba675SRob Herring
108724ba675SRob Herring&reg_hdmi {
109724ba675SRob Herring	regulator-always-on;	/* Without this, the level shifter on HDMI doesn't turn on */
110724ba675SRob Herring};
111724ba675SRob Herring
112724ba675SRob Herring&iomuxc {
113*47208272SMarek Vasut	pinctrl_lcd_reg: lcdreggrp {
114724ba675SRob Herring		fsl,pins = <
115724ba675SRob Herring			MX6QDL_PAD_DI0_PIN15__GPIO4_IO17	0x100b0	/* R_LCD_PANEL_PWR */
116724ba675SRob Herring		>;
117724ba675SRob Herring	};
118724ba675SRob Herring
119*47208272SMarek Vasut	pinctrl_lcd_reset: lcdresetgrp {
120724ba675SRob Herring		fsl,pins = <
121724ba675SRob Herring			MX6QDL_PAD_EIM_A25__GPIO5_IO02	0x100b0	/* LCD_nRESET */
122724ba675SRob Herring		>;
123724ba675SRob Herring	};
124724ba675SRob Herring
125724ba675SRob Herring	pinctrl_touchscreen: touchscreengrp {
126724ba675SRob Herring		fsl,pins = <
127724ba675SRob Herring			MX6QDL_PAD_GPIO_6__GPIO1_IO06	0x1b0b0	/* TOUCH_nPINTDAV */
128724ba675SRob Herring		>;
129724ba675SRob Herring	};
130724ba675SRob Herring};
131