Merge tag 'libnvdimm-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdim...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / imx6q-logicpd.dts
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 = <&reg_lcd>;
20         };
21
22         panel-lvds0 {
23                 compatible = "okaya,rs800480t-7x0gp";
24                 power-supply = <&reg_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 = <&reg_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 = <&reg_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 &reg_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 };