arm: dts: Add k3-am625-beagleplay
BeagleBoard.org BeaglePlay is an easy to use, affordable open source hardware single board computer based on the Texas Instruments AM625 SoC that allows you to create connected devices that work even at long distances using IEEE 802.15.4g LR-WPAN and IEEE 802.3cg 10Base-T1L. Expansion is provided over open standards based mikroBUS, Grove and QWIIC headers among other interfaces. This board family can be identified by the 24c32 eeprom: [aa 55 33 ee 01 37 00 10 2e 00 42 45 41 47 4c 45 |.U3..7....BEAGLE|] [50 4c 41 59 2d 41 30 2d 00 00 30 32 30 30 37 38 |PLAY-A0-..020078|] https://beagleplay.org/ https://git.beagleboard.org/beagleplay/beagleplay Signed-off-by: Robert Nelson <robertcnelson@gmail.com> Co-developed-by: Nishanth Menon <nm@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com>
This commit is contained in:
		
							parent
							
								
									ece9718848
								
							
						
					
					
						commit
						0cf8a60933
					
				|  | @ -1282,7 +1282,10 @@ dtb-$(CONFIG_SOC_K3_AM642) += k3-am642-evm.dtb \ | |||
| dtb-$(CONFIG_SOC_K3_AM625) += k3-am625-sk.dtb \
 | ||||
| 			      k3-am625-r5-sk.dtb \
 | ||||
| 			      k3-am62-lp-sk.dtb \
 | ||||
| 			      k3-am62-r5-lp-sk.dtb | ||||
| 			      k3-am62-r5-lp-sk.dtb \
 | ||||
| 			      k3-am625-beagleplay.dtb \
 | ||||
| 			      k3-am625-r5-beagleplay.dtb | ||||
| 
 | ||||
| 
 | ||||
| dtb-$(CONFIG_SOC_K3_AM625) += k3-am62a7-sk.dtb \
 | ||||
| 			      k3-am62a7-r5-sk.dtb | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -0,0 +1,221 @@ | |||
| // SPDX-License-Identifier: GPL-2.0 | ||||
| /* | ||||
|  * https://beagleboard.org/play | ||||
|  * | ||||
|  * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ | ||||
|  * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation | ||||
|  */ | ||||
| 
 | ||||
