blob: 589bf998bc5281bf564135b147ffef0810976585 [file] [log] [blame]
Robert Nelson0c24aad2023-08-25 13:03:03 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * https://beagleplay.org/
4 *
5 * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
6 * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/leds/common.h>
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/input/input.h>
14#include "k3-am625.dtsi"
15
16/ {
17 compatible = "beagle,am625-beagleplay", "ti,am625";
18 model = "BeagleBoard.org BeaglePlay";
19
20 aliases {
21 ethernet0 = &cpsw_port1;
22 ethernet1 = &cpsw_port2;
23 gpio0 = &main_gpio0;
24 gpio1 = &main_gpio1;
25 gpio2 = &mcu_gpio0;
26 i2c0 = &main_i2c0;
27 i2c1 = &main_i2c1;
28 i2c2 = &main_i2c2;
29 i2c3 = &main_i2c3;
30 i2c4 = &wkup_i2c0;
31 i2c5 = &mcu_i2c0;
32 mdio-gpio0 = &mdio0;
33 mmc0 = &sdhci0;
34 mmc1 = &sdhci1;
35 mmc2 = &sdhci2;
36 rtc0 = &rtc;
37 serial0 = &main_uart5;
38 serial1 = &main_uart6;
39 serial2 = &main_uart0;
40 usb0 = &usb0;
41 usb1 = &usb1;
42 };
43
44 chosen {
45 stdout-path = "serial2:115200n8";
46 };
47
48 memory@80000000 {
49 device_type = "memory";
50 /* 2G RAM */
51 reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
52 };
53
54 reserved-memory {
55 #address-cells = <2>;
56 #size-cells = <2>;
57 ranges;
58
59 ramoops: ramoops@9ca00000 {
60 compatible = "ramoops";
61 reg = <0x00 0x9c700000 0x00 0x00100000>;
62 record-size = <0x8000>;
63 console-size = <0x8000>;
64 ftrace-size = <0x00>;
65 pmsg-size = <0x8000>;
66 };
67
68 secure_tfa_ddr: tfa@9e780000 {
69 reg = <0x00 0x9e780000 0x00 0x80000>;
70 no-map;
71 };
72
73 secure_ddr: optee@9e800000 {
74 reg = <0x00 0x9e800000 0x00 0x01800000>;
75 no-map;
76 };
77
78 wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 {
79 compatible = "shared-dma-pool";
80 reg = <0x00 0x9db00000 0x00 0xc00000>;
81 no-map;
82 };
83 };
84
85 vsys_5v0: regulator-1 {
86 compatible = "regulator-fixed";
87 regulator-name = "vsys_5v0";
88 regulator-min-microvolt = <5000000>;
89 regulator-max-microvolt = <5000000>;
90 regulator-always-on;
91 regulator-boot-on;
92 };
93
94 vdd_3v3: regulator-2 {
95 /* output of TLV62595DMQR-U12 */
96 compatible = "regulator-fixed";
97 regulator-name = "vdd_3v3";
98 regulator-min-microvolt = <3300000>;
99 regulator-max-microvolt = <3300000>;
100 vin-supply = <&vsys_5v0>;
101 regulator-always-on;
102 regulator-boot-on;
103 };
104
105 wlan_en: regulator-3 {
106 /* OUTPUT of SN74AVC2T244DQMR */
107 compatible = "regulator-fixed";
108 regulator-name = "wlan_en";
109 regulator-min-microvolt = <1800000>;
110 regulator-max-microvolt = <1800000>;
111 enable-active-high;
112 regulator-always-on;
113 vin-supply = <&vdd_3v3>;
114 gpio = <&main_gpio0 38 GPIO_ACTIVE_HIGH>;
115 pinctrl-names = "default";
116 pinctrl-0 = <&wifi_en_pins_default>;
117 };
118
119 vdd_3v3_sd: regulator-4 {
120 /* output of TPS22918DBVR-U21 */
121 pinctrl-names = "default";
122 pinctrl-0 = <&vdd_3v3_sd_pins_default>;
123
124 compatible = "regulator-fixed";
125 regulator-name = "vdd_3v3_sd";
126 regulator-min-microvolt = <3300000>;
127 regulator-max-microvolt = <3300000>;
128 enable-active-high;
129 regulator-always-on;
130 vin-supply = <&vdd_3v3>;
131 gpio = <&main_gpio1 19 GPIO_ACTIVE_HIGH>;
132 };
133
134 vdd_sd_dv: regulator-5 {
135 compatible = "regulator-gpio";
136 regulator-name = "sd_hs200_switch";
137 pinctrl-names = "default";
138 pinctrl-0 = <&vdd_sd_dv_pins_default>;
139 regulator-min-microvolt = <1800000>;
140 regulator-max-microvolt = <3300000>;
141 regulator-boot-on;
142 vin-supply = <&ldo1_reg>;
143 gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
144 states = <1800000 0x0>,
145 <3300000 0x1>;
146 };
147
148 leds {
149 compatible = "gpio-leds";
150
151 led-0 {
152 gpios = <&main_gpio0 3 GPIO_ACTIVE_HIGH>;
153 linux,default-trigger = "heartbeat";
154 function = LED_FUNCTION_HEARTBEAT;
155 default-state = "off";
156 };
157
158 led-1 {
159 gpios = <&main_gpio0 4 GPIO_ACTIVE_HIGH>;
160 linux,default-trigger = "disk-activity";
161 function = LED_FUNCTION_DISK_ACTIVITY;
162 default-state = "keep";
163 };
164
165 led-2 {
166 gpios = <&main_gpio0 5 GPIO_ACTIVE_HIGH>;
167 function = LED_FUNCTION_CPU;
168 };
169
170 led-3 {
171 gpios = <&main_gpio0 6 GPIO_ACTIVE_HIGH>;
172 function = LED_FUNCTION_LAN;
173 };
174
175 led-4 {
176 gpios = <&main_gpio0 9 GPIO_ACTIVE_HIGH>;
177 function = LED_FUNCTION_WLAN;
178 };
179 };
180
181 gpio_keys: gpio-keys {
182 compatible = "gpio-keys";
183 autorepeat;
184 pinctrl-names = "default";
185 pinctrl-0 = <&usr_button_pins_default>;
186
187 usr: button-usr {
188 label = "User Key";
189 linux,code = <BTN_0>;
190 gpios = <&main_gpio0 18 GPIO_ACTIVE_LOW>;
191 };
192
193 };
194
195 /* Workaround for errata i2329 - just use mdio bitbang */
196 mdio0: mdio {
197 compatible = "virtual,mdio-gpio";
198 pinctrl-names = "default";
199 pinctrl-0 = <&mdio0_pins_default>;
200 gpios = <&main_gpio0 86 GPIO_ACTIVE_HIGH>, /* MDC */
201 <&main_gpio0 85 GPIO_ACTIVE_HIGH>; /* MDIO */
202 #address-cells = <1>;
203 #size-cells = <0>;
204
205 cpsw3g_phy0: ethernet-phy@0 {
206 reg = <0>;
207 };
208
209 cpsw3g_phy1: ethernet-phy@1 {
210 reg = <1>;
211 reset-gpios = <&main_gpio1 5 GPIO_ACTIVE_LOW>;
212 reset-assert-us = <25>;
213 reset-deassert-us = <60000>; /* T2 */
214 };
215 };
216};
217
218&main_pmx0 {
219 gpio0_pins_default: gpio0-default-pins {
220 pinctrl-single,pins = <
221 AM62X_IOPAD(0x0004, PIN_INPUT, 7) /* (G25) OSPI0_LBCLKO.GPIO0_1 */
222 AM62X_IOPAD(0x0008, PIN_INPUT, 7) /* (J24) OSPI0_DQS.GPIO0_2 */
223 AM62X_IOPAD(0x000c, PIN_INPUT, 7) /* (E25) OSPI0_D0.GPIO0_3 */
224 AM62X_IOPAD(0x0010, PIN_INPUT, 7) /* (G24) OSPI0_D1.GPIO0_4 */
225 AM62X_IOPAD(0x0014, PIN_INPUT, 7) /* (F25) OSPI0_D2.GPIO0_5 */
226 AM62X_IOPAD(0x0018, PIN_INPUT, 7) /* (F24) OSPI0_D3.GPIO0_6 */
227 AM62X_IOPAD(0x0024, PIN_INPUT, 7) /* (H25) OSPI0_D6.GPIO0_9 */
228 AM62X_IOPAD(0x0028, PIN_INPUT, 7) /* (J22) OSPI0_D7.GPIO0_10 */
229 AM62X_IOPAD(0x002c, PIN_INPUT, 7) /* (F23) OSPI0_CSn0.GPIO0_11 */
230 AM62X_IOPAD(0x0030, PIN_INPUT, 7) /* (G21) OSPI0_CSn1.GPIO0_12 */
231 AM62X_IOPAD(0x0034, PIN_INPUT, 7) /* (H21) OSPI0_CSn2.GPIO0_13 */
232 AM62X_IOPAD(0x0038, PIN_INPUT, 7) /* (E24) OSPI0_CSn3.GPIO0_14 */
233 AM62X_IOPAD(0x00a4, PIN_INPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */
234 AM62X_IOPAD(0x00ac, PIN_INPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */
235 >;
236 };
237
238 vdd_sd_dv_pins_default: vdd-sd-default-pins {
239 pinctrl-single,pins = <
240 AM62X_IOPAD(0x0244, PIN_OUTPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */
241 >;
242 };
243
244 usr_button_pins_default: usr-button-default-pins {
245 pinctrl-single,pins = <
246 AM62X_IOPAD(0x0048, PIN_INPUT, 7) /* (N25) GPMC0_AD3.GPIO0_18 */
247 >;
248 };
249
250 grove_pins_default: grove-default-pins {
251 pinctrl-single,pins = <
252 AM62X_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */
253 AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */
254 >;
255 };
256
257 local_i2c_pins_default: local-i2c-default-pins {
258 pinctrl-single,pins = <
259 AM62X_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */
260 AM62X_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */
261 >;
262 };
263
264 i2c2_1v8_pins_default: i2c2-default-pins {
265 pinctrl-single,pins = <
266 AM62X_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */
267 AM62X_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */
268 >;
269 };
270
271 mdio0_pins_default: mdio0-default-pins {
272 pinctrl-single,pins = <
273 AM62X_IOPAD(0x0160, PIN_OUTPUT, 7) /* (AD24) MDIO0_MDC.GPIO0_86 */
274 AM62X_IOPAD(0x015c, PIN_INPUT, 7) /* (AB22) MDIO0_MDIO.GPIO0_85 */
275 >;
276 };
277
278 rgmii1_pins_default: rgmii1-default-pins {
279 pinctrl-single,pins = <
280 AM62X_IOPAD(0x014c, PIN_INPUT, 0) /* (AB17) RGMII1_RD0 */
281 AM62X_IOPAD(0x0150, PIN_INPUT, 0) /* (AC17) RGMII1_RD1 */
282 AM62X_IOPAD(0x0154, PIN_INPUT, 0) /* (AB16) RGMII1_RD2 */
283 AM62X_IOPAD(0x0158, PIN_INPUT, 0) /* (AA15) RGMII1_RD3 */
284 AM62X_IOPAD(0x0148, PIN_INPUT, 0) /* (AD17) RGMII1_RXC */
285 AM62X_IOPAD(0x0144, PIN_INPUT, 0) /* (AE17) RGMII1_RX_CTL */
286 AM62X_IOPAD(0x0134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0 */
287 AM62X_IOPAD(0x0138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1 */
288 AM62X_IOPAD(0x013c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2 */
289 AM62X_IOPAD(0x0140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3 */
290 AM62X_IOPAD(0x0130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC */
291 AM62X_IOPAD(0x012c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */
292 >;
293 };
294
295 emmc_pins_default: emmc-default-pins {
296 pinctrl-single,pins = <
297 AM62X_IOPAD(0x0220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */
298 AM62X_IOPAD(0x0218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */
299 AM62X_IOPAD(0x0214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
300 AM62X_IOPAD(0x0210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */
301 AM62X_IOPAD(0x020c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */
302 AM62X_IOPAD(0x0208, PIN_INPUT, 0) /* (Y4) MMC0_DAT3 */
303 AM62X_IOPAD(0x0204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */
304 AM62X_IOPAD(0x0200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */
305 AM62X_IOPAD(0x01fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */
306 AM62X_IOPAD(0x01f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */
307 >;
308 };
309
310 vdd_3v3_sd_pins_default: vdd-3v3-sd-default-pins {
311 pinctrl-single,pins = <
312 AM62X_IOPAD(0x01c4, PIN_INPUT, 7) /* (B14) SPI0_D1_GPIO1_19 */
313 >;
314 };
315
316 sd_pins_default: sd-default-pins {
317 pinctrl-single,pins = <
318 AM62X_IOPAD(0x023c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
319 AM62X_IOPAD(0x0234, PIN_INPUT, 0) /* (B22) MMC1_CLK */
320 AM62X_IOPAD(0x0230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */
321 AM62X_IOPAD(0x022c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */
322 AM62X_IOPAD(0x0228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */
323 AM62X_IOPAD(0x0224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */
324 AM62X_IOPAD(0x0240, PIN_INPUT, 7) /* (D17) MMC1_SDCD.GPIO1_48 */
325 >;
326 };
327
328 wifi_pins_default: wifi-default-pins {
329 pinctrl-single,pins = <
330 AM62X_IOPAD(0x0120, PIN_INPUT, 0) /* (C24) MMC2_CMD */
331 AM62X_IOPAD(0x0118, PIN_INPUT, 0) /* (D25) MMC2_CLK */
332 AM62X_IOPAD(0x0114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */
333 AM62X_IOPAD(0x0110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */
334 AM62X_IOPAD(0x010c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */
335 AM62X_IOPAD(0x0108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */
336 AM62X_IOPAD(0x0124, PIN_INPUT, 0) /* (A23) MMC2_SDCD */
337 AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
338 >;
339 };
340
341 wifi_en_pins_default: wifi-en-default-pins {
342 pinctrl-single,pins = <
343 AM62X_IOPAD(0x009c, PIN_OUTPUT, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */
344 >;
345 };
346
347 wifi_wlirq_pins_default: wifi-wlirq-default-pins {
348 pinctrl-single,pins = <
349 AM62X_IOPAD(0x00a8, PIN_INPUT, 7) /* (M21) GPMC0_CSn0.GPIO0_41 */
350 >;
351 };
352
353 spe_pins_default: spe-default-pins {
354 pinctrl-single,pins = <
355 AM62X_IOPAD(0x0168, PIN_INPUT, 1) /* (AE21) RGMII2_TXC.RMII2_CRS_DV */
356 AM62X_IOPAD(0x0180, PIN_INPUT, 1) /* (AD23) RGMII2_RXC.RMII2_REF_CLK */
357 AM62X_IOPAD(0x0184, PIN_INPUT, 1) /* (AE23) RGMII2_RD0.RMII2_RXD0 */
358 AM62X_IOPAD(0x0188, PIN_INPUT, 1) /* (AB20) RGMII2_RD1.RMII2_RXD1 */
359 AM62X_IOPAD(0x017c, PIN_INPUT, 1) /* (AD22) RGMII2_RX_CTL.RMII2_RX_ER */
360 AM62X_IOPAD(0x016c, PIN_INPUT, 1) /* (Y18) RGMII2_TD0.RMII2_TXD0 */
361 AM62X_IOPAD(0x0170, PIN_INPUT, 1) /* (AA18) RGMII2_TD1.RMII2_TXD1 */
362 AM62X_IOPAD(0x0164, PIN_INPUT, 1) /* (AA19) RGMII2_TX_CTL.RMII2_TX_EN */
363 AM62X_IOPAD(0x018c, PIN_OUTPUT, 7) /* (AC21) RGMII2_RD2.GPIO1_5 */
364 AM62X_IOPAD(0x0190, PIN_INPUT, 7) /* (AE22) RGMII2_RD3.GPIO1_6 */
365 AM62X_IOPAD(0x01f0, PIN_OUTPUT, 5) /* (A18) EXT_REFCLK1.CLKOUT0 */
366 >;
367 };
368
369 mikrobus_i2c_pins_default: mikrobus-i2c-default-pins {
370 pinctrl-single,pins = <
371 AM62X_IOPAD(0x01d0, PIN_INPUT_PULLUP, 2) /* (A15) UART0_CTSn.I2C3_SCL */
372 AM62X_IOPAD(0x01d4, PIN_INPUT_PULLUP, 2) /* (B15) UART0_RTSn.I2C3_SDA */
373 >;
374 };
375
376 mikrobus_uart_pins_default: mikrobus-uart-default-pins {
377 pinctrl-single,pins = <
378 AM62X_IOPAD(0x01d8, PIN_INPUT, 1) /* (C15) MCAN0_TX.UART5_RXD */
379 AM62X_IOPAD(0x01dc, PIN_OUTPUT, 1) /* (E15) MCAN0_RX.UART5_TXD */
380 >;
381 };
382
383 mikrobus_spi_pins_default: mikrobus-spi-default-pins {
384 pinctrl-single,pins = <
385 AM62X_IOPAD(0x01b0, PIN_INPUT, 1) /* (A20) MCASP0_ACLKR.SPI2_CLK */
386 AM62X_IOPAD(0x01ac, PIN_INPUT, 1) /* (E19) MCASP0_AFSR.SPI2_CS0 */
387 AM62X_IOPAD(0x0194, PIN_INPUT, 1) /* (B19) MCASP0_AXR3.SPI2_D0 */
388 AM62X_IOPAD(0x0198, PIN_INPUT, 1) /* (A19) MCASP0_AXR2.SPI2_D1 */
389 >;
390 };
391
392 mikrobus_gpio_pins_default: mikrobus-gpio-default-pins {
393 pinctrl-single,pins = <
394 AM62X_IOPAD(0x019c, PIN_INPUT, 7) /* (B18) MCASP0_AXR1.GPIO1_9 */
395 AM62X_IOPAD(0x01a0, PIN_INPUT, 7) /* (E18) MCASP0_AXR0.GPIO1_10 */
396 AM62X_IOPAD(0x01a8, PIN_INPUT, 7) /* (D20) MCASP0_AFSX.GPIO1_12 */
397 >;
398 };
399
400 console_pins_default: console-default-pins {
401 pinctrl-single,pins = <
402 AM62X_IOPAD(0x01c8, PIN_INPUT, 0) /* (D14) UART0_RXD */
403 AM62X_IOPAD(0x01cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */
404 >;
405 };
406
407 wifi_debug_uart_pins_default: wifi-debug-uart-default-pins {
408 pinctrl-single,pins = <
409 AM62X_IOPAD(0x001c, PIN_INPUT, 3) /* (J23) OSPI0_D4.UART6_RXD */
410 AM62X_IOPAD(0x0020, PIN_OUTPUT, 3) /* (J25) OSPI0_D5.UART6_TXD */
411 >;
412 };
413
414 usb1_pins_default: usb1-default-pins {
415 pinctrl-single,pins = <
416 AM62X_IOPAD(0x0258, PIN_INPUT, 0) /* (F18) USB1_DRVVBUS */
417 >;
418 };
419
420 pmic_irq_pins_default: pmic-irq-default-pins {
421 pinctrl-single,pins = <
422 AM62X_IOPAD(0x01f4, PIN_INPUT_PULLUP, 0) /* (D16) EXTINTn */
423 >;
424 };
425};
426
427&mcu_pmx0 {
428 i2c_qwiic_pins_default: i2c-qwiic-default-pins {
429 pinctrl-single,pins = <
430 AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0) /* (A8) MCU_I2C0_SCL */
431 AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */
432 >;
433 };
434
435 gbe_pmx_obsclk: gbe-pmx-clk-default {
436 pinctrl-single,pins = <
437 AM62X_MCU_IOPAD(0x0004, PIN_OUTPUT, 1) /* (B8) MCU_SPI0_CS1.MCU_OBSCLK0 */
438 >;
439 };
440
441 i2c_csi_pins_default: i2c-csi-default-pins {
442 pinctrl-single,pins = <
443 AM62X_MCU_IOPAD(0x004c, PIN_INPUT_PULLUP, 0) /* (B9) WKUP_I2C0_SCL */
444 AM62X_MCU_IOPAD(0x0050, PIN_INPUT_PULLUP, 0) /* (A9) WKUP_I2C0_SDA */
445 >;
446 };
447
448 wifi_32k_clk: mcu-clk-out-default-pins {
449 pinctrl-single,pins = <
450 AM62X_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (A12) WKUP_CLKOUT0 */
451 >;
452 };
453};
454
455&a53_opp_table {
456 /* Requires VDD_CORE to be at 0.85V */
457 opp-1400000000 {
458 opp-hz = /bits/ 64 <1400000000>;
459 opp-supported-hw = <0x01 0x0004>;
460 };
461};
462
463&wkup_i2c0 {
464 pinctrl-names = "default";
465 pinctrl-0 = <&i2c_csi_pins_default>;
466 clock-frequency = <400000>;
467 /* Enable with overlay for camera sensor */
468};
469
470&mcu_i2c0 {
471 pinctrl-names = "default";
472 pinctrl-0 = <&i2c_qwiic_pins_default>;
473 clock-frequency = <100000>;
474 status = "okay";
475};
476
477&usbss0 {
478 ti,vbus-divider;
479 status = "okay";
480};
481
482&usb0 {
483 dr_mode = "peripheral";
484};
485
486&usbss1 {
487 ti,vbus-divider;
488 status = "okay";
489};
490
491&usb1 {
492 dr_mode = "host";
493 pinctrl-names = "default";
494 pinctrl-0 = <&usb1_pins_default>;
495};
496
497&cpsw3g {
498 pinctrl-names = "default";
499 pinctrl-0 = <&rgmii1_pins_default>, <&spe_pins_default>,
500 <&gbe_pmx_obsclk>;
501 assigned-clocks = <&k3_clks 157 70>, <&k3_clks 157 20>;
502 assigned-clock-parents = <&k3_clks 157 72>, <&k3_clks 157 22>;
503};
504
505&cpsw_port1 {
506 phy-mode = "rgmii-rxid";
507 phy-handle = <&cpsw3g_phy0>;
508};
509
510&cpsw_port2 {
511 phy-mode = "rmii";
512 phy-handle = <&cpsw3g_phy1>;
513};
514
515&cpsw3g_mdio {
516 /* Workaround for errata i2329 - Use mdio bitbang */
517 status = "disabled";
518};
519
520&main_gpio0 {
521 pinctrl-names = "default";
522 pinctrl-0 = <&gpio0_pins_default>;
523 gpio-line-names = "BL_EN_3V3", "SPE_PO_EN", "RTC_INT", /* 0-2 */
524 "USR0", "USR1", "USR2", "USR3", "", "", "USR4", /* 3-9 */
525 "EEPROM_WP", /* 10 */
526 "CSI2_CAMERA_GPIO1", "CSI2_CAMERA_GPIO2", /* 11-12 */
527 "CC1352P7_BOOT", "CC1352P7_RSTN", "", "", "", /* 13-17 */
528 "USR_BUTTON", "", "", "", "", "", "", "", "", /* 18-26 */
529 "", "", "", "", "", "", "", "", "", "HDMI_INT", /* 27-36 */
530 "", "VDD_WLAN_EN", "", "", "WL_IRQ", "GBE_INTN",/* 37-42 */
531 "", "", "", "", "", "", "", "", "", "", "", "", /* 43-54 */
532 "", "", "", "", "", "", "", "", "", "", "", "", /* 55-66 */
533 "", "", "", "", "", "", "", "", "", "", "", "", /* 67-78 */
534 "", "", "", "", "", "", /* 79-84 */
535 "BITBANG_MDIO_DATA", "BITBANG_MDIO_CLK", /* 85-86 */
536 "", "", "", "", ""; /* 87-91 */
537};
538
539&main_gpio1 {
540 pinctrl-names = "default";
541 pinctrl-0 = <&mikrobus_gpio_pins_default>;
542 gpio-line-names = "", "", "", "", "", /* 0-4 */
543 "SPE_RSTN", "SPE_INTN", "MIKROBUS_GPIO1_7", /* 5-7 */
544 "MIKROBUS_GPIO1_8", "MIKROBUS_GPIO1_9", /* 8-9 */
545 "MIKROBUS_GPIO1_10", "MIKROBUS_GPIO1_11", /* 10-11 */
546 "MIKROBUS_GPIO1_12", "MIKROBUS_W1_GPIO0", /* 12-13 */
547 "MIKROBUS_GPIO1_14", /* 14 */
548 "", "", "", "", "VDD_3V3_SD", "", "", /* 15-21 */
549 "MIKROBUS_GPIO1_22", "MIKROBUS_GPIO1_23", /* 22-23 */
550 "MIKROBUS_GPIO1_24", "MIKROBUS_GPIO1_25", /* 24-25 */
551 "", "", "", "", "", "", "", "", "", "", "", "", /* 26-37 */
552 "", "", "", "", "", "", "", "", "", "", /* 38-47 */
553 "SD_CD", "SD_VOLT_SEL", "", ""; /* 48-51 */
554};
555
556&main_i2c0 {
557 pinctrl-names = "default";
558 pinctrl-0 = <&local_i2c_pins_default>;
559 clock-frequency = <400000>;
560 status = "okay";
561
562 eeprom@50 {
563 compatible = "atmel,24c32";
564 reg = <0x50>;
565 };
566
567 rtc: rtc@68 {
568 compatible = "ti,bq32000";
569 reg = <0x68>;
570 interrupt-parent = <&main_gpio0>;
571 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
572 };
573
574 tps65219: pmic@30 {
575 compatible = "ti,tps65219";
576 reg = <0x30>;
577 buck1-supply = <&vsys_5v0>;
578 buck2-supply = <&vsys_5v0>;
579 buck3-supply = <&vsys_5v0>;
580 ldo1-supply = <&vdd_3v3>;
581 ldo2-supply = <&buck2_reg>;
582 ldo3-supply = <&vdd_3v3>;
583 ldo4-supply = <&vdd_3v3>;
584
585 pinctrl-names = "default";
586 pinctrl-0 = <&pmic_irq_pins_default>;
587 interrupt-parent = <&gic500>;
588 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
589 interrupt-controller;
590 #interrupt-cells = <1>;
591
592 system-power-controller;
593 ti,power-button;
594
595 regulators {
596 buck1_reg: buck1 {
597 regulator-name = "VDD_CORE";
598 regulator-min-microvolt = <850000>;
599 regulator-max-microvolt = <850000>;
600 regulator-boot-on;
601 regulator-always-on;
602 };
603
604 buck2_reg: buck2 {
605 regulator-name = "VDD_1V8";
606 regulator-min-microvolt = <1800000>;
607 regulator-max-microvolt = <1800000>;
608 regulator-boot-on;
609 regulator-always-on;
610 };
611
612 buck3_reg: buck3 {
613 regulator-name = "VDD_1V2";
614 regulator-min-microvolt = <1200000>;
615 regulator-max-microvolt = <1200000>;
616 regulator-boot-on;
617 regulator-always-on;
618 };
619
620 ldo1_reg: ldo1 {
621 /*
622 * Regulator is left as is unused, vdd_sd
623 * is controlled via GPIO with bypass config
624 * as per the NVM configuration
625 */
626 regulator-name = "VDD_SD_3V3";
627 regulator-min-microvolt = <3300000>;
628 regulator-max-microvolt = <3300000>;
629 regulator-allow-bypass;
630 regulator-boot-on;
631 regulator-always-on;
632 };
633
634 ldo2_reg: ldo2 {
635 regulator-name = "VDDA_0V85";
636 regulator-min-microvolt = <850000>;
637 regulator-max-microvolt = <850000>;
638 regulator-boot-on;
639 regulator-always-on;
640 };
641
642 ldo3_reg: ldo3 {
643 regulator-name = "VDDA_1V8";
644 regulator-min-microvolt = <1800000>;
645 regulator-max-microvolt = <1800000>;
646 regulator-boot-on;
647 regulator-always-on;
648 };
649
650 ldo4_reg: ldo4 {
651 regulator-name = "VDD_2V5";
652 regulator-min-microvolt = <2500000>;
653 regulator-max-microvolt = <2500000>;
654 regulator-boot-on;
655 regulator-always-on;
656 };
657 };
658 };
659};
660
661&main_i2c1 {
662 pinctrl-names = "default";
663 pinctrl-0 = <&grove_pins_default>;
664 clock-frequency = <100000>;
665 status = "okay";
666};
667
668&main_i2c2 {
669 pinctrl-names = "default";
670 pinctrl-0 = <&i2c2_1v8_pins_default>;
671 clock-frequency = <100000>;
672 status = "okay";
673};
674
675&main_i2c3 {
676 pinctrl-names = "default";
677 pinctrl-0 = <&mikrobus_i2c_pins_default>;
678 clock-frequency = <400000>;
679 status = "okay";
680};
681
682&main_spi2 {
683 pinctrl-names = "default";
684 pinctrl-0 = <&mikrobus_spi_pins_default>;
685 status = "okay";
686};
687
688&sdhci0 {
689 pinctrl-names = "default";
690 pinctrl-0 = <&emmc_pins_default>;
691 ti,driver-strength-ohm = <50>;
692 disable-wp;
693 status = "okay";
694};
695
696&sdhci1 {
697 /* SD/MMC */
698 pinctrl-names = "default";
699 pinctrl-0 = <&sd_pins_default>;
700
701 vmmc-supply = <&vdd_3v3_sd>;
702 vqmmc-supply = <&vdd_sd_dv>;
703 ti,driver-strength-ohm = <50>;
704 disable-wp;
705 cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>;
706 cd-debounce-delay-ms = <100>;
707 ti,fails-without-test-cd;
708 status = "okay";
709};
710
711&sdhci2 {
712 vmmc-supply = <&wlan_en>;
713 pinctrl-names = "default";
714 pinctrl-0 = <&wifi_pins_default>, <&wifi_32k_clk>;
715 bus-width = <4>;
716 non-removable;
717 ti,fails-without-test-cd;
718 cap-power-off-card;
719 keep-power-in-suspend;
720 ti,driver-strength-ohm = <50>;
721 assigned-clocks = <&k3_clks 157 158>;
722 assigned-clock-parents = <&k3_clks 157 160>;
723 #address-cells = <1>;
724 #size-cells = <0>;
725 status = "okay";
726
727 wlcore: wlcore@2 {
728 compatible = "ti,wl1807";
729 reg = <2>;
730 pinctrl-names = "default";
731 pinctrl-0 = <&wifi_wlirq_pins_default>;
732 interrupt-parent = <&main_gpio0>;
733 interrupts = <41 IRQ_TYPE_EDGE_FALLING>;
734 };
735};
736
737&main_uart0 {
738 pinctrl-names = "default";
739 pinctrl-0 = <&console_pins_default>;
740 status = "okay";
741};
742
743&main_uart1 {
744 /* Main UART1 is used by TIFS firmware */
745 status = "reserved";
746};
747
748&main_uart5 {
749 pinctrl-names = "default";
750 pinctrl-0 = <&mikrobus_uart_pins_default>;
751 status = "okay";
752};
753
754&main_uart6 {
755 pinctrl-names = "default";
756 pinctrl-0 = <&wifi_debug_uart_pins_default>;
757 status = "okay";
758};