xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/mxs/imx28-apx4devkit.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/dts-v1/;
3f126890aSEmmanuel Vadot#include "imx28.dtsi"
4f126890aSEmmanuel Vadot
5f126890aSEmmanuel Vadot/ {
6f126890aSEmmanuel Vadot	model = "Bluegiga APX4 Development Kit";
7f126890aSEmmanuel Vadot	compatible = "bluegiga,apx4devkit", "fsl,imx28";
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot	memory@40000000 {
10f126890aSEmmanuel Vadot		device_type = "memory";
11f126890aSEmmanuel Vadot		reg = <0x40000000 0x04000000>;
12f126890aSEmmanuel Vadot	};
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot
15*b2d2a78aSEmmanuel Vadot	reg_3p3v: regulator-3p3v {
16f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
17f126890aSEmmanuel Vadot		regulator-name = "3P3V";
18f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
19f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
20f126890aSEmmanuel Vadot		regulator-always-on;
21f126890aSEmmanuel Vadot	};
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot	sound {
24f126890aSEmmanuel Vadot		compatible = "bluegiga,apx4devkit-sgtl5000",
25f126890aSEmmanuel Vadot			     "fsl,mxs-audio-sgtl5000";
26f126890aSEmmanuel Vadot		model = "apx4devkit-sgtl5000";
27f126890aSEmmanuel Vadot		saif-controllers = <&saif0 &saif1>;
28f126890aSEmmanuel Vadot		audio-codec = <&sgtl5000>;
29f126890aSEmmanuel Vadot	};
30f126890aSEmmanuel Vadot
31f126890aSEmmanuel Vadot	leds {
32f126890aSEmmanuel Vadot		compatible = "gpio-leds";
33f126890aSEmmanuel Vadot
34f126890aSEmmanuel Vadot		user {
35f126890aSEmmanuel Vadot			label = "Heartbeat";
36f126890aSEmmanuel Vadot			gpios = <&gpio3 28 0>;
37f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
38f126890aSEmmanuel Vadot		};
39f126890aSEmmanuel Vadot	};
40f126890aSEmmanuel Vadot};
41f126890aSEmmanuel Vadot
42f126890aSEmmanuel Vadot&auart0 {
43f126890aSEmmanuel Vadot	pinctrl-names = "default";
44f126890aSEmmanuel Vadot	pinctrl-0 = <&auart0_pins_a>;
45f126890aSEmmanuel Vadot	status = "okay";
46f126890aSEmmanuel Vadot};
47f126890aSEmmanuel Vadot
48f126890aSEmmanuel Vadot&auart1 {
49f126890aSEmmanuel Vadot	pinctrl-names = "default";
50f126890aSEmmanuel Vadot	pinctrl-0 = <&auart1_2pins_a>;
51f126890aSEmmanuel Vadot	status = "okay";
52f126890aSEmmanuel Vadot};
53f126890aSEmmanuel Vadot
54f126890aSEmmanuel Vadot&auart2 {
55f126890aSEmmanuel Vadot	pinctrl-names = "default";
56f126890aSEmmanuel Vadot	pinctrl-0 = <&auart2_2pins_a>;
57f126890aSEmmanuel Vadot	status = "okay";
58f126890aSEmmanuel Vadot};
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot&duart {
61f126890aSEmmanuel Vadot	pinctrl-names = "default";
62f126890aSEmmanuel Vadot	pinctrl-0 = <&duart_pins_a>;
63f126890aSEmmanuel Vadot	status = "okay";
64f126890aSEmmanuel Vadot};
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot&gpmi {
67f126890aSEmmanuel Vadot	pinctrl-names = "default";
68f126890aSEmmanuel Vadot	pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
69f126890aSEmmanuel Vadot	status = "okay";
70f126890aSEmmanuel Vadot};
71f126890aSEmmanuel Vadot
72f126890aSEmmanuel Vadot&lcdif {
73f126890aSEmmanuel Vadot	pinctrl-names = "default";
74f126890aSEmmanuel Vadot	pinctrl-0 = <&lcdif_24bit_pins_a
75f126890aSEmmanuel Vadot		     &lcdif_pins_apx4>;
76f126890aSEmmanuel Vadot	display = <&display0>;
77f126890aSEmmanuel Vadot	status = "okay";
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadot	display0: display0 {
80f126890aSEmmanuel Vadot		bits-per-pixel = <32>;
81f126890aSEmmanuel Vadot		bus-width = <24>;
82f126890aSEmmanuel Vadot
83f126890aSEmmanuel Vadot		display-timings {
84f126890aSEmmanuel Vadot			native-mode = <&timing0>;
85f126890aSEmmanuel Vadot			timing0: timing0 {
86f126890aSEmmanuel Vadot				clock-frequency = <30000000>;
87f126890aSEmmanuel Vadot				hactive = <800>;
88f126890aSEmmanuel Vadot				vactive = <480>;
89f126890aSEmmanuel Vadot				hback-porch = <88>;
90f126890aSEmmanuel Vadot				hfront-porch = <40>;
91f126890aSEmmanuel Vadot				vback-porch = <32>;
92f126890aSEmmanuel Vadot				vfront-porch = <13>;
93f126890aSEmmanuel Vadot				hsync-len = <48>;
94f126890aSEmmanuel Vadot				vsync-len = <3>;
95f126890aSEmmanuel Vadot				hsync-active = <1>;
96f126890aSEmmanuel Vadot				vsync-active = <1>;
97f126890aSEmmanuel Vadot				de-active = <1>;
98f126890aSEmmanuel Vadot				pixelclk-active = <0>;
99f126890aSEmmanuel Vadot			};
100f126890aSEmmanuel Vadot		};
101f126890aSEmmanuel Vadot	};
102f126890aSEmmanuel Vadot};
103f126890aSEmmanuel Vadot
104f126890aSEmmanuel Vadot&i2c0 {
105f126890aSEmmanuel Vadot	pinctrl-names = "default";
106f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c0_pins_a>;
107f126890aSEmmanuel Vadot	status = "okay";
108f126890aSEmmanuel Vadot
109f126890aSEmmanuel Vadot	sgtl5000: codec@a {
110f126890aSEmmanuel Vadot		compatible = "fsl,sgtl5000";
111f126890aSEmmanuel Vadot		reg = <0x0a>;
112f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
113f126890aSEmmanuel Vadot		VDDA-supply = <&reg_3p3v>;
114f126890aSEmmanuel Vadot		VDDIO-supply = <&reg_3p3v>;
115f126890aSEmmanuel Vadot		clocks = <&saif0>;
116f126890aSEmmanuel Vadot	};
117f126890aSEmmanuel Vadot
118f126890aSEmmanuel Vadot	pcf8563: rtc@51 {
119f126890aSEmmanuel Vadot		compatible = "phg,pcf8563";
120f126890aSEmmanuel Vadot		reg = <0x51>;
121f126890aSEmmanuel Vadot	};
122f126890aSEmmanuel Vadot};
123f126890aSEmmanuel Vadot
124f126890aSEmmanuel Vadot&mac0 {
125f126890aSEmmanuel Vadot	phy-mode = "rmii";
126f126890aSEmmanuel Vadot	pinctrl-names = "default";
127f126890aSEmmanuel Vadot	pinctrl-0 = <&mac0_pins_a>;
128f126890aSEmmanuel Vadot	status = "okay";
129f126890aSEmmanuel Vadot};
130f126890aSEmmanuel Vadot
131f126890aSEmmanuel Vadot&pinctrl {
132f126890aSEmmanuel Vadot	pinctrl-names = "default";
133f126890aSEmmanuel Vadot	pinctrl-0 = <&hog_pins_a>;
134f126890aSEmmanuel Vadot
135f126890aSEmmanuel Vadot	hog_pins_a: hog@0 {
136f126890aSEmmanuel Vadot		reg = <0>;
137f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
138f126890aSEmmanuel Vadot			MX28_PAD_GPMI_CE1N__GPIO_0_17
139f126890aSEmmanuel Vadot			MX28_PAD_GPMI_RDY1__GPIO_0_21
140f126890aSEmmanuel Vadot			MX28_PAD_SSP2_MISO__GPIO_2_18
141f126890aSEmmanuel Vadot			MX28_PAD_SSP2_SS0__AUART3_TX /* was: 0x2131 - MX28_PAD_SSP2_SS0__GPIO_2_19 */
142f126890aSEmmanuel Vadot			MX28_PAD_PWM3__GPIO_3_28
143f126890aSEmmanuel Vadot			MX28_PAD_LCD_RESET__GPIO_3_30
144f126890aSEmmanuel Vadot			MX28_PAD_JTAG_RTCK__GPIO_4_20
145f126890aSEmmanuel Vadot		>;
146f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
147f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
148f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
149f126890aSEmmanuel Vadot	};
150f126890aSEmmanuel Vadot
151f126890aSEmmanuel Vadot	lcdif_pins_apx4: lcdif-apx4@0 {
152f126890aSEmmanuel Vadot		reg = <0>;
153f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
154f126890aSEmmanuel Vadot			MX28_PAD_LCD_RD_E__LCD_VSYNC
155f126890aSEmmanuel Vadot			MX28_PAD_LCD_WR_RWN__LCD_HSYNC
156f126890aSEmmanuel Vadot			MX28_PAD_LCD_RS__LCD_DOTCLK
157f126890aSEmmanuel Vadot			MX28_PAD_LCD_CS__LCD_ENABLE
158f126890aSEmmanuel Vadot		>;
159f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
160f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
161f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
162f126890aSEmmanuel Vadot	};
163f126890aSEmmanuel Vadot
164f126890aSEmmanuel Vadot	mmc2_4bit_pins_apx4: mmc2-4bit-apx4@0 {
165f126890aSEmmanuel Vadot		reg = <0>;
166f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
167f126890aSEmmanuel Vadot			MX28_PAD_SSP0_DATA4__SSP2_D0
168f126890aSEmmanuel Vadot			MX28_PAD_SSP0_DATA5__SSP2_D3
169f126890aSEmmanuel Vadot			MX28_PAD_SSP0_DATA6__SSP2_CMD
170f126890aSEmmanuel Vadot			MX28_PAD_SSP0_DATA7__SSP2_SCK
171f126890aSEmmanuel Vadot			MX28_PAD_SSP2_SS1__SSP2_D1
172f126890aSEmmanuel Vadot			MX28_PAD_SSP2_SS2__SSP2_D2
173f126890aSEmmanuel Vadot		>;
174f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_8mA>;
175f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
176f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_ENABLE>;
177f126890aSEmmanuel Vadot	};
178f126890aSEmmanuel Vadot
179f126890aSEmmanuel Vadot	mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 {
180f126890aSEmmanuel Vadot		reg = <0>;
181f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
182f126890aSEmmanuel Vadot			MX28_PAD_SSP0_DATA7__SSP2_SCK
183f126890aSEmmanuel Vadot		>;
184f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_12mA>;
185f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
186f126890aSEmmanuel Vadot	};
187f126890aSEmmanuel Vadot};
188f126890aSEmmanuel Vadot
189f126890aSEmmanuel Vadot&saif0 {
190f126890aSEmmanuel Vadot	pinctrl-names = "default";
191f126890aSEmmanuel Vadot	pinctrl-0 = <&saif0_pins_a>;
192f126890aSEmmanuel Vadot	status = "okay";
193f126890aSEmmanuel Vadot};
194f126890aSEmmanuel Vadot
195f126890aSEmmanuel Vadot&saif1 {
196f126890aSEmmanuel Vadot	pinctrl-names = "default";
197f126890aSEmmanuel Vadot	pinctrl-0 = <&saif1_pins_a>;
198f126890aSEmmanuel Vadot	fsl,saif-master = <&saif0>;
199f126890aSEmmanuel Vadot	status = "okay";
200f126890aSEmmanuel Vadot};
201f126890aSEmmanuel Vadot
202f126890aSEmmanuel Vadot&ssp0 {
203f126890aSEmmanuel Vadot	compatible = "fsl,imx28-mmc";
204f126890aSEmmanuel Vadot	pinctrl-names = "default";
205f126890aSEmmanuel Vadot	pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
206f126890aSEmmanuel Vadot	bus-width = <4>;
207f126890aSEmmanuel Vadot	status = "okay";
208f126890aSEmmanuel Vadot};
209f126890aSEmmanuel Vadot
210f126890aSEmmanuel Vadot&ssp2 {
211f126890aSEmmanuel Vadot	compatible = "fsl,imx28-mmc";
212f126890aSEmmanuel Vadot	pinctrl-names = "default";
213f126890aSEmmanuel Vadot	pinctrl-0 = <&mmc2_4bit_pins_apx4 &mmc2_sck_cfg_apx4>;
214f126890aSEmmanuel Vadot	bus-width = <4>;
215f126890aSEmmanuel Vadot	status = "okay";
216f126890aSEmmanuel Vadot};
217f126890aSEmmanuel Vadot
218f126890aSEmmanuel Vadot&usb1 {
219f126890aSEmmanuel Vadot      status = "okay";
220f126890aSEmmanuel Vadot};
221f126890aSEmmanuel Vadot
222f126890aSEmmanuel Vadot&usbphy1 {
223f126890aSEmmanuel Vadot	pinctrl-names = "default";
224f126890aSEmmanuel Vadot	pinctrl-0 = <&usb1_pins_a>;
225f126890aSEmmanuel Vadot	status = "okay";
226f126890aSEmmanuel Vadot};
227