xref: /linux/arch/arm/boot/dts/nxp/imx/imx53-sk-imx53-atm0700d4-lvds.dts (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1*8c17cec6SDmitry Baryshkov// SPDX-License-Identifier: GPL-2.0+
2*8c17cec6SDmitry Baryshkov//
3*8c17cec6SDmitry Baryshkov// Copyright 2023 Linaro Ltd.
4*8c17cec6SDmitry Baryshkov
5*8c17cec6SDmitry Baryshkov/dts-v1/;
6*8c17cec6SDmitry Baryshkov
7*8c17cec6SDmitry Baryshkov#include <dt-bindings/pwm/pwm.h>
8*8c17cec6SDmitry Baryshkov#include "imx53-sk-imx53-atm0700d4.dtsi"
9*8c17cec6SDmitry Baryshkov
10*8c17cec6SDmitry Baryshkov/ {
11*8c17cec6SDmitry Baryshkov	lvds-decoder {
12*8c17cec6SDmitry Baryshkov		compatible = "ti,sn65lvds94", "lvds-decoder";
13*8c17cec6SDmitry Baryshkov
14*8c17cec6SDmitry Baryshkov		ports {
15*8c17cec6SDmitry Baryshkov			#address-cells = <1>;
16*8c17cec6SDmitry Baryshkov			#size-cells = <0>;
17*8c17cec6SDmitry Baryshkov
18*8c17cec6SDmitry Baryshkov			port@0 {
19*8c17cec6SDmitry Baryshkov				reg = <0>;
20*8c17cec6SDmitry Baryshkov
21*8c17cec6SDmitry Baryshkov				lvds_decoder_in: endpoint {
22*8c17cec6SDmitry Baryshkov					remote-endpoint = <&lvds0_out>;
23*8c17cec6SDmitry Baryshkov				};
24*8c17cec6SDmitry Baryshkov			};
25*8c17cec6SDmitry Baryshkov
26*8c17cec6SDmitry Baryshkov			port@1 {
27*8c17cec6SDmitry Baryshkov				reg = <1>;
28*8c17cec6SDmitry Baryshkov
29*8c17cec6SDmitry Baryshkov				lvds_decoder_out: endpoint {
30*8c17cec6SDmitry Baryshkov					remote-endpoint = <&panel_rgb_in>;
31*8c17cec6SDmitry Baryshkov				};
32*8c17cec6SDmitry Baryshkov			};
33*8c17cec6SDmitry Baryshkov		};
34*8c17cec6SDmitry Baryshkov	};
35*8c17cec6SDmitry Baryshkov};
36*8c17cec6SDmitry Baryshkov
37*8c17cec6SDmitry Baryshkov&iomuxc {
38*8c17cec6SDmitry Baryshkov	pinctrl_lvds0: lvds0grp {
39*8c17cec6SDmitry Baryshkov		/* LVDS pins only have pin mux configuration */
40*8c17cec6SDmitry Baryshkov		fsl,pins = <
41*8c17cec6SDmitry Baryshkov			MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK	0x80000000
42*8c17cec6SDmitry Baryshkov			MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0	0x80000000
43*8c17cec6SDmitry Baryshkov			MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1	0x80000000
44*8c17cec6SDmitry Baryshkov			MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2	0x80000000
45*8c17cec6SDmitry Baryshkov			MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3	0x80000000
46*8c17cec6SDmitry Baryshkov		>;
47*8c17cec6SDmitry Baryshkov	};
48*8c17cec6SDmitry Baryshkov
49*8c17cec6SDmitry Baryshkov	pinctrl_spi_gpio: spigrp {
50*8c17cec6SDmitry Baryshkov		fsl,pins = <
51*8c17cec6SDmitry Baryshkov			MX53_PAD_EIM_A22__GPIO2_16		0x1f4
52*8c17cec6SDmitry Baryshkov			MX53_PAD_EIM_A21__GPIO2_17		0x1f4
53*8c17cec6SDmitry Baryshkov			MX53_PAD_EIM_A16__GPIO2_22		0x1f4
54*8c17cec6SDmitry Baryshkov			MX53_PAD_EIM_A18__GPIO2_20		0x1f4
55*8c17cec6SDmitry Baryshkov		>;
56*8c17cec6SDmitry Baryshkov	};
57*8c17cec6SDmitry Baryshkov};
58*8c17cec6SDmitry Baryshkov
59*8c17cec6SDmitry Baryshkov&ldb {
60*8c17cec6SDmitry Baryshkov	pinctrl-names = "default";
61*8c17cec6SDmitry Baryshkov	pinctrl-0 = <&pinctrl_lvds0>;
62*8c17cec6SDmitry Baryshkov	status = "okay";
63*8c17cec6SDmitry Baryshkov
64*8c17cec6SDmitry Baryshkov	lvds0: lvds-channel@0 {
65*8c17cec6SDmitry Baryshkov		reg = <0>;
66*8c17cec6SDmitry Baryshkov		fsl,data-mapping = "spwg";
67*8c17cec6SDmitry Baryshkov		fsl,data-width = <24>;
68*8c17cec6SDmitry Baryshkov		status = "okay";
69*8c17cec6SDmitry Baryshkov
70*8c17cec6SDmitry Baryshkov		port@2 {
71*8c17cec6SDmitry Baryshkov			reg = <2>;
72*8c17cec6SDmitry Baryshkov
73*8c17cec6SDmitry Baryshkov			lvds0_out: endpoint {
74*8c17cec6SDmitry Baryshkov				remote-endpoint = <&lvds_decoder_in>;
75*8c17cec6SDmitry Baryshkov			};
76*8c17cec6SDmitry Baryshkov		};
77*8c17cec6SDmitry Baryshkov	};
78*8c17cec6SDmitry Baryshkov};
79*8c17cec6SDmitry Baryshkov
80*8c17cec6SDmitry Baryshkov&panel_rgb_in {
81*8c17cec6SDmitry Baryshkov	remote-endpoint = <&lvds_decoder_out>;
82*8c17cec6SDmitry Baryshkov};
83*8c17cec6SDmitry Baryshkov
84*8c17cec6SDmitry Baryshkov&spi_ts {
85*8c17cec6SDmitry Baryshkov	pinctrl-0 = <&pinctrl_spi_gpio>;
86*8c17cec6SDmitry Baryshkov	pinctrl-names = "default";
87*8c17cec6SDmitry Baryshkov
88*8c17cec6SDmitry Baryshkov	sck-gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
89*8c17cec6SDmitry Baryshkov	miso-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
90*8c17cec6SDmitry Baryshkov	mosi-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
91*8c17cec6SDmitry Baryshkov	cs-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
92*8c17cec6SDmitry Baryshkov};
93*8c17cec6SDmitry Baryshkov
94*8c17cec6SDmitry Baryshkov&touchscreen {
95*8c17cec6SDmitry Baryshkov	interrupts-extended = <&gpio3 22 IRQ_TYPE_EDGE_BOTH>;
96*8c17cec6SDmitry Baryshkov	pendown-gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
97*8c17cec6SDmitry Baryshkov};
98