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