1/*
2 * Copyright (c) 2019, MADMACHINE LIMITED
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8
9#include <nxp/nxp_rt1050.dtsi>
10#include "mm_swiftio-pinctrl.dtsi"
11
12/ {
13	model = "MM MM-SWIFTIO board";
14	compatible = "nxp,mimxrt1052";
15
16	aliases {
17		led0 = &green_led;
18		led1 = &red_led;
19		led2 = &blue_led;
20		sdhc0 = &usdhc1;
21	};
22
23	chosen {
24		zephyr,sram = &sdram0;
25		zephyr,itcm = &itcm;
26		zephyr,dtcm = &dtcm;
27		zephyr,console = &lpuart1;
28		zephyr,shell-uart = &lpuart1;
29		zephyr,flash = &is25wp064;
30	};
31
32	sdram0: memory@80000000 {
33		/* Micron MT48LC16M16A2B4-6AIT:G */
34		device_type = "memory";
35		reg = <0x80000000 DT_SIZE_M(32)>;
36	};
37
38	leds {
39		compatible = "gpio-leds";
40		red_led: led_0 {
41			gpios = <&gpio1 9 0>;
42			label = "RGB R";
43		};
44
45		green_led: led_1 {
46			gpios = <&gpio1 10 0>;
47			label = "RGB G";
48		};
49
50		blue_led: led_2 {
51			gpios = <&gpio1 11 0>;
52			label = "RGB B";
53		};
54	};
55};
56
57
58&flexspi {
59	reg = <0x402a8000 0x4000>, <0x60000000 DT_SIZE_M(8)>;
60	is25wp064: is25wp064@0 {
61		compatible = "nxp,imx-flexspi-nor";
62		size = <67108864>;
63		reg = <0>;
64		spi-max-frequency = <104000000>;
65		status = "okay";
66		jedec-id = [9d 70 17];
67	};
68};
69
70&lpuart1 {
71	status = "okay";
72	current-speed = <115200>;
73	pinctrl-0 = <&pinmux_lpuart1>;
74	pinctrl-1 = <&pinmux_lpuart1_sleep>;
75	pinctrl-names = "default", "sleep";
76};
77
78&lpuart2 {
79	status = "okay";
80	current-speed = <115200>;
81};
82
83&lpuart4 {
84	status = "okay";
85	current-speed = <115200>;
86};
87
88&lpuart6 {
89	status = "okay";
90	current-speed = <115200>;
91};
92
93&lpuart8 {
94	status = "okay";
95	current-speed = <115200>;
96};
97
98&lpi2c1 {
99	status = "okay";
100	pinctrl-0 = <&pinmux_lpi2c1>;
101	pinctrl-names = "default";
102};
103
104&lpi2c3 {
105	status = "okay";
106	pinctrl-0 = <&pinmux_lpi2c3>;
107	pinctrl-names = "default";
108
109	ov7725: ov7725@21 {
110		compatible = "ovti,ov7725";
111		reg = <0x21>;
112		status = "okay";
113
114		reset-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
115
116		port {
117			ov7725_ep_out: endpoint {
118				remote-endpoint-label = "csi_ep_in";
119			};
120		};
121	};
122};
123
124&lpspi3 {
125	status = "okay";
126	pcs-sck-delay = <50>;
127	sck-pcs-delay = <50>;
128	transfer-delay = <50>;
129};
130
131&lpspi4 {
132	status = "okay";
133	pcs-sck-delay = <50>;
134	sck-pcs-delay = <50>;
135	transfer-delay = <50>;
136};
137
138&flexpwm1_pwm3 {
139	status = "okay";
140};
141
142&flexpwm2_pwm0 {
143	status = "okay";
144};
145
146&flexpwm2_pwm1 {
147	status = "okay";
148};
149
150&flexpwm2_pwm2 {
151	status = "okay";
152};
153
154&flexpwm2_pwm3 {
155	status = "okay";
156};
157
158&flexpwm4_pwm0 {
159	status = "okay";
160};
161
162&flexpwm4_pwm1 {
163	status = "okay";
164};
165
166&flexpwm4_pwm2 {
167	status = "okay";
168};
169
170&flexpwm4_pwm3 {
171	status = "okay";
172};
173
174&usb1 {
175	status = "okay";
176};
177
178&usdhc1 {
179	status = "okay";
180	cd-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
181	no-1-8-v;
182	pinctrl-0 = <&pinmux_usdhc1>;
183	pinctrl-1 = <&pinmux_usdhc1_slow>;
184	pinctrl-2 = <&pinmux_usdhc1_med>;
185	pinctrl-3 = <&pinmux_usdhc1_fast>;
186	pinctrl-names = "default", "slow", "med", "fast";
187	mmc {
188		compatible = "zephyr,sdmmc-disk";
189		disk-name = "SD";
190		status = "okay";
191	};
192};
193
194&csi {
195	status = "okay";
196	pinctrl-0 = <&pinmux_csi>;
197	pinctrl-names = "default";
198
199	port {
200		csi_ep_in: endpoint {
201			remote-endpoint-label = "ov7725_ep_out";
202		};
203	};
204};
205
206&edma0 {
207	status = "okay";
208};
209
210&systick {
211	status = "okay";
212};
213