blob: 46a4ddedb4236d324f45a8701f326de6d6fdb360 [file] [log] [blame]
Adam Ford55e33f92019-05-31 07:09:22 -05001// SPDX-License-Identifier: GPL-2.0
2//
3// Copyright (C) 2019 Logic PD, Inc.
Adam Forda2965c92017-04-07 10:25:34 -05004
5/dts-v1/;
Adam Ford158e9192018-12-28 08:55:41 -06006#include "imx6q.dtsi"
7#include "imx6-logicpd-som.dtsi"
8#include "imx6-logicpd-baseboard.dtsi"
Adam Forda2965c92017-04-07 10:25:34 -05009
10/ {
Adam Ford55e33f92019-05-31 07:09:22 -050011 model = "Logic PD i.MX6QD SOM-M3";
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020012 compatible = "logicpd,imx6q-logicpd", "fsl,imx6q";
Adam Forda2965c92017-04-07 10:25:34 -050013
Adam Ford55e33f92019-05-31 07:09:22 -050014 backlight: backlight-lvds {
Adam Ford158e9192018-12-28 08:55:41 -060015 compatible = "pwm-backlight";
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020016 pwms = <&pwm3 0 20000 0>;
Adam Ford158e9192018-12-28 08:55:41 -060017 brightness-levels = <0 4 8 16 32 64 128 255>;
18 default-brightness-level = <6>;
19 power-supply = <&reg_lcd>;
Adam Forda2965c92017-04-07 10:25:34 -050020 };
21
Adam Ford55e33f92019-05-31 07:09:22 -050022 panel-lvds0 {
23 compatible = "okaya,rs800480t-7x0gp";
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020024 power-supply = <&reg_lcd_reset>;
25 backlight = <&backlight>;
Adam Ford55e33f92019-05-31 07:09:22 -050026
27 port {
28 panel_in_lvds0: endpoint {
29 remote-endpoint = <&lvds0_out>;
30 };
31 };
32 };
33
Adam Ford158e9192018-12-28 08:55:41 -060034 reg_lcd: regulator-lcd {
35 pinctrl-names = "default";
36 pinctrl-0 = <&pinctrl_lcd_reg>;
Adam Forda2965c92017-04-07 10:25:34 -050037 compatible = "regulator-fixed";
Adam Ford158e9192018-12-28 08:55:41 -060038 regulator-name = "lcd_panel_pwr";
39 regulator-min-microvolt = <3300000>;
40 regulator-max-microvolt = <3300000>;
41 gpio = <&gpio4 17 GPIO_ACTIVE_HIGH>;
Adam Forda2965c92017-04-07 10:25:34 -050042 enable-active-high;
Adam Ford158e9192018-12-28 08:55:41 -060043 vin-supply = <&reg_3v3>;
44 startup-delay-us = <500000>;
Adam Forda2965c92017-04-07 10:25:34 -050045 };
46
Adam Ford55e33f92019-05-31 07:09:22 -050047 reg_lcd_reset: regulator-lcd-reset {
Adam Ford158e9192018-12-28 08:55:41 -060048 pinctrl-names = "default";
49 pinctrl-0 = <&pinctrl_lcd_reset>;
Adam Forda2965c92017-04-07 10:25:34 -050050 compatible = "regulator-fixed";
Adam Ford158e9192018-12-28 08:55:41 -060051 regulator-name = "nLCD_RESET";
Adam Forda2965c92017-04-07 10:25:34 -050052 regulator-min-microvolt = <3300000>;
53 regulator-max-microvolt = <3300000>;
Adam Ford158e9192018-12-28 08:55:41 -060054 gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
55 enable-active-high;
Adam Ford158e9192018-12-28 08:55:41 -060056 vin-supply = <&reg_lcd>;
57 };
Adam Ford55e33f92019-05-31 07:09:22 -050058};
Adam Ford158e9192018-12-28 08:55:41 -060059
Adam Ford55e33f92019-05-31 07:09:22 -050060&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>;
Adam Forda2965c92017-04-07 10:25:34 -050069};
70
Adam Ford158e9192018-12-28 08:55:41 -060071&hdmi {
72 ddc-i2c-bus = <&i2c3>;
Adam Forda2965c92017-04-07 10:25:34 -050073 status = "okay";
74};
75
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020076&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
Adam Ford158e9192018-12-28 08:55:41 -060086&ldb {
Adam Forda2965c92017-04-07 10:25:34 -050087 status = "okay";
Adam Ford158e9192018-12-28 08:55:41 -060088
89 lvds-channel@0 {
90 fsl,data-mapping = "spwg";
91 fsl,data-width = <24>;
92 status = "okay";
93
94 port@4 {
95 reg = <4>;
Adam Ford158e9192018-12-28 08:55:41 -060096 lvds0_out: endpoint {
97 remote-endpoint = <&panel_in_lvds0>;
98 };
99 };
100 };
101
Adam Ford158e9192018-12-28 08:55:41 -0600102};
103
104&pwm3 {
Adam Forda2965c92017-04-07 10:25:34 -0500105 status = "okay";
106};
107
Adam Ford55e33f92019-05-31 07:09:22 -0500108&reg_hdmi {
109 regulator-always-on; /* Without this, the level shifter on HDMI doesn't turn on */
Adam Forda2965c92017-04-07 10:25:34 -0500110};
111
112&iomuxc {
Adam Ford158e9192018-12-28 08:55:41 -0600113 pinctrl_lcd_reg: lcdreg {
Adam Forda2965c92017-04-07 10:25:34 -0500114 fsl,pins = <
Adam Ford158e9192018-12-28 08:55:41 -0600115 MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x100b0 /* R_LCD_PANEL_PWR */
Adam Forda2965c92017-04-07 10:25:34 -0500116 >;
117 };
118
Adam Ford158e9192018-12-28 08:55:41 -0600119 pinctrl_lcd_reset: lcdreset {
Adam Forda2965c92017-04-07 10:25:34 -0500120 fsl,pins = <
Adam Ford55e33f92019-05-31 07:09:22 -0500121 MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x100b0 /* LCD_nRESET */
Adam Forda2965c92017-04-07 10:25:34 -0500122 >;
123 };
124
Adam Ford158e9192018-12-28 08:55:41 -0600125 pinctrl_touchscreen: touchscreengrp {
Adam Forda2965c92017-04-07 10:25:34 -0500126 fsl,pins = <
Adam Ford158e9192018-12-28 08:55:41 -0600127 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 /* TOUCH_nPINTDAV */
Adam Forda2965c92017-04-07 10:25:34 -0500128 >;
129 };
Adam Forda2965c92017-04-07 10:25:34 -0500130};