| #include "k3-am625-sk-binman.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	chosen { | ||||
| 		stdout-path = "serial2:115200n8"; | ||||
| 		tick-timer = &timer1; | ||||
| 	}; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		mmc0 = &sdhci0; | ||||
| 		mmc1 = &sdhci1; | ||||
| 		i2c0 = &main_i2c0; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory@80000000 { | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &cbass_main { | ||||
| 	bootph-pre-ram; | ||||
| 
 | ||||
| 	timer1: timer@2400000 { | ||||
| 		compatible = "ti,omap5430-timer"; | ||||
| 		reg = <0x00 0x2400000 0x00 0x80>; | ||||
| 		ti,timer-alwon; | ||||
| 		clock-frequency = <25000000>; | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &dmss { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &main_bcdma { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &main_pktdma { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &secure_proxy_main { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &k3_pds { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &k3_clks { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &k3_reset { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &wkup_conf { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &chipid { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &wkup_uart0 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &main_pmx0 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &main_uart0 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &console_pins_default { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &cbass_mcu { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &cbass_wakeup { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &mcu_pmx0 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &main_i2c0 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &local_i2c_pins_default { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &gpio0_pins_default { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &main_gpio0 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &main_gpio1 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &mdio0_pins_default { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &rgmii1_pins_default { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &spe_pins_default { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &gbe_pmx_obsclk { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &cpsw3g { | ||||
| 	reg = <0x0 0x8000000 0x0 0x200000>, | ||||
| 	      <0x0 0x43000200 0x0 0x8>; | ||||
| 	reg-names = "cpsw_nuss", "mac_efuse"; | ||||
| 	/delete-property/ ranges; | ||||
| 	bootph-pre-ram; | ||||
| 
 | ||||
| 	cpsw-phy-sel@04044 { | ||||
| 		compatible = "ti,am64-phy-gmii-sel"; | ||||
| 		reg = <0x0 0x00104044 0x0 0x8>; | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &cpsw_port1 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &cpsw_port2 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
| 
 | ||||
| &sdhci0 { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &sdhci1 { | ||||
| 	bootph-pre-ram; | ||||
| 	sdhci-caps-mask = <0x00000007 0x00000000>; | ||||
| 	/delete-property/ cd-gpios; | ||||
| 	/delete-property/ cd-debounce-delay-ms; | ||||
| 	/delete-property/ ti,fails-without-test-cd; | ||||
| 	/delete-property/ no-1-8-v; | ||||
| }; | ||||
| 
 | ||||
| &emmc_pins_default { | ||||
| 	bootph-pre-ram; | ||||
| }; | ||||
| 
 | ||||
| &sd_pins_default { | ||||
| 	bootph-pre-ram; | ||||
| 	pinctrl-single,pins = < | ||||
| 		AM62X_IOPAD(0x023c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ | ||||
| 		AM62X_IOPAD(0x0234, PIN_INPUT, 0) /* (B22) MMC1_CLK */ | ||||
| 		AM62X_IOPAD(0x0230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ | ||||
| 		AM62X_IOPAD(0x022c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */ | ||||
| 		AM62X_IOPAD(0x0228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */ | ||||
| 		AM62X_IOPAD(0x0224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */ | ||||
| 		AM62X_IOPAD(0x0240, PIN_INPUT, 0) /* (D17) MMC1_SDCD.MMC1_SDCD */ | ||||
| 	>; | ||||
| }; | ||||
| 
 | ||||
| &dmsc { | ||||
| 	bootph-pre-ram; | ||||
| 	k3_sysreset: sysreset-controller { | ||||
| 		compatible = "ti,sci-sysreset"; | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| #ifdef CONFIG_TARGET_AM625_A53_EVM | ||||
| 
 | ||||
| #define SPL_AM625_BEAGLEPLAY_DTB "spl/dts/k3-am625-beagleplay.dtb" | ||||
| #define AM625_BEAGLEPLAY_DTB "arch/arm/dts/k3-am625-beagleplay.dtb" | ||||
| 
 | ||||
| &spl_am625_sk_dtb { | ||||
| 	filename = SPL_AM625_BEAGLEPLAY_DTB; | ||||
| }; | ||||
| 
 | ||||
| &am625_sk_dtb { | ||||
| 	filename = AM625_BEAGLEPLAY_DTB; | ||||
| }; | ||||
| 
 | ||||
| &spl_am625_sk_dtb_unsigned { | ||||
| 	filename = SPL_AM625_BEAGLEPLAY_DTB; | ||||
| }; | ||||
| 
 | ||||
| &am625_sk_dtb_unsigned { | ||||
| 	filename = AM625_BEAGLEPLAY_DTB; | ||||
| }; | ||||
| 
 | ||||
| #endif | ||||
|  | @ -0,0 +1,758 @@ | |||
| // SPDX-License-Identifier: GPL-2.0 | ||||
| /* | ||||
|  * https://beagleplay.org/ | ||||
|  * | ||||
|  * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ | ||||
|  * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation | ||||
|  */ | ||||
| 
 | ||||
| /dts-v1/; | ||||
| 
 | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include "k3-am625.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	compatible =  "beagle,am625-beagleplay", "ti,am625"; | ||||
| 	model = "BeagleBoard.org BeaglePlay"; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		ethernet0 = &cpsw_port1; | ||||
| 		ethernet1 = &cpsw_port2; | ||||
| 		gpio0 = &main_gpio0; | ||||
| 		gpio1 = &main_gpio1; | ||||
| 		gpio2 = &mcu_gpio0; | ||||
| 		i2c0 = &main_i2c0; | ||||
| 		i2c1 = &main_i2c1; | ||||
| 		i2c2 = &main_i2c2; | ||||
| 		i2c3 = &main_i2c3; | ||||
| 		i2c4 = &wkup_i2c0; | ||||
| 		i2c5 = &mcu_i2c0; | ||||
| 		mdio-gpio0 = &mdio0; | ||||
| 		mmc0 = &sdhci0; | ||||
| 		mmc1 = &sdhci1; | ||||
| 		mmc2 = &sdhci2; | ||||
| 		rtc0 = &rtc; | ||||
| 		serial0 = &main_uart5; | ||||
| 		serial1 = &main_uart6; | ||||
| 		serial2 = &main_uart0; | ||||
| 		usb0 = &usb0; | ||||
| 		usb1 = &usb1; | ||||
| 	}; | ||||
| 
 | ||||
| 	chosen { | ||||
| 		stdout-path = "serial2:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory@80000000 { | ||||
| 		device_type = "memory"; | ||||
| 		/* 2G RAM */ | ||||
| 		reg = <0x00000000 0x80000000 0x00000000 0x80000000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	reserved-memory { | ||||
| 		#address-cells = <2>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
| 
 | ||||
| 		ramoops: ramoops@9ca00000 { | ||||
| 			compatible = "ramoops"; | ||||
| 			reg = <0x00 0x9c700000 0x00 0x00100000>; | ||||
| 			record-size = <0x8000>; | ||||
| 			console-size = <0x8000>; | ||||
| 			ftrace-size = <0x00>; | ||||
| 			pmsg-size = <0x8000>; | ||||
| 		}; | ||||
| 
 | ||||
| 		secure_tfa_ddr: tfa@9e780000 { | ||||
| 			reg = <0x00 0x9e780000 0x00 0x80000>; | ||||
| 			no-map; | ||||
| 		}; | ||||
| 
 | ||||
| 		secure_ddr: optee@9e800000 { | ||||
| 			reg = <0x00 0x9e800000 0x00 0x01800000>; | ||||
| 			no-map; | ||||
| 		}; | ||||
| 
 | ||||
| 		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 { | ||||
| 			compatible = "shared-dma-pool"; | ||||
| 			reg = <0x00 0x9db00000 0x00 0xc00000>; | ||||
| 			no-map; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	vsys_5v0: regulator-1 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		regulator-name = "vsys_5v0"; | ||||
| 		regulator-min-microvolt = <5000000>; | ||||
| 		regulator-max-microvolt = <5000000>; | ||||
| 		regulator-always-on; | ||||
| 		regulator-boot-on; | ||||
| 	}; | ||||
| 
 | ||||
| 	vdd_3v3: regulator-2 { | ||||
| 		/* output of TLV62595DMQR-U12 */ | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		regulator-name = "vdd_3v3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
| 		vin-supply = <&vsys_5v0>; | ||||
| 		regulator-always-on; | ||||
| 		regulator-boot-on; | ||||
| 	}; | ||||
| 
 | ||||
| 	wlan_en: regulator-3 { | ||||
| 		/* OUTPUT of SN74AVC2T244DQMR */ | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		regulator-name = "wlan_en"; | ||||
| 		regulator-min-microvolt = <1800000>; | ||||
| 		regulator-max-microvolt = <1800000>; | ||||
| 		enable-active-high; | ||||
| 		regulator-always-on; | ||||
| 		vin-supply = <&vdd_3v3>; | ||||
| 		gpio = <&main_gpio0 38 GPIO_ACTIVE_HIGH>; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&wifi_en_pins_default>; | ||||
| 	}; | ||||
| 
 | ||||
| 	vdd_3v3_sd: regulator-4 { | ||||
| 		/* output of TPS22918DBVR-U21 */ | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&vdd_3v3_sd_pins_default>; | ||||
| 
 | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		regulator-name = "vdd_3v3_sd"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
| 		enable-active-high; | ||||
| 		regulator-always-on; | ||||
| 		vin-supply = <&vdd_3v3>; | ||||
| 		gpio = <&main_gpio1 19 GPIO_ACTIVE_HIGH>; | ||||
| 	}; | ||||
| 
 | ||||
| 	vdd_sd_dv: regulator-5 { | ||||
| 		compatible = "regulator-gpio"; | ||||
| 		regulator-name = "sd_hs200_switch"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&vdd_sd_dv_pins_default>; | ||||
| 		regulator-min-microvolt = <1800000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
| 		regulator-boot-on; | ||||
| 		vin-supply = <&ldo1_reg>; | ||||
| 		gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>; | ||||
| 		states = <1800000 0x0>, | ||||
| 			 <3300000 0x1>; | ||||
| 	}; | ||||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 
 | ||||
| 		led-0 { | ||||
| 			gpios = <&main_gpio0 3 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "heartbeat"; | ||||
| 			function = LED_FUNCTION_HEARTBEAT; | ||||
| 			default-state = "off"; | ||||
| 		}; | ||||
| 
 | ||||
| 		led-1 { | ||||
| 			gpios = <&main_gpio0 4 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "disk-activity"; | ||||
| 			function = LED_FUNCTION_DISK_ACTIVITY; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
| 
 | ||||
| 		led-2 { | ||||
| 			gpios = <&main_gpio0 5 GPIO_ACTIVE_HIGH>; | ||||
| 			function = LED_FUNCTION_CPU; | ||||
| 		}; | ||||
| 
 | ||||
| 		led-3 { | ||||
| 			gpios = <&main_gpio0 6 GPIO_ACTIVE_HIGH>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 		}; | ||||
| 
 | ||||
| 		led-4 { | ||||
| 			gpios = <&main_gpio0 9 GPIO_ACTIVE_HIGH>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	gpio_keys: gpio-keys { | ||||
| 		compatible = "gpio-keys"; | ||||
| 		autorepeat; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&usr_button_pins_default>; | ||||
| 
 | ||||
| 		usr: button-usr { | ||||
| 			label = "User Key"; | ||||
| 			linux,code = <BTN_0>; | ||||
| 			gpios = <&main_gpio0 18 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 
 | ||||
| 	}; | ||||
| 
 | ||||
| 	/* Workaround for errata i2329 - just use mdio bitbang */ | ||||
| 	mdio0: mdio { | ||||
| 		compatible = "virtual,mdio-gpio"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&mdio0_pins_default>; | ||||
| 		gpios = <&main_gpio0 86 GPIO_ACTIVE_HIGH>, /* MDC */ | ||||
| 			<&main_gpio0 85 GPIO_ACTIVE_HIGH>; /* MDIO */ | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 
 | ||||
| 		cpsw3g_phy0: ethernet-phy@0 { | ||||
| 			reg = <0>; | ||||
| 		}; | ||||
| 
 | ||||
| 		cpsw3g_phy1: ethernet-phy@1 { | ||||
| 			reg = <1>; | ||||
| 			reset-gpios = <&main_gpio1 5 GPIO_ACTIVE_LOW>; | ||||
| 			reset-assert-us = <25>; | ||||
| 			reset-deassert-us = <60000>; /* T2 */ | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &main_pmx0 { | ||||
| 	gpio0_pins_default: gpio0-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x0004, PIN_INPUT, 7) /* (G25) OSPI0_LBCLKO.GPIO0_1 */ | ||||
| 			AM62X_IOPAD(0x0008, PIN_INPUT, 7) /* (J24) OSPI0_DQS.GPIO0_2 */ | ||||
| 			AM62X_IOPAD(0x000c, PIN_INPUT, 7) /* (E25) OSPI0_D0.GPIO0_3 */ | ||||
| 			AM62X_IOPAD(0x0010, PIN_INPUT, 7) /* (G24) OSPI0_D1.GPIO0_4 */ | ||||
| 			AM62X_IOPAD(0x0014, PIN_INPUT, 7) /* (F25) OSPI0_D2.GPIO0_5 */ | ||||
| 			AM62X_IOPAD(0x0018, PIN_INPUT, 7) /* (F24) OSPI0_D3.GPIO0_6 */ | ||||
| 			AM62X_IOPAD(0x0024, PIN_INPUT, 7) /* (H25) OSPI0_D6.GPIO0_9 */ | ||||
| 			AM62X_IOPAD(0x0028, PIN_INPUT, 7) /* (J22) OSPI0_D7.GPIO0_10 */ | ||||
| 			AM62X_IOPAD(0x002c, PIN_INPUT, 7) /* (F23) OSPI0_CSn0.GPIO0_11 */ | ||||
| 			AM62X_IOPAD(0x0030, PIN_INPUT, 7) /* (G21) OSPI0_CSn1.GPIO0_12 */ | ||||
| 			AM62X_IOPAD(0x0034, PIN_INPUT, 7) /* (H21) OSPI0_CSn2.GPIO0_13 */ | ||||
| 			AM62X_IOPAD(0x0038, PIN_INPUT, 7) /* (E24) OSPI0_CSn3.GPIO0_14 */ | ||||
| 			AM62X_IOPAD(0x00a4, PIN_INPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */ | ||||
| 			AM62X_IOPAD(0x00ac, PIN_INPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	vdd_sd_dv_pins_default: vdd-sd-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x0244, PIN_OUTPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	usr_button_pins_default: usr-button-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x0048, PIN_INPUT, 7) /* (N25) GPMC0_AD3.GPIO0_18 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	grove_pins_default: grove-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ | ||||
| 			AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	local_i2c_pins_default: local-i2c-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */ | ||||
| 			AM62X_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	i2c2_1v8_pins_default: i2c2-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ | ||||
| 			AM62X_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	mdio0_pins_default: mdio0-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x0160, PIN_OUTPUT, 7) /* (AD24) MDIO0_MDC.GPIO0_86 */ | ||||
| 			AM62X_IOPAD(0x015c, PIN_INPUT, 7) /* (AB22) MDIO0_MDIO.GPIO0_85 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	rgmii1_pins_default: rgmii1-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x014c, PIN_INPUT, 0) /* (AB17) RGMII1_RD0 */ | ||||
| 			AM62X_IOPAD(0x0150, PIN_INPUT, 0) /* (AC17) RGMII1_RD1 */ | ||||
| 			AM62X_IOPAD(0x0154, PIN_INPUT, 0) /* (AB16) RGMII1_RD2 */ | ||||
| 			AM62X_IOPAD(0x0158, PIN_INPUT, 0) /* (AA15) RGMII1_RD3 */ | ||||
| 			AM62X_IOPAD(0x0148, PIN_INPUT, 0) /* (AD17) RGMII1_RXC */ | ||||
| 			AM62X_IOPAD(0x0144, PIN_INPUT, 0) /* (AE17) RGMII1_RX_CTL */ | ||||
| 			AM62X_IOPAD(0x0134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0 */ | ||||
| 			AM62X_IOPAD(0x0138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1 */ | ||||
| 			AM62X_IOPAD(0x013c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2 */ | ||||
| 			AM62X_IOPAD(0x0140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3 */ | ||||
| 			AM62X_IOPAD(0x0130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC */ | ||||
| 			AM62X_IOPAD(0x012c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	emmc_pins_default: emmc-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x0220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */ | ||||
| 			AM62X_IOPAD(0x0218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */ | ||||
| 			AM62X_IOPAD(0x0214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */ | ||||
| 			AM62X_IOPAD(0x0210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */ | ||||
| 			AM62X_IOPAD(0x020c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */ | ||||
| 			AM62X_IOPAD(0x0208, PIN_INPUT, 0) /* (Y4) MMC0_DAT3 */ | ||||
| 			AM62X_IOPAD(0x0204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */ | ||||
| 			AM62X_IOPAD(0x0200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */ | ||||
| 			AM62X_IOPAD(0x01fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */ | ||||
| 			AM62X_IOPAD(0x01f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	vdd_3v3_sd_pins_default: vdd-3v3-sd-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x01c4, PIN_INPUT, 7) /* (B14) SPI0_D1_GPIO1_19 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	sd_pins_default: sd-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x023c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ | ||||
| 			AM62X_IOPAD(0x0234, PIN_INPUT, 0) /* (B22) MMC1_CLK */ | ||||
| 			AM62X_IOPAD(0x0230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ | ||||
| 			AM62X_IOPAD(0x022c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */ | ||||
| 			AM62X_IOPAD(0x0228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */ | ||||
| 			AM62X_IOPAD(0x0224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */ | ||||
| 			AM62X_IOPAD(0x0240, PIN_INPUT, 7) /* (D17) MMC1_SDCD.GPIO1_48 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	wifi_pins_default: wifi-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x0120, PIN_INPUT, 0) /* (C24) MMC2_CMD */ | ||||
| 			AM62X_IOPAD(0x0118, PIN_INPUT, 0) /* (D25) MMC2_CLK */ | ||||
| 			AM62X_IOPAD(0x0114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */ | ||||
| 			AM62X_IOPAD(0x0110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */ | ||||
| 			AM62X_IOPAD(0x010c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */ | ||||
| 			AM62X_IOPAD(0x0108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */ | ||||
| 			AM62X_IOPAD(0x0124, PIN_INPUT, 0) /* (A23) MMC2_SDCD */ | ||||
| 			AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	wifi_en_pins_default: wifi-en-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x009c, PIN_OUTPUT, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	wifi_wlirq_pins_default: wifi-wlirq-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x00a8, PIN_INPUT, 7) /* (M21) GPMC0_CSn0.GPIO0_41 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	spe_pins_default: spe-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x0168, PIN_INPUT, 1) /* (AE21) RGMII2_TXC.RMII2_CRS_DV */ | ||||
| 			AM62X_IOPAD(0x0180, PIN_INPUT, 1) /* (AD23) RGMII2_RXC.RMII2_REF_CLK */ | ||||
| 			AM62X_IOPAD(0x0184, PIN_INPUT, 1) /* (AE23) RGMII2_RD0.RMII2_RXD0 */ | ||||
| 			AM62X_IOPAD(0x0188, PIN_INPUT, 1) /* (AB20) RGMII2_RD1.RMII2_RXD1 */ | ||||
| 			AM62X_IOPAD(0x017c, PIN_INPUT, 1) /* (AD22) RGMII2_RX_CTL.RMII2_RX_ER */ | ||||
| 			AM62X_IOPAD(0x016c, PIN_INPUT, 1) /* (Y18) RGMII2_TD0.RMII2_TXD0 */ | ||||
| 			AM62X_IOPAD(0x0170, PIN_INPUT, 1) /* (AA18) RGMII2_TD1.RMII2_TXD1 */ | ||||
| 			AM62X_IOPAD(0x0164, PIN_INPUT, 1) /* (AA19) RGMII2_TX_CTL.RMII2_TX_EN */ | ||||
| 			AM62X_IOPAD(0x018c, PIN_OUTPUT, 7) /* (AC21) RGMII2_RD2.GPIO1_5 */ | ||||
| 			AM62X_IOPAD(0x0190, PIN_INPUT, 7) /* (AE22) RGMII2_RD3.GPIO1_6 */ | ||||
| 			AM62X_IOPAD(0x01f0, PIN_OUTPUT, 5) /* (A18) EXT_REFCLK1.CLKOUT0 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	mikrobus_i2c_pins_default: mikrobus-i2c-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x01d0, PIN_INPUT_PULLUP, 2) /* (A15) UART0_CTSn.I2C3_SCL */ | ||||
| 			AM62X_IOPAD(0x01d4, PIN_INPUT_PULLUP, 2) /* (B15) UART0_RTSn.I2C3_SDA */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	mikrobus_uart_pins_default: mikrobus-uart-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x01d8, PIN_INPUT, 1) /* (C15) MCAN0_TX.UART5_RXD */ | ||||
| 			AM62X_IOPAD(0x01dc, PIN_OUTPUT, 1) /* (E15) MCAN0_RX.UART5_TXD */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	mikrobus_spi_pins_default: mikrobus-spi-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x01b0, PIN_INPUT, 1) /* (A20) MCASP0_ACLKR.SPI2_CLK */ | ||||
| 			AM62X_IOPAD(0x01ac, PIN_INPUT, 1) /* (E19) MCASP0_AFSR.SPI2_CS0 */ | ||||
| 			AM62X_IOPAD(0x0194, PIN_INPUT, 1) /* (B19) MCASP0_AXR3.SPI2_D0 */ | ||||
| 			AM62X_IOPAD(0x0198, PIN_INPUT, 1) /* (A19) MCASP0_AXR2.SPI2_D1 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	mikrobus_gpio_pins_default: mikrobus-gpio-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x019c, PIN_INPUT, 7) /* (B18) MCASP0_AXR1.GPIO1_9 */ | ||||
| 			AM62X_IOPAD(0x01a0, PIN_INPUT, 7) /* (E18) MCASP0_AXR0.GPIO1_10 */ | ||||
| 			AM62X_IOPAD(0x01a8, PIN_INPUT, 7) /* (D20) MCASP0_AFSX.GPIO1_12 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	console_pins_default: console-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x01c8, PIN_INPUT, 0) /* (D14) UART0_RXD */ | ||||
| 			AM62X_IOPAD(0x01cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	wifi_debug_uart_pins_default: wifi-debug-uart-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x001c, PIN_INPUT, 3) /* (J23) OSPI0_D4.UART6_RXD */ | ||||
| 			AM62X_IOPAD(0x0020, PIN_OUTPUT, 3) /* (J25) OSPI0_D5.UART6_TXD */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb1_pins_default: usb1-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x0258, PIN_INPUT, 0) /* (F18) USB1_DRVVBUS */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	pmic_irq_pins_default: pmic-irq-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_IOPAD(0x01f4, PIN_INPUT_PULLUP, 0) /* (D16) EXTINTn */ | ||||
| 		>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &mcu_pmx0 { | ||||
| 	i2c_qwiic_pins_default: i2c-qwiic-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0) /* (A8) MCU_I2C0_SCL */ | ||||
| 			AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	gbe_pmx_obsclk: gbe-pmx-clk-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_MCU_IOPAD(0x0004, PIN_OUTPUT, 1) /* (B8) MCU_SPI0_CS1.MCU_OBSCLK0 */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	i2c_csi_pins_default: i2c-csi-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_MCU_IOPAD(0x004c, PIN_INPUT_PULLUP, 0) /* (B9) WKUP_I2C0_SCL */ | ||||
| 			AM62X_MCU_IOPAD(0x0050, PIN_INPUT_PULLUP, 0) /* (A9) WKUP_I2C0_SDA */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
| 	wifi_32k_clk: mcu-clk-out-pins-default { | ||||
| 		pinctrl-single,pins = < | ||||
| 			AM62X_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (A12) WKUP_CLKOUT0 */ | ||||
| 		>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &a53_opp_table { | ||||
| 	/* Requires VDD_CORE to be at 0.85V */ | ||||
| 	opp-1400000000 { | ||||
| 		opp-hz = /bits/ 64 <1400000000>; | ||||
| 		opp-supported-hw = <0x01 0x0004>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &wkup_i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c_csi_pins_default>; | ||||
| 	clock-frequency = <400000>; | ||||
| 	/* Enable with overlay for camera sensor */ | ||||
| }; | ||||
| 
 | ||||
| &mcu_i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c_qwiic_pins_default>; | ||||
| 	clock-frequency = <100000>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &usbss0 { | ||||
| 	ti,vbus-divider; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &usb0 { | ||||
| 	dr_mode = "peripheral"; | ||||
| }; | ||||
| 
 | ||||
| &usbss1 { | ||||
| 	ti,vbus-divider; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &usb1 { | ||||
| 	dr_mode = "host"; | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&usb1_pins_default>; | ||||
| }; | ||||
| 
 | ||||
| &cpsw3g { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&rgmii1_pins_default>, <&spe_pins_default>, | ||||
| 		    <&gbe_pmx_obsclk>; | ||||
| 	assigned-clocks = <&k3_clks 157 70>, <&k3_clks 157 20>; | ||||
| 	assigned-clock-parents = <&k3_clks 157 72>, <&k3_clks 157 22>; | ||||
| }; | ||||
| 
 | ||||
| &cpsw_port1 { | ||||
| 	phy-mode = "rgmii-rxid"; | ||||
| 	phy-handle = <&cpsw3g_phy0>; | ||||
| }; | ||||
| 
 | ||||
| &cpsw_port2 { | ||||
| 	phy-mode = "rmii"; | ||||
| 	phy-handle = <&cpsw3g_phy1>; | ||||
| }; | ||||
| 
 | ||||
| &cpsw3g_mdio { | ||||
| 	/* Workaround for errata i2329 - Use mdio bitbang */ | ||||
| 	status = "disabled"; | ||||
| }; | ||||
| 
 | ||||
| &main_gpio0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gpio0_pins_default>; | ||||
| 	gpio-line-names = "BL_EN_3V3", "SPE_PO_EN", "RTC_INT",	/* 0-2 */ | ||||
| 		"USR0", "USR1", "USR2", "USR3", "", "", "USR4",	/* 3-9 */ | ||||
| 		"EEPROM_WP",					/* 10 */ | ||||
| 		"CSI2_CAMERA_GPIO1", "CSI2_CAMERA_GPIO2",	/* 11-12 */ | ||||
| 		"CC1352P7_BOOT", "CC1352P7_RSTN", "", "", "",	/* 13-17 */ | ||||
| 		"USR_BUTTON", "", "", "", "", "", "", "", "",	/* 18-26 */ | ||||
| 		"", "", "", "", "", "", "", "", "", "HDMI_INT",	/* 27-36 */ | ||||
| 		"", "VDD_WLAN_EN", "", "", "WL_IRQ", "GBE_INTN",/* 37-42 */ | ||||
| 		"", "", "", "", "", "", "", "", "", "", "", "",	/* 43-54 */ | ||||
| 		"", "", "", "", "", "", "", "", "", "", "", "", /* 55-66 */ | ||||
| 		"", "", "", "", "", "", "", "", "", "", "", "", /* 67-78 */ | ||||
| 		"", "", "", "", "", "",				/* 79-84 */ | ||||
| 		"BITBANG_MDIO_DATA", "BITBANG_MDIO_CLK",	/* 85-86 */ | ||||
| 		"", "", "", "", "";				/* 87-91 */ | ||||
| }; | ||||
| 
 | ||||
| &main_gpio1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mikrobus_gpio_pins_default>; | ||||
| 	gpio-line-names = "", "", "", "", "",			/* 0-4 */ | ||||
| 		"SPE_RSTN", "SPE_INTN", "MIKROBUS_GPIO1_7",	/* 5-7 */ | ||||
| 		"MIKROBUS_GPIO1_8", "MIKROBUS_GPIO1_9",		/* 8-9 */ | ||||
| 		"MIKROBUS_GPIO1_10", "MIKROBUS_GPIO1_11",	/* 10-11 */ | ||||
| 		"MIKROBUS_GPIO1_12", "MIKROBUS_W1_GPIO0",	/* 12-13 */ | ||||
| 		"MIKROBUS_GPIO1_14",				/* 14 */ | ||||
| 		"", "", "", "", "VDD_3V3_SD", "", "",		/* 15-21 */ | ||||
| 		"MIKROBUS_GPIO1_22", "MIKROBUS_GPIO1_23",	/* 22-23 */ | ||||
| 		"MIKROBUS_GPIO1_24", "MIKROBUS_GPIO1_25",	/* 24-25 */ | ||||
| 		"", "", "", "", "", "", "", "", "", "", "", "",	/* 26-37 */ | ||||
| 		"", "", "", "", "", "", "", "", "", "",		/* 38-47 */ | ||||
| 		"SD_CD", "SD_VOLT_SEL", "", "";			/* 48-51 */ | ||||
| }; | ||||
| 
 | ||||
| &main_i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&local_i2c_pins_default>; | ||||
| 	clock-frequency = <400000>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	eeprom@50 { | ||||
| 		compatible = "atmel,24c32"; | ||||
| 		reg = <0x50>; | ||||
| 	}; | ||||
| 
 | ||||
| 	rtc: rtc@68 { | ||||
| 		compatible = "ti,bq32000"; | ||||
| 		reg = <0x68>; | ||||
| 		interrupt-parent = <&main_gpio0>; | ||||
| 		interrupts = <2 IRQ_TYPE_EDGE_FALLING>; | ||||
| 	}; | ||||
| 
 | ||||
| 	tps65219: pmic@30 { | ||||
| 		compatible = "ti,tps65219"; | ||||
| 		reg = <0x30>; | ||||
| 		buck1-supply = <&vsys_5v0>; | ||||
| 		buck2-supply = <&vsys_5v0>; | ||||
| 		buck3-supply = <&vsys_5v0>; | ||||
| 		ldo1-supply = <&vdd_3v3>; | ||||
| 		ldo2-supply = <&buck2_reg>; | ||||
| 		ldo3-supply = <&vdd_3v3>; | ||||
| 		ldo4-supply = <&vdd_3v3>; | ||||
| 
 | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&pmic_irq_pins_default>; | ||||
| 		interrupt-parent = <&gic500>; | ||||
| 		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 		interrupt-controller; | ||||
| 		#interrupt-cells = <1>; | ||||
| 
 | ||||
| 		system-power-controller; | ||||
| 		ti,power-button; | ||||
| 
 | ||||
| 		regulators { | ||||
| 			buck1_reg: buck1 { | ||||
| 				regulator-name = "VDD_CORE"; | ||||
| 				regulator-min-microvolt = <850000>; | ||||
| 				regulator-max-microvolt = <850000>; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-always-on; | ||||
| 			}; | ||||
| 
 | ||||
| 			buck2_reg: buck2 { | ||||
| 				regulator-name = "VDD_1V8"; | ||||
| 				regulator-min-microvolt = <1800000>; | ||||
| 				regulator-max-microvolt = <1800000>; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-always-on; | ||||
| 			}; | ||||
| 
 | ||||
| 			buck3_reg: buck3 { | ||||
| 				regulator-name = "VDD_1V2"; | ||||
| 				regulator-min-microvolt = <1200000>; | ||||
| 				regulator-max-microvolt = <1200000>; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-always-on; | ||||
| 			}; | ||||
| 
 | ||||
| 			ldo1_reg: ldo1 { | ||||
| 				/* | ||||
| 				 * Regulator is left as is unused, vdd_sd | ||||
| 				 * is controlled via GPIO with bypass config | ||||
| 				 * as per the NVM configuration | ||||
| 				 */ | ||||
| 				regulator-name = "VDD_SD_3V3"; | ||||
| 				regulator-min-microvolt = <3300000>; | ||||
| 				regulator-max-microvolt = <3300000>; | ||||
| 				regulator-allow-bypass; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-always-on; | ||||
| 			}; | ||||
| 
 | ||||
| 			ldo2_reg: ldo2 { | ||||
| 				regulator-name = "VDDA_0V85"; | ||||
| 				regulator-min-microvolt = <850000>; | ||||
| 				regulator-max-microvolt = <850000>; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-always-on; | ||||
| 			}; | ||||
| 
 | ||||
| 			ldo3_reg: ldo3 { | ||||
| 				regulator-name = "VDDA_1V8"; | ||||
| 				regulator-min-microvolt = <1800000>; | ||||
| 				regulator-max-microvolt = <1800000>; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-always-on; | ||||
| 			}; | ||||
| 
 | ||||
| 			ldo4_reg: ldo4 { | ||||
| 				regulator-name = "VDD_2V5"; | ||||
| 				regulator-min-microvolt = <2500000>; | ||||
| 				regulator-max-microvolt = <2500000>; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-always-on; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &main_i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&grove_pins_default>; | ||||
| 	clock-frequency = <100000>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &main_i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_1v8_pins_default>; | ||||
| 	clock-frequency = <100000>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &main_i2c3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mikrobus_i2c_pins_default>; | ||||
| 	clock-frequency = <400000>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &main_spi2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mikrobus_spi_pins_default>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &sdhci0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&emmc_pins_default>; | ||||
| 	ti,driver-strength-ohm = <50>; | ||||
| 	disable-wp; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &sdhci1 { | ||||
| 	/* SD/MMC */ | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&sd_pins_default>; | ||||
| 
 | ||||
| 	vmmc-supply = <&vdd_3v3_sd>; | ||||
| 	vqmmc-supply = <&vdd_sd_dv>; | ||||
| 	ti,driver-strength-ohm = <50>; | ||||
| 	disable-wp; | ||||
| 	cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>; | ||||
| 	cd-debounce-delay-ms = <100>; | ||||
| 	ti,fails-without-test-cd; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &sdhci2 { | ||||
| 	vmmc-supply = <&wlan_en>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&wifi_pins_default>, <&wifi_32k_clk>; | ||||
| 	bus-width = <4>; | ||||
| 	non-removable; | ||||
| 	ti,fails-without-test-cd; | ||||
| 	cap-power-off-card; | ||||
| 	keep-power-in-suspend; | ||||
| 	ti,driver-strength-ohm = <50>; | ||||
| 	assigned-clocks = <&k3_clks 157 158>; | ||||
| 	assigned-clock-parents = <&k3_clks 157 160>; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	wlcore: wlcore@2 { | ||||
| 		compatible = "ti,wl1807"; | ||||
| 		reg = <2>; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&wifi_wlirq_pins_default>; | ||||
| 		interrupt-parent = <&main_gpio0>; | ||||
| 		interrupts = <41 IRQ_TYPE_EDGE_FALLING>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &main_uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&console_pins_default>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &main_uart1 { | ||||
| 	/* Main UART1 is used by TIFS firmware */ | ||||
| 	status = "reserved"; | ||||
| }; | ||||
| 
 | ||||
| &main_uart5 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mikrobus_uart_pins_default>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &main_uart6 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&wifi_debug_uart_pins_default>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -0,0 +1,113 @@ | |||
| // SPDX-License-Identifier: GPL-2.0 | ||||
| /* | ||||
|  * https://beagleboard.org/play | ||||
|  * | ||||
|  * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ | ||||
|  * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation | ||||
|  */ | ||||
| 
 | ||||
| #include "k3-am625-beagleplay.dts" | ||||
| #include "k3-am625-beagleplay-ddr4-1600MTs.dtsi" | ||||
| #include "k3-am62-ddr.dtsi" | ||||
| 
 | ||||
| #include "k3-am625-beagleplay-u-boot.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	aliases { | ||||
| 		remoteproc0 = &sysctrler; | ||||
| 		remoteproc1 = &a53_0; | ||||
| 		serial0 = &wkup_uart0; | ||||
| 		serial3 = &main_uart1; | ||||
| 		i2c0 = &main_i2c0; | ||||
| 	}; | ||||
| 
 | ||||
| 	chosen { | ||||
| 		stdout-path = "serial2:115200n8"; | ||||
| 		tick-timer = &timer1; | ||||
| 	}; | ||||
| 
 | ||||
| 	a53_0: a53@0 { | ||||
| 		compatible = "ti,am654-rproc"; | ||||
| 		reg = <0x00 0x00a90000 0x00 0x10>; | ||||
| 		power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>, | ||||
| 				<&k3_pds 135 TI_SCI_PD_EXCLUSIVE>; | ||||
| 		resets = <&k3_reset 135 0>; | ||||
| 		clocks = <&k3_clks 61 0>; | ||||
| 		assigned-clocks = <&k3_clks 61 0>, <&k3_clks 135 0>; | ||||
| 		assigned-clock-parents = <&k3_clks 61 2>; | ||||
| 		assigned-clock-rates = <200000000>, <1250000000>; | ||||
| 		ti,sci = <&dmsc>; | ||||
| 		ti,sci-proc-id = <32>; | ||||
| 		ti,sci-host-id = <10>; | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| 
 | ||||
| 	dm_tifs: dm-tifs { | ||||
| 		compatible = "ti,j721e-dm-sci"; | ||||
| 		ti,host-id = <36>; | ||||
| 		ti,secure-host; | ||||
| 		mbox-names = "rx", "tx"; | ||||
| 		mboxes= <&secure_proxy_main 22>, | ||||
| 			<&secure_proxy_main 23>; | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &dmsc { | ||||
| 	mboxes= <&secure_proxy_main 0>, | ||||
| 		<&secure_proxy_main 1>, | ||||
| 		<&secure_proxy_main 0>; | ||||
| 	mbox-names = "rx", "tx", "notify"; | ||||
| 	ti,host-id = <35>; | ||||
| 	ti,secure-host; | ||||
| }; | ||||
| 
 | ||||
| &cbass_mcu { | ||||
| 	mcu_esm: esm@4100000 { | ||||
| 		compatible = "ti,j721e-esm"; | ||||
| 		reg = <0x0 0x4100000 0x0 0x1000>; | ||||
| 		ti,esm-pins = <0>, <1>, <2>, <85>; | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &cbass_main { | ||||
| 	bootph-pre-ram; | ||||
| 	sa3_secproxy: secproxy@44880000 { | ||||
| 		bootph-pre-ram; | ||||
| 		compatible = "ti,am654-secure-proxy"; | ||||
| 		#mbox-cells = <1>; | ||||
| 		reg-names = "rt", "scfg", "target_data"; | ||||
| 		reg = <0x00 0x44880000 0x00 0x20000>, | ||||
| 		      <0x0 0x44860000 0x0 0x20000>, | ||||
| 		      <0x0 0x43600000 0x0 0x10000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	sysctrler: sysctrler { | ||||
| 		compatible = "ti,am654-system-controller"; | ||||
| 		mboxes= <&secure_proxy_main 1>, <&secure_proxy_main 0>, <&sa3_secproxy 0>; | ||||
| 		mbox-names = "tx", "rx", "boot_notify"; | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| 
 | ||||
| 	main_esm: esm@420000 { | ||||
| 		compatible = "ti,j721e-esm"; | ||||
| 		reg = <0x0 0x420000 0x0 0x1000>; | ||||
| 		ti,esm-pins = <160>, <161>, <162>, <163>, <177>, <178>; | ||||
| 		bootph-pre-ram; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &main_pktdma { | ||||
| 	ti,sci = <&dm_tifs>; | ||||
| }; | ||||
| 
 | ||||
| &main_bcdma { | ||||
| 	ti,sci = <&dm_tifs>; | ||||
| }; | ||||
| 
 | ||||
| &main_gpio1 { | ||||
| 	/delete-property/ power-domains; | ||||
| 	/delete-property/ clocks; | ||||
| 	/delete-property/ power-domains; | ||||
| }; | ||||
		Loading…
	
		Reference in New Issue