• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2023 LogicPD, Inc. dba Beacon EmbeddedWorks
4 */
5
6/ {
7	aliases {
8		rtc0 = &rtc;
9		rtc1 = &snvs_rtc;
10	};
11
12	memory@40000000 {
13		device_type = "memory";
14		reg = <0x0 0x40000000 0 0xc0000000>,
15		      <0x1 0x00000000 0 0xc0000000>;
16	};
17
18	reg_wl_bt: regulator-wifi-bt {
19		compatible = "regulator-fixed";
20		pinctrl-names = "default";
21		pinctrl-0 = <&pinctrl_reg_wl_bt>;
22		regulator-name = "wl-bt-pow-dwn";
23		regulator-min-microvolt = <3300000>;
24		regulator-max-microvolt = <3300000>;
25		gpio = <&gpio2 6 GPIO_ACTIVE_LOW>;
26		startup-delay-us = <70000>;
27		regulator-always-on;
28	};
29};
30
31&A53_0 {
32	cpu-supply = <&buck2>;
33};
34
35&A53_1 {
36	cpu-supply = <&buck2>;
37};
38
39&A53_2 {
40	cpu-supply = <&buck2>;
41};
42
43&A53_3 {
44	cpu-supply = <&buck2>;
45};
46
47&eqos {
48	pinctrl-names = "default";
49	pinctrl-0 = <&pinctrl_eqos>;
50	phy-mode = "rgmii-id";
51	phy-handle = <&ethphy0>;
52	snps,force_thresh_dma_mode;
53	status = "okay";
54
55	mdio {
56		compatible = "snps,dwmac-mdio";
57		#address-cells = <1>;
58		#size-cells = <0>;
59
60		ethphy0: ethernet-phy@3 {
61			compatible = "ethernet-phy-id0022.1640",
62				     "ethernet-phy-ieee802.3-c22";
63			reg = <3>;
64			reset-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
65			interrupt-parent = <&gpio1>;
66			interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
67		};
68	};
69};
70
71&flexspi {
72	pinctrl-names = "default";
73	pinctrl-0 = <&pinctrl_flexspi0>;
74	status = "okay";
75
76	flash0: flash@0 {
77		compatible = "jedec,spi-nor";
78		reg = <0>;
79		spi-max-frequency = <80000000>;
80		spi-tx-bus-width = <1>;
81		spi-rx-bus-width = <4>;
82	};
83};
84
85&i2c1 {
86	pinctrl-names = "default";
87	pinctrl-0 = <&pinctrl_i2c1>;
88	clock-frequency = <384000>;
89	status = "okay";
90
91	pmic@25 {
92		compatible = "nxp,pca9450c";
93		reg = <0x25>;
94		pinctrl-names = "default";
95		pinctrl-0 = <&pinctrl_pmic>;
96		interrupt-parent = <&gpio1>;
97		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
98
99		regulators {
100			buck1: BUCK1 {
101				regulator-name = "BUCK1";
102				regulator-min-microvolt = <600000>;
103				regulator-max-microvolt = <2187500>;
104				regulator-boot-on;
105				regulator-always-on;
106				regulator-ramp-delay = <3125>;
107			};
108
109			buck2: BUCK2 {
110				regulator-name = "BUCK2";
111				regulator-min-microvolt = <600000>;
112				regulator-max-microvolt = <2187500>;
113				regulator-boot-on;
114				regulator-always-on;
115				regulator-ramp-delay = <3125>;
116				nxp,dvs-run-voltage = <950000>;
117				nxp,dvs-standby-voltage = <850000>;
118			};
119
120			buck4: BUCK4 {
121				regulator-name = "BUCK4";
122				regulator-min-microvolt = <3300000>;
123				regulator-max-microvolt = <3300000>;
124				regulator-boot-on;
125				regulator-always-on;
126			};
127
128			buck5: BUCK5 {
129				regulator-name = "BUCK5";
130				regulator-min-microvolt = <1800000>;
131				regulator-max-microvolt = <1800000>;
132				regulator-boot-on;
133				regulator-always-on;
134			};
135
136			buck6: BUCK6 {
137				regulator-name = "BUCK6";
138				regulator-min-microvolt = <600000>;
139				regulator-max-microvolt = <3400000>;
140				regulator-boot-on;
141				regulator-always-on;
142			};
143
144			ldo1: LDO1 {
145				regulator-name = "LDO1";
146				regulator-min-microvolt = <1600000>;
147				regulator-max-microvolt = <1800000>;
148				regulator-boot-on;
149				regulator-always-on;
150			};
151
152			ldo3: LDO3 {
153				regulator-name = "LDO3";
154				regulator-min-microvolt = <800000>;
155				regulator-max-microvolt = <1800000>;
156				regulator-boot-on;
157				regulator-always-on;
158			};
159
160			ldo4: LDO4 {
161				regulator-name = "LDO4";
162				regulator-min-microvolt = <800000>;
163				regulator-max-microvolt = <3300000>;
164				regulator-boot-on;
165				regulator-always-on;
166			};
167
168			ldo5: LDO5 {
169				regulator-name = "LDO5";
170				regulator-min-microvolt = <1800000>;
171				regulator-max-microvolt = <3300000>;
172				regulator-boot-on;
173				regulator-always-on;
174			};
175		};
176	};
177};
178
179&i2c3 {
180	pinctrl-names = "default";
181	pinctrl-0 = <&pinctrl_i2c3>;
182	clock-frequency = <384000>;
183	status = "okay";
184
185	eeprom@50 {
186		compatible = "atmel,24c64";
187		reg = <0x50>;
188		pagesize = <32>;
189		read-only;	/* Manufacturing EEPROM programmed at factory */
190	};
191
192	rtc: rtc@51 {
193		compatible = "nxp,pcf85263";
194		reg = <0x51>;
195		quartz-load-femtofarads = <12500>;
196	};
197};
198
199&snvs_pwrkey {
200	status = "okay";
201};
202
203&uart1 {
204	pinctrl-names = "default";
205	pinctrl-0 = <&pinctrl_uart1>;
206	assigned-clocks = <&clk IMX8MP_CLK_UART1>;
207	assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
208	uart-has-rtscts;
209	status = "okay";
210};
211
212&usdhc1 {
213	pinctrl-names = "default", "state_100mhz", "state_200mhz";
214	pinctrl-0 = <&pinctrl_usdhc1>;
215	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
216	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
217	bus-width = <4>;
218	vmmc-supply = <&reg_wl_bt>;
219	cap-sd-highspeed;
220	sd-uhs-sdr50;
221	sd-uhs-sdr104;
222	keep-power-in-suspend;
223	wakeup-source;
224	non-removable;
225	cap-power-off-card;
226	#address-cells = <1>;
227	#size-cells = <0>;
228	status = "okay";
229
230	mwifiex: wifi@1 {
231		compatible = "marvell,sd8997";
232		reg = <1>;
233		pinctrl-names = "default";
234		pinctrl-0 = <&pinctrl_wlan>;
235		interrupt-parent = <&gpio2>;
236		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
237	};
238};
239
240&usdhc3 {
241	pinctrl-names = "default", "state_100mhz", "state_200mhz";
242	pinctrl-0 = <&pinctrl_usdhc3>;
243	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
244	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
245	bus-width = <8>;
246	non-removable;
247	status = "okay";
248};
249
250&wdog1 {
251	pinctrl-names = "default";
252	pinctrl-0 = <&pinctrl_wdog>;
253	fsl,ext-reset-output;
254	status = "okay";
255};
256
257&iomuxc {
258	pinctrl_eqos: eqosgrp {
259		fsl,pins = <
260			MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC		0x2
261			MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO		0x2
262			MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0	0x90
263			MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1	0x90
264			MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2	0x90
265			MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3	0x90
266			MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK	0x90
267			MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL	0x90
268			MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0	0x16
269			MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1	0x16
270			MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2	0x16
271			MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3	0x16
272			MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL	0x16
273			MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK	0x16
274			MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22		0x10
275			MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10	0x10
276		>;
277	};
278
279	pinctrl_flexspi0: flexspi0grp {
280		fsl,pins = <
281			MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK           0x1c2
282			MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B        0x82
283			MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00      0x82
284			MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01      0x82
285			MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02      0x82
286			MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03      0x82
287		>;
288	};
289
290	pinctrl_i2c1: i2c1grp {
291		fsl,pins = <
292			MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL		0x400001c2
293			MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA		0x400001c2
294		>;
295	};
296
297	pinctrl_i2c3: i2c3grp {
298		fsl,pins = <
299			MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL		0x400001c2
300			MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA		0x400001c2
301		>;
302	};
303
304	pinctrl_pmic: pmicgrp {
305		fsl,pins = <
306			MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03	0x1c0
307		>;
308	};
309
310	pinctrl_reg_wl_bt: reg-wl-btgrp {
311		fsl,pins = <
312			MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06	0x40
313		>;
314	};
315
316	pinctrl_uart1: uart1grp {
317		fsl,pins = <
318			MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX	0x140
319			MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX	0x140
320			MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS	0x140
321			MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS	0x140
322		>;
323	};
324
325	pinctrl_usdhc1: usdhc1grp {
326		fsl,pins = <
327			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK	0x190
328			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD	0x1d0
329			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0	0x1d0
330			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1	0x1d0
331			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2	0x1d0
332			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3	0x1d0
333		>;
334	};
335
336	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
337		fsl,pins = <
338			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK	0x194
339			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD	0x1d4
340			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0	0x1d4
341			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1	0x1d4
342			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2	0x1d4
343			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3	0x1d4
344		>;
345	};
346
347	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
348		fsl,pins = <
349			MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK	0x196
350			MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD	0x1d6
351			MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0	0x1d6
352			MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1	0x1d6
353			MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2	0x1d6
354			MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3	0x1d6
355		>;
356	};
357
358	pinctrl_usdhc3: usdhc3grp {
359		fsl,pins = <
360			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x190
361			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d0
362			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d0
363			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d0
364			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d0
365			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d0
366			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d0
367			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d0
368			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d0
369			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d0
370			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x190
371		>;
372	};
373
374	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
375		fsl,pins = <
376			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x194
377			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d4
378			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d4
379			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d4
380			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d4
381			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d4
382			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d4
383			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d4
384			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d4
385			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d4
386			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x194
387		>;
388	};
389
390	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
391		fsl,pins = <
392			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x196
393			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d6
394			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d6
395			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d6
396			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d6
397			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d6
398			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d6
399			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d6
400			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d6
401			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d6
402			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x196
403		>;
404	};
405
406	pinctrl_wdog: wdoggrp {
407		fsl,pins = <
408			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B	0x166
409		>;
410	};
411
412	pinctrl_wlan: wlangrp {
413		fsl,pins = <
414			MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09		0x140
415		>;
416	};
417};
418