xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx6q-logicpd.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
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 = <&reg_lcd>;
20*f126890aSEmmanuel Vadot	};
21*f126890aSEmmanuel Vadot
22*f126890aSEmmanuel Vadot	panel-lvds0 {
23*f126890aSEmmanuel Vadot		compatible = "okaya,rs800480t-7x0gp";
24*f126890aSEmmanuel Vadot		power-supply = <&reg_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 = <&reg_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 = <&reg_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&reg_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