xref: /openbmc/linux/arch/arm/boot/dts/nxp/imx/imx53-cx9020.dts (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright 2017 Beckhoff Automation GmbH & Co. KG
4*724ba675SRob Herring * based on imx53-qsb.dts
5*724ba675SRob Herring */
6*724ba675SRob Herring
7*724ba675SRob Herring/dts-v1/;
8*724ba675SRob Herring#include "imx53.dtsi"
9*724ba675SRob Herring
10*724ba675SRob Herring/ {
11*724ba675SRob Herring	model = "Beckhoff CX9020 Embedded PC";
12*724ba675SRob Herring	compatible = "bhf,cx9020", "fsl,imx53";
13*724ba675SRob Herring
14*724ba675SRob Herring	chosen {
15*724ba675SRob Herring		stdout-path = &uart2;
16*724ba675SRob Herring	};
17*724ba675SRob Herring
18*724ba675SRob Herring	memory@70000000 {
19*724ba675SRob Herring		device_type = "memory";
20*724ba675SRob Herring		reg = <0x70000000 0x20000000>,
21*724ba675SRob Herring		      <0xb0000000 0x20000000>;
22*724ba675SRob Herring	};
23*724ba675SRob Herring
24*724ba675SRob Herring	display-0 {
25*724ba675SRob Herring		#address-cells =<1>;
26*724ba675SRob Herring		#size-cells = <0>;
27*724ba675SRob Herring		compatible = "fsl,imx-parallel-display";
28*724ba675SRob Herring		interface-pix-fmt = "rgb24";
29*724ba675SRob Herring		pinctrl-names = "default";
30*724ba675SRob Herring		pinctrl-0 = <&pinctrl_ipu_disp0>;
31*724ba675SRob Herring
32*724ba675SRob Herring		port@0 {
33*724ba675SRob Herring			reg = <0>;
34*724ba675SRob Herring
35*724ba675SRob Herring			display0_in: endpoint {
36*724ba675SRob Herring				remote-endpoint = <&ipu_di0_disp0>;
37*724ba675SRob Herring			};
38*724ba675SRob Herring		};
39*724ba675SRob Herring
40*724ba675SRob Herring		port@1 {
41*724ba675SRob Herring			reg = <1>;
42*724ba675SRob Herring
43*724ba675SRob Herring			display0_out: endpoint {
44*724ba675SRob Herring				remote-endpoint = <&tfp410_in>;
45*724ba675SRob Herring			};
46*724ba675SRob Herring		};
47*724ba675SRob Herring	};
48*724ba675SRob Herring
49*724ba675SRob Herring	dvi-connector {
50*724ba675SRob Herring		compatible = "dvi-connector";
51*724ba675SRob Herring		ddc-i2c-bus = <&i2c2>;
52*724ba675SRob Herring		digital;
53*724ba675SRob Herring
54*724ba675SRob Herring		port {
55*724ba675SRob Herring			dvi_connector_in: endpoint {
56*724ba675SRob Herring				remote-endpoint = <&tfp410_out>;
57*724ba675SRob Herring			};
58*724ba675SRob Herring		};
59*724ba675SRob Herring	};
60*724ba675SRob Herring
61*724ba675SRob Herring	dvi-converter {
62*724ba675SRob Herring		compatible = "ti,tfp410";
63*724ba675SRob Herring
64*724ba675SRob Herring		ports {
65*724ba675SRob Herring			#address-cells = <1>;
66*724ba675SRob Herring			#size-cells = <0>;
67*724ba675SRob Herring
68*724ba675SRob Herring			port@0 {
69*724ba675SRob Herring				reg = <0>;
70*724ba675SRob Herring
71*724ba675SRob Herring				tfp410_in: endpoint {
72*724ba675SRob Herring					remote-endpoint = <&display0_out>;
73*724ba675SRob Herring				};
74*724ba675SRob Herring			};
75*724ba675SRob Herring
76*724ba675SRob Herring			port@1 {
77*724ba675SRob Herring				reg = <1>;
78*724ba675SRob Herring
79*724ba675SRob Herring				tfp410_out: endpoint {
80*724ba675SRob Herring					remote-endpoint = <&dvi_connector_in>;
81*724ba675SRob Herring				};
82*724ba675SRob Herring			};
83*724ba675SRob Herring		};
84*724ba675SRob Herring	};
85*724ba675SRob Herring
86*724ba675SRob Herring	leds {
87*724ba675SRob Herring		compatible = "gpio-leds";
88*724ba675SRob Herring
89*724ba675SRob Herring		led-pwr-r {
90*724ba675SRob Herring			gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
91*724ba675SRob Herring			default-state = "off";
92*724ba675SRob Herring		};
93*724ba675SRob Herring
94*724ba675SRob Herring		led-pwr-g {
95*724ba675SRob Herring			gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>;
96*724ba675SRob Herring			default-state = "on";
97*724ba675SRob Herring		};
98*724ba675SRob Herring
99*724ba675SRob Herring		led-pwr-b {
100*724ba675SRob Herring			gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
101*724ba675SRob Herring			default-state = "off";
102*724ba675SRob Herring		};
103*724ba675SRob Herring
104*724ba675SRob Herring		led-sd1-b {
105*724ba675SRob Herring			linux,default-trigger = "mmc0";
106*724ba675SRob Herring			gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
107*724ba675SRob Herring		};
108*724ba675SRob Herring
109*724ba675SRob Herring		led-sd2-b {
110*724ba675SRob Herring			linux,default-trigger = "mmc1";
111*724ba675SRob Herring			gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
112*724ba675SRob Herring		};
113*724ba675SRob Herring	};
114*724ba675SRob Herring
115*724ba675SRob Herring	regulator-3p2v {
116*724ba675SRob Herring		compatible = "regulator-fixed";
117*724ba675SRob Herring		regulator-name = "3P2V";
118*724ba675SRob Herring		regulator-min-microvolt = <3200000>;
119*724ba675SRob Herring		regulator-max-microvolt = <3200000>;
120*724ba675SRob Herring		regulator-always-on;
121*724ba675SRob Herring	};
122*724ba675SRob Herring
123*724ba675SRob Herring	reg_usb_vbus: regulator-vbus {
124*724ba675SRob Herring		compatible = "regulator-fixed";
125*724ba675SRob Herring		regulator-name = "usb_vbus";
126*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
127*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
128*724ba675SRob Herring		gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
129*724ba675SRob Herring		enable-active-high;
130*724ba675SRob Herring	};
131*724ba675SRob Herring};
132*724ba675SRob Herring
133*724ba675SRob Herring&esdhc1 {
134*724ba675SRob Herring	pinctrl-names = "default";
135*724ba675SRob Herring	pinctrl-0 = <&pinctrl_esdhc1>;
136*724ba675SRob Herring	cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
137*724ba675SRob Herring	bus-width = <4>;
138*724ba675SRob Herring	status = "okay";
139*724ba675SRob Herring};
140*724ba675SRob Herring
141*724ba675SRob Herring&esdhc2 {
142*724ba675SRob Herring	pinctrl-names = "default";
143*724ba675SRob Herring	pinctrl-0 = <&pinctrl_esdhc2>;
144*724ba675SRob Herring	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
145*724ba675SRob Herring	bus-width = <4>;
146*724ba675SRob Herring	status = "okay";
147*724ba675SRob Herring};
148*724ba675SRob Herring
149*724ba675SRob Herring&fec {
150*724ba675SRob Herring	pinctrl-names = "default";
151*724ba675SRob Herring	pinctrl-0 = <&pinctrl_fec>;
152*724ba675SRob Herring	phy-mode = "rmii";
153*724ba675SRob Herring	phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
154*724ba675SRob Herring	status = "okay";
155*724ba675SRob Herring};
156*724ba675SRob Herring
157*724ba675SRob Herring&i2c2 {
158*724ba675SRob Herring	pinctrl-names = "default";
159*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
160*724ba675SRob Herring	status = "okay";
161*724ba675SRob Herring};
162*724ba675SRob Herring
163*724ba675SRob Herring&ipu_di0_disp0 {
164*724ba675SRob Herring	remote-endpoint = <&display0_in>;
165*724ba675SRob Herring};
166*724ba675SRob Herring
167*724ba675SRob Herring&uart2 {
168*724ba675SRob Herring	pinctrl-names = "default";
169*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
170*724ba675SRob Herring	fsl,dte-mode;
171*724ba675SRob Herring	status = "okay";
172*724ba675SRob Herring};
173*724ba675SRob Herring
174*724ba675SRob Herring&usbh1 {
175*724ba675SRob Herring	vbus-supply = <&reg_usb_vbus>;
176*724ba675SRob Herring	phy_type = "utmi";
177*724ba675SRob Herring	status = "okay";
178*724ba675SRob Herring};
179*724ba675SRob Herring
180*724ba675SRob Herring&usbotg {
181*724ba675SRob Herring	dr_mode = "peripheral";
182*724ba675SRob Herring	status = "okay";
183*724ba675SRob Herring};
184*724ba675SRob Herring
185*724ba675SRob Herring&vpu {
186*724ba675SRob Herring	status = "okay";
187*724ba675SRob Herring};
188*724ba675SRob Herring
189*724ba675SRob Herring&iomuxc {
190*724ba675SRob Herring	pinctrl-names = "default";
191*724ba675SRob Herring	pinctrl-0 = <&pinctrl_hog>;
192*724ba675SRob Herring
193*724ba675SRob Herring	pinctrl_hog: hoggrp {
194*724ba675SRob Herring		fsl,pins = <
195*724ba675SRob Herring			MX53_PAD_GPIO_0__CCM_CLKO               0x1c4
196*724ba675SRob Herring			MX53_PAD_GPIO_16__I2C3_SDA              0x1c4
197*724ba675SRob Herring			MX53_PAD_EIM_D22__GPIO3_22              0x1c4
198*724ba675SRob Herring			MX53_PAD_EIM_D23__GPIO3_23              0x1e4
199*724ba675SRob Herring			MX53_PAD_EIM_D24__GPIO3_24              0x1e4
200*724ba675SRob Herring		>;
201*724ba675SRob Herring	};
202*724ba675SRob Herring
203*724ba675SRob Herring	pinctrl_esdhc1: esdhc1grp {
204*724ba675SRob Herring		fsl,pins = <
205*724ba675SRob Herring			MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
206*724ba675SRob Herring			MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1d5
207*724ba675SRob Herring			MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1d5
208*724ba675SRob Herring			MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1d5
209*724ba675SRob Herring			MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1d5
210*724ba675SRob Herring			MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1d5
211*724ba675SRob Herring			MX53_PAD_GPIO_1__ESDHC1_CD              0x1c4
212*724ba675SRob Herring			MX53_PAD_EIM_D17__GPIO3_17              0x1e4
213*724ba675SRob Herring			MX53_PAD_GPIO_3__GPIO1_3                0x1c4
214*724ba675SRob Herring		>;
215*724ba675SRob Herring	};
216*724ba675SRob Herring
217*724ba675SRob Herring	pinctrl_esdhc2: esdhc2grp {
218*724ba675SRob Herring		fsl,pins = <
219*724ba675SRob Herring			MX53_PAD_SD2_DATA0__ESDHC2_DAT0		0x1d5
220*724ba675SRob Herring			MX53_PAD_SD2_DATA1__ESDHC2_DAT1		0x1d5
221*724ba675SRob Herring			MX53_PAD_SD2_DATA2__ESDHC2_DAT2		0x1d5
222*724ba675SRob Herring			MX53_PAD_SD2_DATA3__ESDHC2_DAT3		0x1d5
223*724ba675SRob Herring			MX53_PAD_SD2_CMD__ESDHC2_CMD		0x1d5
224*724ba675SRob Herring			MX53_PAD_SD2_CLK__ESDHC2_CLK		0x1d5
225*724ba675SRob Herring			MX53_PAD_GPIO_4__ESDHC2_CD              0x1e4
226*724ba675SRob Herring			MX53_PAD_EIM_D20__GPIO3_20              0x1e4
227*724ba675SRob Herring			MX53_PAD_GPIO_8__GPIO1_8                0x1c4
228*724ba675SRob Herring		>;
229*724ba675SRob Herring	};
230*724ba675SRob Herring
231*724ba675SRob Herring	pinctrl_fec: fecgrp {
232*724ba675SRob Herring		fsl,pins = <
233*724ba675SRob Herring			MX53_PAD_FEC_MDC__FEC_MDC		0x4
234*724ba675SRob Herring			MX53_PAD_FEC_MDIO__FEC_MDIO		0x1fc
235*724ba675SRob Herring			MX53_PAD_FEC_REF_CLK__FEC_TX_CLK	0x180
236*724ba675SRob Herring			MX53_PAD_FEC_RX_ER__FEC_RX_ER		0x180
237*724ba675SRob Herring			MX53_PAD_FEC_CRS_DV__FEC_RX_DV		0x180
238*724ba675SRob Herring			MX53_PAD_FEC_RXD1__FEC_RDATA_1		0x180
239*724ba675SRob Herring			MX53_PAD_FEC_RXD0__FEC_RDATA_0		0x180
240*724ba675SRob Herring			MX53_PAD_FEC_TX_EN__FEC_TX_EN		0x4
241*724ba675SRob Herring			MX53_PAD_FEC_TXD1__FEC_TDATA_1		0x4
242*724ba675SRob Herring			MX53_PAD_FEC_TXD0__FEC_TDATA_0		0x4
243*724ba675SRob Herring		>;
244*724ba675SRob Herring	};
245*724ba675SRob Herring
246*724ba675SRob Herring	pinctrl_i2c2: i2c2grp {
247*724ba675SRob Herring		fsl,pins = <
248*724ba675SRob Herring			MX53_PAD_KEY_ROW3__I2C2_SDA             0xc0000000
249*724ba675SRob Herring			MX53_PAD_KEY_COL3__I2C2_SCL             0xc0000000
250*724ba675SRob Herring		>;
251*724ba675SRob Herring	};
252*724ba675SRob Herring
253*724ba675SRob Herring	pinctrl_ipu_disp0: ipudisp0grp {
254*724ba675SRob Herring		fsl,pins = <
255*724ba675SRob Herring			MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK	0x5
256*724ba675SRob Herring			MX53_PAD_DI0_PIN15__IPU_DI0_PIN15	0x5
257*724ba675SRob Herring			MX53_PAD_DI0_PIN2__IPU_DI0_PIN2		0x5
258*724ba675SRob Herring			MX53_PAD_DI0_PIN3__IPU_DI0_PIN3		0x5
259*724ba675SRob Herring			MX53_PAD_DI0_PIN4__IPU_DI0_PIN4		0x5
260*724ba675SRob Herring			MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0	0x5
261*724ba675SRob Herring			MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1	0x5
262*724ba675SRob Herring			MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2	0x5
263*724ba675SRob Herring			MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3	0x5
264*724ba675SRob Herring			MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4	0x5
265*724ba675SRob Herring			MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5	0x5
266*724ba675SRob Herring			MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6	0x5
267*724ba675SRob Herring			MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7	0x5
268*724ba675SRob Herring			MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8	0x5
269*724ba675SRob Herring			MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9	0x5
270*724ba675SRob Herring			MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10	0x5
271*724ba675SRob Herring			MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11	0x5
272*724ba675SRob Herring			MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12	0x5
273*724ba675SRob Herring			MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13	0x5
274*724ba675SRob Herring			MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14	0x5
275*724ba675SRob Herring			MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15	0x5
276*724ba675SRob Herring			MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16	0x5
277*724ba675SRob Herring			MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17	0x5
278*724ba675SRob Herring			MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18	0x5
279*724ba675SRob Herring			MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19	0x5
280*724ba675SRob Herring			MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20	0x5
281*724ba675SRob Herring			MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21	0x5
282*724ba675SRob Herring			MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22	0x5
283*724ba675SRob Herring			MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23	0x5
284*724ba675SRob Herring		>;
285*724ba675SRob Herring	};
286*724ba675SRob Herring
287*724ba675SRob Herring	pinctrl_uart2: uart2grp {
288*724ba675SRob Herring		fsl,pins = <
289*724ba675SRob Herring			MX53_PAD_EIM_D26__UART2_RXD_MUX	0x1e4
290*724ba675SRob Herring			MX53_PAD_EIM_D27__UART2_TXD_MUX 0x1e4
291*724ba675SRob Herring			MX53_PAD_EIM_D28__UART2_RTS 0x1e4
292*724ba675SRob Herring			MX53_PAD_EIM_D29__UART2_CTS 0x1e4
293*724ba675SRob Herring		>;
294*724ba675SRob Herring	};
295*724ba675SRob Herring};
296