xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/mxs/imx28-m28evk.dts (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot
4f126890aSEmmanuel Vadot * Copyright (C) 2012 Marek Vasut <marex@denx.de>
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/dts-v1/;
8f126890aSEmmanuel Vadot#include "imx28-m28.dtsi"
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot/ {
11f126890aSEmmanuel Vadot	model = "Aries/DENX M28EVK";
12f126890aSEmmanuel Vadot	compatible = "aries,m28evk", "denx,m28evk", "fsl,imx28";
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot	backlight {
15f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
16*84943d6fSEmmanuel Vadot		pwms = <&pwm 4 5000000 0>;
17f126890aSEmmanuel Vadot		brightness-levels = <0 4 8 16 32 64 128 255>;
18f126890aSEmmanuel Vadot		default-brightness-level = <6>;
19f126890aSEmmanuel Vadot	};
20f126890aSEmmanuel Vadot
21aa1a8ff2SEmmanuel Vadot	reg_vddio_sd0: regulator-1 {
22f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
23f126890aSEmmanuel Vadot		regulator-name = "vddio-sd0";
24f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
25f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
26f126890aSEmmanuel Vadot		gpio = <&gpio3 28 0>;
27f126890aSEmmanuel Vadot	};
28f126890aSEmmanuel Vadot
29aa1a8ff2SEmmanuel Vadot	reg_usb0_vbus: regulator-2 {
30f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
31f126890aSEmmanuel Vadot		regulator-name = "usb0_vbus";
32f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
33f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
34f126890aSEmmanuel Vadot		gpio = <&gpio3 12 0>;
35f126890aSEmmanuel Vadot	};
36f126890aSEmmanuel Vadot
37aa1a8ff2SEmmanuel Vadot	reg_usb1_vbus: regulator-3 {
38f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
39f126890aSEmmanuel Vadot		regulator-name = "usb1_vbus";
40f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
41f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
42f126890aSEmmanuel Vadot		gpio = <&gpio3 13 0>;
43f126890aSEmmanuel Vadot	};
44f126890aSEmmanuel Vadot
45f126890aSEmmanuel Vadot	sound {
46f126890aSEmmanuel Vadot		compatible = "denx,m28evk-sgtl5000",
47f126890aSEmmanuel Vadot			     "fsl,mxs-audio-sgtl5000";
48f126890aSEmmanuel Vadot		model = "m28evk-sgtl5000";
49f126890aSEmmanuel Vadot		saif-controllers = <&saif0 &saif1>;
50f126890aSEmmanuel Vadot		audio-codec = <&sgtl5000>;
51f126890aSEmmanuel Vadot	};
52f126890aSEmmanuel Vadot};
53f126890aSEmmanuel Vadot
54f126890aSEmmanuel Vadot&auart0 {
55f126890aSEmmanuel Vadot	pinctrl-names = "default";
56f126890aSEmmanuel Vadot	pinctrl-0 = <&auart0_pins_a>;
57f126890aSEmmanuel Vadot	status = "okay";
58f126890aSEmmanuel Vadot};
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot&auart1 {
61f126890aSEmmanuel Vadot	pinctrl-names = "default";
62f126890aSEmmanuel Vadot	pinctrl-0 = <&auart1_pins_a>;
63f126890aSEmmanuel Vadot	status = "okay";
64f126890aSEmmanuel Vadot};
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot&auart2 {
67f126890aSEmmanuel Vadot	pinctrl-names = "default";
68f126890aSEmmanuel Vadot	pinctrl-0 = <&auart2_2pins_b>;
69f126890aSEmmanuel Vadot	status = "okay";
70f126890aSEmmanuel Vadot};
71f126890aSEmmanuel Vadot
72f126890aSEmmanuel Vadot&duart {
73f126890aSEmmanuel Vadot	pinctrl-names = "default";
74f126890aSEmmanuel Vadot	pinctrl-0 = <&duart_pins_a>;
75f126890aSEmmanuel Vadot	status = "okay";
76f126890aSEmmanuel Vadot};
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot&i2c0 {
79f126890aSEmmanuel Vadot	sgtl5000: codec@a {
80f126890aSEmmanuel Vadot		compatible = "fsl,sgtl5000";
81f126890aSEmmanuel Vadot		reg = <0x0a>;
82f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
83f126890aSEmmanuel Vadot		VDDA-supply = <&reg_3p3v>;
84f126890aSEmmanuel Vadot		VDDIO-supply = <&reg_3p3v>;
85f126890aSEmmanuel Vadot		clocks = <&saif0>;
86f126890aSEmmanuel Vadot	};
87f126890aSEmmanuel Vadot
88f126890aSEmmanuel Vadot	eeprom: eeprom@51 {
89f126890aSEmmanuel Vadot		compatible = "atmel,24c128";
90f126890aSEmmanuel Vadot		reg = <0x51>;
91f126890aSEmmanuel Vadot		pagesize = <32>;
92f126890aSEmmanuel Vadot	};
93f126890aSEmmanuel Vadot};
94f126890aSEmmanuel Vadot
95f126890aSEmmanuel Vadot&lcdif {
96f126890aSEmmanuel Vadot	pinctrl-names = "default";
97f126890aSEmmanuel Vadot	pinctrl-0 = <&lcdif_24bit_pins_a
98f126890aSEmmanuel Vadot		     &lcdif_pins_m28>;
99f126890aSEmmanuel Vadot	display = <&display0>;
100f126890aSEmmanuel Vadot	status = "okay";
101f126890aSEmmanuel Vadot
102f126890aSEmmanuel Vadot	display0: display0 {
103f126890aSEmmanuel Vadot		bits-per-pixel = <16>;
104f126890aSEmmanuel Vadot		bus-width = <18>;
105f126890aSEmmanuel Vadot
106f126890aSEmmanuel Vadot		display-timings {
107f126890aSEmmanuel Vadot			native-mode = <&timing0>;
108f126890aSEmmanuel Vadot			timing0: timing0 {
109f126890aSEmmanuel Vadot				clock-frequency = <33260000>;
110f126890aSEmmanuel Vadot				hactive = <800>;
111f126890aSEmmanuel Vadot				vactive = <480>;
112f126890aSEmmanuel Vadot				hback-porch = <0>;
113f126890aSEmmanuel Vadot				hfront-porch = <256>;
114f126890aSEmmanuel Vadot				vback-porch = <0>;
115f126890aSEmmanuel Vadot				vfront-porch = <45>;
116f126890aSEmmanuel Vadot				hsync-len = <1>;
117f126890aSEmmanuel Vadot				vsync-len = <1>;
118f126890aSEmmanuel Vadot				hsync-active = <0>;
119f126890aSEmmanuel Vadot				vsync-active = <0>;
120f126890aSEmmanuel Vadot				de-active = <1>;
121f126890aSEmmanuel Vadot				pixelclk-active = <1>;
122f126890aSEmmanuel Vadot			};
123f126890aSEmmanuel Vadot		};
124f126890aSEmmanuel Vadot	};
125f126890aSEmmanuel Vadot};
126f126890aSEmmanuel Vadot
127f126890aSEmmanuel Vadot&lradc {
128f126890aSEmmanuel Vadot	status = "okay";
129f126890aSEmmanuel Vadot	fsl,lradc-touchscreen-wires = <4>;
130f126890aSEmmanuel Vadot};
131f126890aSEmmanuel Vadot
132f126890aSEmmanuel Vadot&can0 {
133f126890aSEmmanuel Vadot	pinctrl-names = "default";
134f126890aSEmmanuel Vadot	pinctrl-0 = <&can0_pins_a>;
135f126890aSEmmanuel Vadot	status = "okay";
136f126890aSEmmanuel Vadot};
137f126890aSEmmanuel Vadot
138f126890aSEmmanuel Vadot&can1 {
139f126890aSEmmanuel Vadot	pinctrl-names = "default";
140f126890aSEmmanuel Vadot	pinctrl-0 = <&can1_pins_a>;
141f126890aSEmmanuel Vadot	status = "okay";
142f126890aSEmmanuel Vadot};
143f126890aSEmmanuel Vadot
144f126890aSEmmanuel Vadot&mac0 {
145f126890aSEmmanuel Vadot	phy-mode = "rmii";
146f126890aSEmmanuel Vadot	pinctrl-names = "default";
147f126890aSEmmanuel Vadot	pinctrl-0 = <&mac0_pins_a>;
148f126890aSEmmanuel Vadot	clocks = <&clks 57>, <&clks 57>;
149f126890aSEmmanuel Vadot	clock-names = "ipg", "ahb";
150f126890aSEmmanuel Vadot	status = "okay";
151f126890aSEmmanuel Vadot};
152f126890aSEmmanuel Vadot
153f126890aSEmmanuel Vadot&mac1 {
154f126890aSEmmanuel Vadot	phy-mode = "rmii";
155f126890aSEmmanuel Vadot	pinctrl-names = "default";
156f126890aSEmmanuel Vadot	pinctrl-0 = <&mac1_pins_a>;
157f126890aSEmmanuel Vadot	status = "okay";
158f126890aSEmmanuel Vadot};
159f126890aSEmmanuel Vadot
160f126890aSEmmanuel Vadot&pinctrl {
161f126890aSEmmanuel Vadot	pinctrl-names = "default";
162f126890aSEmmanuel Vadot	pinctrl-0 = <&hog_pins_a>;
163f126890aSEmmanuel Vadot
164f126890aSEmmanuel Vadot	hog_pins_a: hog@0 {
165f126890aSEmmanuel Vadot		reg = <0>;
166f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
167f126890aSEmmanuel Vadot			MX28_PAD_PWM3__GPIO_3_28
168f126890aSEmmanuel Vadot			MX28_PAD_AUART2_CTS__GPIO_3_10
169f126890aSEmmanuel Vadot			MX28_PAD_AUART2_RTS__GPIO_3_11
170f126890aSEmmanuel Vadot			MX28_PAD_AUART3_RX__GPIO_3_12
171f126890aSEmmanuel Vadot			MX28_PAD_AUART3_TX__GPIO_3_13
172f126890aSEmmanuel Vadot		>;
173f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
174f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
175f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
176f126890aSEmmanuel Vadot	};
177f126890aSEmmanuel Vadot
178f126890aSEmmanuel Vadot	lcdif_pins_m28: lcdif-m28@0 {
179f126890aSEmmanuel Vadot		reg = <0>;
180f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
181f126890aSEmmanuel Vadot			MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
182f126890aSEmmanuel Vadot			MX28_PAD_LCD_ENABLE__LCD_ENABLE
183f126890aSEmmanuel Vadot		>;
184f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
185f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
186f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
187f126890aSEmmanuel Vadot	};
188f126890aSEmmanuel Vadot};
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot&pwm {
191f126890aSEmmanuel Vadot	pinctrl-names = "default";
192f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm4_pins_a>;
193f126890aSEmmanuel Vadot	status = "okay";
194f126890aSEmmanuel Vadot};
195f126890aSEmmanuel Vadot
196f126890aSEmmanuel Vadot&saif0 {
197f126890aSEmmanuel Vadot	pinctrl-names = "default";
198f126890aSEmmanuel Vadot	pinctrl-0 = <&saif0_pins_a>;
199f126890aSEmmanuel Vadot	status = "okay";
200f126890aSEmmanuel Vadot};
201f126890aSEmmanuel Vadot
202f126890aSEmmanuel Vadot&saif1 {
203f126890aSEmmanuel Vadot	pinctrl-names = "default";
204f126890aSEmmanuel Vadot	pinctrl-0 = <&saif1_pins_a>;
205f126890aSEmmanuel Vadot	fsl,saif-master = <&saif0>;
206f126890aSEmmanuel Vadot	status = "okay";
207f126890aSEmmanuel Vadot};
208f126890aSEmmanuel Vadot
209f126890aSEmmanuel Vadot&ssp0 {
210f126890aSEmmanuel Vadot	compatible = "fsl,imx28-mmc";
211f126890aSEmmanuel Vadot	pinctrl-names = "default";
212f126890aSEmmanuel Vadot	pinctrl-0 = <&mmc0_8bit_pins_a
213f126890aSEmmanuel Vadot		     &mmc0_cd_cfg
214f126890aSEmmanuel Vadot		     &mmc0_sck_cfg>;
215f126890aSEmmanuel Vadot	bus-width = <8>;
216f126890aSEmmanuel Vadot	wp-gpios = <&gpio3 10 0>;
217f126890aSEmmanuel Vadot	vmmc-supply = <&reg_vddio_sd0>;
218f126890aSEmmanuel Vadot	status = "okay";
219f126890aSEmmanuel Vadot};
220f126890aSEmmanuel Vadot
221f126890aSEmmanuel Vadot&ssp2 {
222f126890aSEmmanuel Vadot	#address-cells = <1>;
223f126890aSEmmanuel Vadot	#size-cells = <0>;
224f126890aSEmmanuel Vadot	compatible = "fsl,imx28-spi";
225f126890aSEmmanuel Vadot	pinctrl-names = "default";
226f126890aSEmmanuel Vadot	pinctrl-0 = <&spi2_pins_a>;
227f126890aSEmmanuel Vadot	status = "okay";
228f126890aSEmmanuel Vadot
229f126890aSEmmanuel Vadot	flash: flash@0 {
230f126890aSEmmanuel Vadot		#address-cells = <1>;
231f126890aSEmmanuel Vadot		#size-cells = <1>;
232f126890aSEmmanuel Vadot		compatible = "m25p80", "jedec,spi-nor";
233f126890aSEmmanuel Vadot		spi-max-frequency = <40000000>;
234f126890aSEmmanuel Vadot		reg = <0>;
235f126890aSEmmanuel Vadot	};
236f126890aSEmmanuel Vadot};
237f126890aSEmmanuel Vadot
238f126890aSEmmanuel Vadot&usb0 {
239f126890aSEmmanuel Vadot	vbus-supply = <&reg_usb0_vbus>;
240f126890aSEmmanuel Vadot	pinctrl-names = "default";
241f126890aSEmmanuel Vadot	pinctrl-0 = <&usb0_pins_a>;
242f126890aSEmmanuel Vadot	status = "okay";
243f126890aSEmmanuel Vadot};
244f126890aSEmmanuel Vadot
245f126890aSEmmanuel Vadot&usb1 {
246f126890aSEmmanuel Vadot	vbus-supply = <&reg_usb1_vbus>;
247f126890aSEmmanuel Vadot	pinctrl-names = "default";
248f126890aSEmmanuel Vadot	pinctrl-0 = <&usb1_pins_a>;
249f126890aSEmmanuel Vadot	status = "okay";
250f126890aSEmmanuel Vadot};
251f126890aSEmmanuel Vadot
252f126890aSEmmanuel Vadot&usbphy0 {
253f126890aSEmmanuel Vadot	status = "okay";
254f126890aSEmmanuel Vadot};
255f126890aSEmmanuel Vadot
256f126890aSEmmanuel Vadot&usbphy1 {
257f126890aSEmmanuel Vadot	status = "okay";
258f126890aSEmmanuel Vadot};
259