mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 17:07:38 +00:00
Merge branch '2023-09-08-assorted-TI-platform-updates' into next
- Add TI BeaglePlay support, verdin-am62 cleanups, K3-J7 DDR timing updates, IOT2050 DTS update for watchdog
This commit is contained in:
commit
615471c643
37 changed files with 4725 additions and 340 deletions
|
@ -1337,6 +1337,8 @@ dtb-$(CONFIG_SOC_K3_AM642) += k3-am642-evm.dtb \
|
|||
|
||||
dtb-$(CONFIG_SOC_K3_AM625) += k3-am625-sk.dtb \
|
||||
k3-am625-r5-sk.dtb \
|
||||
k3-am625-beagleplay.dtb \
|
||||
k3-am625-r5-beagleplay.dtb \
|
||||
k3-am625-verdin-wifi-dev.dtb \
|
||||
k3-am625-verdin-r5.dtb
|
||||
|
||||
|
|
2195
arch/arm/dts/k3-am625-beagleplay-ddr4-1600MTs.dtsi
Normal file
2195
arch/arm/dts/k3-am625-beagleplay-ddr4-1600MTs.dtsi
Normal file
File diff suppressed because it is too large
Load diff
195
arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
Normal file
195
arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi
Normal file
|
@ -0,0 +1,195 @@
|
|||
// 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 {
|
||||
tick-timer = &main_timer0;
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
/* Keep the LEDs on by default to indicate life */
|
||||
leds {
|
||||
bootph-pre-ram;
|
||||
led-0 {
|
||||
default-state = "on";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
led-1 {
|
||||
default-state = "on";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
led-2 {
|
||||
default-state = "on";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
led-3 {
|
||||
default-state = "on";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
led-4 {
|
||||
default-state = "on";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cbass_main {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&main_timer0 {
|
||||
clock-frequency = <25000000>;
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&dmss {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&secure_proxy_main {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&dmsc {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&k3_pds {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&k3_clks {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&k3_reset {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&dmsc {
|
||||
bootph-pre-ram;
|
||||
k3_sysreset: sysreset-controller {
|
||||
compatible = "ti,sci-sysreset";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
};
|
||||
|
||||
&wkup_conf {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&chipid {
|
||||
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;
|
||||
};
|
||||
|
||||
&sdhci0 {
|
||||
/* EMMC */
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&emmc_pins_default {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&sd_pins_default {
|
||||
bootph-pre-ram;
|
||||
/* Force to use SDCD card detect pin */
|
||||
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 */
|
||||
>;
|
||||
};
|
||||
|
||||
&tps65219 {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&sdhci1 {
|
||||
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
|
758
arch/arm/dts/k3-am625-beagleplay.dts
Normal file
758
arch/arm/dts/k3-am625-beagleplay.dts
Normal file
|
@ -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-default-pins {
|
||||
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-default-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM62X_IOPAD(0x0244, PIN_OUTPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */
|
||||
>;
|
||||
};
|
||||
|
||||
usr_button_pins_default: usr-button-default-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM62X_IOPAD(0x0048, PIN_INPUT, 7) /* (N25) GPMC0_AD3.GPIO0_18 */
|
||||
>;
|
||||
};
|
||||
|
||||
grove_pins_default: grove-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM62X_IOPAD(0x01c4, PIN_INPUT, 7) /* (B14) SPI0_D1_GPIO1_19 */
|
||||
>;
|
||||
};
|
||||
|
||||
sd_pins_default: sd-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM62X_IOPAD(0x009c, PIN_OUTPUT, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */
|
||||
>;
|
||||
};
|
||||
|
||||
wifi_wlirq_pins_default: wifi-wlirq-default-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM62X_IOPAD(0x00a8, PIN_INPUT, 7) /* (M21) GPMC0_CSn0.GPIO0_41 */
|
||||
>;
|
||||
};
|
||||
|
||||
spe_pins_default: spe-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM62X_IOPAD(0x0258, PIN_INPUT, 0) /* (F18) USB1_DRVVBUS */
|
||||
>;
|
||||
};
|
||||
|
||||
pmic_irq_pins_default: pmic-irq-default-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM62X_IOPAD(0x01f4, PIN_INPUT_PULLUP, 0) /* (D16) EXTINTn */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&mcu_pmx0 {
|
||||
i2c_qwiic_pins_default: i2c-qwiic-default-pins {
|
||||
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-default-pins {
|
||||
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-default-pins {
|
||||
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";
|
||||
};
|
86
arch/arm/dts/k3-am625-r5-beagleplay.dts
Normal file
86
arch/arm/dts/k3-am625-r5-beagleplay.dts
Normal file
|
@ -0,0 +1,86 @@
|
|||
// 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;
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
&mcu_esm {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&secure_proxy_sa3 {
|
||||
bootph-pre-ram;
|
||||
/* We require this for boot handshake */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cbass_main {
|
||||
sysctrler: sysctrler {
|
||||
compatible = "ti,am654-system-controller";
|
||||
mboxes= <&secure_proxy_main 1>, <&secure_proxy_main 0>, <&secure_proxy_sa3 0>;
|
||||
mbox-names = "tx", "rx", "boot_notify";
|
||||
bootph-pre-ram;
|
||||
};
|
||||
};
|
||||
|
||||
&main_esm {
|
||||
bootph-pre-ram;
|
||||
};
|
||||
|
||||
&main_pktdma {
|
||||
ti,sci = <&dm_tifs>;
|
||||
};
|
||||
|
||||
&main_bcdma {
|
||||
ti,sci = <&dm_tifs>;
|
||||
};
|
|
@ -389,7 +389,7 @@
|
|||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
blob {
|
||||
spl_am625_sk_dtb_unsigned: blob {
|
||||
filename = SPL_AM625_SK_DTB;
|
||||
};
|
||||
};
|
||||
|
@ -438,7 +438,7 @@
|
|||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
blob {
|
||||
am625_sk_dtb_unsigned: blob {
|
||||
filename = AM625_SK_DTB;
|
||||
};
|
||||
hash {
|
||||
|
|
|
@ -64,6 +64,12 @@
|
|||
alignment = <0x1000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
/* To reserve the power-on(PON) reason for watchdog reset */
|
||||
wdt_reset_memory_region: wdt-memory@a2200000 {
|
||||
reg = <0x00 0xa2200000 0x00 0x00001000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
|
@ -720,6 +726,11 @@
|
|||
mboxes = <&mailbox0_cluster1 &mbox_mcu_r5fss0_core1>;
|
||||
};
|
||||
|
||||
&mcu_rti1 {
|
||||
memory-region = <&wdt_reset_memory_region>;
|
||||
|
||||
};
|
||||
|
||||
&icssg0_mdio {
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
|
||||
* This file was generated by the Jacinto7_DDRSS_RegConfigTool, Revision: 0.9.1
|
||||
* This file was generated on 07/17/2022
|
||||
*/
|
||||
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
|
||||
* This file was generated by the Jacinto7_DDRSS_RegConfigTool, Revision: 0.10.0
|
||||
* This file was generated on 04/12/2023
|
||||
*/
|
||||
|
||||
#define DDRSS_PLL_FHS_CNT 10
|
||||
#define DDRSS_PLL_FREQUENCY_0 27500000
|
||||
|
@ -54,11 +54,11 @@
|
|||
#define DDRSS_CTL_41_DATA 0x1B60008B
|
||||
#define DDRSS_CTL_42_DATA 0x2000422B
|
||||
#define DDRSS_CTL_43_DATA 0x000A0A09
|
||||
#define DDRSS_CTL_44_DATA 0x0400078A
|
||||
#define DDRSS_CTL_44_DATA 0x040003C5
|
||||
#define DDRSS_CTL_45_DATA 0x1E161104
|
||||
#define DDRSS_CTL_46_DATA 0x10012458
|
||||
#define DDRSS_CTL_46_DATA 0x1000922C
|
||||
#define DDRSS_CTL_47_DATA 0x1E161110
|
||||
#define DDRSS_CTL_48_DATA 0x10012458
|
||||
#define DDRSS_CTL_48_DATA 0x1000922C
|
||||
#define DDRSS_CTL_49_DATA 0x02030410
|
||||
#define DDRSS_CTL_50_DATA 0x2C040500
|
||||
#define DDRSS_CTL_51_DATA 0x082D2C2D
|
||||
|
@ -71,11 +71,11 @@
|
|||
#define DDRSS_CTL_58_DATA 0x00010100
|
||||
#define DDRSS_CTL_59_DATA 0x03010000
|
||||
#define DDRSS_CTL_60_DATA 0x00001008
|
||||
#define DDRSS_CTL_61_DATA 0x000000CE
|
||||
#define DDRSS_CTL_61_DATA 0x00000063
|
||||
#define DDRSS_CTL_62_DATA 0x00000256
|
||||
#define DDRSS_CTL_63_DATA 0x00002073
|
||||
#define DDRSS_CTL_63_DATA 0x00001035
|
||||
#define DDRSS_CTL_64_DATA 0x00000256
|
||||
#define DDRSS_CTL_65_DATA 0x00002073
|
||||
#define DDRSS_CTL_65_DATA 0x00001035
|
||||
#define DDRSS_CTL_66_DATA 0x00000005
|
||||
#define DDRSS_CTL_67_DATA 0x00040000
|
||||
#define DDRSS_CTL_68_DATA 0x00950012
|
||||
|
@ -112,27 +112,27 @@
|
|||
#define DDRSS_CTL_99_DATA 0x00000000
|
||||
#define DDRSS_CTL_100_DATA 0x00040005
|
||||
#define DDRSS_CTL_101_DATA 0x00000000
|
||||
#define DDRSS_CTL_102_DATA 0x00003380
|
||||
#define DDRSS_CTL_103_DATA 0x00003380
|
||||
#define DDRSS_CTL_104_DATA 0x00003380
|
||||
#define DDRSS_CTL_105_DATA 0x00003380
|
||||
#define DDRSS_CTL_106_DATA 0x00003380
|
||||
#define DDRSS_CTL_102_DATA 0x000018C0
|
||||
#define DDRSS_CTL_103_DATA 0x000018C0
|
||||
#define DDRSS_CTL_104_DATA 0x000018C0
|
||||
#define DDRSS_CTL_105_DATA 0x000018C0
|
||||
#define DDRSS_CTL_106_DATA 0x000018C0
|
||||
#define DDRSS_CTL_107_DATA 0x00000000
|
||||
#define DDRSS_CTL_108_DATA 0x000005A2
|
||||
#define DDRSS_CTL_109_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_110_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_111_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_112_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_113_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_108_DATA 0x000002B5
|
||||
#define DDRSS_CTL_109_DATA 0x00040D40
|
||||
#define DDRSS_CTL_110_DATA 0x00040D40
|
||||
#define DDRSS_CTL_111_DATA 0x00040D40
|
||||
#define DDRSS_CTL_112_DATA 0x00040D40
|
||||
#define DDRSS_CTL_113_DATA 0x00040D40
|
||||
#define DDRSS_CTL_114_DATA 0x00000000
|
||||
#define DDRSS_CTL_115_DATA 0x0000E325
|
||||
#define DDRSS_CTL_116_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_117_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_118_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_119_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_120_DATA 0x00081CC0
|
||||
#define DDRSS_CTL_115_DATA 0x00007173
|
||||
#define DDRSS_CTL_116_DATA 0x00040D40
|
||||
#define DDRSS_CTL_117_DATA 0x00040D40
|
||||
#define DDRSS_CTL_118_DATA 0x00040D40
|
||||
#define DDRSS_CTL_119_DATA 0x00040D40
|
||||
#define DDRSS_CTL_120_DATA 0x00040D40
|
||||
#define DDRSS_CTL_121_DATA 0x00000000
|
||||
#define DDRSS_CTL_122_DATA 0x0000E325
|
||||
#define DDRSS_CTL_122_DATA 0x00007173
|
||||
#define DDRSS_CTL_123_DATA 0x00000000
|
||||
#define DDRSS_CTL_124_DATA 0x00000000
|
||||
#define DDRSS_CTL_125_DATA 0x00000000
|
||||
|
@ -399,29 +399,29 @@
|
|||
#define DDRSS_CTL_386_DATA 0x00000000
|
||||
#define DDRSS_CTL_387_DATA 0x3A3A1B00
|
||||
#define DDRSS_CTL_388_DATA 0x000A0000
|
||||
#define DDRSS_CTL_389_DATA 0x0000019C
|
||||
#define DDRSS_CTL_389_DATA 0x000000C6
|
||||
#define DDRSS_CTL_390_DATA 0x00000200
|
||||
#define DDRSS_CTL_391_DATA 0x00000200
|
||||
#define DDRSS_CTL_392_DATA 0x00000200
|
||||
#define DDRSS_CTL_393_DATA 0x00000200
|
||||
#define DDRSS_CTL_394_DATA 0x000004D4
|
||||
#define DDRSS_CTL_395_DATA 0x00001018
|
||||
#define DDRSS_CTL_394_DATA 0x00000252
|
||||
#define DDRSS_CTL_395_DATA 0x000007BC
|
||||
#define DDRSS_CTL_396_DATA 0x00000204
|
||||
#define DDRSS_CTL_397_DATA 0x000040E6
|
||||
#define DDRSS_CTL_397_DATA 0x0000206A
|
||||
#define DDRSS_CTL_398_DATA 0x00000200
|
||||
#define DDRSS_CTL_399_DATA 0x00000200
|
||||
#define DDRSS_CTL_400_DATA 0x00000200
|
||||
#define DDRSS_CTL_401_DATA 0x00000200
|
||||
#define DDRSS_CTL_402_DATA 0x0000C2B2
|
||||
#define DDRSS_CTL_403_DATA 0x000288FC
|
||||
#define DDRSS_CTL_402_DATA 0x0000613E
|
||||
#define DDRSS_CTL_403_DATA 0x00014424
|
||||
#define DDRSS_CTL_404_DATA 0x00000E15
|
||||
#define DDRSS_CTL_405_DATA 0x000040E6
|
||||
#define DDRSS_CTL_405_DATA 0x0000206A
|
||||
#define DDRSS_CTL_406_DATA 0x00000200
|
||||
#define DDRSS_CTL_407_DATA 0x00000200
|
||||
#define DDRSS_CTL_408_DATA 0x00000200
|
||||
#define DDRSS_CTL_409_DATA 0x00000200
|
||||
#define DDRSS_CTL_410_DATA 0x0000C2B2
|
||||
#define DDRSS_CTL_411_DATA 0x000288FC
|
||||
#define DDRSS_CTL_410_DATA 0x0000613E
|
||||
#define DDRSS_CTL_411_DATA 0x00014424
|
||||
#define DDRSS_CTL_412_DATA 0x02020E15
|
||||
#define DDRSS_CTL_413_DATA 0x03030202
|
||||
#define DDRSS_CTL_414_DATA 0x00000022
|
||||
|
@ -640,11 +640,11 @@
|
|||
#define DDRSS_PI_167_DATA 0x02000200
|
||||
#define DDRSS_PI_168_DATA 0x48120C04
|
||||
#define DDRSS_PI_169_DATA 0x00104812
|
||||
#define DDRSS_PI_170_DATA 0x000000CE
|
||||
#define DDRSS_PI_170_DATA 0x00000063
|
||||
#define DDRSS_PI_171_DATA 0x00000256
|
||||
#define DDRSS_PI_172_DATA 0x00002073
|
||||
#define DDRSS_PI_172_DATA 0x00001035
|
||||
#define DDRSS_PI_173_DATA 0x00000256
|
||||
#define DDRSS_PI_174_DATA 0x04002073
|
||||
#define DDRSS_PI_174_DATA 0x04001035
|
||||
#define DDRSS_PI_175_DATA 0x01010404
|
||||
#define DDRSS_PI_176_DATA 0x00001501
|
||||
#define DDRSS_PI_177_DATA 0x00150015
|
||||
|
@ -689,22 +689,22 @@
|
|||
#define DDRSS_PI_216_DATA 0x3212005B
|
||||
#define DDRSS_PI_217_DATA 0x09000301
|
||||
#define DDRSS_PI_218_DATA 0x04010504
|
||||
#define DDRSS_PI_219_DATA 0x040006C9
|
||||
#define DDRSS_PI_219_DATA 0x04000364
|
||||
#define DDRSS_PI_220_DATA 0x0A032001
|
||||
#define DDRSS_PI_221_DATA 0x2C31110A
|
||||
#define DDRSS_PI_222_DATA 0x00002D1C
|
||||
#define DDRSS_PI_223_DATA 0x6001071C
|
||||
#define DDRSS_PI_223_DATA 0x6000838E
|
||||
#define DDRSS_PI_224_DATA 0x1E202008
|
||||
#define DDRSS_PI_225_DATA 0x2C311116
|
||||
#define DDRSS_PI_226_DATA 0x00002D1C
|
||||
#define DDRSS_PI_227_DATA 0x6001071C
|
||||
#define DDRSS_PI_227_DATA 0x6000838E
|
||||
#define DDRSS_PI_228_DATA 0x1E202008
|
||||
#define DDRSS_PI_229_DATA 0x00019C16
|
||||
#define DDRSS_PI_230_DATA 0x00001018
|
||||
#define DDRSS_PI_231_DATA 0x000040E6
|
||||
#define DDRSS_PI_232_DATA 0x000288FC
|
||||
#define DDRSS_PI_233_DATA 0x000040E6
|
||||
#define DDRSS_PI_234_DATA 0x000288FC
|
||||
#define DDRSS_PI_229_DATA 0x0000C616
|
||||
#define DDRSS_PI_230_DATA 0x000007BC
|
||||
#define DDRSS_PI_231_DATA 0x0000206A
|
||||
#define DDRSS_PI_232_DATA 0x00014424
|
||||
#define DDRSS_PI_233_DATA 0x0000206A
|
||||
#define DDRSS_PI_234_DATA 0x00014424
|
||||
#define DDRSS_PI_235_DATA 0x02660010
|
||||
#define DDRSS_PI_236_DATA 0x03030266
|
||||
#define DDRSS_PI_237_DATA 0x002AF803
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -80,8 +80,6 @@ static __maybe_unused void enable_mcu_esm_reset(void)
|
|||
writel(stat, CTRLMMR_MCU_RST_CTRL);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CPU_V7R)
|
||||
|
||||
/*
|
||||
* RTC Erratum i2327 Workaround for Silicon Revision 1
|
||||
*
|
||||
|
@ -94,7 +92,7 @@ static __maybe_unused void enable_mcu_esm_reset(void)
|
|||
*
|
||||
* https://www.ti.com/lit/er/sprz487c/sprz487c.pdf
|
||||
*/
|
||||
void rtc_erratumi2327_init(void)
|
||||
static __maybe_unused void rtc_erratumi2327_init(void)
|
||||
{
|
||||
u32 counter;
|
||||
|
||||
|
@ -112,19 +110,17 @@ void rtc_erratumi2327_init(void)
|
|||
*/
|
||||
writel(K3RTC_KICK0_UNLOCK_VALUE, REG_K3RTC_KICK0);
|
||||
writel(K3RTC_KICK1_UNLOCK_VALUE, REG_K3RTC_KICK1);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
void board_init_f(ulong dummy)
|
||||
{
|
||||
struct udevice *dev;
|
||||
int ret;
|
||||
|
||||
#if defined(CONFIG_CPU_V7R)
|
||||
setup_k3_mpu_regions();
|
||||
rtc_erratumi2327_init();
|
||||
#endif
|
||||
if (IS_ENABLED(CONFIG_CPU_V7R)) {
|
||||
setup_k3_mpu_regions();
|
||||
rtc_erratumi2327_init();
|
||||
}
|
||||
|
||||
/*
|
||||
* Cannot delay this further as there is a chance that
|
||||
|
@ -156,29 +152,28 @@ void board_init_f(ulong dummy)
|
|||
|
||||
preloader_console_init();
|
||||
|
||||
#ifdef CONFIG_K3_EARLY_CONS
|
||||
/*
|
||||
* Allow establishing an early console as required for example when
|
||||
* doing a UART-based boot. Note that this console may not "survive"
|
||||
* through a SYSFW PM-init step and will need a re-init in some way
|
||||
* due to changing module clock frequencies.
|
||||
*/
|
||||
early_console_init();
|
||||
#endif
|
||||
if (IS_ENABLED(CONFIG_K3_EARLY_CONS))
|
||||
early_console_init();
|
||||
|
||||
#if defined(CONFIG_K3_LOAD_SYSFW)
|
||||
/*
|
||||
* Configure and start up system controller firmware. Provide
|
||||
* the U-Boot console init function to the SYSFW post-PM configuration
|
||||
* callback hook, effectively switching on (or over) the console
|
||||
* output.
|
||||
*/
|
||||
ret = is_rom_loaded_sysfw(&bootdata);
|
||||
if (!ret)
|
||||
panic("ROM has not loaded TIFS firmware\n");
|
||||
if (IS_ENABLED(CONFIG_K3_LOAD_SYSFW)) {
|
||||
ret = is_rom_loaded_sysfw(&bootdata);
|
||||
if (!ret)
|
||||
panic("ROM has not loaded TIFS firmware\n");
|
||||
|
||||
k3_sysfw_loader(true, NULL, NULL);
|
||||
#endif
|
||||
k3_sysfw_loader(true, NULL, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Force probe of clk_k3 driver here to ensure basic default clock
|
||||
|
@ -209,11 +204,11 @@ void board_init_f(ulong dummy)
|
|||
enable_mcu_esm_reset();
|
||||
}
|
||||
|
||||
#if defined(CONFIG_K3_AM64_DDRSS)
|
||||
ret = uclass_get_device(UCLASS_RAM, 0, &dev);
|
||||
if (ret)
|
||||
panic("DRAM init failed: %d\n", ret);
|
||||
#endif
|
||||
if (IS_ENABLED(CONFIG_K3_AM64_DDRSS)) {
|
||||
ret = uclass_get_device(UCLASS_RAM, 0, &dev);
|
||||
if (ret)
|
||||
panic("DRAM init failed: %d\n", ret);
|
||||
}
|
||||
spl_enable_dcache();
|
||||
}
|
||||
|
||||
|
@ -225,9 +220,15 @@ u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)
|
|||
u32 bootmode_cfg = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_MASK) >>
|
||||
MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_SHIFT;
|
||||
|
||||
|
||||
switch (bootmode) {
|
||||
case BOOT_DEVICE_EMMC:
|
||||
if (IS_ENABLED(CONFIG_SUPPORT_EMMC_BOOT)) {
|
||||
if (spl_mmc_emmc_boot_partition(mmc))
|
||||
return MMCSD_MODE_EMMCBOOT;
|
||||
return MMCSD_MODE_FS;
|
||||
}
|
||||
if (IS_ENABLED(CONFIG_SPL_FS_FAT) || IS_ENABLED(CONFIG_SPL_FS_EXT4))
|
||||
return MMCSD_MODE_FS;
|
||||
return MMCSD_MODE_EMMCBOOT;
|
||||
case BOOT_DEVICE_MMC:
|
||||
if (bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Jan Kiszka <jan.kiszka@siemens.com>
|
||||
*/
|
||||
|
||||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
|
||||
usb_pgood_delay=900
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/mmc.env>
|
||||
|
||||
default_device_tree=ti/k3-am62a7-sk.dtb
|
||||
|
|
|
@ -6,3 +6,10 @@ F: board/ti/am62x/
|
|||
F: include/configs/am62x_evm.h
|
||||
F: configs/am62x_evm_r5_defconfig
|
||||
F: configs/am62x_evm_a53_defconfig
|
||||
|
||||
BEAGLEPLAY BOARD
|
||||
M: Nishanth Menon <nm@ti.com>
|
||||
M: Robert Nelson <robertcnelson@gmail.com>
|
||||
M: Tom Rini <trini@konsulko.com>
|
||||
S: Maintained
|
||||
N: beagleplay
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/default_findfdt.env>
|
||||
#include <env/ti/mmc.env>
|
||||
|
||||
default_device_tree=ti/k3-am625-sk.dtb
|
||||
findfdt=
|
||||
setenv name_fdt ${default_device_tree};
|
||||
setenv fdtfile ${name_fdt}
|
||||
name_kern=Image
|
||||
console=ttyS2,115200n8
|
||||
args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
|
||||
${mtdparts}
|
||||
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
|
||||
|
||||
boot_targets=ti_mmc mmc0 mmc1 usb pxe dhcp
|
||||
boot=mmc
|
||||
mmcdev=1
|
||||
bootpart=1:2
|
||||
|
|
19
board/ti/am62x/beagleplay.env
Normal file
19
board/ti/am62x/beagleplay.env
Normal file
|
@ -0,0 +1,19 @@
|
|||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/default_findfdt.env>
|
||||
#include <env/ti/mmc.env>
|
||||
|
||||
name_kern=Image
|
||||
console=ttyS2,115200n8
|
||||
args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
|
||||
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
|
||||
set_led_state_fail_load= led led-0 off; led led-1 on;
|
||||
led led-2 off; led led-3 on; led led-4 off
|
||||
set_led_state_start_load=led led-0 on; led led-1 off;
|
||||
led led-2 on; led led-3 off; led led-4 on
|
||||
boot=mmc
|
||||
mmcdev=1
|
||||
bootpart=1:1
|
||||
bootdir=/boot
|
||||
boot_targets=mmc1 mmc0 usb pxe
|
||||
bootmeths=script extlinux efi pxe
|
||||
rd_spec=-
|
55
board/ti/am62x/beagleplay_a53.config
Normal file
55
board/ti/am62x/beagleplay_a53.config
Normal file
|
@ -0,0 +1,55 @@
|
|||
# Defconfig fragment to apply on top of am62x_evm_a53_defconfig
|
||||
|
||||
CONFIG_DEFAULT_DEVICE_TREE="k3-am625-beagleplay"
|
||||
CONFIG_OF_LIST="k3-am625-beagleplay"
|
||||
CONFIG_SPL_OF_LIST="k3-am625-beagleplay"
|
||||
CONFIG_BOOTCOMMAND="run set_led_state_start_load;run findfdt; run envboot; bootflow scan -lb;run set_led_state_fail_load"
|
||||
CONFIG_EXT4_WRITE=y
|
||||
CONFIG_LZO=y
|
||||
CONFIG_AUTOBOOT_KEYED=y
|
||||
CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
|
||||
CONFIG_AUTOBOOT_DELAY_STR="d"
|
||||
CONFIG_AUTOBOOT_STOP_STR=" "
|
||||
# Use the Beagleplay env file
|
||||
CONFIG_ENV_SOURCE_FILE="beagleplay"
|
||||
# Do not use emmc boot - we will use FS only
|
||||
CONFIG_SUPPORT_EMMC_BOOT=n
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
# CONFIG_SPL_MMC_IO_VOLTAGE is not set
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
# CONFIG_SPL_MMC_UHS_SUPPORT is not set
|
||||
CONFIG_MMC_HS200_SUPPORT=y
|
||||
# CONFIG_SPL_MMC_HS200_SUPPORT is not set
|
||||
# Enable GPIO control
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_SPL_GPIO=y
|
||||
CONFIG_DA8XX_GPIO=y
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_GPIO_READ=y
|
||||
# Enable LEDs
|
||||
CONFIG_LED=y
|
||||
CONFIG_LED_GPIO=y
|
||||
CONFIG_SPL_LED=y
|
||||
CONFIG_SPL_LED_GPIO=y
|
||||
# Enable I2C bus
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_OMAP24XX=y
|
||||
CONFIG_CMD_I2C=y
|
||||
# Regulator
|
||||
CONFIG_DM_REGULATOR=y
|
||||
CONFIG_DM_REGULATOR_FIXED=y
|
||||
CONFIG_DM_REGULATOR_GPIO=y
|
||||
CONFIG_CMD_REGULATOR=y
|
||||
CONFIG_DM_REGULATOR_TPS65219=y
|
||||
CONFIG_DM_PMIC=y
|
||||
CONFIG_PMIC_TPS65219=y
|
||||
CONFIG_CMD_PMIC=y
|
||||
# Uses Realtek phy rather than TI phy
|
||||
CONFIG_PHY_TI_DP83867=n
|
||||
CONFIG_PHY_REALTEK=y
|
||||
# No SPI flash on Beagleplay
|
||||
CONFIG_SPI=n
|
||||
CONFIG_SPI_FLASH=n
|
||||
CONFIG_SPL_DM_SPI_FLASH=n
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=n
|
15
board/ti/am62x/beagleplay_r5.config
Normal file
15
board/ti/am62x/beagleplay_r5.config
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Defconfig fragment to apply on top of:
|
||||
# am62x_evm_r5_defconfig
|
||||
#
|
||||
CONFIG_DEFAULT_DEVICE_TREE="k3-am625-r5-beagleplay"
|
||||
CONFIG_OF_LIST="k3-am625-r5-beagleplay"
|
||||
CONFIG_SPL_OF_LIST="k3-am625-r5-beagleplay"
|
||||
# Do spl board init
|
||||
CONFIG_SPL_BOARD_INIT=y
|
||||
# Do not use emmc boot - we will use FS only
|
||||
CONFIG_SUPPORT_EMMC_BOOT=n
|
||||
# No SPI flash on Beagleplay
|
||||
CONFIG_SPI=n
|
||||
CONFIG_SPI_FLASH=n
|
||||
CONFIG_SPL_DM_SPI_FLASH=n
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=n
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/mmc.env>
|
||||
#include <env/ti/k3_dfu.env>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/mmc.env>
|
||||
#include <env/ti/k3_dfu.env>
|
||||
#if CONFIG_CMD_REMOTEPROC
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/mmc.env>
|
||||
#include <env/ti/ufs.env>
|
||||
#include <env/ti/k3_dfu.env>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/mmc.env>
|
||||
#include <env/ti/ufs.env>
|
||||
#include <env/ti/k3_dfu.env>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/ti_armv7_keystone2.env>
|
||||
|
||||
findfdt=setenv fdtfile ${name_fdt}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/ti_armv7_keystone2.env>
|
||||
#include <env/ti/mmc.env>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/ti_armv7_keystone2.env>
|
||||
|
||||
findfdt=setenv fdtfile ${name_fdt}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <env/ti/ti_armv7_common.env>
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/ti_armv7_keystone2.env>
|
||||
|
||||
findfdt=setenv fdtfile ${name_fdt}
|
||||
|
|
|
@ -28,8 +28,8 @@ int dram_init(void)
|
|||
{
|
||||
gd->ram_size = get_ram_size((long *)CFG_SYS_SDRAM_BASE, CFG_SYS_SDRAM_SIZE);
|
||||
|
||||
if (gd->ram_size < SZ_64M)
|
||||
puts("## WARNING: Less than 64MB RAM detected\n");
|
||||
if (gd->ram_size < SZ_512M)
|
||||
puts("## WARNING: Less than 512MB RAM detected\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -25,11 +25,13 @@ CONFIG_SPL_FS_FAT=y
|
|||
CONFIG_SPL_LIBDISK_SUPPORT=y
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI=y
|
||||
# CONFIG_PSCI_RESET is not set
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
CONFIG_SPL_LOAD_FIT=y
|
||||
CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTCOMMAND="run envboot; run distro_bootcmd;"
|
||||
CONFIG_BOOTSTD_FULL=y
|
||||
CONFIG_BOOTSTD_DEFAULTS=y
|
||||
CONFIG_BOOTCOMMAND="run envboot; bootflow scan -lb"
|
||||
CONFIG_SPL_MAX_SIZE=0x58000
|
||||
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
CONFIG_SPL_BSS_START_ADDR=0x80c80000
|
||||
|
@ -69,6 +71,7 @@ CONFIG_TI_K3_NAVSS_UDMA=y
|
|||
CONFIG_TI_SCI_PROTOCOL=y
|
||||
CONFIG_DM_MAILBOX=y
|
||||
CONFIG_K3_SEC_PROXY=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_ADMA=y
|
||||
CONFIG_SPL_MMC_SDHCI_ADMA=y
|
||||
|
|
|
@ -92,6 +92,7 @@ CONFIG_DM_MAILBOX=y
|
|||
CONFIG_K3_SEC_PROXY=y
|
||||
CONFIG_SPL_MISC=y
|
||||
CONFIG_ESM_K3=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_ADMA=y
|
||||
CONFIG_SPL_MMC_SDHCI_ADMA=y
|
||||
|
|
322
doc/board/ti/am62x_beagleplay.rst
Normal file
322
doc/board/ti/am62x_beagleplay.rst
Normal file
|
@ -0,0 +1,322 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
.. sectionauthor:: Nishanth Menon <nm@ti.com>
|
||||
|
||||
AM62x Beagleboard.org Beagleplay
|
||||
================================
|
||||
|
||||
Introduction:
|
||||
-------------
|
||||
|
||||
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.
|
||||
|
||||
Further information can be found at:
|
||||
|
||||
* Product Page: https://beagleplay.org/
|
||||
* Hardware documentation: https://git.beagleboard.org/beagleplay/beagleplay
|
||||
|
||||
Boot Flow:
|
||||
----------
|
||||
Below is the pictorial representation of boot flow:
|
||||
|
||||
.. image:: img/boot_diagram_k3_current.svg
|
||||
:alt: Boot flow diagram
|
||||
|
||||
- On this platform, 'TI Foundational Security' (TIFS) functions as the
|
||||
security enclave master while 'Device Manager' (DM), also known as the
|
||||
'TISCI server' in "TI terminology", offers all the essential services.
|
||||
The A53 or M4F (Aux core) sends requests to TIFS/DM to accomplish these
|
||||
services, as illustrated in the diagram above.
|
||||
|
||||
Sources:
|
||||
--------
|
||||
.. include:: k3.rst
|
||||
:start-after: .. k3_rst_include_start_boot_sources
|
||||
:end-before: .. k3_rst_include_end_boot_sources
|
||||
|
||||
Build procedure:
|
||||
----------------
|
||||
0. Setup the environment variables:
|
||||
|
||||
.. include:: k3.rst
|
||||
:start-after: .. k3_rst_include_start_common_env_vars_desc
|
||||
:end-before: .. k3_rst_include_end_common_env_vars_desc
|
||||
|
||||
.. include:: k3.rst
|
||||
:start-after: .. k3_rst_include_start_board_env_vars_desc
|
||||
:end-before: .. k3_rst_include_end_board_env_vars_desc
|
||||
|
||||
Set the variables corresponding to this platform:
|
||||
|
||||
.. include:: k3.rst
|
||||
:start-after: .. k3_rst_include_start_common_env_vars_defn
|
||||
:end-before: .. k3_rst_include_end_common_env_vars_defn
|
||||
.. code-block:: bash
|
||||
|
||||
$ export UBOOT_CFG_CORTEXR="am62x_evm_r5_defconfig beagleplay_r5.config"
|
||||
$ export UBOOT_CFG_CORTEXA="am62x_evm_a53_defconfig beagleplay_a53.config"
|
||||
$ export TFA_BOARD=lite
|
||||
$ # we dont use any extra TFA parameters
|
||||
$ unset TFA_EXTRA_ARGS
|
||||
$ export OPTEE_PLATFORM=k3-am62x
|
||||
$ export OPTEE_EXTRA_ARGS="CFG_WITH_SOFTWARE_PRNG=y"
|
||||
|
||||
.. include:: am62x_sk.rst
|
||||
:start-after: .. am62x_evm_rst_include_start_build_steps
|
||||
:end-before: .. am62x_evm_rst_include_end_build_steps
|
||||
|
||||
Target Images
|
||||
--------------
|
||||
Copy the below images to an SD card and boot:
|
||||
|
||||
* tiboot3-am62x-gp-evm.bin from R5 build as tiboot3.bin
|
||||
* tispl.bin_unsigned from Cortex-A build as tispl.bin
|
||||
* u-boot.img_unsigned from Cortex-A build as u-boot.img
|
||||
|
||||
Image formats
|
||||
-------------
|
||||
|
||||
- tiboot3.bin
|
||||
|
||||
.. image:: img/multi_cert_tiboot3.bin.svg
|
||||
:alt: tiboot3.bin image format
|
||||
|
||||
- tispl.bin
|
||||
|
||||
.. image:: img/dm_tispl.bin.svg
|
||||
:alt: tispl.bin image format
|
||||
|
||||
Additional hardware for U-Boot development
|
||||
------------------------------------------
|
||||
|
||||
* Serial Console is critical for U-Boot development on BeaglePlay. See
|
||||
`BeaglePlay serial console documentation
|
||||
<https://docs.beagleboard.org/latest/boards/beagleplay/demos-and-tutorials/using-serial-console.html>`_.
|
||||
* uSD is preferred option over eMMC, and a SD/MMC reader will be needed.
|
||||
* (optionally) JTAG is useful when working with very early stages of boot.
|
||||
|
||||
Default storage options
|
||||
-----------------------
|
||||
|
||||
There are multiple storage media options on BeaglePlay, but primarily:
|
||||
|
||||
* Onboard eMMC (default) - reliable, fast and meant for deployment use.
|
||||
* SD/MMC card interface (hold 'USR' switch and power on) - Entirely
|
||||
depends on the SD card quality.
|
||||
|
||||
Flash to uSD card or how to deal with "bricked" Board
|
||||
--------------------------------------------------------
|
||||
|
||||
When deploying or working on Linux, it's common to use the onboard
|
||||
eMMC. However, avoiding the eMMC and using the uSD card is safer when
|
||||
working with U-Boot.
|
||||
|
||||
If you choose to hand format your own bootable uSD card, be
|
||||
aware that it can be difficult. The following information
|
||||
may be helpful, but remember that it is only sometimes
|
||||
reliable, and partition options can cause issues. These
|
||||
can potentially help:
|
||||
|
||||
* https://git.ti.com/cgit/arago-project/tisdk-setup-scripts/tree/create-sdcard.sh
|
||||
* https://elinux.org/Beagleboard:Expanding_File_System_Partition_On_A_microSD
|
||||
|
||||
The simplest option is to start with a standard distribution
|
||||
image like those in `BeagleBoard.org Distros Page
|
||||
<https://www.beagleboard.org/distros>`_ and download a disk image for
|
||||
BeaglePlay. Pick a 16GB+ uSD card to be on the safer side.
|
||||
|
||||
With an SD/MMC Card reader and `Balena Etcher
|
||||
<https://etcher.balena.io/>`_, having a functional setup in minutes is
|
||||
a trivial matter, and it works on almost all Host Operating Systems.
|
||||
Yes Windows users, Windows Subsystem for Linux(WSL) based development
|
||||
with U-Boot and update uSD card is practical.
|
||||
|
||||
Updating U-Boot is a matter of copying the tiboot3.bin, tispl.bin and
|
||||
u-boot.img to the "BOOT" partition of the uSD card. Remember to sync
|
||||
and unmount (or Eject - depending on the Operating System) the uSD
|
||||
card prior to physically removing from SD card reader.
|
||||
|
||||
Also see following section on switch setting used for booting using
|
||||
uSD card.
|
||||
|
||||
.. note::
|
||||
Great news! If the board has not been damaged physically, there's no
|
||||
need to worry about it being "bricked" on this platform. You only have
|
||||
to flash an uSD card, plug it in, and reinstall the image on eMMC. This
|
||||
means that even if you make a mistake, you can quickly fix it and rest
|
||||
easy.
|
||||
|
||||
If you are frequently working with uSD cards, you might find the
|
||||
following useful:
|
||||
|
||||
* `USB-SD-Mux <https://www.linux-automation.com/en/products/usb-sd-mux.html>`_
|
||||
* `SD-Wire <https://wiki.tizen.org/SDWire>`_
|
||||
|
||||
Flash to eMMC
|
||||
-------------
|
||||
|
||||
The eMMC layout selected is user-friendly for developers. The
|
||||
boot hardware partition of the eMMC only contains the fixed-size
|
||||
tiboot3.bin image. This is because the contents of the boot partitions
|
||||
need to run from the SoC's internal SRAM, which remains a fixed size
|
||||
constant. The other components of the boot sequence, such as tispl.bin
|
||||
and u-boot.img, are located in the /BOOT partition in the User Defined
|
||||
Area (UDA) hardware partition of the eMMC. These components can vary
|
||||
significantly in size. The choice of keeping tiboot3.bin in boot0 or
|
||||
boot1 partition depends on A/B update requirements.
|
||||
|
||||
.. image:: img/beagleplay_emmc.svg
|
||||
:alt: eMMC partitions and boot file organization for BeaglePlay
|
||||
|
||||
The following are the steps from Linux shell to program eMMC:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# # Enable Boot0 boot
|
||||
# mmc bootpart enable 1 2 /dev/mmcblk0
|
||||
# mmc bootbus set single_backward x1 x8 /dev/mmcblk0
|
||||
# mmc hwreset enable /dev/mmcblk0
|
||||
|
||||
# # Clear eMMC boot0
|
||||
# echo '0' >> /sys/class/block/mmcblk0boot0/force_ro
|
||||
# dd if=/dev/zero of=/dev/mmcblk0boot0 count=32 bs=128k
|
||||
# # Write tiboot3.bin
|
||||
# dd if=tiboot3.bin of=/dev/mmcblk0boot0 bs=128k
|
||||
|
||||
# # Copy the rest of the boot binaries
|
||||
# mount /dev/mmcblk0p1 /boot/firmware
|
||||
# cp tispl.bin /boot/firmware
|
||||
# cp u-boot.img /boot/firmware
|
||||
# sync
|
||||
|
||||
.. warning ::
|
||||
|
||||
U-Boot is configured to prioritize booting from an SD card if it
|
||||
detects a valid boot partition and boot files on it, even if the
|
||||
system initially booted from eMMC. The boot order is set as follows:
|
||||
|
||||
* SD/MMC
|
||||
* eMMC
|
||||
* USB
|
||||
* PXE
|
||||
|
||||
LED patterns during boot
|
||||
------------------------
|
||||
|
||||
.. list-table:: USR LED status indication
|
||||
:widths: 16 16
|
||||
:header-rows: 1
|
||||
|
||||
* - USR LEDs (012345)
|
||||
- Indicates
|
||||
|
||||
* - 00000
|
||||
- Boot failure or R5 image not started up
|
||||
|
||||
* - 11111
|
||||
- A53 SPL/U-boot has started up
|
||||
|
||||
* - 10101
|
||||
- OS boot process has been initiated
|
||||
|
||||
* - 01010
|
||||
- OS boot process failed and drops to U-Boot shell
|
||||
|
||||
.. note ::
|
||||
|
||||
In the table above, 0 indicates LED switched off and 1 indicates LED
|
||||
switched ON.
|
||||
|
||||
.. warning ::
|
||||
|
||||
If the "red" power LED is not glowing, the system power supply is not
|
||||
functional. Please refer to `BeaglePlay documentation
|
||||
<https://beagleplay.org/>`_ for further information.
|
||||
|
||||
A53 SPL DDR Memory Layout
|
||||
-------------------------
|
||||
|
||||
.. include:: am62x_sk.rst
|
||||
:start-after: .. am62x_evm_rst_include_start_ddr_mem_layout
|
||||
:end-before: .. am62x_evm_rst_include_end_ddr_mem_layout
|
||||
|
||||
Switch Setting for Boot Mode
|
||||
----------------------------
|
||||
|
||||
The boot time option is configured via "USR" button on the board.
|
||||
See `Beagleplay Schematics <https://git.beagleboard.org/beagleplay/beagleplay/-/blob/main/BeaglePlay_sch.pdf>`_
|
||||
for details.
|
||||
|
||||
.. list-table:: Boot Modes
|
||||
:widths: 16 16 16
|
||||
:header-rows: 1
|
||||
|
||||
* - USR Switch Position
|
||||
- Primary Boot
|
||||
- Secondary Boot
|
||||
|
||||
* - Not Pressed
|
||||
- eMMC
|
||||
- UART
|
||||
|
||||
* - Pressed
|
||||
- SD/MMC File System (FS) mode
|
||||
- USB Device Firmware Upgrade (DFU) mode
|
||||
|
||||
To switch to SD card boot mode, hold the USR button while powering on
|
||||
with Type-C power supply, then release when power LED lights up.
|
||||
|
||||
Debugging U-Boot
|
||||
----------------
|
||||
|
||||
See :ref:`Common Debugging environment - OpenOCD<k3_rst_refer_openocd>`: for
|
||||
detailed setup and debugging information.
|
||||
|
||||
.. warning::
|
||||
|
||||
**OpenOCD support since**: v0.12.0
|
||||
|
||||
If the default package version of OpenOCD in your development
|
||||
environment's distribution needs to be updated, it might be necessary to
|
||||
build OpenOCD from the source.
|
||||
|
||||
.. include:: k3.rst
|
||||
:start-after: .. k3_rst_include_start_openocd_connect_tag_connect
|
||||
:end-before: .. k3_rst_include_end_openocd_connect_tag_connect
|
||||
|
||||
.. include:: k3.rst
|
||||
:start-after: .. k3_rst_include_start_openocd_cfg_external_intro
|
||||
:end-before: .. k3_rst_include_end_openocd_cfg_external_intro
|
||||
|
||||
For example, with BeaglePlay (AM62X platform), the openocd_connect.cfg:
|
||||
|
||||
.. code-block:: tcl
|
||||
|
||||
# TUMPA example:
|
||||
# http://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User's_Manual
|
||||
source [find interface/ftdi/tumpa.cfg]
|
||||
|
||||
transport select jtag
|
||||
|
||||
# default JTAG configuration has only SRST and no TRST
|
||||
reset_config srst_only srst_push_pull
|
||||
|
||||
# delay after SRST goes inactive
|
||||
adapter srst delay 20
|
||||
|
||||
if { ![info exists SOC] } {
|
||||
# Set the SoC of interest
|
||||
set SOC am625
|
||||
}
|
||||
|
||||
source [find target/ti_k3.cfg]
|
||||
|
||||
ftdi tdo_sample_edge falling
|
||||
|
||||
# Speeds for FT2232H are in multiples of 2, and 32MHz is tops
|
||||
# max speed we seem to achieve is ~20MHz.. so we pick 16MHz
|
||||
adapter speed 16000
|
697
doc/board/ti/img/beagleplay_emmc.svg
Normal file
697
doc/board/ti/img/beagleplay_emmc.svg
Normal file
|
@ -0,0 +1,697 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!--SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause-->
|
||||
|
||||
<!--Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/-->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
width="771px"
|
||||
height="351px"
|
||||
viewBox="-0.5 -0.5 771 351"
|
||||
id="svg142"
|
||||
sodipodi:docname="beagleplay_emmc.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<sodipodi:namedview
|
||||
id="namedview144"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.460441"
|
||||
inkscape:cx="380.0222"
|
||||
inkscape:cy="175.28952"
|
||||
inkscape:window-width="3440"
|
||||
inkscape:window-height="1416"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g18" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
id="g132">
|
||||
<rect
|
||||
x="90"
|
||||
y="0"
|
||||
width="120"
|
||||
height="60"
|
||||
fill="rgb(255, 255, 255)"
|
||||
stroke="rgb(0, 0, 0)"
|
||||
pointer-events="all"
|
||||
id="rect4" />
|
||||
<rect
|
||||
x="210"
|
||||
y="0"
|
||||
width="120"
|
||||
height="60"
|
||||
fill="rgb(255, 255, 255)"
|
||||
stroke="rgb(0, 0, 0)"
|
||||
pointer-events="all"
|
||||
id="rect6" />
|
||||
<rect
|
||||
x="330"
|
||||
y="0"
|
||||
width="120"
|
||||
height="60"
|
||||
fill="rgb(255, 255, 255)"
|
||||
stroke="rgb(0, 0, 0)"
|
||||
pointer-events="all"
|
||||
id="rect8" />
|
||||
<rect
|
||||
x="450"
|
||||
y="0"
|
||||
width="320"
|
||||
height="60"
|
||||
fill="rgb(255, 255, 255)"
|
||||
stroke="rgb(0, 0, 0)"
|
||||
pointer-events="all"
|
||||
id="rect10" />
|
||||
<rect
|
||||
x="120"
|
||||
y="15"
|
||||
width="60"
|
||||
height="30"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
pointer-events="all"
|
||||
id="rect12" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g18">
|
||||
<switch
|
||||
id="switch16">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 30px; margin-left: 121px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Boot0</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="150"
|
||||
y="34"
|
||||
fill="#000000"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text14">Boot0</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="240"
|
||||
y="15"
|
||||
width="60"
|
||||
height="30"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
pointer-events="all"
|
||||
id="rect20" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g26">
|
||||
<switch
|
||||
id="switch24">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 30px; margin-left: 241px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Boot1</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="270"
|
||||
y="34"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text22">Boot1</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="360"
|
||||
y="15"
|
||||
width="60"
|
||||
height="30"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
pointer-events="all"
|
||||
id="rect28" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g34">
|
||||
<switch
|
||||
id="switch32">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 30px; margin-left: 361px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">RPMB</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="390"
|
||||
y="34"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text30">RPMB</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="480"
|
||||
y="15"
|
||||
width="280"
|
||||
height="30"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
pointer-events="all"
|
||||
id="rect36" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g42">
|
||||
<switch
|
||||
id="switch40">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 278px; height: 1px; padding-top: 30px; margin-left: 481px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">User Defined Area (UDA)</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="620"
|
||||
y="34"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text38">User Defined Area (UDA)</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="450"
|
||||
y="60"
|
||||
width="70"
|
||||
height="60"
|
||||
rx="9"
|
||||
ry="9"
|
||||
fill="rgb(255, 255, 255)"
|
||||
stroke="rgb(0, 0, 0)"
|
||||
pointer-events="all"
|
||||
id="rect44" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g50">
|
||||
<switch
|
||||
id="switch48">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 90px; margin-left: 451px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">BOOT</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="485"
|
||||
y="94"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text46">BOOT</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="520"
|
||||
y="60"
|
||||
width="120"
|
||||
height="60"
|
||||
rx="9"
|
||||
ry="9"
|
||||
fill="rgb(255, 255, 255)"
|
||||
stroke="rgb(0, 0, 0)"
|
||||
pointer-events="all"
|
||||
id="rect52" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g58">
|
||||
<switch
|
||||
id="switch56">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 90px; margin-left: 521px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">rootfs</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="580"
|
||||
y="94"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text54">rootfs</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="700"
|
||||
y="60"
|
||||
width="70"
|
||||
height="60"
|
||||
rx="9"
|
||||
ry="9"
|
||||
fill="rgb(255, 255, 255)"
|
||||
stroke="rgb(0, 0, 0)"
|
||||
pointer-events="all"
|
||||
id="rect60" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g66">
|
||||
<switch
|
||||
id="switch64">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 90px; margin-left: 701px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">swap</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="735"
|
||||
y="94"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text62">swap</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="640"
|
||||
y="60"
|
||||
width="60"
|
||||
height="60"
|
||||
rx="9"
|
||||
ry="9"
|
||||
fill="rgb(255, 255, 255)"
|
||||
stroke="rgb(0, 0, 0)"
|
||||
pointer-events="all"
|
||||
id="rect68" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g74">
|
||||
<switch
|
||||
id="switch72">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 90px; margin-left: 641px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">...</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="670"
|
||||
y="94"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text70">...</text>
|
||||
</switch>
|
||||
</g>
|
||||
<path
|
||||
d="M 130 130 L 180 130 L 180 180 L 100 180 L 100 160 Z"
|
||||
fill="#ffe6cc"
|
||||
stroke="#d79b00"
|
||||
stroke-miterlimit="10"
|
||||
pointer-events="all"
|
||||
id="path76" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g82">
|
||||
<switch
|
||||
id="switch80">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 155px; margin-left: 101px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tiboot3.bin</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="140"
|
||||
y="159"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text78">tiboot3.bin</text>
|
||||
</switch>
|
||||
</g>
|
||||
<path
|
||||
d="M 470 130 L 520 130 L 520 180 L 440 180 L 440 160 Z"
|
||||
fill="#d5e8d4"
|
||||
stroke="#82b366"
|
||||
stroke-miterlimit="10"
|
||||
pointer-events="all"
|
||||
id="path84" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g90">
|
||||
<switch
|
||||
id="switch88">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 155px; margin-left: 441px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tispl.bin</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="480"
|
||||
y="159"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text86">tispl.bin</text>
|
||||
</switch>
|
||||
</g>
|
||||
<path
|
||||
d="M 470 180 L 520 180 L 520 230 L 440 230 L 440 210 Z"
|
||||
fill="#d5e8d4"
|
||||
stroke="#82b366"
|
||||
stroke-miterlimit="10"
|
||||
pointer-events="all"
|
||||
id="path92" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g98">
|
||||
<switch
|
||||
id="switch96">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 205px; margin-left: 441px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">u-boot.img</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="480"
|
||||
y="209"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text94">u-boot.img</text>
|
||||
</switch>
|
||||
</g>
|
||||
<path
|
||||
d="M 420 300 L 520 300 L 520 350 L 390 350 L 390 330 Z"
|
||||
fill="#e1d5e7"
|
||||
stroke="#9673a6"
|
||||
stroke-miterlimit="10"
|
||||
pointer-events="all"
|
||||
id="path100" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g106">
|
||||
<switch
|
||||
id="switch104">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 325px; margin-left: 391px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">extlinux/extlinux.conf</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="455"
|
||||
y="329"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text102">extlinux/extlinux.conf</text>
|
||||
</switch>
|
||||
</g>
|
||||
<path
|
||||
d="M 420 240 L 520 240 L 520 290 L 390 290 L 390 270 Z"
|
||||
fill="#dae8fc"
|
||||
stroke="#6c8ebf"
|
||||
stroke-miterlimit="10"
|
||||
pointer-events="all"
|
||||
id="path108" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g114">
|
||||
<switch
|
||||
id="switch112">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 265px; margin-left: 391px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">uEnv.txt / boot.scr<xhtml:br />
|
||||
(optional)</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="455"
|
||||
y="269"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text110">uEnv.txt / boot.scr...</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="0"
|
||||
y="15"
|
||||
width="60"
|
||||
height="30"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
pointer-events="all"
|
||||
id="rect116" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g122">
|
||||
<switch
|
||||
id="switch120">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 30px; margin-left: 1px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">eMMC<xhtml:br />
|
||||
hardware partitions</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="30"
|
||||
y="34"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text118">eMMC...</text>
|
||||
</switch>
|
||||
</g>
|
||||
<rect
|
||||
x="365"
|
||||
y="75"
|
||||
width="60"
|
||||
height="30"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
pointer-events="all"
|
||||
id="rect124" />
|
||||
<g
|
||||
transform="translate(-0.5 -0.5)"
|
||||
id="g130">
|
||||
<switch
|
||||
id="switch128">
|
||||
<foreignObject
|
||||
pointer-events="none"
|
||||
width="100%"
|
||||
height="100%"
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
style="overflow: visible; text-align: left;">
|
||||
<xhtml:div
|
||||
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 90px; margin-left: 366px;">
|
||||
<xhtml:div
|
||||
data-drawio-colors="color: rgb(0, 0, 0); "
|
||||
style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||
<xhtml:div
|
||||
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">UDA partitions</xhtml:div>
|
||||
</xhtml:div>
|
||||
</xhtml:div>
|
||||
</foreignObject>
|
||||
<text
|
||||
x="395"
|
||||
y="94"
|
||||
fill="rgb(0, 0, 0)"
|
||||
font-family="Helvetica"
|
||||
font-size="12px"
|
||||
text-anchor="middle"
|
||||
id="text126">UDA partit...</text>
|
||||
</switch>
|
||||
</g>
|
||||
</g>
|
||||
<switch
|
||||
id="switch140">
|
||||
<g
|
||||
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"
|
||||
id="g134" />
|
||||
<a
|
||||
transform="translate(0,-5)"
|
||||
xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems"
|
||||
target="_blank"
|
||||
id="a138">
|
||||
<text
|
||||
text-anchor="middle"
|
||||
font-size="10px"
|
||||
x="50%"
|
||||
y="100%"
|
||||
id="text136">Text is not SVG - cannot display</text>
|
||||
</a>
|
||||
</switch>
|
||||
</svg>
|
After Width: | Height: | Size: 24 KiB |
|
@ -30,6 +30,7 @@ K3 Based SoCs
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
am62x_beagleplay
|
||||
am62x_sk
|
||||
../toradex/verdin-am62
|
||||
am64x_evm
|
||||
|
|
|
@ -9,12 +9,6 @@
|
|||
#ifndef __CONFIG_AM625_EVM_H
|
||||
#define __CONFIG_AM625_EVM_H
|
||||
|
||||
#include <config_distro_bootcmd.h>
|
||||
#include <env/ti/mmc.h>
|
||||
|
||||
/* DDR Configuration */
|
||||
#define CFG_SYS_SDRAM_BASE1 0x880000000
|
||||
|
||||
/* Now for the remaining common defines */
|
||||
#include <configs/ti_armv7_common.h>
|
||||
|
||||
|
|
|
@ -200,7 +200,7 @@
|
|||
#define CFG_EXTRA_ENV_SETTINGS \
|
||||
BOOTENV
|
||||
|
||||
#endif
|
||||
#endif /* CONFIG_DISTRO_DEFAULTS */
|
||||
|
||||
#endif /* CONFIG_ARM64 */
|
||||
|
||||
|
|
|
@ -13,8 +13,7 @@
|
|||
|
||||
/* DDR Configuration */
|
||||
#define CFG_SYS_SDRAM_BASE 0x80000000
|
||||
#define CFG_SYS_SDRAM_BASE1 0x880000000
|
||||
#define CFG_SYS_SDRAM_SIZE SZ_2G /* Maximum supported size */
|
||||
#define CFG_SYS_SDRAM_SIZE SZ_2G /* Maximum supported size, auto-detection is used */
|
||||
|
||||
#define MEM_LAYOUT_ENV_SETTINGS \
|
||||
"fdt_addr_r=0x90200000\0" \
|
||||
|
@ -46,10 +45,20 @@
|
|||
"fdt_board=dev\0" \
|
||||
"setup=setenv setupargs console=tty1 console=${console},${baudrate} " \
|
||||
"consoleblank=0 earlycon=ns16550a,mmio32,0x02800000\0" \
|
||||
"update_uboot=askenv confirm Did you load flash.bin (y/N)?; " \
|
||||
"update_tiboot3=askenv confirm Did you load tiboot3.bin (y/N)?; " \
|
||||
"if test \"$confirm\" = \"y\"; then " \
|
||||
"setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
|
||||
"${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x0 " \
|
||||
"${blkcnt}; fi\0" \
|
||||
"update_tispl=askenv confirm Did you load tispl.bin (y/N)?; " \
|
||||
"if test \"$confirm\" = \"y\"; then " \
|
||||
"setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
|
||||
"${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x400 " \
|
||||
"${blkcnt}; fi\0" \
|
||||
"update_uboot=askenv confirm Did you load u-boot.img (y/N)?; " \
|
||||
"if test \"$confirm\" = \"y\"; then " \
|
||||
"setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
|
||||
"${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x1400 " \
|
||||
"${blkcnt}; fi\0"
|
||||
|
||||
#endif /* __VERDIN_AM62_H */
|
||||
|
|
12
include/env/ti/default_findfdt.env
vendored
Normal file
12
include/env/ti/default_findfdt.env
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
default_device_tree=CONFIG_DEFAULT_DEVICE_TREE
|
||||
default_device_tree_arch=ti
|
||||
#ifdef CONFIG_ARM64
|
||||
findfdt=
|
||||
setenv name_fdt ${default_device_tree_arch}/${default_device_tree}.dtb;
|
||||
setenv fdtfile ${name_fdt}
|
||||
#else
|
||||
default_device_tree_subarch=omap
|
||||
findfdt=
|
||||
setenv name_fdt ${default_device_tree_arch}/${default_device_tree_subarch}/${default_device_tree}.dtb;
|
||||
setenv fdtfile ${name_fdt}
|
||||
#endif
|
12
include/env/ti/mmc.env
vendored
12
include/env/ti/mmc.env
vendored
|
@ -5,7 +5,9 @@ args_mmc=run finduuid;setenv bootargs console=${console}
|
|||
${optargs}
|
||||
root=PARTUUID=${uuid} rw
|
||||
rootfstype=${mmcrootfstype}
|
||||
#ifndef CONFIG_BOOTSTD
|
||||
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
|
||||
#endif
|
||||
bootscript=echo Running bootscript from mmc${mmcdev} ...;
|
||||
source ${loadaddr}
|
||||
bootenvfile=uEnv.txt
|
||||
|
@ -15,10 +17,10 @@ loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
|
|||
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
|
||||
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
|
||||
get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/dtb/${name_fdt}
|
||||
envboot=mmc dev ${mmcdev};
|
||||
envboot=if mmc dev ${mmcdev}; then
|
||||
if mmc rescan; then
|
||||
echo SD/MMC found on device ${mmcdev};
|
||||
if run loadbootscript; then
|
||||
if test -n "${loadbootscript}" && run loadbootscript; then
|
||||
run bootscript;
|
||||
else
|
||||
if run loadbootenv; then
|
||||
|
@ -31,6 +33,7 @@ envboot=mmc dev ${mmcdev};
|
|||
fi;
|
||||
fi;
|
||||
fi;
|
||||
fi;
|
||||
mmcloados=
|
||||
if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
|
||||
if run get_fdt_mmc; then
|
||||
|
@ -45,7 +48,7 @@ mmcloados=
|
|||
else
|
||||
bootz;
|
||||
fi;
|
||||
mmcboot=mmc dev ${mmcdev};
|
||||
mmcboot=if mmc dev ${mmcdev}; then
|
||||
devnum=${mmcdev};
|
||||
devtype=mmc;
|
||||
if mmc rescan; then
|
||||
|
@ -58,7 +61,8 @@ mmcboot=mmc dev ${mmcdev};
|
|||
run mmcloados;
|
||||
fi;
|
||||
fi;
|
||||
fi;
|
||||
fi;
|
||||
fi;
|
||||
|
||||
init_mmc=run args_all args_mmc
|
||||
get_overlay_mmc=
|
||||
|
|
Loading…
Reference in a new issue