0001 // SPDX-License-Identifier: GPL-2.0
0002 //
0003 // Copyright (C) 2019 Logic PD, Inc.
0004
0005 /dts-v1/;
0006 #include "imx6q.dtsi"
0007 #include "imx6-logicpd-som.dtsi"
0008 #include "imx6-logicpd-baseboard.dtsi"
0009
0010 / {
0011 model = "Logic PD i.MX6QD SOM-M3";
0012 compatible = "logicpd,imx6q-logicpd", "fsl,imx6q";
0013
0014 backlight: backlight-lvds {
0015 compatible = "pwm-backlight";
0016 pwms = <&pwm3 0 20000 0>;
0017 brightness-levels = <0 4 8 16 32 64 128 255>;
0018 default-brightness-level = <6>;
0019 power-supply = <®_lcd>;
0020 };
0021
0022 panel-lvds0 {
0023 compatible = "okaya,rs800480t-7x0gp";
0024 power-supply = <®_lcd_reset>;
0025 backlight = <&backlight>;
0026
0027 port {
0028 panel_in_lvds0: endpoint {
0029 remote-endpoint = <&lvds0_out>;
0030 };
0031 };
0032 };
0033
0034 reg_lcd: regulator-lcd {
0035 pinctrl-names = "default";
0036 pinctrl-0 = <&pinctrl_lcd_reg>;
0037 compatible = "regulator-fixed";
0038 regulator-name = "lcd_panel_pwr";
0039 regulator-min-microvolt = <3300000>;
0040 regulator-max-microvolt = <3300000>;
0041 gpio = <&gpio4 17 GPIO_ACTIVE_HIGH>;
0042 enable-active-high;
0043 vin-supply = <®_3v3>;
0044 startup-delay-us = <500000>;
0045 };
0046
0047 reg_lcd_reset: regulator-lcd-reset {
0048 pinctrl-names = "default";
0049 pinctrl-0 = <&pinctrl_lcd_reset>;
0050 compatible = "regulator-fixed";
0051 regulator-name = "nLCD_RESET";
0052 regulator-min-microvolt = <3300000>;
0053 regulator-max-microvolt = <3300000>;
0054 gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
0055 enable-active-high;
0056 vin-supply = <®_lcd>;
0057 };
0058 };
0059
0060 &clks {
0061 assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
0062 <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
0063 <&clks IMX6QDL_CLK_IPU1_DI0_PRE_SEL>,
0064 <&clks IMX6QDL_CLK_IPU2_DI0_PRE_SEL>;
0065 assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
0066 <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
0067 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
0068 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>;
0069 };
0070
0071 &hdmi {
0072 ddc-i2c-bus = <&i2c3>;
0073 status = "okay";
0074 };
0075
0076 &i2c1 {
0077 touchscreen@26 {
0078 compatible = "ilitek,ili2117";
0079 reg = <0x26>;
0080 pinctrl-names = "default";
0081 pinctrl-0 = <&pinctrl_touchscreen>;
0082 interrupts-extended = <&gpio1 6 IRQ_TYPE_EDGE_RISING>;
0083 };
0084 };
0085
0086 &ldb {
0087 status = "okay";
0088
0089 lvds-channel@0 {
0090 fsl,data-mapping = "spwg";
0091 fsl,data-width = <24>;
0092 status = "okay";
0093
0094 port@4 {
0095 reg = <4>;
0096 lvds0_out: endpoint {
0097 remote-endpoint = <&panel_in_lvds0>;
0098 };
0099 };
0100 };
0101
0102 };
0103
0104 &pwm3 {
0105 status = "okay";
0106 };
0107
0108 ®_hdmi {
0109 regulator-always-on; /* Without this, the level shifter on HDMI doesn't turn on */
0110 };
0111
0112 &iomuxc {
0113 pinctrl_lcd_reg: lcdreg {
0114 fsl,pins = <
0115 MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x100b0 /* R_LCD_PANEL_PWR */
0116 >;
0117 };
0118
0119 pinctrl_lcd_reset: lcdreset {
0120 fsl,pins = <
0121 MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x100b0 /* LCD_nRESET */
0122 >;
0123 };
0124
0125 pinctrl_touchscreen: touchscreengrp {
0126 fsl,pins = <
0127 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 /* TOUCH_nPINTDAV */
0128 >;
0129 };
0130 };