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