diff options
Diffstat (limited to 'board')
245 files changed, 11843 insertions, 2058 deletions
diff --git a/board/CZ.NIC/turris_atsha_otp.c b/board/CZ.NIC/turris_atsha_otp.c index a29fe362317..85eebcdf18e 100644 --- a/board/CZ.NIC/turris_atsha_otp.c +++ b/board/CZ.NIC/turris_atsha_otp.c @@ -11,6 +11,7 @@ #include <atsha204a-i2c.h> #include "turris_atsha_otp.h" +#include "turris_common.h" #define TURRIS_ATSHA_OTP_VERSION 0 #define TURRIS_ATSHA_OTP_SERIAL 1 @@ -32,26 +33,6 @@ static struct udevice *get_atsha204a_dev(void) return dev; } -static void increment_mac(u8 *mac) -{ - int i; - - for (i = 5; i >= 3; i--) { - mac[i] += 1; - if (mac[i]) - break; - } -} - -static void set_mac_if_invalid(int i, u8 *mac) -{ - u8 oldmac[6]; - - if (is_valid_ethaddr(mac) && - !eth_env_get_enetaddr_by_index("eth", i, oldmac)) - eth_env_set_enetaddr_by_index("eth", i, mac); -} - int turris_atsha_otp_init_mac_addresses(int first_idx) { struct udevice *dev = get_atsha204a_dev(); @@ -84,11 +65,7 @@ int turris_atsha_otp_init_mac_addresses(int first_idx) mac[4] = mac1[2]; mac[5] = mac1[3]; - set_mac_if_invalid((first_idx + 0) % 3, mac); - increment_mac(mac); - set_mac_if_invalid((first_idx + 1) % 3, mac); - increment_mac(mac); - set_mac_if_invalid((first_idx + 2) % 3, mac); + turris_init_mac_addresses(first_idx, mac); return 0; } diff --git a/board/CZ.NIC/turris_common.c b/board/CZ.NIC/turris_common.c new file mode 100644 index 00000000000..1717dda82eb --- /dev/null +++ b/board/CZ.NIC/turris_common.c @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2017 Marek Behún <kabel@kernel.org> + */ + +#include <env.h> +#include <net.h> + +#include "turris_common.h" + +static void increment_mac(u8 *mac) +{ + int i; + + for (i = 5; i >= 3; i--) { + mac[i] += 1; + if (mac[i]) + break; + } +} + +static void set_mac_if_invalid(int i, u8 *mac) +{ + u8 oldmac[6]; + + if (is_valid_ethaddr(mac) && + !eth_env_get_enetaddr_by_index("eth", i, oldmac)) + eth_env_set_enetaddr_by_index("eth", i, mac); +} + +void turris_init_mac_addresses(int first_idx, const u8 *first_mac) +{ + u8 mac[6]; + + memcpy(mac, first_mac, sizeof(mac)); + + set_mac_if_invalid((first_idx + 0) % 3, mac); + increment_mac(mac); + set_mac_if_invalid((first_idx + 1) % 3, mac); + increment_mac(mac); + set_mac_if_invalid((first_idx + 2) % 3, mac); +} diff --git a/board/CZ.NIC/turris_common.h b/board/CZ.NIC/turris_common.h new file mode 100644 index 00000000000..5565ea9fd2a --- /dev/null +++ b/board/CZ.NIC/turris_common.h @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0+ + +#ifndef TURRIS_COMMON_H +#define TURRIS_COMMON_H + +#include <asm/types.h> + +void turris_init_mac_addresses(int first_idx, const u8 *first_mac); + +#endif diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c index 3489bdd74bd..1a2f60e3d19 100644 --- a/board/CZ.NIC/turris_mox/turris_mox.c +++ b/board/CZ.NIC/turris_mox/turris_mox.c @@ -565,13 +565,10 @@ static void handle_reset_button(void) int checkboard(void) { int i, ret, board_version, ram_size, is_sd; - const char *pub_key, *model; + const char *pub_key; const u8 *topology; u64 serial_number; - model = fdt_getprop(gd->fdt_blob, 0, "model", NULL); - printf("Model: %s\n", model); - ret = mbox_sp_get_board_info(&serial_number, NULL, NULL, &board_version, &ram_size, NULL); if (ret < 0) { diff --git a/board/CZ.NIC/turris_omnia/Makefile b/board/CZ.NIC/turris_omnia/Makefile index dc39b44ae19..341378b4e54 100644 --- a/board/CZ.NIC/turris_omnia/Makefile +++ b/board/CZ.NIC/turris_omnia/Makefile @@ -2,4 +2,4 @@ # # Copyright (C) 2017 Marek Behún <kabel@kernel.org> -obj-y := turris_omnia.o ../turris_atsha_otp.o +obj-y := turris_omnia.o ../turris_atsha_otp.o ../turris_common.o diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c index adeb69a205b..3b7a71bdad2 100644 --- a/board/CZ.NIC/turris_omnia/turris_omnia.c +++ b/board/CZ.NIC/turris_omnia/turris_omnia.c @@ -18,18 +18,22 @@ #include <asm/io.h> #include <asm/arch/cpu.h> #include <asm/arch/soc.h> +#include <asm/unaligned.h> #include <dm/uclass.h> #include <dt-bindings/gpio/gpio.h> #include <fdt_support.h> #include <hexdump.h> #include <time.h> +#include <turris-omnia-mcu-interface.h> #include <linux/bitops.h> +#include <linux/bitrev.h> #include <linux/delay.h> #include <u-boot/crc.h> #include "../drivers/ddr/marvell/a38x/ddr3_init.h" #include <../serdes/a38x/high_speed_env_spec.h> #include "../turris_atsha_otp.h" +#include "../turris_common.h" DECLARE_GLOBAL_DATA_PTR; @@ -59,46 +63,6 @@ DECLARE_GLOBAL_DATA_PTR; #define A385_WD_RSTOUT_UNMASK MVEBU_REGISTER(0x20704) #define A385_WD_RSTOUT_UNMASK_GLOBAL BIT(8) -enum mcu_commands { - CMD_GET_STATUS_WORD = 0x01, - CMD_GET_RESET = 0x09, - CMD_GET_FW_VERSION_APP = 0x0a, - CMD_WATCHDOG_STATE = 0x0b, - CMD_GET_FW_VERSION_BOOT = 0x0e, - - /* available if STS_FEATURES_SUPPORTED bit set in status word */ - CMD_GET_FEATURES = 0x10, - - /* available if EXT_CMD bit set in features */ - CMD_EXT_CONTROL = 0x12, -}; - -enum status_word_bits { - STS_MCU_TYPE_MASK = GENMASK(1, 0), - STS_MCU_TYPE_STM32 = 0, - STS_MCU_TYPE_GD32 = 1, - STS_MCU_TYPE_MKL = 2, - STS_MCU_TYPE_UNKN = 3, - STS_FEATURES_SUPPORTED = BIT(2), - CARD_DET_STSBIT = 0x0010, - MSATA_IND_STSBIT = 0x0020, -}; - -/* CMD_GET_FEATURES */ -enum features_e { - FEAT_PERIPH_MCU = BIT(0), - FEAT_EXT_CMDS = BIT(1), -}; - -/* CMD_EXT_CONTROL */ -enum ext_ctl_e { - EXT_CTL_nRES_LAN = BIT(1), - EXT_CTL_nRES_PHY = BIT(2), - EXT_CTL_nPERST0 = BIT(3), - EXT_CTL_nPERST1 = BIT(4), - EXT_CTL_nPERST2 = BIT(5), -}; - /* * Those values and defines are taken from the Marvell U-Boot version * "u-boot-2013.01-2014_T3.0" @@ -172,6 +136,141 @@ static int omnia_mcu_write(u8 cmd, const void *buf, int len) return dm_i2c_write(chip, cmd, buf, len); } +static int omnia_mcu_get_sts_and_features(u16 *psts, u32 *pfeatures) +{ + u16 sts, feat16; + int ret; + + ret = omnia_mcu_read(CMD_GET_STATUS_WORD, &sts, sizeof(sts)); + if (ret) + return ret; + + if (psts) + *psts = sts; + + if (!pfeatures) + return 0; + + if (sts & STS_FEATURES_SUPPORTED) { + /* try read 32-bit features */ + ret = omnia_mcu_read(CMD_GET_FEATURES, pfeatures, + sizeof(*pfeatures)); + if (ret) { + /* try read 16-bit features */ + ret = omnia_mcu_read(CMD_GET_FEATURES, &feat16, + sizeof(&feat16)); + if (ret) + return ret; + + *pfeatures = feat16; + } else { + if (*pfeatures & FEAT_FROM_BIT_16_INVALID) + *pfeatures &= GENMASK(15, 0); + } + } else { + *pfeatures = 0; + } + + return 0; +} + +static int omnia_mcu_get_sts(u16 *sts) +{ + return omnia_mcu_get_sts_and_features(sts, NULL); +} + +static bool omnia_mcu_has_feature(u32 feature) +{ + u32 features; + + if (omnia_mcu_get_sts_and_features(NULL, &features)) + return false; + + return feature & features; +} + +static u32 omnia_mcu_crc32(const void *p, size_t len) +{ + u32 val, crc = 0; + + compiletime_assert(!(len % 4), "length has to be a multiple of 4"); + + while (len) { + val = bitrev32(get_unaligned_le32(p)); + crc = crc32(crc, (void *)&val, 4); + p += 4; + len -= 4; + } + + return ~bitrev32(crc); +} + +/* Can only be called after relocation, since it needs cleared BSS */ +static int omnia_mcu_board_info(char *serial, u8 *mac, char *version) +{ + static u8 reply[17]; + static bool cached; + + if (!cached) { + u8 csum; + int ret; + + ret = omnia_mcu_read(CMD_BOARD_INFO_GET, reply, sizeof(reply)); + if (ret) + return ret; + + if (reply[0] != 16) + return -EBADMSG; + + csum = reply[16]; + reply[16] = 0; + + if ((omnia_mcu_crc32(&reply[1], 16) & 0xff) != csum) + return -EBADMSG; + + cached = true; + } + + if (serial) { + const char *serial_env; + + serial_env = env_get("serial#"); + if (serial_env && strlen(serial_env) == 16) { + strcpy(serial, serial_env); + } else { + sprintf(serial, "%016llX", + get_unaligned_le64(&reply[1])); + env_set("serial#", serial); + } + } + + if (mac) + memcpy(mac, &reply[9], ETH_ALEN); + + if (version) + sprintf(version, "%u", reply[15]); + + return 0; +} + +static int omnia_mcu_get_board_public_key(char pub_key[static 67]) +{ + u8 reply[34]; + int ret; + + ret = omnia_mcu_read(CMD_CRYPTO_GET_PUBLIC_KEY, reply, sizeof(reply)); + if (ret) + return ret; + + if (reply[0] != 33) + return -EBADMSG; + + bin2hex(pub_key, &reply[1], 33); + pub_key[66] = '\0'; + + return 0; +} + static void enable_a385_watchdog(unsigned int timeout_minutes) { struct sar_freq_modes sar_freq; @@ -219,7 +318,7 @@ static bool disable_mcu_watchdog(void) puts("Disabling MCU watchdog... "); - ret = omnia_mcu_write(CMD_WATCHDOG_STATE, "\x00", 1); + ret = omnia_mcu_write(CMD_SET_WATCHDOG_STATE, "\x00", 1); if (ret) { printf("omnia_mcu_write failed: %i\n", ret); return false; @@ -233,7 +332,7 @@ static bool disable_mcu_watchdog(void) static bool omnia_detect_sata(const char *msata_slot) { int ret; - u16 stsword; + u16 sts; puts("MiniPCIe/mSATA card detection... "); @@ -249,24 +348,24 @@ static bool omnia_detect_sata(const char *msata_slot) } } - ret = omnia_mcu_read(CMD_GET_STATUS_WORD, &stsword, sizeof(stsword)); + ret = omnia_mcu_get_sts(&sts); if (ret) { printf("omnia_mcu_read failed: %i, defaulting to MiniPCIe card\n", ret); return false; } - if (!(stsword & CARD_DET_STSBIT)) { + if (!(sts & STS_CARD_DET)) { puts("none\n"); return false; } - if (stsword & MSATA_IND_STSBIT) + if (sts & STS_MSATA_IND) puts("mSATA\n"); else puts("MiniPCIe\n"); - return stsword & MSATA_IND_STSBIT ? true : false; + return sts & STS_MSATA_IND; } static bool omnia_detect_wwan_usb3(const char *wwan_slot) @@ -393,32 +492,33 @@ static int omnia_get_ram_size_gb(void) static const char * const omnia_get_mcu_type(void) { - static const char * const mcu_types[] = { - [STS_MCU_TYPE_STM32] = "STM32", - [STS_MCU_TYPE_GD32] = "GD32", - [STS_MCU_TYPE_MKL] = "MKL", - [STS_MCU_TYPE_UNKN] = "unknown", - }; - static const char * const mcu_types_with_perip_resets[] = { - [STS_MCU_TYPE_STM32] = "STM32 (with peripheral resets)", - [STS_MCU_TYPE_GD32] = "GD32 (with peripheral resets)", - [STS_MCU_TYPE_MKL] = "MKL (with peripheral resets)", - [STS_MCU_TYPE_UNKN] = "unknown (with peripheral resets)", - }; - u16 stsword, features; + static char result[] = "xxxxxxx (with peripheral resets)"; + u16 sts; int ret; - ret = omnia_mcu_read(CMD_GET_STATUS_WORD, &stsword, sizeof(stsword)); + ret = omnia_mcu_get_sts(&sts); if (ret) return "unknown"; - if (stsword & STS_FEATURES_SUPPORTED) { - ret = omnia_mcu_read(CMD_GET_FEATURES, &features, sizeof(features)); - if (ret == 0 && (features & FEAT_PERIPH_MCU)) - return mcu_types_with_perip_resets[stsword & STS_MCU_TYPE_MASK]; + switch (sts & STS_MCU_TYPE_MASK) { + case STS_MCU_TYPE_STM32: + strcpy(result, "STM32"); + break; + case STS_MCU_TYPE_GD32: + strcpy(result, "GD32"); + break; + case STS_MCU_TYPE_MKL: + strcpy(result, "MKL"); + break; + default: + strcpy(result, "unknown"); + break; } - return mcu_types[stsword & STS_MCU_TYPE_MASK]; + if (omnia_mcu_has_feature(FEAT_PERIPH_MCU)) + strcat(result, " (with peripheral resets)"); + + return result; } static const char * const omnia_get_mcu_version(void) @@ -695,9 +795,6 @@ int board_early_init_f(void) void spl_board_init(void) { - u16 val; - int ret; - /* * If booting from UART, disable MCU watchdog in SPL, since uploading * U-Boot proper can take too much time and trigger it. Instead enable @@ -714,12 +811,8 @@ void spl_board_init(void) * resets then LAN eth switch is initialized automatically by bootstrap * pins when A385 is released from the reset. */ - ret = omnia_mcu_read(CMD_GET_STATUS_WORD, &val, sizeof(val)); - if (ret == 0 && (val & STS_FEATURES_SUPPORTED)) { - ret = omnia_mcu_read(CMD_GET_FEATURES, &val, sizeof(val)); - if (ret == 0 && (val & FEAT_PERIPH_MCU)) - initialize_switch(); - } + if (omnia_mcu_has_feature(FEAT_PERIPH_MCU)) + initialize_switch(); } #if IS_ENABLED(CONFIG_OF_BOARD_FIXUP) || IS_ENABLED(CONFIG_OF_BOARD_SETUP) @@ -914,26 +1007,40 @@ static int fixup_mcu_gpio_in_eth_wan_node(void *blob) return 0; } +static void fixup_atsha_node(void *blob) +{ + int node; + + if (!omnia_mcu_has_feature(FEAT_CRYPTO)) + return; + + node = fdt_node_offset_by_compatible(blob, -1, "atmel,atsha204a"); + if (node < 0) { + printf("Cannot find ATSHA204A node!\n"); + return; + } + + if (fdt_status_disabled(blob, node) < 0) + printf("Cannot disable ATSHA204A node!\n"); + else + debug("Disabled ATSHA204A node\n"); +} + #endif #if IS_ENABLED(CONFIG_OF_BOARD_FIXUP) int board_fix_fdt(void *blob) { - u16 val; - int ret; - - ret = omnia_mcu_read(CMD_GET_STATUS_WORD, &val, sizeof(val)); - if (ret == 0 && (val & STS_FEATURES_SUPPORTED)) { - ret = omnia_mcu_read(CMD_GET_FEATURES, &val, sizeof(val)); - if (ret == 0 && (val & FEAT_PERIPH_MCU)) { - fixup_mcu_gpio_in_pcie_nodes(blob); - fixup_mcu_gpio_in_eth_wan_node(blob); - } + if (omnia_mcu_has_feature(FEAT_PERIPH_MCU)) { + fixup_mcu_gpio_in_pcie_nodes(blob); + fixup_mcu_gpio_in_eth_wan_node(blob); } fixup_msata_port_nodes(blob); fixup_wwan_port_nodes(blob); + fixup_atsha_node(blob); + return 0; } #endif @@ -964,23 +1071,46 @@ int board_late_init(void) int checkboard(void) { - char serial[17]; + char serial[17], version[4], pub_key[67]; + bool has_version; int err; - err = turris_atsha_otp_get_serial_number(serial); - printf("Model: Turris Omnia\n"); printf(" MCU type: %s\n", omnia_get_mcu_type()); printf(" MCU version: %s\n", omnia_get_mcu_version()); printf(" RAM size: %i MiB\n", omnia_get_ram_size_gb() * 1024); + + if (omnia_mcu_has_feature(FEAT_BOARD_INFO)) { + err = omnia_mcu_board_info(serial, NULL, version); + has_version = !err; + } else { + err = turris_atsha_otp_get_serial_number(serial); + has_version = false; + } + + printf(" Board version: %s\n", has_version ? version : "unknown"); printf(" Serial Number: %s\n", !err ? serial : "unknown"); + if (omnia_mcu_has_feature(FEAT_CRYPTO)) { + err = omnia_mcu_get_board_public_key(pub_key); + printf(" ECDSA Public Key: %s\n", !err ? pub_key : "unknown"); + } + return 0; } int misc_init_r(void) { - turris_atsha_otp_init_mac_addresses(1); - turris_atsha_otp_init_serial_number(); + if (omnia_mcu_has_feature(FEAT_BOARD_INFO)) { + char serial[17]; + u8 first_mac[6]; + + if (!omnia_mcu_board_info(serial, first_mac, NULL)) + turris_init_mac_addresses(1, first_mac); + } else { + turris_atsha_otp_init_mac_addresses(1); + turris_atsha_otp_init_serial_number(); + } + return 0; } @@ -1102,6 +1232,8 @@ int ft_board_setup(void *blob, struct bd_info *bd) fixup_msata_port_nodes(blob); fixup_wwan_port_nodes(blob); + fixup_atsha_node(blob); + return 0; } #endif diff --git a/board/Marvell/octeon_ebb7304/Kconfig b/board/Marvell/octeon_ebb7304/Kconfig index ab54e6dbbc3..b3244f751b1 100644 --- a/board/Marvell/octeon_ebb7304/Kconfig +++ b/board/Marvell/octeon_ebb7304/Kconfig @@ -9,7 +9,6 @@ config SYS_VENDOR default "Marvell" config SYS_CONFIG_NAME - string default "octeon_ebb7304" config DEFAULT_DEVICE_TREE diff --git a/board/Marvell/octeon_nic23/Kconfig b/board/Marvell/octeon_nic23/Kconfig index 3c42e8acdad..468bbb756e6 100644 --- a/board/Marvell/octeon_nic23/Kconfig +++ b/board/Marvell/octeon_nic23/Kconfig @@ -9,7 +9,6 @@ config SYS_VENDOR default "Marvell" config SYS_CONFIG_NAME - string default "octeon_nic23" config DEFAULT_DEVICE_TREE diff --git a/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c b/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c index 8b4d73052eb..56b7bdb57c9 100644 --- a/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c +++ b/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c @@ -136,17 +136,6 @@ void detail_board_ddr_info(void) puts("\nDDR "); } -/* - * Board specific reset that is system reset. - */ -void reset_cpu(void) -{ - puts("SCI reboot request"); - - while (1) - putc('.'); -} - #ifdef CONFIG_OF_BOARD_SETUP int ft_board_setup(void *blob, struct bd_info *bd) { diff --git a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c index 206ce7d5c13..7f766a688bb 100644 --- a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c +++ b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c @@ -112,14 +112,6 @@ int board_init(void) return 0; } -/* - * Board specific reset that is system reset. - */ -void reset_cpu(void) -{ - /* TODO */ -} - int board_mmc_get_env_dev(int devno) { return devno; diff --git a/board/amlogic/jethub-j100/MAINTAINERS b/board/amlogic/jethub-j100/MAINTAINERS index 43f6a5fc86b..3edc5d8865c 100644 --- a/board/amlogic/jethub-j100/MAINTAINERS +++ b/board/amlogic/jethub-j100/MAINTAINERS @@ -1,5 +1,5 @@ JetHome JetHub -M: Vyacheslav Bocharov <adeep@lexina.in> +M: Viacheslav Bocharov <adeep@lexina.in> S: Maintained L: u-boot-amlogic@groups.io F: board/amlogic/jethub-j100/ diff --git a/board/anbernic/rgxx3_rk3566/Kconfig b/board/anbernic/rgxx3_rk3566/Kconfig index 6743a28a2f5..b5ee67c16b7 100644 --- a/board/anbernic/rgxx3_rk3566/Kconfig +++ b/board/anbernic/rgxx3_rk3566/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "anbernic-rgxx3-rk3566" -config BOARD_SPECIFIC_OPTIONS - def_bool y - endif diff --git a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c index d05502f67af..099eea60c39 100644 --- a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c +++ b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c @@ -6,12 +6,14 @@ #include <abuf.h> #include <adc.h> #include <asm/io.h> +#include <command.h> #include <display.h> #include <dm.h> #include <dm/lists.h> #include <env.h> #include <fdt_support.h> #include <linux/delay.h> +#include <linux/iopoll.h> #include <mipi_dsi.h> #include <mmc.h> #include <panel.h> @@ -19,6 +21,8 @@ #include <stdlib.h> #include <video_bridge.h> +#define BOOT_BROM_DOWNLOAD 0xef08a53c + #define GPIO0_BASE 0xfdd60000 #define GPIO4_BASE 0xfe770000 #define GPIO_SWPORT_DR_L 0x0000 @@ -32,6 +36,14 @@ #define GPIO_WRITEMASK(bits) ((bits) << 16) +#define SARADC_BASE 0xfe720000 +#define SARADC_DATA 0x0000 +#define SARADC_STAS 0x0004 +#define SARADC_ADC_STATUS BIT(0) +#define SARADC_CTRL 0x0008 +#define SARADC_INPUT_SRC_MSK 0x7 +#define SARADC_POWER_CTRL BIT(3) + #define DTB_DIR "rockchip/" struct rg3xx_model { @@ -50,6 +62,7 @@ enum rgxx3_device_id { RGB30, RK2023, RGARCD, + RGB10MAX3, /* Devices with duplicate ADC value */ RG353PS, RG353VS, @@ -107,6 +120,13 @@ static const struct rg3xx_model rg3xx_model_details[] = { .fdtfile = DTB_DIR "rk3566-anbernic-rg-arc-d.dtb", .detect_panel = 0, }, + [RGB10MAX3] = { + .adc_value = 765, /* Observed average from device */ + .board = "rk3566-powkiddy-rgb10max3", + .board_name = "Powkiddy RGB10MAX3", + .fdtfile = DTB_DIR "rk3566-powkiddy-rgb10max3.dtb", + .detect_panel = 0, + }, /* Devices with duplicate ADC value */ [RG353PS] = { .adc_value = 860, /* Observed average from device */ @@ -150,11 +170,63 @@ static const struct rg353_panel rg353_panel_details[] = { }; /* + * The device has internal eMMC, and while some devices have an exposed + * clk pin you can ground to force a bypass not all devices do. As a + * result it may be possible for some devices to become a perma-brick + * if a corrupted TPL or SPL stage with a valid header is flashed to + * the internal eMMC. Add functionality to read ADC channel 0 (the func + * button) as early as possible in the boot process to provide some + * protection against this. If we ever get an open TPL stage, we should + * consider moving this function there. + */ +void read_func_button(void) +{ + int ret; + u32 reg; + + /* Turn off SARADC to reset it. */ + writel(0, (SARADC_BASE + SARADC_CTRL)); + + /* Enable channel 0 and power on SARADC. */ + writel(((0 & SARADC_INPUT_SRC_MSK) | SARADC_POWER_CTRL), + (SARADC_BASE + SARADC_CTRL)); + + /* + * Wait for data to be ready. Use timeout of 20000us from + * rockchip_saradc driver. + */ + ret = readl_poll_timeout((SARADC_BASE + SARADC_STAS), reg, + !(reg & SARADC_ADC_STATUS), 20000); + if (ret) { + printf("ADC Timeout"); + return; + } + + /* Read the data from the SARADC. */ + reg = readl((SARADC_BASE + SARADC_DATA)); + + /* Turn the SARADC back off so it's ready to be used again. */ + writel(0, (SARADC_BASE + SARADC_CTRL)); + + /* + * If the value is less than 30 the button is being pressed. + * Reset the device back into Rockchip download mode. + */ + if (reg <= 30) { + printf("download key pressed, entering download mode..."); + writel(BOOT_BROM_DOWNLOAD, CONFIG_ROCKCHIP_BOOT_MODE_REG); + do_reset(NULL, 0, 0, NULL); + } +}; + +/* * Start LED very early so user knows device is on. Set color * to red. */ void spl_board_init(void) { + read_func_button(); + /* Set GPIO0_C5, GPIO0_C6, and GPIO0_C7 to output. */ writel(GPIO_WRITEMASK(GPIO_C7 | GPIO_C6 | GPIO_C5) | \ (GPIO_C7 | GPIO_C6 | GPIO_C5), diff --git a/board/atmel/sama7g54_curiosity/Kconfig b/board/atmel/sama7g54_curiosity/Kconfig new file mode 100644 index 00000000000..3e60d96712f --- /dev/null +++ b/board/atmel/sama7g54_curiosity/Kconfig @@ -0,0 +1,15 @@ +if TARGET_SAMA7G54_CURIOSITY + +config SYS_BOARD + default "sama7g54_curiosity" + +config SYS_VENDOR + default "atmel" + +config SYS_SOC + default "at91" + +config SYS_CONFIG_NAME + default "sama7g54_curiosity" + +endif diff --git a/board/atmel/sama7g54_curiosity/MAINTAINERS b/board/atmel/sama7g54_curiosity/MAINTAINERS new file mode 100644 index 00000000000..b9f1a271c09 --- /dev/null +++ b/board/atmel/sama7g54_curiosity/MAINTAINERS @@ -0,0 +1,9 @@ +SAMA7G54 CURIOSITY BOARD +M: Mihai Sain <mihai.sain@microchip.com> +S: Maintained +F: board/atmel/sama7g54_curiosity.c +F: include/configs/sama7g54_curiosity.h +F: configs/sama7g54_curiosity_mmc_defconfig +F: configs/sama7g54_curiosity_nandflash_defconfig +F: configs/sama7g54_curiosity_qspiflash_defconfig +F: arch/arm/dts/at91-sama7g54_curiosity* diff --git a/board/atmel/sama7g54_curiosity/Makefile b/board/atmel/sama7g54_curiosity/Makefile new file mode 100644 index 00000000000..bc77655f354 --- /dev/null +++ b/board/atmel/sama7g54_curiosity/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries +# +# Author: Mihai Sain <mihai.sain@microchip.com> + +obj-y += sama7g54_curiosity.o diff --git a/board/atmel/sama7g54_curiosity/sama7g54_curiosity.c b/board/atmel/sama7g54_curiosity/sama7g54_curiosity.c new file mode 100644 index 00000000000..33cd0903d25 --- /dev/null +++ b/board/atmel/sama7g54_curiosity/sama7g54_curiosity.c @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries + * + * Author: Mihai Sain <mihai.sain@microchip.com> + * + */ + +#include <common.h> +#include <init.h> +#include <asm/global_data.h> +#include <asm/io.h> +#include <asm/arch/at91_common.h> +#include <asm/arch/atmel_pio4.h> +#include <asm/arch/gpio.h> +#include <asm/arch/sama7g5.h> + +DECLARE_GLOBAL_DATA_PTR; + +int board_init(void) +{ + // Address of boot parameters + gd->bd->bi_boot_params = gd->bd->bi_dram[0].start + 0x100; + + return 0; +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} + +int dram_init(void) +{ + return fdtdec_setup_mem_size_base(); +} diff --git a/board/beagle/beagleplay/beagleplay.c b/board/beagle/beagleplay/beagleplay.c index 20819ecf45b..af36439e2e2 100644 --- a/board/beagle/beagleplay/beagleplay.c +++ b/board/beagle/beagleplay/beagleplay.c @@ -11,6 +11,8 @@ #include <fdt_support.h> #include <spl.h> +#include <asm/arch/hardware.h> + DECLARE_GLOBAL_DATA_PTR; int board_init(void) @@ -41,3 +43,62 @@ int board_late_init(void) return 0; } #endif + +#ifdef CONFIG_SPL_BOARD_INIT + +/* + * Enable the 32k Crystal: needed for accurate 32k clock + * and external clock sources such as wlan 32k input clock + * supplied from the SoC to the wlan chip. + * + * The trim setup can be very highly board type specific choice of the crystal + * So this is done in the board file, though, in this case, no specific trim + * is necessary. + */ +static void crystal_32k_enable(void) +{ + /* Only mess with 32k at the start of boot from R5 */ + if (IS_ENABLED(CONFIG_CPU_V7R)) { + /* + * We have external 32k crystal, so lets enable it (0x0) + * and disable bypass (0x0) + */ + writel(0x0, MCU_CTRL_LFXOSC_CTRL); + + /* Add any crystal specific TRIM needed here.. */ + + /* Make sure to mux the SoC 32k from the crystal */ + writel(MCU_CTRL_DEVICE_CLKOUT_LFOSC_SELECT_VAL, + MCU_CTRL_DEVICE_CLKOUT_32K_CTRL); + } +} + +static void debounce_configure(void) +{ + /* Configure debounce one time from R5 */ + if (IS_ENABLED(CONFIG_CPU_V7R)) { + /* + * Setup debounce time registers. + * arbitrary values. Times are approx + */ + /* 1.9ms debounce @ 32k */ + writel(0x1, CTRLMMR_DBOUNCE_CFG(1)); + /* 5ms debounce @ 32k */ + writel(0x5, CTRLMMR_DBOUNCE_CFG(2)); + /* 20ms debounce @ 32k */ + writel(0x14, CTRLMMR_DBOUNCE_CFG(3)); + /* 46ms debounce @ 32k */ + writel(0x18, CTRLMMR_DBOUNCE_CFG(4)); + /* 100ms debounce @ 32k */ + writel(0x1c, CTRLMMR_DBOUNCE_CFG(5)); + /* 156ms debounce @ 32k */ + writel(0x1f, CTRLMMR_DBOUNCE_CFG(6)); + } +} + +void spl_board_init(void) +{ + crystal_32k_enable(); + debounce_configure(); +} +#endif diff --git a/board/beagle/beagleplay/beagleplay.env b/board/beagle/beagleplay/beagleplay.env index 647b25d14c8..bbf6b925d02 100644 --- a/board/beagle/beagleplay/beagleplay.env +++ b/board/beagle/beagleplay/beagleplay.env @@ -13,6 +13,6 @@ boot=mmc mmcdev=1 bootpart=1:1 bootdir=/boot -boot_targets=mmc1 mmc0 usb pxe +boot_targets=mmc1 mmc0 bootmeths=script extlinux efi pxe rd_spec=- diff --git a/board/cadence/xtfpga/Kconfig b/board/cadence/xtfpga/Kconfig index 69296be49c7..a64961e6d6a 100644 --- a/board/cadence/xtfpga/Kconfig +++ b/board/cadence/xtfpga/Kconfig @@ -25,7 +25,6 @@ config SYS_VENDOR default "cadence" config SYS_CONFIG_NAME - string default "xtfpga" config BOARD_SDRAM_SIZE diff --git a/board/cavium/thunderx/Kconfig b/board/cavium/thunderx/Kconfig index 927d8765d67..3d4b260ea29 100644 --- a/board/cavium/thunderx/Kconfig +++ b/board/cavium/thunderx/Kconfig @@ -13,7 +13,6 @@ config SYS_VENDOR default "cavium" config SYS_CONFIG_NAME - string default "thunderx_88xx" config CMD_ATF diff --git a/board/chipspark/popmetal_rk3288/Kconfig b/board/chipspark/popmetal_rk3288/Kconfig index a5f404306a8..22228aecdea 100644 --- a/board/chipspark/popmetal_rk3288/Kconfig +++ b/board/chipspark/popmetal_rk3288/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "popmetal_rk3288" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/congatec/cgtqmx8/cgtqmx8.c b/board/congatec/cgtqmx8/cgtqmx8.c index 26189ff66f5..3b01354bb6b 100644 --- a/board/congatec/cgtqmx8/cgtqmx8.c +++ b/board/congatec/cgtqmx8/cgtqmx8.c @@ -371,13 +371,6 @@ void detail_board_ddr_info(void) puts("\nDDR "); } -/* - * Board specific reset that is system reset. - */ -void reset_cpu(void) -{ - /* TODO */ -} #ifdef CONFIG_OF_BOARD_SETUP int ft_board_setup(void *blob, struct bd_info *bd) diff --git a/board/coreboot/coreboot/Kconfig b/board/coreboot/coreboot/Kconfig index 4f41ce1abf1..abbf08ac695 100644 --- a/board/coreboot/coreboot/Kconfig +++ b/board/coreboot/coreboot/Kconfig @@ -29,10 +29,3 @@ config SYS_CAR_SIZE This option specifies the board specific Cache-As-RAM (CAR) size. endif # CONFIG_VENDOR_COREBOOT - -if TARGET_COREBOOT - -config SYS_CONFIG_NAME - default "coreboot" - -endif diff --git a/board/coreboot/coreboot/MAINTAINERS b/board/coreboot/coreboot/MAINTAINERS index f7773658000..d97383c030c 100644 --- a/board/coreboot/coreboot/MAINTAINERS +++ b/board/coreboot/coreboot/MAINTAINERS @@ -2,7 +2,6 @@ COREBOOT BOARD M: Simon Glass <sjg@chromium.org> S: Maintained F: board/coreboot/ -F: include/configs/coreboot.h F: configs/coreboot_defconfig COREBOOT64 BOARD diff --git a/board/dhelectronics/common/dh_common.c b/board/dhelectronics/common/dh_common.c index 67e3d59b1f3..34094a020b0 100644 --- a/board/dhelectronics/common/dh_common.c +++ b/board/dhelectronics/common/dh_common.c @@ -18,6 +18,19 @@ bool dh_mac_is_in_env(const char *env) return eth_env_get_enetaddr(env, enetaddr); } +int dh_get_mac_is_enabled(const char *alias) +{ + ofnode node = ofnode_path(alias); + + if (!ofnode_valid(node)) + return -EINVAL; + + if (!ofnode_is_enabled(node)) + return -ENODEV; + + return 0; +} + int dh_get_mac_from_eeprom(unsigned char *enetaddr, const char *alias) { struct udevice *dev; @@ -57,6 +70,9 @@ __weak int dh_setup_mac_address(void) if (dh_mac_is_in_env("ethaddr")) return 0; + if (dh_get_mac_is_enabled("ethernet0")) + return 0; + if (!dh_get_mac_from_eeprom(enetaddr, "eeprom0")) return eth_env_set_enetaddr("ethaddr", enetaddr); diff --git a/board/dhelectronics/common/dh_common.h b/board/dhelectronics/common/dh_common.h index 2b24637d96d..a2de5b1553e 100644 --- a/board/dhelectronics/common/dh_common.h +++ b/board/dhelectronics/common/dh_common.h @@ -12,6 +12,14 @@ bool dh_mac_is_in_env(const char *env); /* + * dh_get_mac_is_enabled - Test if ethernet MAC is enabled in DT + * + * @alias: alias for ethernet MAC device tree node + * Return: 0 if OK, other value on error + */ +int dh_get_mac_is_enabled(const char *alias); + +/* * dh_get_mac_from_eeprom - Get MAC address from eeprom and write it to enetaddr * * @enetaddr: buffer where address is to be stored diff --git a/board/dhelectronics/dh_imx6/dh_imx6.c b/board/dhelectronics/dh_imx6/dh_imx6.c index 07fc9b1fe6d..0676587c38a 100644 --- a/board/dhelectronics/dh_imx6/dh_imx6.c +++ b/board/dhelectronics/dh_imx6/dh_imx6.c @@ -92,6 +92,9 @@ int dh_setup_mac_address(void) if (dh_mac_is_in_env("ethaddr")) return 0; + if (dh_get_mac_is_enabled("ethernet0")) + return 0; + if (!dh_imx_get_mac_from_fuse(enetaddr)) goto out; diff --git a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c index 5f12d787d38..ff2c0e87215 100644 --- a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c +++ b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c @@ -47,6 +47,9 @@ static int dh_imx8_setup_ethaddr(void) if (dh_mac_is_in_env("ethaddr")) return 0; + if (dh_get_mac_is_enabled("ethernet0")) + return 0; + if (!dh_imx_get_mac_from_fuse(enetaddr)) goto out; @@ -66,6 +69,9 @@ static int dh_imx8_setup_eth1addr(void) if (dh_mac_is_in_env("eth1addr")) return 0; + if (dh_get_mac_is_enabled("ethernet1")) + return 0; + if (!dh_imx_get_mac_from_fuse(enetaddr)) goto increment_out; diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c index d1f662d9701..079dfff0389 100644 --- a/board/dhelectronics/dh_stm32mp1/board.c +++ b/board/dhelectronics/dh_stm32mp1/board.c @@ -128,6 +128,9 @@ static int dh_stm32_setup_ethaddr(void) if (dh_mac_is_in_env("ethaddr")) return 0; + if (dh_get_mac_is_enabled("ethernet0")) + return 0; + if (!dh_get_mac_from_eeprom(enetaddr, "eeprom0")) return eth_env_set_enetaddr("ethaddr", enetaddr); @@ -141,6 +144,9 @@ static int dh_stm32_setup_eth1addr(void) if (dh_mac_is_in_env("eth1addr")) return 0; + if (dh_get_mac_is_enabled("ethernet1")) + return 0; + if (dh_stm32_mac_is_in_ks8851()) return 0; diff --git a/board/edgeble/neural-compute-module-6/Kconfig b/board/edgeble/neural-compute-module-6/Kconfig index c445454dded..05de14f93c8 100644 --- a/board/edgeble/neural-compute-module-6/Kconfig +++ b/board/edgeble/neural-compute-module-6/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "neural-compute-module-6" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/efi/efi-x86_app/Kconfig b/board/efi/efi-x86_app/Kconfig index ecd08d73146..f9cbef0a864 100644 --- a/board/efi/efi-x86_app/Kconfig +++ b/board/efi/efi-x86_app/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "efi" -config SYS_CONFIG_NAME - default "efi-x86_app" - config BOARD_SPECIFIC_OPTIONS # dummy def_bool y imply VIDEO_EFI diff --git a/board/efi/efi-x86_app/MAINTAINERS b/board/efi/efi-x86_app/MAINTAINERS index 584619c51df..693f367311b 100644 --- a/board/efi/efi-x86_app/MAINTAINERS +++ b/board/efi/efi-x86_app/MAINTAINERS @@ -3,7 +3,6 @@ M: Simon Glass <sjg@chromium.org> S: Maintained F: board/efi/Kconfig F: board/efi/efi-x86_app/ -F: include/configs/efi-x86_app.h F: configs/efi-x86_app32_defconfig EFI-X86_APP64 BOARD @@ -11,5 +10,4 @@ M: Simon Glass <sjg@chromium.org> S: Maintained F: board/efi/Kconfig F: board/efi/efi-x86_app/ -F: include/configs/efi-x86_app.h F: configs/efi-x86_app64_defconfig diff --git a/board/efi/efi-x86_payload/Kconfig b/board/efi/efi-x86_payload/Kconfig index 6d062499346..c500ca02ebf 100644 --- a/board/efi/efi-x86_payload/Kconfig +++ b/board/efi/efi-x86_payload/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "efi" -config SYS_CONFIG_NAME - default "efi-x86_payload" - config TEXT_BASE default 0x00200000 diff --git a/board/efi/efi-x86_payload/MAINTAINERS b/board/efi/efi-x86_payload/MAINTAINERS index d795d60e09e..3c5d48aa84c 100644 --- a/board/efi/efi-x86_payload/MAINTAINERS +++ b/board/efi/efi-x86_payload/MAINTAINERS @@ -3,6 +3,5 @@ M: Bin Meng <bmeng.cn@gmail.com> S: Maintained F: board/efi/Kconfig F: board/efi/efi-x86_payload/ -F: include/configs/efi-x86_payload.h F: configs/efi-x86_payload32_defconfig F: configs/efi-x86_payload64_defconfig diff --git a/board/elgin/elgin_rv1108/Kconfig b/board/elgin/elgin_rv1108/Kconfig index be9243164aa..e942e133aa0 100644 --- a/board/elgin/elgin_rv1108/Kconfig +++ b/board/elgin/elgin_rv1108/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "elgin_rv1108" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/elgin/elgin_rv1108/elgin_rv1108.c b/board/elgin/elgin_rv1108/elgin_rv1108.c index eb7a322d847..10398e7f712 100644 --- a/board/elgin/elgin_rv1108/elgin_rv1108.c +++ b/board/elgin/elgin_rv1108/elgin_rv1108.c @@ -8,7 +8,6 @@ #include <init.h> #include <syscon.h> #include <asm/global_data.h> -#include <asm/io.h> #include <asm/arch-rockchip/clock.h> #include <asm/arch-rockchip/grf_rv1108.h> #include <asm/arch-rockchip/hardware.h> diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c index 942f1fff571..ecfd19f1a7e 100644 --- a/board/emulation/qemu-arm/qemu-arm.c +++ b/board/emulation/qemu-arm/qemu-arm.c @@ -127,6 +127,18 @@ int dram_init(void) if (fdtdec_setup_mem_size_base() != 0) return -EINVAL; + /* + * When LPAE is enabled (ARMv7), + * 1:1 mapping is created using 2 MB blocks. + * + * In case amount of memory provided to QEMU + * is not multiple of 2 MB, round down the amount + * of available memory to avoid hang during MMU + * initialization. + */ + if (CONFIG_IS_ENABLED(ARMV7_LPAE)) + gd->ram_size -= (gd->ram_size % 0x200000); + return 0; } diff --git a/board/emulation/qemu-riscv/qemu-riscv.c b/board/emulation/qemu-riscv/qemu-riscv.c index 181abbbf97d..173245b40e3 100644 --- a/board/emulation/qemu-riscv/qemu-riscv.c +++ b/board/emulation/qemu-riscv/qemu-riscv.c @@ -31,12 +31,6 @@ int is_flash_available(void) int board_init(void) { - /* - * Make sure virtio bus is enumerated so that peripherals - * on the virtio bus can be discovered by their drivers - */ - virtio_init(); - return 0; } @@ -46,6 +40,12 @@ int board_late_init(void) if (CONFIG_IS_ENABLED(USB_KEYBOARD)) usb_init(); + /* + * Make sure virtio bus is enumerated so that peripherals + * on the virtio bus can be discovered by their drivers + */ + virtio_init(); + return 0; } diff --git a/board/emulation/qemu-x86/Kconfig b/board/emulation/qemu-x86/Kconfig index 01dc1d497ae..b2a4e0891a4 100644 --- a/board/emulation/qemu-x86/Kconfig +++ b/board/emulation/qemu-x86/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "qemu" -config SYS_CONFIG_NAME - default "qemu-x86" - config TEXT_BASE default 0xfff00000 if !SUPPORT_SPL default 0x01110000 if SUPPORT_SPL @@ -21,7 +18,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy select X86_RESET_VECTOR select QEMU select QFW_PIO if CMD_QFW - select BOARD_ROMSIZE_KB_1024 + select BOARD_ROMSIZE_KB_1024 if TARGET_QEMU_X86 + select BOARD_ROMSIZE_KB_2048 if TARGET_QEMU_X86_64 imply VIRTIO_PCI imply VIRTIO_NET imply VIRTIO_BLK diff --git a/board/emulation/qemu-x86/MAINTAINERS b/board/emulation/qemu-x86/MAINTAINERS index e62585a65d7..efb8b46daaf 100644 --- a/board/emulation/qemu-x86/MAINTAINERS +++ b/board/emulation/qemu-x86/MAINTAINERS @@ -3,7 +3,6 @@ M: Bin Meng <bmeng.cn@gmail.com> S: Maintained F: board/emulation/qemu-x86/ F: board/emulation/common/ -F: include/configs/qemu-x86.h F: configs/qemu-x86_defconfig QEMU X86 64-bit BOARD @@ -11,5 +10,4 @@ M: Bin Meng <bmeng.cn@gmail.com> S: Maintained F: board/emulation/qemu-x86/ F: board/emulation/common/ -F: include/configs/qemu-x86.h F: configs/qemu-x86_64_defconfig diff --git a/board/firefly/firefly-rk3288/Kconfig b/board/firefly/firefly-rk3288/Kconfig index 1c2bca86824..ed1c9fcb643 100644 --- a/board/firefly/firefly-rk3288/Kconfig +++ b/board/firefly/firefly-rk3288/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "firefly-rk3288" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/firefly/firefly-rk3308/Kconfig b/board/firefly/firefly-rk3308/Kconfig index 80b1ad85a2e..fd6b981c4f7 100644 --- a/board/firefly/firefly-rk3308/Kconfig +++ b/board/firefly/firefly-rk3308/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "firefly_rk3308" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/firefly/firefly-rk3308/roc_cc_rk3308.c b/board/firefly/firefly-rk3308/roc_cc_rk3308.c index bdf3cc03dc5..99a52a77116 100644 --- a/board/firefly/firefly-rk3308/roc_cc_rk3308.c +++ b/board/firefly/firefly-rk3308/roc_cc_rk3308.c @@ -5,7 +5,6 @@ #include <common.h> #include <adc.h> -#include <asm/io.h> #include <asm/arch/grf_rk3308.h> #include <asm/arch-rockchip/hardware.h> #include <linux/bitops.h> diff --git a/board/firefly/roc-pc-rk3399/Kconfig b/board/firefly/roc-pc-rk3399/Kconfig index 720fbbb5fa3..c211e9d3c79 100644 --- a/board/firefly/roc-pc-rk3399/Kconfig +++ b/board/firefly/roc-pc-rk3399/Kconfig @@ -9,8 +9,5 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "roc-pc-rk3399" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/firefly/roc-pc-rk3399/MAINTAINERS b/board/firefly/roc-pc-rk3399/MAINTAINERS index 68a5b757d1d..2c0de4432fa 100644 --- a/board/firefly/roc-pc-rk3399/MAINTAINERS +++ b/board/firefly/roc-pc-rk3399/MAINTAINERS @@ -6,3 +6,4 @@ F: board/firefly/roc-pc-rk3399 F: include/configs/roc-pc-rk3399.h F: configs/roc-pc-rk3399_defconfig F: configs/roc-pc-mezzanine-rk3399_defconfig +F: arch/arm/dts/rk3399-roc-pc* diff --git a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c index 93e7d776fb2..590519b32af 100644 --- a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c +++ b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c @@ -9,32 +9,12 @@ #include <log.h> #include <spl_gpio.h> #include <asm/io.h> -#include <power/regulator.h> #include <asm/arch-rockchip/cru.h> #include <asm/arch-rockchip/gpio.h> #include <asm/arch-rockchip/grf_rk3399.h> -#ifndef CONFIG_SPL_BUILD -int board_early_init_f(void) -{ - struct udevice *regulator; - int ret; - - ret = regulator_get_by_platname("vcc5v0_host", ®ulator); - if (ret) { - debug("%s vcc5v0_host init fail! ret %d\n", __func__, ret); - goto out; - } - - ret = regulator_set_enable(regulator, true); - if (ret) - debug("%s vcc5v0-host-en set fail! ret %d\n", __func__, ret); -out: - return 0; -} - -#else +#ifdef CONFIG_SPL_BUILD #define PMUGRF_BASE 0xff320000 #define GPIO0_BASE 0xff720000 diff --git a/board/freescale/imx8mq_evk/imx8mq_evk.c b/board/freescale/imx8mq_evk/imx8mq_evk.c index e3948058560..e577e4d9cca 100644 --- a/board/freescale/imx8mq_evk/imx8mq_evk.c +++ b/board/freescale/imx8mq_evk/imx8mq_evk.c @@ -54,38 +54,8 @@ int board_early_init_f(void) return 0; } -#ifdef CONFIG_FEC_MXC -static int setup_fec(void) -{ - struct iomuxc_gpr_base_regs *gpr = - (struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR; - - /* Use 125M anatop REF_CLK1 for ENET1, not from external */ - clrsetbits_le32(&gpr->gpr[1], BIT(13) | BIT(17), 0); - return set_clk_enet(ENET_125MHZ); -} - -int board_phy_config(struct phy_device *phydev) -{ - /* enable rgmii rxc skew and phy mode select to RGMII copper */ - phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f); - phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8); - - phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05); - phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100); - - if (phydev->drv->config) - phydev->drv->config(phydev); - return 0; -} -#endif - int board_init(void) { -#ifdef CONFIG_FEC_MXC - setup_fec(); -#endif - #if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_DWC3) init_usb_clk(); #endif diff --git a/board/freescale/imx8qm_mek/imx8qm_mek.c b/board/freescale/imx8qm_mek/imx8qm_mek.c index d96d1d07bb1..2b209c8886f 100644 --- a/board/freescale/imx8qm_mek/imx8qm_mek.c +++ b/board/freescale/imx8qm_mek/imx8qm_mek.c @@ -102,14 +102,6 @@ int board_init(void) return 0; } -/* - * Board specific reset that is system reset. - */ -void reset_cpu(void) -{ - /* TODO */ -} - #ifdef CONFIG_OF_BOARD_SETUP int ft_board_setup(void *blob, struct bd_info *bd) { diff --git a/board/freescale/imx8qxp_mek/imx8qxp_mek.c b/board/freescale/imx8qxp_mek/imx8qxp_mek.c index 516cefd2f24..833bee55462 100644 --- a/board/freescale/imx8qxp_mek/imx8qxp_mek.c +++ b/board/freescale/imx8qxp_mek/imx8qxp_mek.c @@ -126,14 +126,6 @@ int board_init(void) return 0; } -/* - * Board specific reset that is system reset. - */ -void reset_cpu(void) -{ - /* TODO */ -} - #ifdef CONFIG_OF_BOARD_SETUP int ft_board_setup(void *blob, struct bd_info *bd) { diff --git a/board/freescale/imx93_evk/spl.c b/board/freescale/imx93_evk/spl.c index 2fd5559195e..7331a20f94c 100644 --- a/board/freescale/imx93_evk/spl.c +++ b/board/freescale/imx93_evk/spl.c @@ -116,7 +116,7 @@ void board_init_f(ulong dummy) preloader_console_init(); - ret = imx9_probe_mu(NULL, NULL); + ret = imx9_probe_mu(); if (ret) { printf("Fail to init Sentinel API\n"); } else { diff --git a/board/freescale/imxrt1020-evk/Kconfig b/board/freescale/imxrt1020-evk/Kconfig index d00cbff094b..3cb8fb1e6e9 100644 --- a/board/freescale/imxrt1020-evk/Kconfig +++ b/board/freescale/imxrt1020-evk/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "imxrt1020" config SYS_CONFIG_NAME - string default "imxrt1020-evk" config IMX_CONFIG diff --git a/board/freescale/imxrt1050-evk/Kconfig b/board/freescale/imxrt1050-evk/Kconfig index 79e6e4524ad..068130beca9 100644 --- a/board/freescale/imxrt1050-evk/Kconfig +++ b/board/freescale/imxrt1050-evk/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "imxrt1050" config SYS_CONFIG_NAME - string default "imxrt1050-evk" config IMX_CONFIG diff --git a/board/freescale/imxrt1170-evk/Kconfig b/board/freescale/imxrt1170-evk/Kconfig index c61fc579713..b433d6e5df0 100644 --- a/board/freescale/imxrt1170-evk/Kconfig +++ b/board/freescale/imxrt1170-evk/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "imxrt1170" config SYS_CONFIG_NAME - string default "imxrt1170-evk" config IMX_CONFIG diff --git a/board/friendlyelec/nanopc-t6-rk3588/Kconfig b/board/friendlyelec/nanopc-t6-rk3588/Kconfig index 032ef486108..e86a94c5909 100644 --- a/board/friendlyelec/nanopc-t6-rk3588/Kconfig +++ b/board/friendlyelec/nanopc-t6-rk3588/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "nanopc-t6-rk3588" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/gateworks/venice/venice.c b/board/gateworks/venice/venice.c index 0902a1da3e2..f54f1186b68 100644 --- a/board/gateworks/venice/venice.c +++ b/board/gateworks/venice/venice.c @@ -25,12 +25,13 @@ int board_phys_sdram_size(phys_size_t *size) return 0; } -int board_fit_config_name_match(const char *name) +int board_fit_config_name_match(const char *path) { - int i = 0; - const char *dtb; + const char *name = path + strlen("freescale/"); static char init; + const char *dtb; char buf[32]; + int i = 0; do { dtb = eeprom_get_dtb_name(i++, buf, sizeof(buf)); diff --git a/board/geekbuying/geekbox/Kconfig b/board/geekbuying/geekbox/Kconfig index 41aa8fbe03d..ac5aedf46ad 100644 --- a/board/geekbuying/geekbox/Kconfig +++ b/board/geekbuying/geekbox/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "geekbox" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/google/gru/Kconfig b/board/google/gru/Kconfig index 1455e1481dc..c84ebaf3cc1 100644 --- a/board/google/gru/Kconfig +++ b/board/google/gru/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "gru" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif if TARGET_CHROMEBOOK_KEVIN @@ -25,7 +22,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "gru" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/google/gru/gru.c b/board/google/gru/gru.c index fbcf845e87d..e08cb42c27e 100644 --- a/board/google/gru/gru.c +++ b/board/google/gru/gru.c @@ -3,20 +3,9 @@ * Copyright 2018 Google */ -#include <common.h> #include <dm.h> #include <init.h> -#include <syscon.h> -#include <asm/io.h> #include <asm/arch-rockchip/clock.h> -#include <asm/arch-rockchip/grf_rk3399.h> -#include <asm/arch-rockchip/hardware.h> -#include <asm/arch-rockchip/misc.h> - -#define GRF_IO_VSEL_BT656_SHIFT 0 -#define GRF_IO_VSEL_AUDIO_SHIFT 1 -#define PMUGRF_CON0_VSEL_SHIFT 8 -#define PMUGRF_CON0_VOL_SHIFT 9 #ifdef CONFIG_SPL_BUILD /* provided to defeat compiler optimisation in board_init_f() */ @@ -65,44 +54,3 @@ int board_early_init_r(void) return 0; } #endif - -static void setup_iodomain(void) -{ - struct rk3399_grf_regs *grf = - syscon_get_first_range(ROCKCHIP_SYSCON_GRF); - struct rk3399_pmugrf_regs *pmugrf = - syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); - - /* BT656 and audio is in 1.8v domain */ - rk_setreg(&grf->io_vsel, (1 << GRF_IO_VSEL_BT656_SHIFT | - 1 << GRF_IO_VSEL_AUDIO_SHIFT)); - - /* - * Set GPIO1 1.8v/3.0v source select to PMU1830_VOL - * and explicitly configure that PMU1830_VOL to be 1.8V - */ - rk_setreg(&pmugrf->soc_con0, (1 << PMUGRF_CON0_VSEL_SHIFT | - 1 << PMUGRF_CON0_VOL_SHIFT)); -} - -int misc_init_r(void) -{ - const u32 cpuid_offset = 0x7; - const u32 cpuid_length = 0x10; - u8 cpuid[cpuid_length]; - int ret; - - setup_iodomain(); - - ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); - if (ret) - return ret; - - ret = rockchip_cpuid_set(cpuid, cpuid_length); - if (ret) - return ret; - - ret = rockchip_setup_macaddr(); - - return ret; -} diff --git a/board/google/veyron/Kconfig b/board/google/veyron/Kconfig index 7f55d78dacb..e24a2aeee04 100644 --- a/board/google/veyron/Kconfig +++ b/board/google/veyron/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "veyron" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif if TARGET_CHROMEBIT_MICKEY @@ -25,9 +22,6 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "veyron" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif if TARGET_CHROMEBOOK_MINNIE @@ -41,9 +35,6 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "veyron" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif if TARGET_CHROMEBOOK_SPEEDY @@ -57,7 +48,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "veyron" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/hardkernel/odroid_go2/Kconfig b/board/hardkernel/odroid_go2/Kconfig index cf3f7c91d92..82988dffb3c 100644 --- a/board/hardkernel/odroid_go2/Kconfig +++ b/board/hardkernel/odroid_go2/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "odroid_go2" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/hardkernel/odroid_m1/Kconfig b/board/hardkernel/odroid_m1/Kconfig index 999c4944a83..0217c91d7b7 100644 --- a/board/hardkernel/odroid_m1/Kconfig +++ b/board/hardkernel/odroid_m1/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "odroid_m1" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/intel/agilex5-socdk/MAINTAINERS b/board/intel/agilex5-socdk/MAINTAINERS new file mode 100644 index 00000000000..b696f788c81 --- /dev/null +++ b/board/intel/agilex5-socdk/MAINTAINERS @@ -0,0 +1,8 @@ +SOCFPGA BOARD +M: Tien Fong Chee <tien.fong.chee@intel.com> +M: Teik Heng Chong <teik.heng.chong@intel.com> +M: Jit Loon Lim <jit.loon.lim@intel.com> +S: Maintained +F: board/intel/agilex5-socdk/ +F: include/configs/socfpga_agilex5_socdk.h +F: configs/socfpga_agilex5_defconfig diff --git a/board/intel/bayleybay/Kconfig b/board/intel/bayleybay/Kconfig index 97228d63087..af08566014d 100644 --- a/board/intel/bayleybay/Kconfig +++ b/board/intel/bayleybay/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "baytrail" -config SYS_CONFIG_NAME - default "bayleybay" - config TEXT_BASE default 0xfff00000 diff --git a/board/intel/bayleybay/MAINTAINERS b/board/intel/bayleybay/MAINTAINERS index 85fa51626af..5ab5d73f59e 100644 --- a/board/intel/bayleybay/MAINTAINERS +++ b/board/intel/bayleybay/MAINTAINERS @@ -2,5 +2,4 @@ Intel Bayley Bay M: Bin Meng <bmeng.cn@gmail.com> S: Maintained F: board/intel/bayleybay -F: include/configs/bayleybay.h F: configs/bayleybay_defconfig diff --git a/board/intel/cherryhill/Kconfig b/board/intel/cherryhill/Kconfig index 009cd93b6d4..28e4735e4d6 100644 --- a/board/intel/cherryhill/Kconfig +++ b/board/intel/cherryhill/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "braswell" -config SYS_CONFIG_NAME - default "cherryhill" - config TEXT_BASE default 0xffe00000 diff --git a/board/intel/cherryhill/MAINTAINERS b/board/intel/cherryhill/MAINTAINERS index 6e90f642125..7c1b311990c 100644 --- a/board/intel/cherryhill/MAINTAINERS +++ b/board/intel/cherryhill/MAINTAINERS @@ -2,5 +2,4 @@ INTEL CHERRYHILL BOARD M: Bin Meng <bmeng.cn@gmail.com> S: Maintained F: board/intel/cherryhill/ -F: include/configs/cherryhill.h F: configs/cherryhill_defconfig diff --git a/board/intel/cougarcanyon2/Kconfig b/board/intel/cougarcanyon2/Kconfig index 32407025bc1..841e041167e 100644 --- a/board/intel/cougarcanyon2/Kconfig +++ b/board/intel/cougarcanyon2/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "ivybridge" -config SYS_CONFIG_NAME - default "cougarcanyon2" - config TEXT_BASE default 0xffe00000 diff --git a/board/intel/cougarcanyon2/MAINTAINERS b/board/intel/cougarcanyon2/MAINTAINERS index a486739b5ee..a4f465cf5df 100644 --- a/board/intel/cougarcanyon2/MAINTAINERS +++ b/board/intel/cougarcanyon2/MAINTAINERS @@ -2,5 +2,4 @@ INTEL COUGAR CANYON 2 BOARD M: Bin Meng <bmeng.cn@gmail.com> S: Maintained F: board/intel/cougarcanyon2/ -F: include/configs/cougarcanyon2.h F: configs/cougarcanyon2_defconfig diff --git a/board/intel/crownbay/Kconfig b/board/intel/crownbay/Kconfig index eb2290cfafb..09614ab8d15 100644 --- a/board/intel/crownbay/Kconfig +++ b/board/intel/crownbay/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "queensbay" -config SYS_CONFIG_NAME - default "crownbay" - config TEXT_BASE default 0xfff00000 diff --git a/board/intel/crownbay/MAINTAINERS b/board/intel/crownbay/MAINTAINERS index 1eb68693df3..e2d8e6bc1d0 100644 --- a/board/intel/crownbay/MAINTAINERS +++ b/board/intel/crownbay/MAINTAINERS @@ -2,5 +2,4 @@ INTEL CROWNBAY BOARD M: Bin Meng <bmeng.cn@gmail.com> S: Maintained F: board/intel/crownbay/ -F: include/configs/crownbay.h F: configs/crownbay_defconfig diff --git a/board/intel/edison/Kconfig b/board/intel/edison/Kconfig index 5efda4b3a55..daa8d2035cd 100644 --- a/board/intel/edison/Kconfig +++ b/board/intel/edison/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "tangier" -config SYS_CONFIG_NAME - default "edison" - config SYS_MALLOC_LEN default 0x08000000 diff --git a/board/intel/edison/MAINTAINERS b/board/intel/edison/MAINTAINERS index 4bc4a00c8ad..26b27c5dfe1 100644 --- a/board/intel/edison/MAINTAINERS +++ b/board/intel/edison/MAINTAINERS @@ -2,5 +2,4 @@ Intel Edison Board M: Andy Shevchenko <andriy.shevchenko@linux.intel.com> S: Maintained F: board/intel/edison -F: include/configs/edison.h F: configs/edison_defconfig diff --git a/board/intel/galileo/Kconfig b/board/intel/galileo/Kconfig index 4c0451da48d..15c8d125408 100644 --- a/board/intel/galileo/Kconfig +++ b/board/intel/galileo/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "quark" -config SYS_CONFIG_NAME - default "galileo" - config TEXT_BASE default 0xfff10000 diff --git a/board/intel/galileo/MAINTAINERS b/board/intel/galileo/MAINTAINERS index dbbc82e8a1d..a5dcde7ad09 100644 --- a/board/intel/galileo/MAINTAINERS +++ b/board/intel/galileo/MAINTAINERS @@ -2,5 +2,4 @@ INTEL GALILEO BOARD M: Bin Meng <bmeng.cn@gmail.com> S: Maintained F: board/intel/galileo/ -F: include/configs/galileo.h F: configs/galileo_defconfig diff --git a/board/intel/minnowmax/Kconfig b/board/intel/minnowmax/Kconfig index a03ef867801..abb1d45ff61 100644 --- a/board/intel/minnowmax/Kconfig +++ b/board/intel/minnowmax/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_SOC default "baytrail" -config SYS_CONFIG_NAME - default "minnowmax" - config TEXT_BASE default 0xfff00000 diff --git a/board/intel/minnowmax/MAINTAINERS b/board/intel/minnowmax/MAINTAINERS index d655761d578..5cb94b0f36c 100644 --- a/board/intel/minnowmax/MAINTAINERS +++ b/board/intel/minnowmax/MAINTAINERS @@ -2,5 +2,4 @@ CircuitCo Minnowboard Max M: Simon Glass <sjg@chromium.org> S: Maintained F: board/intel/minnowmax -F: include/configs/minnowmax.h F: configs/minnowmax_defconfig diff --git a/board/intel/slimbootloader/Kconfig b/board/intel/slimbootloader/Kconfig index 015ed51dc89..11e6cb37bd8 100644 --- a/board/intel/slimbootloader/Kconfig +++ b/board/intel/slimbootloader/Kconfig @@ -13,9 +13,6 @@ config SYS_VENDOR config SYS_SOC default "slimbootloader" -config SYS_CONFIG_NAME - default "slimbootloader" - config TEXT_BASE default 0x00100000 diff --git a/board/intel/slimbootloader/MAINTAINERS b/board/intel/slimbootloader/MAINTAINERS index e6935517e01..0208a382ac6 100644 --- a/board/intel/slimbootloader/MAINTAINERS +++ b/board/intel/slimbootloader/MAINTAINERS @@ -2,5 +2,4 @@ Intel Slim Bootloader Payload M: Aiden Park <aiden.park@intel.com> S: Maintained F: board/intel/slimbootloader -F: include/configs/slimbootloader.h F: configs/slimbootloader_defconfig diff --git a/board/kontron/sl-mx6ul/Kconfig b/board/kontron/sl-mx6ul/Kconfig index 4e58de20947..782e099cec2 100644 --- a/board/kontron/sl-mx6ul/Kconfig +++ b/board/kontron/sl-mx6ul/Kconfig @@ -9,7 +9,6 @@ config SYS_VENDOR default "kontron" config SYS_CONFIG_NAME - string default "kontron-sl-mx6ul" endif diff --git a/board/kontron/sl-mx8mm/Kconfig b/board/kontron/sl-mx8mm/Kconfig index 9dcf407c867..1cfe9ee64bd 100644 --- a/board/kontron/sl-mx8mm/Kconfig +++ b/board/kontron/sl-mx8mm/Kconfig @@ -9,7 +9,6 @@ config SYS_VENDOR default "kontron" config SYS_CONFIG_NAME - string default "kontron-sl-mx8mm" endif diff --git a/board/liebherr/xea/spl_xea.c b/board/liebherr/xea/spl_xea.c index df354cac641..6cf8f8390e8 100644 --- a/board/liebherr/xea/spl_xea.c +++ b/board/liebherr/xea/spl_xea.c @@ -112,13 +112,6 @@ const iomux_cfg_t iomux_setup[] = { MX28_PAD_I2C0_SCL__I2C0_SCL, MX28_PAD_I2C0_SDA__I2C0_SDA, - /* I2S Codec */ - MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK, - MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK, - MX28_PAD_SAIF0_MCLK__SAIF0_MCLK, - MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0, - MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0, - /* PWR-Hold */ MX28_PAD_SPDIF__GPIO_3_27, @@ -232,11 +225,23 @@ const iomux_cfg_t iomux_setup[] = { MX28_PAD_ENET0_TXD0__ENET0_TXD0 | MUX_CONFIG_ENET, MX28_PAD_ENET0_TXD1__ENET0_TXD1 | MUX_CONFIG_ENET, MX28_PAD_ENET0_TXD3__ENET1_TXD1 | MUX_CONFIG_ENET, - MX28_PAD_SSP1_CMD__GPIO_2_13, /* PHY reset */ + MX28_PAD_SSP1_CMD__GPIO_2_13, /* PHY reset HW Rev. 1*/ + MX28_PAD_SAIF0_LRCLK__GPIO_3_21, /* PHY reset HW Rev. 2*/ /* TIVA boot control */ MX28_PAD_GPMI_RDY3__GPIO_0_23 | MUX_CONFIG_BOOT, /* TIVA0 */ MX28_PAD_GPMI_WRN__GPIO_0_25 | MUX_CONFIG_BOOT, /* TIVA1 */ + + /* HW revision ID Base Board */ + MX28_PAD_LCD_D12__GPIO_1_12, + MX28_PAD_LCD_D13__GPIO_1_13, + MX28_PAD_LCD_D14__GPIO_1_14, + + /* HW revision ID (SoM) */ + MX28_PAD_LCD_D15__GPIO_1_15, + MX28_PAD_LCD_D16__GPIO_1_16, + MX28_PAD_LCD_D17__GPIO_1_17, + MX28_PAD_LCD_D18__GPIO_1_18, }; u32 mxs_dram_vals[] = { diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c index c8ac526cb47..0a6fd7f1437 100644 --- a/board/liebherr/xea/xea.c +++ b/board/liebherr/xea/xea.c @@ -216,6 +216,34 @@ int spl_start_uboot(void) return !boot_tiva0 || !boot_tiva1; } #else +/* + * Reading the HW ID number for XEA SoM module + * + * GPIOs from Port 1 (GPIO1_15, GPIO1_16, GPIO1_17 and GPIO1_18) + * are used to store HW revision information. + * Reading of GPIOs values is performed before the Device Model is + * bring up as the proper DTB needs to be chosen first. + * + * Moreover, this approach is required as "single binary" configuration + * of U-Boot (imx28_xea_sb_defconfig) is NOT using SPL framework, so + * only minimal subset of functionality is provided when ID is read. + * + * Hence, the direct registers' access. + */ +#define XEA_SOM_HW_ID_GPIO_PORT (MXS_PINCTRL_BASE + (0x0900 + ((1) * 0x10))) +#define XEA_SOM_REV_MASK GENMASK(18, 15) +#define XEA_SOM_REV_SHIFT 15 + +static u8 get_som_rev(void) +{ + struct mxs_register_32 *reg = + (struct mxs_register_32 *)XEA_SOM_HW_ID_GPIO_PORT; + + u32 tmp = ~readl(®->reg); + u8 id = (tmp & XEA_SOM_REV_MASK) >> XEA_SOM_REV_SHIFT; + + return id; +} int board_early_init_f(void) { @@ -253,6 +281,27 @@ int board_init(void) return 0; } +#if defined(CONFIG_BOARD_LATE_INIT) +int board_late_init(void) +{ + int ret = env_set_ulong("board_som_rev", get_som_rev()); + + if (ret) + printf("Cannot set XEA's SoM revision env variable!\n"); + + return 0; +} +#endif + +#if defined(CONFIG_DISPLAY_BOARDINFO) +int checkboard(void) +{ + printf("Board: LWE XEA SoM HW rev %d\n", get_som_rev()); + + return 0; +} +#endif + int dram_init(void) { return mxs_dram_init(); diff --git a/board/mqmaker/miqi_rk3288/Kconfig b/board/mqmaker/miqi_rk3288/Kconfig index 232a1120907..bb687c973fb 100644 --- a/board/mqmaker/miqi_rk3288/Kconfig +++ b/board/mqmaker/miqi_rk3288/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "miqi_rk3288" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/phytec/phycore_am62x/phycore-am62x.c b/board/phytec/phycore_am62x/phycore-am62x.c index 91a24018c40..618b4c370d1 100644 --- a/board/phytec/phycore_am62x/phycore-am62x.c +++ b/board/phytec/phycore_am62x/phycore-am62x.c @@ -57,3 +57,67 @@ void spl_board_init(void) MCU_CTRL_DEVICE_CLKOUT_32K_CTRL); } #endif + +#if IS_ENABLED(CONFIG_ENV_IS_IN_FAT) || IS_ENABLED(CONFIG_ENV_IS_IN_MMC) +int mmc_get_env_dev(void) +{ + u32 boot_device = get_boot_device(); + + switch (boot_device) { + case BOOT_DEVICE_MMC1: + return 0; + case BOOT_DEVICE_MMC2: + return 1; + }; + + return CONFIG_SYS_MMC_ENV_DEV; +} +#endif + +enum env_location env_get_location(enum env_operation op, int prio) +{ + u32 boot_device = get_boot_device(); + + if (prio) + return ENVL_UNKNOWN; + + switch (boot_device) { + case BOOT_DEVICE_MMC1: + case BOOT_DEVICE_MMC2: + if (CONFIG_IS_ENABLED(ENV_IS_IN_FAT)) + return ENVL_FAT; + if (CONFIG_IS_ENABLED(ENV_IS_IN_MMC)) + return ENVL_MMC; + case BOOT_DEVICE_SPI: + if (CONFIG_IS_ENABLED(ENV_IS_IN_SPI_FLASH)) + return ENVL_SPI_FLASH; + default: + return ENVL_NOWHERE; + }; +} + +#if IS_ENABLED(CONFIG_BOARD_LATE_INIT) +int board_late_init(void) +{ + u32 boot_device = get_boot_device(); + + switch (boot_device) { + case BOOT_DEVICE_MMC1: + env_set_ulong("mmcdev", 0); + env_set("boot", "mmc"); + break; + case BOOT_DEVICE_MMC2: + env_set_ulong("mmcdev", 1); + env_set("boot", "mmc"); + break; + case BOOT_DEVICE_SPI: + env_set("boot", "spi"); + break; + case BOOT_DEVICE_ETHERNET: + env_set("boot", "net"); + break; + }; + + return 0; +} +#endif diff --git a/board/phytec/phycore_am64x/Kconfig b/board/phytec/phycore_am64x/Kconfig new file mode 100644 index 00000000000..427adb6fedd --- /dev/null +++ b/board/phytec/phycore_am64x/Kconfig @@ -0,0 +1,33 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2021 PHYTEC America, LLC - https://www.phytec.com +# Author: Matt McKee <mmckee@phytec.com> +# +# Copyright (C) 2022 - 2024 PHYTEC Messtechnik GmbH +# Author: Wadim Egorov <w.egorov@phytec.de> + +if TARGET_PHYCORE_AM64X_A53 + +config SYS_BOARD + default "phycore_am64x" + +config SYS_VENDOR + default "phytec" + +config SYS_CONFIG_NAME + default "phycore_am64x" + +endif + +if TARGET_PHYCORE_AM64X_R5 + +config SYS_BOARD + default "phycore_am64x" + +config SYS_VENDOR + default "phytec" + +config SYS_CONFIG_NAME + default "phycore_am64x" + +endif diff --git a/board/phytec/phycore_am64x/MAINTAINERS b/board/phytec/phycore_am64x/MAINTAINERS new file mode 100644 index 00000000000..caa9bbc97c4 --- /dev/null +++ b/board/phytec/phycore_am64x/MAINTAINERS @@ -0,0 +1,15 @@ +phyCORE-AM64x +M: Wadim Egorov <w.egorov@phytec.de> +W: https://www.phytec.com/product/phycore-am64x +S: Maintained +F: arch/arm/dts/k3-am64-phycore-som-ddr4-2gb.dtsi +F: arch/arm/dts/k3-am64-phycore-som.dtsi +F: arch/arm/dts/k3-am642-phyboard-electra-rdk-u-boot.dtsi +F: arch/arm/dts/k3-am642-phyboard-electra-rdk.dts +F: arch/arm/dts/k3-am642-phycore-som-binman.dtsi +F: arch/arm/dts/k3-am642-r5-phycore-som-2gb.dts +F: board/phytec/phycore_am64x +F: configs/phycore_am64x_a53_defconfig +F: configs/phycore_am64x_r5_defconfig +F: doc/board/phytec/phycore-am64x.rst +F: include/configs/phycore_am64x.h diff --git a/board/phytec/phycore_am64x/Makefile b/board/phytec/phycore_am64x/Makefile new file mode 100644 index 00000000000..78b8f1b1b81 --- /dev/null +++ b/board/phytec/phycore_am64x/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2021 PHYTEC America, LLC - https://www.phytec.com +# Author: Matt McKee <mmckee@phytec.com> +# +# Copyright (C) 2022 - 2024 PHYTEC Messtechnik GmbH +# Author: Wadim Egorov <w.egorov@phytec.de> + +obj-y += phycore-am64x.o diff --git a/board/phytec/phycore_am64x/board-cfg.yaml b/board/phytec/phycore_am64x/board-cfg.yaml new file mode 100644 index 00000000000..8981b75caa2 --- /dev/null +++ b/board/phytec/phycore_am64x/board-cfg.yaml @@ -0,0 +1,36 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Board configuration for AM64x +# + +--- + +board-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + control: + subhdr: + magic: 0xC1D3 + size: 7 + main_isolation_enable: 0x5A + main_isolation_hostid: 0x2 + secproxy: + subhdr: + magic: 0x1207 + size: 7 + scaling_factor: 0x1 + scaling_profile: 0x1 + disable_main_nav_secure_proxy: 0 + msmc: + subhdr: + magic: 0xA5C3 + size: 5 + msmc_cache_size: 0x0 + debug_cfg: + subhdr: + magic: 0x020C + size: 8 + trace_dst_enables: 0x00 + trace_src_enables: 0x00 diff --git a/board/phytec/phycore_am64x/phycore-am64x.c b/board/phytec/phycore_am64x/phycore-am64x.c new file mode 100644 index 00000000000..8f3b22657c7 --- /dev/null +++ b/board/phytec/phycore_am64x/phycore-am64x.c @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2021 PHYTEC America, LLC - https://www.phytec.com + * Author: Matt McKee <mmckee@phytec.com> + * + * Copyright (C) 2022 - 2024 PHYTEC Messtechnik GmbH + * Author: Wadim Egorov <w.egorov@phytec.de> + */ + +#include <asm/io.h> +#include <env.h> +#include <env_internal.h> +#include <spl.h> +#include <fdt_support.h> +#include <asm/arch/hardware.h> + +DECLARE_GLOBAL_DATA_PTR; + +int board_init(void) +{ + return 0; +} + +int dram_init(void) +{ + return fdtdec_setup_mem_size_base(); +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} + +#define CTRLMMR_USB0_PHY_CTRL 0x43004008 +#define CORE_VOLTAGE 0x80000000 + +#ifdef CONFIG_SPL_BOARD_INIT +void spl_board_init(void) +{ + u32 val; + + /* Set USB PHY core voltage to 0.85V */ + val = readl(CTRLMMR_USB0_PHY_CTRL); + val &= ~(CORE_VOLTAGE); + writel(val, CTRLMMR_USB0_PHY_CTRL); + + /* Init DRAM size for R5/A53 SPL */ + dram_init_banksize(); +} +#endif diff --git a/board/phytec/phycore_am64x/phycore_am64x.env b/board/phytec/phycore_am64x/phycore_am64x.env new file mode 100644 index 00000000000..ada3a9233be --- /dev/null +++ b/board/phytec/phycore_am64x/phycore_am64x.env @@ -0,0 +1,23 @@ +fdtaddr=0x88000000 +loadaddr=0x82000000 +scriptaddr=0x80000000 +fdt_addr_r=0x88000000 +kernel_addr_r=0x82000000 +ramdisk_addr_r=0x88080000 +fdtoverlay_addr_r=0x89000000 + +fdtfile=CONFIG_DEFAULT_FDT_FILE +mmcdev=1 +mmcroot=2 +mmcpart=1 +console=ttyS2,115200n8 +mmcargs=setenv bootargs console=${console} earlycon=ns16550a,mmio32,0x02800000 + root=/dev/mmcblk${mmcdev}p${mmcroot} rootwait rw +loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} Image +loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${fdtfile} +mmcboot=run mmcargs; + mmc dev ${mmcdev}; + mmc rescan; + run loadimage; + run loadfdt; + booti ${loadaddr} - ${fdtaddr} diff --git a/board/phytec/phycore_am64x/pm-cfg.yaml b/board/phytec/phycore_am64x/pm-cfg.yaml new file mode 100644 index 00000000000..7afb2962108 --- /dev/null +++ b/board/phytec/phycore_am64x/pm-cfg.yaml @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Power management configuration for AM64x +# + +--- + +pm-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 diff --git a/board/phytec/phycore_am64x/rm-cfg.yaml b/board/phytec/phycore_am64x/rm-cfg.yaml new file mode 100644 index 00000000000..88b37b5972c --- /dev/null +++ b/board/phytec/phycore_am64x/rm-cfg.yaml @@ -0,0 +1,1215 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Resource management configuration for AM64x +# + +--- + +rm-cfg: + rm_boardcfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + host_cfg: + subhdr: + magic: 0x4C41 + size: 356 + host_cfg_entries: + - # 1 + host_id: 12 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 2 + host_id: 30 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 3 + host_id: 36 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 4 + host_id: 38 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 5 + host_id: 41 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 6 + host_id: 43 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 7 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 8 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 9 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 10 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 11 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 12 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 13 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 14 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 15 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 16 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 17 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 18 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 19 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 20 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 21 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 22 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 23 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 24 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 25 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 26 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 27 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 28 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 29 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 30 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 31 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 32 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + resasg: + subhdr: + magic: 0x7B25 + size: 8 + resasg_entries_size: 1288 + reserved: 0 + resasg_entries: + - + start_resource: 0 + num_resource: 16 + type: 64 + host_id: 12 + reserved: 0 + - + start_resource: 16 + num_resource: 4 + type: 64 + host_id: 35 + reserved: 0 + - + start_resource: 16 + num_resource: 4 + type: 64 + host_id: 36 + reserved: 0 + - + start_resource: 20 + num_resource: 4 + type: 64 + host_id: 38 + reserved: 0 + - + start_resource: 24 + num_resource: 4 + type: 64 + host_id: 41 + reserved: 0 + - + start_resource: 28 + num_resource: 4 + type: 64 + host_id: 43 + reserved: 0 + - + start_resource: 32 + num_resource: 8 + type: 64 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 12 + type: 192 + host_id: 12 + reserved: 0 + - + start_resource: 12 + num_resource: 2 + type: 192 + host_id: 41 + reserved: 0 + - + start_resource: 14 + num_resource: 2 + type: 192 + host_id: 43 + reserved: 0 + - + start_resource: 0 + num_resource: 4 + type: 320 + host_id: 12 + reserved: 0 + - + start_resource: 4 + num_resource: 4 + type: 320 + host_id: 30 + reserved: 0 + - + start_resource: 0 + num_resource: 41 + type: 384 + host_id: 128 + reserved: 0 + - + start_resource: 50176 + num_resource: 136 + type: 1666 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 1667 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 12 + type: 1677 + host_id: 12 + reserved: 0 + - + start_resource: 12 + num_resource: 6 + type: 1677 + host_id: 35 + reserved: 0 + - + start_resource: 12 + num_resource: 6 + type: 1677 + host_id: 36 + reserved: 0 + - + start_resource: 18 + num_resource: 2 + type: 1677 + host_id: 38 + reserved: 0 + - + start_resource: 20 + num_resource: 4 + type: 1677 + host_id: 41 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 1677 + host_id: 43 + reserved: 0 + - + start_resource: 26 + num_resource: 1 + type: 1677 + host_id: 30 + reserved: 0 + - + start_resource: 27 + num_resource: 1 + type: 1677 + host_id: 128 + reserved: 0 + - + start_resource: 48 + num_resource: 6 + type: 1678 + host_id: 12 + reserved: 0 + - + start_resource: 54 + num_resource: 6 + type: 1678 + host_id: 35 + reserved: 0 + - + start_resource: 54 + num_resource: 6 + type: 1678 + host_id: 36 + reserved: 0 + - + start_resource: 60 + num_resource: 2 + type: 1678 + host_id: 38 + reserved: 0 + - + start_resource: 62 + num_resource: 4 + type: 1678 + host_id: 41 + reserved: 0 + - + start_resource: 66 + num_resource: 2 + type: 1678 + host_id: 43 + reserved: 0 + - + start_resource: 28 + num_resource: 6 + type: 1679 + host_id: 12 + reserved: 0 + - + start_resource: 34 + num_resource: 6 + type: 1679 + host_id: 35 + reserved: 0 + - + start_resource: 34 + num_resource: 6 + type: 1679 + host_id: 36 + reserved: 0 + - + start_resource: 40 + num_resource: 2 + type: 1679 + host_id: 38 + reserved: 0 + - + start_resource: 42 + num_resource: 4 + type: 1679 + host_id: 41 + reserved: 0 + - + start_resource: 46 + num_resource: 2 + type: 1679 + host_id: 43 + reserved: 0 + - + start_resource: 0 + num_resource: 12 + type: 1696 + host_id: 12 + reserved: 0 + - + start_resource: 12 + num_resource: 6 + type: 1696 + host_id: 35 + reserved: 0 + - + start_resource: 12 + num_resource: 6 + type: 1696 + host_id: 36 + reserved: 0 + - + start_resource: 18 + num_resource: 2 + type: 1696 + host_id: 38 + reserved: 0 + - + start_resource: 20 + num_resource: 4 + type: 1696 + host_id: 41 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 1696 + host_id: 43 + reserved: 0 + - + start_resource: 26 + num_resource: 1 + type: 1696 + host_id: 30 + reserved: 0 + - + start_resource: 27 + num_resource: 1 + type: 1696 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 6 + type: 1697 + host_id: 12 + reserved: 0 + - + start_resource: 6 + num_resource: 6 + type: 1697 + host_id: 35 + reserved: 0 + - + start_resource: 6 + num_resource: 6 + type: 1697 + host_id: 36 + reserved: 0 + - + start_resource: 12 + num_resource: 2 + type: 1697 + host_id: 38 + reserved: 0 + - + start_resource: 14 + num_resource: 4 + type: 1697 + host_id: 41 + reserved: 0 + - + start_resource: 18 + num_resource: 2 + type: 1697 + host_id: 43 + reserved: 0 + - + start_resource: 0 + num_resource: 6 + type: 1698 + host_id: 12 + reserved: 0 + - + start_resource: 6 + num_resource: 6 + type: 1698 + host_id: 35 + reserved: 0 + - + start_resource: 6 + num_resource: 6 + type: 1698 + host_id: 36 + reserved: 0 + - + start_resource: 12 + num_resource: 2 + type: 1698 + host_id: 38 + reserved: 0 + - + start_resource: 14 + num_resource: 4 + type: 1698 + host_id: 41 + reserved: 0 + - + start_resource: 18 + num_resource: 2 + type: 1698 + host_id: 43 + reserved: 0 + - + start_resource: 5 + num_resource: 35 + type: 1802 + host_id: 12 + reserved: 0 + - + start_resource: 44 + num_resource: 14 + type: 1802 + host_id: 35 + reserved: 0 + - + start_resource: 44 + num_resource: 14 + type: 1802 + host_id: 36 + reserved: 0 + - + start_resource: 58 + num_resource: 14 + type: 1802 + host_id: 38 + reserved: 0 + - + start_resource: 92 + num_resource: 14 + type: 1802 + host_id: 41 + reserved: 0 + - + start_resource: 106 + num_resource: 14 + type: 1802 + host_id: 43 + reserved: 0 + - + start_resource: 168 + num_resource: 16 + type: 1802 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 512 + type: 1805 + host_id: 12 + reserved: 0 + - + start_resource: 528 + num_resource: 256 + type: 1805 + host_id: 35 + reserved: 0 + - + start_resource: 528 + num_resource: 256 + type: 1805 + host_id: 36 + reserved: 0 + - + start_resource: 784 + num_resource: 192 + type: 1805 + host_id: 38 + reserved: 0 + - + start_resource: 976 + num_resource: 256 + type: 1805 + host_id: 41 + reserved: 0 + - + start_resource: 1232 + num_resource: 192 + type: 1805 + host_id: 43 + reserved: 0 + - + start_resource: 1424 + num_resource: 96 + type: 1805 + host_id: 30 + reserved: 0 + - + start_resource: 1520 + num_resource: 16 + type: 1805 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1024 + type: 1807 + host_id: 128 + reserved: 0 + - + start_resource: 4096 + num_resource: 42 + type: 1808 + host_id: 128 + reserved: 0 + - + start_resource: 4608 + num_resource: 112 + type: 1809 + host_id: 128 + reserved: 0 + - + start_resource: 5120 + num_resource: 29 + type: 1810 + host_id: 128 + reserved: 0 + - + start_resource: 5632 + num_resource: 176 + type: 1811 + host_id: 128 + reserved: 0 + - + start_resource: 6144 + num_resource: 176 + type: 1812 + host_id: 128 + reserved: 0 + - + start_resource: 6656 + num_resource: 176 + type: 1813 + host_id: 128 + reserved: 0 + - + start_resource: 8192 + num_resource: 28 + type: 1814 + host_id: 128 + reserved: 0 + - + start_resource: 8704 + num_resource: 28 + type: 1815 + host_id: 128 + reserved: 0 + - + start_resource: 9216 + num_resource: 28 + type: 1816 + host_id: 128 + reserved: 0 + - + start_resource: 9728 + num_resource: 20 + type: 1817 + host_id: 128 + reserved: 0 + - + start_resource: 10240 + num_resource: 20 + type: 1818 + host_id: 128 + reserved: 0 + - + start_resource: 10752 + num_resource: 20 + type: 1819 + host_id: 128 + reserved: 0 + - + start_resource: 11264 + num_resource: 20 + type: 1820 + host_id: 128 + reserved: 0 + - + start_resource: 11776 + num_resource: 20 + type: 1821 + host_id: 128 + reserved: 0 + - + start_resource: 12288 + num_resource: 20 + type: 1822 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 1923 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 4 + type: 1936 + host_id: 12 + reserved: 0 + - + start_resource: 4 + num_resource: 3 + type: 1936 + host_id: 35 + reserved: 0 + - + start_resource: 4 + num_resource: 3 + type: 1936 + host_id: 36 + reserved: 0 + - + start_resource: 7 + num_resource: 2 + type: 1936 + host_id: 38 + reserved: 0 + - + start_resource: 9 + num_resource: 4 + type: 1936 + host_id: 41 + reserved: 0 + - + start_resource: 13 + num_resource: 2 + type: 1936 + host_id: 43 + reserved: 0 + - + start_resource: 15 + num_resource: 1 + type: 1936 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 64 + type: 1937 + host_id: 12 + reserved: 0 + - + start_resource: 16 + num_resource: 64 + type: 1937 + host_id: 35 + reserved: 0 + - + start_resource: 88 + num_resource: 8 + type: 1939 + host_id: 12 + reserved: 0 + - + start_resource: 96 + num_resource: 8 + type: 1940 + host_id: 12 + reserved: 0 + - + start_resource: 104 + num_resource: 8 + type: 1941 + host_id: 12 + reserved: 0 + - + start_resource: 112 + num_resource: 4 + type: 1942 + host_id: 12 + reserved: 0 + - + start_resource: 116 + num_resource: 3 + type: 1942 + host_id: 35 + reserved: 0 + - + start_resource: 116 + num_resource: 3 + type: 1942 + host_id: 36 + reserved: 0 + - + start_resource: 119 + num_resource: 2 + type: 1942 + host_id: 38 + reserved: 0 + - + start_resource: 121 + num_resource: 4 + type: 1942 + host_id: 41 + reserved: 0 + - + start_resource: 125 + num_resource: 2 + type: 1942 + host_id: 43 + reserved: 0 + - + start_resource: 127 + num_resource: 1 + type: 1942 + host_id: 30 + reserved: 0 + - + start_resource: 128 + num_resource: 16 + type: 1943 + host_id: 12 + reserved: 0 + - + start_resource: 128 + num_resource: 16 + type: 1943 + host_id: 35 + reserved: 0 + - + start_resource: 144 + num_resource: 8 + type: 1945 + host_id: 128 + reserved: 0 + - + start_resource: 152 + num_resource: 8 + type: 1946 + host_id: 12 + reserved: 0 + - + start_resource: 152 + num_resource: 8 + type: 1947 + host_id: 12 + reserved: 0 + - + start_resource: 160 + num_resource: 64 + type: 1948 + host_id: 12 + reserved: 0 + - + start_resource: 224 + num_resource: 64 + type: 1949 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 4 + type: 1955 + host_id: 12 + reserved: 0 + - + start_resource: 4 + num_resource: 3 + type: 1955 + host_id: 35 + reserved: 0 + - + start_resource: 4 + num_resource: 3 + type: 1955 + host_id: 36 + reserved: 0 + - + start_resource: 7 + num_resource: 2 + type: 1955 + host_id: 38 + reserved: 0 + - + start_resource: 9 + num_resource: 4 + type: 1955 + host_id: 41 + reserved: 0 + - + start_resource: 13 + num_resource: 2 + type: 1955 + host_id: 43 + reserved: 0 + - + start_resource: 15 + num_resource: 1 + type: 1955 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 8 + type: 1956 + host_id: 12 + reserved: 0 + - + start_resource: 16 + num_resource: 8 + type: 1956 + host_id: 35 + reserved: 0 + - + start_resource: 25 + num_resource: 1 + type: 1958 + host_id: 12 + reserved: 0 + - + start_resource: 26 + num_resource: 8 + type: 1959 + host_id: 12 + reserved: 0 + - + start_resource: 34 + num_resource: 8 + type: 1960 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 4 + type: 1961 + host_id: 12 + reserved: 0 + - + start_resource: 4 + num_resource: 3 + type: 1961 + host_id: 35 + reserved: 0 + - + start_resource: 4 + num_resource: 3 + type: 1961 + host_id: 36 + reserved: 0 + - + start_resource: 7 + num_resource: 2 + type: 1961 + host_id: 38 + reserved: 0 + - + start_resource: 9 + num_resource: 4 + type: 1961 + host_id: 41 + reserved: 0 + - + start_resource: 13 + num_resource: 2 + type: 1961 + host_id: 43 + reserved: 0 + - + start_resource: 15 + num_resource: 1 + type: 1961 + host_id: 30 + reserved: 0 + - + start_resource: 0 + num_resource: 4 + type: 1962 + host_id: 12 + reserved: 0 + - + start_resource: 4 + num_resource: 3 + type: 1962 + host_id: 35 + reserved: 0 + - + start_resource: 4 + num_resource: 3 + type: 1962 + host_id: 36 + reserved: 0 + - + start_resource: 7 + num_resource: 2 + type: 1962 + host_id: 38 + reserved: 0 + - + start_resource: 9 + num_resource: 4 + type: 1962 + host_id: 41 + reserved: 0 + - + start_resource: 13 + num_resource: 2 + type: 1962 + host_id: 43 + reserved: 0 + - + start_resource: 15 + num_resource: 1 + type: 1962 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 1 + type: 1963 + host_id: 12 + reserved: 0 + - + start_resource: 16 + num_resource: 1 + type: 1963 + host_id: 35 + reserved: 0 + - + start_resource: 16 + num_resource: 16 + type: 1964 + host_id: 12 + reserved: 0 + - + start_resource: 16 + num_resource: 16 + type: 1964 + host_id: 35 + reserved: 0 + - + start_resource: 32 + num_resource: 8 + type: 1966 + host_id: 128 + reserved: 0 + - + start_resource: 32 + num_resource: 8 + type: 1968 + host_id: 128 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 1969 + host_id: 12 + reserved: 0 + - + start_resource: 40 + num_resource: 8 + type: 1970 + host_id: 12 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 1971 + host_id: 12 + reserved: 0 + - + start_resource: 40 + num_resource: 8 + type: 1972 + host_id: 12 + reserved: 0 + - + start_resource: 21 + num_resource: 4 + type: 1973 + host_id: 12 + reserved: 0 + - + start_resource: 48 + num_resource: 64 + type: 1974 + host_id: 12 + reserved: 0 + - + start_resource: 25 + num_resource: 4 + type: 1975 + host_id: 12 + reserved: 0 + - + start_resource: 112 + num_resource: 64 + type: 1976 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 2112 + host_id: 128 + reserved: 0 + - + start_resource: 2 + num_resource: 2 + type: 2122 + host_id: 12 + reserved: 0 + - + start_resource: 20 + num_resource: 2 + type: 2124 + host_id: 35 + reserved: 0 + - + start_resource: 20 + num_resource: 2 + type: 2124 + host_id: 36 + reserved: 0 + - + start_resource: 22 + num_resource: 2 + type: 2124 + host_id: 38 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 2124 + host_id: 41 + reserved: 0 + - + start_resource: 26 + num_resource: 2 + type: 2124 + host_id: 43 + reserved: 0 + - + start_resource: 28 + num_resource: 4 + type: 2124 + host_id: 128 + reserved: 0 diff --git a/board/phytec/phycore_am64x/sec-cfg.yaml b/board/phytec/phycore_am64x/sec-cfg.yaml new file mode 100644 index 00000000000..b61551c3208 --- /dev/null +++ b/board/phytec/phycore_am64x/sec-cfg.yaml @@ -0,0 +1,379 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Security configuration for AM64x +# + +--- + +sec-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + processor_acl_list: + subhdr: + magic: 0xF1EA + size: 164 + proc_acl_entries: + - # 1 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 2 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 3 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 4 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 5 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 6 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 7 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 8 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 9 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 10 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 11 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 12 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 13 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 14 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 15 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 16 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 17 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 18 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 19 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 20 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 21 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 22 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 23 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 24 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 25 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 26 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 27 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 28 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 29 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 30 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 31 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 32 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + host_hierarchy: + subhdr: + magic: 0x8D27 + size: 68 + host_hierarchy_entries: + - # 1 + host_id: 0 + supervisor_host_id: 0 + - # 2 + host_id: 0 + supervisor_host_id: 0 + - # 3 + host_id: 0 + supervisor_host_id: 0 + - # 4 + host_id: 0 + supervisor_host_id: 0 + - # 5 + host_id: 0 + supervisor_host_id: 0 + - # 6 + host_id: 0 + supervisor_host_id: 0 + - # 7 + host_id: 0 + supervisor_host_id: 0 + - # 8 + host_id: 0 + supervisor_host_id: 0 + - # 9 + host_id: 0 + supervisor_host_id: 0 + - # 10 + host_id: 0 + supervisor_host_id: 0 + - # 11 + host_id: 0 + supervisor_host_id: 0 + - # 12 + host_id: 0 + supervisor_host_id: 0 + - # 13 + host_id: 0 + supervisor_host_id: 0 + - # 14 + host_id: 0 + supervisor_host_id: 0 + - # 15 + host_id: 0 + supervisor_host_id: 0 + - # 16 + host_id: 0 + supervisor_host_id: 0 + - # 17 + host_id: 0 + supervisor_host_id: 0 + - # 18 + host_id: 0 + supervisor_host_id: 0 + - # 19 + host_id: 0 + supervisor_host_id: 0 + - # 20 + host_id: 0 + supervisor_host_id: 0 + - # 21 + host_id: 0 + supervisor_host_id: 0 + - # 22 + host_id: 0 + supervisor_host_id: 0 + - # 23 + host_id: 0 + supervisor_host_id: 0 + - # 24 + host_id: 0 + supervisor_host_id: 0 + - # 25 + host_id: 0 + supervisor_host_id: 0 + - # 26 + host_id: 0 + supervisor_host_id: 0 + - # 27 + host_id: 0 + supervisor_host_id: 0 + - # 28 + host_id: 0 + supervisor_host_id: 0 + - # 29 + host_id: 0 + supervisor_host_id: 0 + - # 30 + host_id: 0 + supervisor_host_id: 0 + - # 31 + host_id: 0 + supervisor_host_id: 0 + - # 32 + host_id: 0 + supervisor_host_id: 0 + otp_config: + subhdr: + magic: 0x4081 + size: 69 + write_host_id: 0 + otp_entry: + - # 1 + host_id: 0 + host_perms: 0 + - # 2 + host_id: 0 + host_perms: 0 + - # 3 + host_id: 0 + host_perms: 0 + - # 4 + host_id: 0 + host_perms: 0 + - # 5 + host_id: 0 + host_perms: 0 + - # 6 + host_id: 0 + host_perms: 0 + - # 7 + host_id: 0 + host_perms: 0 + - # 8 + host_id: 0 + host_perms: 0 + - # 9 + host_id: 0 + host_perms: 0 + - # 10 + host_id: 0 + host_perms: 0 + - # 11 + host_id: 0 + host_perms: 0 + - # 12 + host_id: 0 + host_perms: 0 + - # 13 + host_id: 0 + host_perms: 0 + - # 14 + host_id: 0 + host_perms: 0 + - # 15 + host_id: 0 + host_perms: 0 + - # 16 + host_id: 0 + host_perms: 0 + - # 17 + host_id: 0 + host_perms: 0 + - # 18 + host_id: 0 + host_perms: 0 + - # 19 + host_id: 0 + host_perms: 0 + - # 20 + host_id: 0 + host_perms: 0 + - # 21 + host_id: 0 + host_perms: 0 + - # 22 + host_id: 0 + host_perms: 0 + - # 23 + host_id: 0 + host_perms: 0 + - # 24 + host_id: 0 + host_perms: 0 + - # 25 + host_id: 0 + host_perms: 0 + - # 26 + host_id: 0 + host_perms: 0 + - # 27 + host_id: 0 + host_perms: 0 + - # 28 + host_id: 0 + host_perms: 0 + - # 29 + host_id: 0 + host_perms: 0 + - # 30 + host_id: 0 + host_perms: 0 + - # 31 + host_id: 0 + host_perms: 0 + - # 32 + host_id: 0 + host_perms: 0 + dkek_config: + subhdr: + magic: 0x5170 + size: 12 + allowed_hosts: [128, 0, 0, 0] + allow_dkek_export_tisci: 0x5A + rsvd: [0, 0, 0] + sa2ul_cfg: + subhdr: + magic: 0x23BE + size: 0 + auth_resource_owner: 0 + enable_saul_psil_global_config_writes: 0 + rsvd: [0, 0] + sec_dbg_config: + subhdr: + magic: 0x42AF + size: 16 + allow_jtag_unlock: 0x5A + allow_wildcard_unlock: 0x5A + allowed_debug_level_rsvd: 0 + rsvd: 0 + min_cert_rev: 0x0 + jtag_unlock_hosts: [0, 0, 0, 0] + sec_handover_cfg: + subhdr: + magic: 0x608F + size: 10 + handover_msg_sender: 0 + handover_to_host_id: 0 + rsvd: [0, 0, 0, 0] diff --git a/board/phytec/phycore_imx8mp/phycore_imx8mp.env b/board/phytec/phycore_imx8mp/phycore_imx8mp.env new file mode 100644 index 00000000000..7f6c5fd2c76 --- /dev/null +++ b/board/phytec/phycore_imx8mp/phycore_imx8mp.env @@ -0,0 +1,62 @@ +#include <env/phytec/rauc.env> + +bootcmd= + if test ${dofastboot} = 1; then + fastboot 0; + fi; + mmc dev ${mmcdev}; + if mmc rescan; then + if test ${doraucboot} = 1; then + run raucinit; + fi; + if run loadimage; then + run mmcboot; + else + run netboot; + fi; + fi; +console=ttymxc0,115200 +dofastboot=0 +emmc_dev=2 +fastboot_raw_partition_all=0 4194304 +fastboot_raw_partition_bootloader=64 8128 +fdt_addr=0x48000000 +fdt_file=CONFIG_DEFAULT_FDT_FILE +image=Image +ip_dyn=yes +loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file} +loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image} +mmcargs= + setenv bootargs console=${console} + root=/dev/mmcblk${mmcdev}p${mmcroot} ${raucargs} rootwait rw +mmcautodetect=yes +mmcboot= + echo Booting from mmc ...; + run mmcargs; + if run loadfdt; then + booti ${loadaddr} - ${fdt_addr}; + else + echo WARN: Cannot load the DT; + fi; +mmcdev=CONFIG_SYS_MMC_ENV_DEV +mmcpart=1 +mmcroot=2 +netargs= + setenv bootargs console=${console} root=/dev/nfs ip=dhcp + nfsroot=${serverip}:${nfsroot},v3,tcp +netboot= + echo Booting from net ...; + if test ${ip_dyn} = yes; then + setenv get_cmd dhcp; + else + setenv get_cmd tftp; + fi; + ${get_cmd} ${loadaddr} ${image}; + run netargs; + if ${get_cmd} ${fdt_addr} ${fdt_file}; then + booti ${loadaddr} - ${fdt_addr}; + else + echo WARN: Cannot load the DT; + fi; +nfsroot=/srv/nfs +sd_dev=1 diff --git a/board/phytec/phycore_imx93/spl.c b/board/phytec/phycore_imx93/spl.c index 16303fc187a..f03bfee9ffa 100644 --- a/board/phytec/phycore_imx93/spl.c +++ b/board/phytec/phycore_imx93/spl.c @@ -122,7 +122,7 @@ void board_init_f(ulong dummy) preloader_console_init(); - ret = imx9_probe_mu(NULL, NULL); + ret = imx9_probe_mu(); if (ret) { printf("Fail to init ELE API\n"); } else { diff --git a/board/phytec/phycore_rk3288/Kconfig b/board/phytec/phycore_rk3288/Kconfig index 57cd8e26ed7..09753ef238f 100644 --- a/board/phytec/phycore_rk3288/Kconfig +++ b/board/phytec/phycore_rk3288/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "phycore_rk3288" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/pine64/pinebook-pro-rk3399/Kconfig b/board/pine64/pinebook-pro-rk3399/Kconfig index 3bb7ca448e4..3eedbcdd49d 100644 --- a/board/pine64/pinebook-pro-rk3399/Kconfig +++ b/board/pine64/pinebook-pro-rk3399/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "pinebook-pro-rk3399" -config BOARD_SPECIFIC_OPTIONS - def_bool y - endif diff --git a/board/pine64/pinebook-pro-rk3399/MAINTAINERS b/board/pine64/pinebook-pro-rk3399/MAINTAINERS index 7300ca1b1b8..2cafd1a41e5 100644 --- a/board/pine64/pinebook-pro-rk3399/MAINTAINERS +++ b/board/pine64/pinebook-pro-rk3399/MAINTAINERS @@ -1,8 +1,8 @@ PINEBOOK_PRO M: Peter Robinson <pbrobinson@gmail.com> +R: Jonas Karlman <jonas@kwiboo.se> S: Maintained F: board/pine64/pinebook-pro-rk3399/ -F: include/configs/rk3399-pinebook-pro.h -F: arch/arm/dts/rk3399-pinebook-pro.dts -F: arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +F: include/configs/pinebook-pro-rk3399.h +F: arch/arm/dts/rk3399-pinebook-pro* F: configs/pinebook-pro-rk3399_defconfig diff --git a/board/pine64/pinebook-pro-rk3399/Makefile b/board/pine64/pinebook-pro-rk3399/Makefile deleted file mode 100644 index 2f692a12a67..00000000000 --- a/board/pine64/pinebook-pro-rk3399/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += pinebook-pro-rk3399.o diff --git a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c deleted file mode 100644 index 4ad780767ea..00000000000 --- a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c +++ /dev/null @@ -1,76 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2016 Rockchip Electronics Co., Ltd - * (C) Copyright 2020 Peter Robinson <pbrobinson at gmail.com> - */ - -#include <common.h> -#include <dm.h> -#include <syscon.h> -#include <asm/io.h> -#include <asm/arch-rockchip/clock.h> -#include <asm/arch-rockchip/grf_rk3399.h> -#include <asm/arch-rockchip/hardware.h> -#include <asm/arch-rockchip/misc.h> -#include <linux/printk.h> -#include <power/regulator.h> - -#define GRF_IO_VSEL_BT565_SHIFT 0 -#define PMUGRF_CON0_VSEL_SHIFT 8 - -#ifndef CONFIG_SPL_BUILD -int board_early_init_f(void) -{ - struct udevice *regulator; - int ret; - - ret = regulator_get_by_platname("vcc5v0_usb", ®ulator); - if (ret) { - pr_debug("%s vcc5v0_usb init fail! ret %d\n", __func__, ret); - goto out; - } - - ret = regulator_set_enable(regulator, true); - if (ret) - pr_debug("%s vcc5v0-host-en-gpio set fail! ret %d\n", __func__, ret); - -out: - return 0; -} -#endif - -#ifdef CONFIG_MISC_INIT_R -static void setup_iodomain(void) -{ - struct rk3399_grf_regs *grf = - syscon_get_first_range(ROCKCHIP_SYSCON_GRF); - struct rk3399_pmugrf_regs *pmugrf = - syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); - - /* BT565 is in 1.8v domain */ - rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT); - - /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ - rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); -} - -int misc_init_r(void) -{ - const u32 cpuid_offset = 0x7; - const u32 cpuid_length = 0x10; - u8 cpuid[cpuid_length]; - int ret; - - setup_iodomain(); - - ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); - if (ret) - return ret; - - ret = rockchip_cpuid_set(cpuid, cpuid_length); - if (ret) - return ret; - - return ret; -} -#endif diff --git a/board/pine64/pinephone-pro-rk3399/Kconfig b/board/pine64/pinephone-pro-rk3399/Kconfig index 13d6465ae6e..5f207df6dea 100644 --- a/board/pine64/pinephone-pro-rk3399/Kconfig +++ b/board/pine64/pinephone-pro-rk3399/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "pinephone-pro-rk3399" -config BOARD_SPECIFIC_OPTIONS - def_bool y - endif diff --git a/board/pine64/pinephone-pro-rk3399/MAINTAINERS b/board/pine64/pinephone-pro-rk3399/MAINTAINERS index bc2dcdd8d42..959566a877e 100644 --- a/board/pine64/pinephone-pro-rk3399/MAINTAINERS +++ b/board/pine64/pinephone-pro-rk3399/MAINTAINERS @@ -2,7 +2,6 @@ PINEPHONE_PRO M: Peter Robinson <pbrobinson@gmail.com> S: Maintained F: board/pine64/pinephone-pro-rk3399/ -F: include/configs/rk3399-pinephone-pro.h -F: arch/arm/dts/rk3399-pinephone-pro.dts -F: arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi +F: include/configs/pinephone-pro-rk3399.h +F: arch/arm/dts/rk3399-pinephone-pro* F: configs/pinephone-pro-rk3399_defconfig diff --git a/board/pine64/pinephone-pro-rk3399/Makefile b/board/pine64/pinephone-pro-rk3399/Makefile deleted file mode 100644 index 8d9203053e5..00000000000 --- a/board/pine64/pinephone-pro-rk3399/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += pinephone-pro-rk3399.o diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c deleted file mode 100644 index b6ccbb9c1c4..00000000000 --- a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c +++ /dev/null @@ -1,78 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2016 Rockchip Electronics Co., Ltd - * (C) Copyright 2022 Peter Robinson <pbrobinson at gmail.com> - */ - -#include <common.h> -#include <dm.h> -#include <init.h> -#include <syscon.h> -#include <asm/io.h> -#include <asm/arch-rockchip/clock.h> -#include <asm/arch-rockchip/grf_rk3399.h> -#include <asm/arch-rockchip/hardware.h> -#include <asm/arch-rockchip/misc.h> -#include <power/regulator.h> - -#define GRF_IO_VSEL_BT565_GPIO2AB 1 -#define GRF_IO_VSEL_AUDIO_GPIO3D4A 2 -#define PMUGRF_CON0_VSEL_SHIFT 8 - -#ifndef CONFIG_SPL_BUILD -int board_early_init_f(void) -{ - struct udevice *regulator; - int ret; - - ret = regulator_get_by_platname("vcc5v0_usb", ®ulator); - if (ret) { - pr_debug("%s vcc5v0_usb init fail! ret %d\n", __func__, ret); - goto out; - } - - ret = regulator_set_enable(regulator, true); - if (ret) - pr_debug("%s vcc5v0-host-en-gpio set fail! ret %d\n", __func__, ret); - -out: - return 0; -} -#endif - -#ifdef CONFIG_MISC_INIT_R -static void setup_iodomain(void) -{ - struct rk3399_grf_regs *grf = - syscon_get_first_range(ROCKCHIP_SYSCON_GRF); - struct rk3399_pmugrf_regs *pmugrf = - syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); - - /* BT565 is in 1.8v domain */ - rk_setreg(&grf->io_vsel, - GRF_IO_VSEL_BT565_GPIO2AB | GRF_IO_VSEL_AUDIO_GPIO3D4A); - - /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ - rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); -} - -int misc_init_r(void) -{ - const u32 cpuid_offset = 0x7; - const u32 cpuid_length = 0x10; - u8 cpuid[cpuid_length]; - int ret; - - setup_iodomain(); - - ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); - if (ret) - return ret; - - ret = rockchip_cpuid_set(cpuid, cpuid_length); - if (ret) - return ret; - - return ret; -} -#endif diff --git a/board/pine64/quartz64_rk3566/Kconfig b/board/pine64/quartz64_rk3566/Kconfig index 3de1d8f7a99..104b7a1598e 100644 --- a/board/pine64/quartz64_rk3566/Kconfig +++ b/board/pine64/quartz64_rk3566/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "quartz64_rk3566" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/pine64/quartz64_rk3566/MAINTAINERS b/board/pine64/quartz64_rk3566/MAINTAINERS index 6b75b35a124..37b8c1eb78b 100644 --- a/board/pine64/quartz64_rk3566/MAINTAINERS +++ b/board/pine64/quartz64_rk3566/MAINTAINERS @@ -21,3 +21,14 @@ F: arch/arm/dts/rk3566-soquartz-cm4.dts F: arch/arm/dts/rk3566-soquartz-cm4-u-boot.dtsi F: arch/arm/dts/rk3566-soquartz-model-a.dts F: arch/arm/dts/rk3566-soquartz-model-a-u-boot.dtsi + +PINETAB2-RK3566 +M: Jonas Karlman <jonas@kwiboo.se> +S: Maintained +F: configs/pinetab2-rk3566_defconfig +F: arch/arm/dts/rk3566-pinetab2.dtsi +F: arch/arm/dts/rk3566-pinetab2-u-boot.dtsi +F: arch/arm/dts/rk3566-pinetab2-v0.1.dts +F: arch/arm/dts/rk3566-pinetab2-v0.1-u-boot.dtsi +F: arch/arm/dts/rk3566-pinetab2-v2.0.dts +F: arch/arm/dts/rk3566-pinetab2-v2.0-u-boot.dtsi diff --git a/board/pine64/quartzpro64-rk3588/Kconfig b/board/pine64/quartzpro64-rk3588/Kconfig index 96aa7921d32..4147240e4e4 100644 --- a/board/pine64/quartzpro64-rk3588/Kconfig +++ b/board/pine64/quartzpro64-rk3588/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "quartzpro64-rk3588" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/pine64/rockpro64_rk3399/Kconfig b/board/pine64/rockpro64_rk3399/Kconfig index 3353f1fd095..93aab57de68 100644 --- a/board/pine64/rockpro64_rk3399/Kconfig +++ b/board/pine64/rockpro64_rk3399/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "rockpro64_rk3399" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/pine64/rockpro64_rk3399/MAINTAINERS b/board/pine64/rockpro64_rk3399/MAINTAINERS index 220ee21f230..42084aef0eb 100644 --- a/board/pine64/rockpro64_rk3399/MAINTAINERS +++ b/board/pine64/rockpro64_rk3399/MAINTAINERS @@ -1,7 +1,8 @@ ROCKPRO64 M: Jagan Teki <jagan@amarulasolutions.com> +R: Jonas Karlman <jonas@kwiboo.se> S: Maintained F: board/pine64/rockpro64_rk3399 F: include/configs/rockpro64_rk3399.h -F: arch/arm/dts/rk3399-rockpro64-u-boot.dtsi +F: arch/arm/dts/rk3399-rockpro64* F: configs/rockpro64-rk3399_defconfig diff --git a/board/pine64/rockpro64_rk3399/Makefile b/board/pine64/rockpro64_rk3399/Makefile deleted file mode 100644 index b015c47e6fa..00000000000 --- a/board/pine64/rockpro64_rk3399/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -# (C) Copyright 2019 Vasily Khoruzhick -# -# SPDX-License-Identifier: GPL-2.0+ -# - -obj-y += rockpro64-rk3399.o diff --git a/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c b/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c deleted file mode 100644 index d79084614f1..00000000000 --- a/board/pine64/rockpro64_rk3399/rockpro64-rk3399.c +++ /dev/null @@ -1,56 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2019 Vasily Khoruzhick <anarsoul@gmail.com> - */ - -#include <common.h> -#include <dm.h> -#include <init.h> -#include <syscon.h> -#include <asm/io.h> -#include <asm/arch-rockchip/clock.h> -#include <asm/arch-rockchip/grf_rk3399.h> -#include <asm/arch-rockchip/hardware.h> -#include <asm/arch-rockchip/misc.h> - -#define GRF_IO_VSEL_BT565_SHIFT 0 -#define PMUGRF_CON0_VSEL_SHIFT 8 - -#ifdef CONFIG_MISC_INIT_R -static void setup_iodomain(void) -{ - struct rk3399_grf_regs *grf = - syscon_get_first_range(ROCKCHIP_SYSCON_GRF); - struct rk3399_pmugrf_regs *pmugrf = - syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); - - /* BT565 is in 1.8v domain */ - rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT); - - /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ - rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); -} - -int misc_init_r(void) -{ - const u32 cpuid_offset = 0x7; - const u32 cpuid_length = 0x10; - u8 cpuid[cpuid_length]; - int ret; - - setup_iodomain(); - - ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); - if (ret) - return ret; - - ret = rockchip_cpuid_set(cpuid, cpuid_length); - if (ret) - return ret; - - ret = rockchip_setup_macaddr(); - - return ret; -} - -#endif diff --git a/board/purism/librem5/spl.c b/board/purism/librem5/spl.c index 581f0929662..9aadc553302 100644 --- a/board/purism/librem5/spl.c +++ b/board/purism/librem5/spl.c @@ -418,12 +418,6 @@ out: return rv; } -int dm_usb_gadget_handle_interrupts(struct udevice *dev) -{ - dwc3_uboot_handle_interrupt(dev); - return 0; -} - static void dwc3_nxp_usb_phy_init(struct dwc3_device *dwc3) { u32 RegData; diff --git a/board/qualcomm/dragonboard410c/Kconfig b/board/qualcomm/dragonboard410c/Kconfig deleted file mode 100644 index 03bd7ae309c..00000000000 --- a/board/qualcomm/dragonboard410c/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -if TARGET_DRAGONBOARD410C - -config SYS_BOARD - default "dragonboard410c" - -config SYS_VENDOR - default "qualcomm" - -config SYS_SOC - default "apq8016" - -config SYS_CONFIG_NAME - default "dragonboard410c" - -endif diff --git a/board/qualcomm/dragonboard410c/Makefile b/board/qualcomm/dragonboard410c/Makefile index 1b99c8b0efe..189f8381332 100644 --- a/board/qualcomm/dragonboard410c/Makefile +++ b/board/qualcomm/dragonboard410c/Makefile @@ -2,4 +2,4 @@ # # (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com> -obj-y := dragonboard410c.o +obj-y := dragonboard410c.o diff --git a/board/qualcomm/dragonboard410c/configs/chainloaded.config b/board/qualcomm/dragonboard410c/configs/chainloaded.config new file mode 100644 index 00000000000..3fd064924a1 --- /dev/null +++ b/board/qualcomm/dragonboard410c/configs/chainloaded.config @@ -0,0 +1,7 @@ +# CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set +CONFIG_TEXT_BASE=0x0 +# CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR is not set +# CONFIG_REMAKE_ELF is not set +CONFIG_POSITION_INDEPENDENT=y +CONFIG_INIT_SP_RELATIVE=y +CONFIG_SYS_INIT_SP_BSS_OFFSET=524288 diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c index 350e0e9e20a..fbbfc0e65e2 100644 --- a/board/qualcomm/dragonboard410c/dragonboard410c.c +++ b/board/qualcomm/dragonboard410c/dragonboard410c.c @@ -9,101 +9,61 @@ #include <common.h> #include <cpu_func.h> #include <dm.h> +#include <dm/pinctrl.h> #include <env.h> #include <init.h> +#include <mmc.h> #include <net.h> #include <usb.h> #include <asm/cache.h> #include <asm/global_data.h> #include <asm/gpio.h> #include <fdt_support.h> -#include <asm/arch/dram.h> -#include <asm/arch/misc.h> #include <linux/delay.h> DECLARE_GLOBAL_DATA_PTR; -int dram_init(void) +/* UNSTUFF_BITS macro taken from Linux Kernel: drivers/mmc/core/sd.c */ +#define UNSTUFF_BITS(resp, start, size) \ + ({ \ + const int __size = size; \ + const u32 __mask = (__size < 32 ? 1 << __size : 0) - 1; \ + const int __off = 3 - ((start) / 32); \ + const int __shft = (start) & 31; \ + u32 __res; \ + \ + __res = resp[__off] >> __shft; \ + if (__size + __shft > 32) \ + __res |= resp[__off - 1] << ((32 - __shft) % 32); \ + __res & __mask; \ + }) + +static u32 msm_board_serial(void) { - gd->ram_size = PHYS_SDRAM_1_SIZE; + struct mmc *mmc_dev; - return 0; -} + mmc_dev = find_mmc_device(0); + if (!mmc_dev) + return 0; -int dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = PHYS_SDRAM_1; - gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; + if (mmc_init(mmc_dev)) + return 0; - return 0; + return UNSTUFF_BITS(mmc_dev->cid, 16, 32); } -int board_usb_init(int index, enum usb_init_type init) +static void msm_generate_mac_addr(u8 *mac) { - static struct udevice *pmic_gpio; - static struct gpio_desc hub_reset, usb_sel; - int ret = 0, node; - - if (!pmic_gpio) { - ret = uclass_get_device_by_name(UCLASS_GPIO, - "pm8916_gpios@c000", - &pmic_gpio); - if (ret < 0) { - printf("Failed to find pm8916_gpios@c000 node.\n"); - return ret; - } - } - - /* Try to request gpios needed to start usb host on dragonboard */ - if (!dm_gpio_is_valid(&hub_reset)) { - node = fdt_subnode_offset(gd->fdt_blob, - dev_of_offset(pmic_gpio), - "usb_hub_reset_pm"); - if (node < 0) { - printf("Failed to find usb_hub_reset_pm dt node.\n"); - return node; - } - ret = gpio_request_by_name_nodev(offset_to_ofnode(node), - "gpios", 0, &hub_reset, 0); - if (ret < 0) { - printf("Failed to request usb_hub_reset_pm gpio.\n"); - return ret; - } - } - - if (!dm_gpio_is_valid(&usb_sel)) { - node = fdt_subnode_offset(gd->fdt_blob, - dev_of_offset(pmic_gpio), - "usb_sw_sel_pm"); - if (node < 0) { - printf("Failed to find usb_sw_sel_pm dt node.\n"); - return 0; - } - ret = gpio_request_by_name_nodev(offset_to_ofnode(node), - "gpios", 0, &usb_sel, 0); - if (ret < 0) { - printf("Failed to request usb_sw_sel_pm gpio.\n"); - return ret; - } - } - - if (init == USB_INIT_HOST) { - /* Start USB Hub */ - dm_gpio_set_dir_flags(&hub_reset, - GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE); - mdelay(100); - /* Switch usb to host connectors */ - dm_gpio_set_dir_flags(&usb_sel, - GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE); - mdelay(100); - } else { /* Device */ - /* Disable hub */ - dm_gpio_set_dir_flags(&hub_reset, GPIOD_IS_OUT); - /* Switch back to device connector */ - dm_gpio_set_dir_flags(&usb_sel, GPIOD_IS_OUT); - } - - return 0; + /* use locally adminstrated pool */ + mac[0] = 0x02; + mac[1] = 0x00; + + /* + * Put the 32-bit serial number in the last 32-bit of the MAC address. + * Use big endian order so it is consistent with the serial number + * written as a hexadecimal string, e.g. 0x1234abcd -> 02:00:12:34:ab:cd + */ + put_unaligned_be32(msm_board_serial(), &mac[2]); } /* Check for vol- button - if pressed - stop autoboot */ @@ -128,12 +88,7 @@ int misc_init_r(void) return 0; } -int board_init(void) -{ - return 0; -} - -int board_late_init(void) +int qcom_late_init(void) { char serial[16]; @@ -154,8 +109,6 @@ int ft_board_setup(void *blob, struct bd_info *bd) { u8 mac[ARP_HLEN]; - msm_fixup_memory(blob); - if (!eth_env_get_enetaddr("wlanaddr", mac)) { msm_generate_mac_addr(mac); }; @@ -177,8 +130,3 @@ int ft_board_setup(void *blob, struct bd_info *bd) "local-bd-address", mac, ARP_HLEN, 1); return 0; } - -void reset_cpu(void) -{ - psci_system_reset(); -} diff --git a/board/qualcomm/dragonboard820c/Kconfig b/board/qualcomm/dragonboard820c/Kconfig deleted file mode 100644 index aff9af52712..00000000000 --- a/board/qualcomm/dragonboard820c/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -if TARGET_DRAGONBOARD820C - -config SYS_BOARD - default "dragonboard820c" - -config SYS_VENDOR - default "qualcomm" - -config SYS_SOC - default "apq8096" - -config SYS_CONFIG_NAME - default "dragonboard820c" - -endif diff --git a/board/qualcomm/dragonboard820c/Makefile b/board/qualcomm/dragonboard820c/Makefile index 643311f5b3b..2ae6d16364a 100644 --- a/board/qualcomm/dragonboard820c/Makefile +++ b/board/qualcomm/dragonboard820c/Makefile @@ -3,4 +3,3 @@ # (C) Copyright 2017 Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@gmail.com> obj-y := dragonboard820c.o -extra-y += head.o diff --git a/board/qualcomm/dragonboard820c/dragonboard820c.c b/board/qualcomm/dragonboard820c/dragonboard820c.c index 2f0db628368..ac7de711c58 100644 --- a/board/qualcomm/dragonboard820c/dragonboard820c.c +++ b/board/qualcomm/dragonboard820c/dragonboard820c.c @@ -27,24 +27,6 @@ DECLARE_GLOBAL_DATA_PTR; -int dram_init(void) -{ - gd->ram_size = PHYS_SDRAM_SIZE; - - return 0; -} - -int dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = PHYS_SDRAM_1; - gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; - - gd->bd->bi_dram[1].start = PHYS_SDRAM_2; - gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE; - - return 0; -} - static void sdhci_power_init(void) { const u32 TLMM_PULL_MASK = 0x3; @@ -113,28 +95,9 @@ static void sdhci_power_init(void) rclk[i].val << rclk[i].bit); } -static void show_psci_version(void) -{ - struct arm_smccc_res res; - - arm_smccc_smc(ARM_PSCI_0_2_FN_PSCI_VERSION, 0, 0, 0, 0, 0, 0, 0, &res); - - printf("PSCI: v%ld.%ld\n", - PSCI_VERSION_MAJOR(res.a0), - PSCI_VERSION_MINOR(res.a0)); -} - -int board_init(void) +void qcom_board_init(void) { sdhci_power_init(); - show_psci_version(); - - return 0; -} - -void reset_cpu(void) -{ - psci_system_reset(); } /* Check for vol- button - if pressed - stop autoboot */ diff --git a/board/qualcomm/dragonboard820c/head.S b/board/qualcomm/dragonboard820c/head.S deleted file mode 100644 index b052a858fd3..00000000000 --- a/board/qualcomm/dragonboard820c/head.S +++ /dev/null @@ -1,33 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * ARM64 header for proper chain-loading with Little Kernel. - * - * Little Kernel shipped with Dragonboard820C boots standard Linux images for - * ARM64. This file adds header that is required to boot U-Boot properly. - * - * For details see: - * https://www.kernel.org/doc/Documentation/arm64/booting.txt - * - * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com> - */ - -#include <config.h> - -/* - * per document in linux/Doc/arm64/booting.text - */ -.global _arm64_header -_arm64_header: - b _start - .word 0 - .quad CONFIG_TEXT_BASE-PHYS_SDRAM_1 /* Image load offset, LE */ - .quad 0 /* Effective size of kernel image, little-endian */ - .quad 0 /* kernel flags, little-endian */ - .quad 0 /* reserved */ - .quad 0 /* reserved */ - .quad 0 /* reserved */ - .byte 0x41 /* Magic number, "ARM\x64" */ - .byte 0x52 - .byte 0x4d - .byte 0x64 - .word 0 /* reserved (used for PE COFF offset) */ diff --git a/board/qualcomm/dragonboard820c/u-boot.lds b/board/qualcomm/dragonboard820c/u-boot.lds deleted file mode 100644 index 5251b59fbe7..00000000000 --- a/board/qualcomm/dragonboard820c/u-boot.lds +++ /dev/null @@ -1,111 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Override linker script for fastboot-readable images - * - * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com> - * - * Based on arch/arm/cpu/armv8/u-boot.lds (Just add header) - */ - -OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64") -OUTPUT_ARCH(aarch64) -ENTRY(_arm64_header) -SECTIONS -{ - . = 0x00000000; - - . = ALIGN(8); - .text : - { - *(.__image_copy_start) - board/qualcomm/dragonboard820c/head.o (.text*) - CPUDIR/start.o (.text*) - } - - /* This needs to come before *(.text*) */ - .efi_runtime : { - __efi_runtime_start = .; - *(.text.efi_runtime*) - *(.rodata.efi_runtime*) - *(.data.efi_runtime*) - __efi_runtime_stop = .; - } - - .text_rest : - { - *(.text*) - } - - . = ALIGN(8); - .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } - - . = ALIGN(8); - .data : { - *(.data*) - } - - . = ALIGN(8); - - . = .; - - . = ALIGN(8); - __u_boot_list : { - KEEP(*(SORT(__u_boot_list*))); - } - - . = ALIGN(8); - - .efi_runtime_rel : { - __efi_runtime_rel_start = .; - *(.rel*.efi_runtime) - *(.rel*.efi_runtime.*) - __efi_runtime_rel_stop = .; - } - - . = ALIGN(8); - - .image_copy_end : - { - *(.__image_copy_end) - } - - . = ALIGN(8); - - .rel_dyn_start : - { - *(.__rel_dyn_start) - } - - .rela.dyn : { - *(.rela*) - } - - .rel_dyn_end : - { - *(.__rel_dyn_end) - } - - _end = .; - - . = ALIGN(8); - - .bss_start : { - KEEP(*(.__bss_start)); - } - - .bss : { - *(.bss*) - . = ALIGN(8); - } - - .bss_end : { - KEEP(*(.__bss_end)); - } - - /DISCARD/ : { *(.dynsym) } - /DISCARD/ : { *(.dynstr*) } - /DISCARD/ : { *(.dynamic*) } - /DISCARD/ : { *(.plt*) } - /DISCARD/ : { *(.interp*) } - /DISCARD/ : { *(.gnu*) } -} diff --git a/board/qualcomm/dragonboard845c/Kconfig b/board/qualcomm/dragonboard845c/Kconfig deleted file mode 100644 index 52fdff288d5..00000000000 --- a/board/qualcomm/dragonboard845c/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -if TARGET_DRAGONBOARD845C - -config SYS_BOARD - default "dragonboard845c" - -config SYS_CONFIG_NAME - default "dragonboard845c" - -config SYS_VENDOR - default "qualcomm" - -endif diff --git a/board/qualcomm/qcs404-evb/Kconfig b/board/qualcomm/qcs404-evb/Kconfig deleted file mode 100644 index 32657c7d5e3..00000000000 --- a/board/qualcomm/qcs404-evb/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -if TARGET_QCS404EVB - -config SYS_BOARD - default "qcs404-evb" - -config SYS_VENDOR - default "qualcomm" - -config SYS_SOC - default "qcs404" - -config SYS_CONFIG_NAME - default "qcs404-evb" - -endif diff --git a/board/qualcomm/qcs404-evb/Makefile b/board/qualcomm/qcs404-evb/Makefile deleted file mode 100644 index 4665827e085..00000000000 --- a/board/qualcomm/qcs404-evb/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# (C) Copyright 2022 Sumit Garg <sumit.garg@linaro.org> -# - -obj-y += qcs404-evb.o diff --git a/board/qualcomm/qcs404-evb/qcs404-evb.c b/board/qualcomm/qcs404-evb/qcs404-evb.c deleted file mode 100644 index 249dca7e72f..00000000000 --- a/board/qualcomm/qcs404-evb/qcs404-evb.c +++ /dev/null @@ -1,62 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Board init file for QCS404-EVB - * - * (C) Copyright 2022 Sumit Garg <sumit.garg@linaro.org> - */ - -#include <common.h> -#include <cpu_func.h> -#include <dm.h> -#include <env.h> -#include <init.h> -#include <asm/cache.h> -#include <asm/gpio.h> -#include <asm/global_data.h> -#include <fdt_support.h> -#include <asm/arch/dram.h> - -DECLARE_GLOBAL_DATA_PTR; - -int dram_init(void) -{ - return fdtdec_setup_mem_size_base(); -} - -int board_init(void) -{ - struct udevice *pmic_gpio; - struct gpio_desc usb_vbus_boost_pin; - int ret, node; - - ret = uclass_get_device_by_name(UCLASS_GPIO, - "pms405_gpios@c000", - &pmic_gpio); - if (ret < 0) { - printf("Failed to find pms405_gpios@c000 node.\n"); - return ret; - } - - node = fdt_subnode_offset(gd->fdt_blob, dev_of_offset(pmic_gpio), - "usb_vbus_boost_pin"); - if (node < 0) { - printf("Failed to find usb_hub_reset_pm dt node.\n"); - return node; - } - ret = gpio_request_by_name_nodev(offset_to_ofnode(node), "gpios", 0, - &usb_vbus_boost_pin, 0); - if (ret < 0) { - printf("Failed to request usb_hub_reset_pm gpio.\n"); - return ret; - } - - dm_gpio_set_dir_flags(&usb_vbus_boost_pin, - GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE); - - return 0; -} - -void reset_cpu(void) -{ - psci_system_reset(); -} diff --git a/board/radxa/rock/Kconfig b/board/radxa/rock/Kconfig index 855b9b6954a..c9c4576f264 100644 --- a/board/radxa/rock/Kconfig +++ b/board/radxa/rock/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "rock" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/radxa/rock2/Kconfig b/board/radxa/rock2/Kconfig index c2ff9e99632..82ecabac5a1 100644 --- a/board/radxa/rock2/Kconfig +++ b/board/radxa/rock2/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "rock2" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/radxa/rock5a-rk3588s/Kconfig b/board/radxa/rock5a-rk3588s/Kconfig index 2d7fc85df4f..82013adf013 100644 --- a/board/radxa/rock5a-rk3588s/Kconfig +++ b/board/radxa/rock5a-rk3588s/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "rock5a-rk3588s" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/radxa/rock5b-rk3588/Kconfig b/board/radxa/rock5b-rk3588/Kconfig index 8f1444649af..41dfe2402b1 100644 --- a/board/radxa/rock5b-rk3588/Kconfig +++ b/board/radxa/rock5b-rk3588/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "rock5b-rk3588" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/radxa/rockpi4-rk3399/Kconfig b/board/radxa/rockpi4-rk3399/Kconfig new file mode 100644 index 00000000000..d82663506b1 --- /dev/null +++ b/board/radxa/rockpi4-rk3399/Kconfig @@ -0,0 +1,15 @@ +if TARGET_ROCKPI4_RK3399 + +config SYS_BOARD + default "rockpi4-rk3399" + +config SYS_VENDOR + default "radxa" + +config SYS_CONFIG_NAME + default "rockpi4-rk3399" + +config BOARD_SPECIFIC_OPTIONS # dummy + def_bool y + +endif diff --git a/board/radxa/rockpi4-rk3399/MAINTAINERS b/board/radxa/rockpi4-rk3399/MAINTAINERS new file mode 100644 index 00000000000..da5273fb9a3 --- /dev/null +++ b/board/radxa/rockpi4-rk3399/MAINTAINERS @@ -0,0 +1,22 @@ +ROCK-PI-4 +M: Jagan Teki <jagan@amarulasolutions.com> +R: Jonas Karlman <jonas@kwiboo.se> +S: Maintained +F: board/radxa/rockpi4-rk3399/ +F: configs/rock-pi-4-rk3399_defconfig +F: configs/rock-pi-4c-rk3399_defconfig +F: arch/arm/dts/rk3399-rock-pi-4* + +ROCK-4C+ +M: FUKAUMI Naoki <naoki@radxa.com> +R: Jonas Karlman <jonas@kwiboo.se> +S: Maintained +F: configs/rock-4c-plus-rk3399_defconfig +F: arch/arm/dts/rk3399-rock-4c-plus* + +ROCK-4SE +M: Christopher Obbard <chris.obbard@collabora.com> +R: Jonas Karlman <jonas@kwiboo.se> +S: Maintained +F: configs/rock-4se-rk3399_defconfig +F: arch/arm/dts/rk3399-rock-4se* diff --git a/board/rockchip/evb_rk3399/Makefile b/board/radxa/rockpi4-rk3399/Makefile index aaa51c212e5..3d022533227 100644 --- a/board/rockchip/evb_rk3399/Makefile +++ b/board/radxa/rockpi4-rk3399/Makefile @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -obj-y += evb-rk3399.o +obj-y += rockpi4-rk3399.o diff --git a/board/rockchip/evb_rk3399/evb-rk3399.c b/board/radxa/rockpi4-rk3399/rockpi4-rk3399.c index 3c773d0930c..a533128b92f 100644 --- a/board/rockchip/evb_rk3399/evb-rk3399.c +++ b/board/radxa/rockpi4-rk3399/rockpi4-rk3399.c @@ -3,14 +3,8 @@ * (C) Copyright 2016 Rockchip Electronics Co., Ltd */ -#include <common.h> #include <dm.h> #include <efi_loader.h> -#include <init.h> -#include <log.h> -#include <asm/arch-rockchip/periph.h> -#include <linux/kernel.h> -#include <power/regulator.h> #define ROCKPI4_UPDATABLE_IMAGES 2 @@ -25,36 +19,15 @@ struct efi_capsule_update_info update_info = { #endif #ifndef CONFIG_SPL_BUILD -int board_early_init_f(void) -{ - struct udevice *regulator; - int ret; - - ret = regulator_get_by_platname("vcc5v0_host", ®ulator); - if (ret) { - debug("%s vcc5v0_host init fail! ret %d\n", __func__, ret); - goto out; - } - - ret = regulator_set_enable(regulator, true); - if (ret) - debug("%s vcc5v0-host-en set fail! ret %d\n", __func__, ret); - -out: - return 0; -} - -#if defined(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && defined(CONFIG_EFI_PARTITION) +#if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) && IS_ENABLED(CONFIG_EFI_PARTITION) static bool board_is_rockpi_4b(void) { - return CONFIG_IS_ENABLED(TARGET_EVB_RK3399) && - of_machine_is_compatible("radxa,rockpi4b"); + return of_machine_is_compatible("radxa,rockpi4b"); } static bool board_is_rockpi_4c(void) { - return CONFIG_IS_ENABLED(TARGET_EVB_RK3399) && - of_machine_is_compatible("radxa,rockpi4c"); + return of_machine_is_compatible("radxa,rockpi4c"); } void rockchip_capsule_update_board_setup(void) diff --git a/board/rikomagic/mk808/Kconfig b/board/rikomagic/mk808/Kconfig index 4abad7e7500..61c27d2b4d8 100644 --- a/board/rikomagic/mk808/Kconfig +++ b/board/rikomagic/mk808/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "mk808" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_px30/Kconfig b/board/rockchip/evb_px30/Kconfig index 0042c8e4db1..03ed8088ca6 100644 --- a/board/rockchip/evb_px30/Kconfig +++ b/board/rockchip/evb_px30/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_px30" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_px5/Kconfig b/board/rockchip/evb_px5/Kconfig index 9a04ee7e616..7a42b4a21b1 100644 --- a/board/rockchip/evb_px5/Kconfig +++ b/board/rockchip/evb_px5/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_px5" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3036/Kconfig b/board/rockchip/evb_rk3036/Kconfig index ef45f629252..4abe8cff33a 100644 --- a/board/rockchip/evb_rk3036/Kconfig +++ b/board/rockchip/evb_rk3036/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3036" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3128/Kconfig b/board/rockchip/evb_rk3128/Kconfig index 5b3095ade99..c36691cc8c5 100644 --- a/board/rockchip/evb_rk3128/Kconfig +++ b/board/rockchip/evb_rk3128/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3128" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3229/Kconfig b/board/rockchip/evb_rk3229/Kconfig index 361dcb18603..f5862d5678c 100644 --- a/board/rockchip/evb_rk3229/Kconfig +++ b/board/rockchip/evb_rk3229/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3229" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3288/Kconfig b/board/rockchip/evb_rk3288/Kconfig index 8ab07f41fa6..0707486d2a8 100644 --- a/board/rockchip/evb_rk3288/Kconfig +++ b/board/rockchip/evb_rk3288/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3288" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3308/Kconfig b/board/rockchip/evb_rk3308/Kconfig index 0074429cb6d..b12d7f8d73a 100644 --- a/board/rockchip/evb_rk3308/Kconfig +++ b/board/rockchip/evb_rk3308/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3308" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3328/Kconfig b/board/rockchip/evb_rk3328/Kconfig index ef446b49dda..1e084bdcd39 100644 --- a/board/rockchip/evb_rk3328/Kconfig +++ b/board/rockchip/evb_rk3328/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3328" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3328/MAINTAINERS b/board/rockchip/evb_rk3328/MAINTAINERS index 5fc114a63f6..675b72dd060 100644 --- a/board/rockchip/evb_rk3328/MAINTAINERS +++ b/board/rockchip/evb_rk3328/MAINTAINERS @@ -4,17 +4,21 @@ S: Maintained F: board/rockchip/evb_rk3328 F: include/configs/evb_rk3328.h F: configs/evb-rk3328_defconfig +F: arch/arm/dts/rk3328-evb.dts +F: arch/arm/dts/rk3328-evb-u-boot.dtsi NANOPI-R2C-RK3328 M: Tianling Shen <cnsztl@gmail.com> S: Maintained F: configs/nanopi-r2c-rk3328_defconfig +F: arch/arm/dts/rk3328-nanopi-r2c.dts F: arch/arm/dts/rk3328-nanopi-r2c-u-boot.dtsi NANOPI-R2C-PLUS-RK3328 M: Tianling Shen <cnsztl@gmail.com> S: Maintained F: configs/nanopi-r2c-plus-rk3328_defconfig +F: arch/arm/dts/rk3328-nanopi-r2c-plus.dts F: arch/arm/dts/rk3328-nanopi-r2c-plus-u-boot.dtsi NANOPI-R2S-RK3328 @@ -28,29 +32,36 @@ ORANGEPI-R1-PLUS-RK3328 M: Tianling Shen <cnsztl@gmail.com> S: Maintained F: configs/orangepi-r1-plus-rk3328_defconfig +F: arch/arm/dts/rk3328-orangepi-r1-plus.dts F: arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi ORANGEPI-R1-PLUS-LTS-RK3328 M: Tianling Shen <cnsztl@gmail.com> S: Maintained F: configs/orangepi-r1-plus-lts-rk3328_defconfig +F: arch/arm/dts/rk3328-orangepi-r1-plus-lts.dts F: arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi ROC-RK3328-CC M: Loic Devulder <ldevulder@suse.com> M: Chen-Yu Tsai <wens@csie.org> +R: Jonas Karlman <jonas@kwiboo.se> S: Maintained F: configs/roc-cc-rk3328_defconfig +F: arch/arm/dts/rk3328-roc-cc.dts F: arch/arm/dts/rk3328-roc-cc-u-boot.dtsi ROCK64-RK3328 M: Matwey V. Kornilov <matwey.kornilov@gmail.com> +R: Jonas Karlman <jonas@kwiboo.se> S: Maintained F: configs/rock64-rk3328_defconfig +F: arch/arm/dts/rk3328-rock64.dts F: arch/arm/dts/rk3328-rock64-u-boot.dtsi ROCKPIE-RK3328 M: Banglang Huang <banglang.huang@foxmail.com> +R: Jonas Karlman <jonas@kwiboo.se> S: Maintained F: configs/rock-pi-e-rk3328_defconfig F: arch/arm/dts/rk3328-rock-pi-e.dts diff --git a/board/rockchip/evb_rk3328/README b/board/rockchip/evb_rk3328/README deleted file mode 100644 index 6cbb66a4cf8..00000000000 --- a/board/rockchip/evb_rk3328/README +++ /dev/null @@ -1,70 +0,0 @@ -Introduction -============ - -RK3328 key features we might use in U-Boot: -* CPU: ARMv8 64bit quad-core Cortex-A53 -* IRAM: 36KB -* DRAM: 4GB-16MB dual-channel -* eMMC: support eMMC 5.0/5.1, suport HS400, HS200, DDR50 -* SD/MMC: support SD 3.0, MMC 4.51 -* USB: USB2.0 EHCI host port *2 -* Display: RGB/HDMI/DP/MIPI/EDP - -evb key features: -* regulator: pwm regulator for CPU B/L -* PMIC: rk808 -* debug console: UART2 - -In order to support Arm Trust Firmware(ATF), we need to use the -miniloader from rockchip which: -* do DRAM init -* load and verify ATF image -* load and verify U-Boot image - -Here is the step-by-step to boot to U-Boot on rk3328. - -Get the Source and prebuild binary -================================== - - > mkdir ~/evb_rk3328 - > cd ~/evb_rk3328 - > git clone https://github.com/ARM-software/arm-trusted-firmware.git - > git clone https://github.com/rockchip-linux/rkbin - > git clone https://github.com/rockchip-linux/rkflashtool - -Compile ATF -=============== - - > cd arm-trusted-firmware - > make realclean - > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3328 bl31 - -Compile U-Boot -================== - - > cd ../u-boot - > make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3328_defconfig all - -Compile rkflashtool -======================= - - > cd ../rkflashtool - > make - -Package image for miniloader -================================ - > cd .. - > cp arm-trusted-firmware/build/rk3328/release/bl31.bin rkbin/rk33 - > ./rkbin/tools/trust_merger rkbin/tools/RK3328TRUST.ini - > ./rkbin/tools/loaderimage --pack --uboot u-boot/u-boot-dtb.bin uboot.img - > mkdir image - > mv trust.img ./image/ - > mv uboot.img ./image/rk3328evb-uboot.bin - -Flash image -=============== -Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then: - - > ./rkflashtool/rkflashloader rk3328evb - -You should be able to get U-Boot log message in console/UART2 now. diff --git a/board/rockchip/evb_rk3399/Kconfig b/board/rockchip/evb_rk3399/Kconfig index 412b81cbee9..597b0a68b5b 100644 --- a/board/rockchip/evb_rk3399/Kconfig +++ b/board/rockchip/evb_rk3399/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3399" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3399/MAINTAINERS b/board/rockchip/evb_rk3399/MAINTAINERS index acdb840f209..8dab3fa70f5 100644 --- a/board/rockchip/evb_rk3399/MAINTAINERS +++ b/board/rockchip/evb_rk3399/MAINTAINERS @@ -4,48 +4,53 @@ S: Maintained F: board/rockchip/evb_rk3399 F: include/configs/evb_rk3399.h F: configs/evb-rk3399_defconfig +F: arch/arm/dts/rk3399-evb* F: configs/firefly-rk3399_defconfig +F: arch/arm/dts/rk3399-firefly* EAIDK-610 M: Andy Yan <andy.yan@rock-chips.com> S: Maintained F: configs/eaidk-610-rk3399_defconfig -F: arch/arm/dts/rk3399-eaidk-610-u-boot.dtsi +F: arch/arm/dts/rk3399-eaidk-610* KHADAS-EDGE M: Nick Xie <nick@khadas.com> S: Maintained F: configs/khadas-edge-rk3399_defconfig +F: arch/arm/dts/rk3399-khadas-edge.dts +F: arch/arm/dts/rk3399-khadas-edge.dtsi F: arch/arm/dts/rk3399-khadas-edge-u-boot.dtsi KHADAS-EDGE-CAPTAIN M: Nick Xie <nick@khadas.com> S: Maintained F: configs/khadas-edge-captain-rk3399_defconfig -F: arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi +F: arch/arm/dts/rk3399-khadas-edge-captain* KHADAS-EDGE-V M: Nick Xie <nick@khadas.com> S: Maintained F: configs/khadas-edge-v-rk3399_defconfig -F: arch/arm/dts/rk3399-khadas-edge-v-u-boot.dtsi +F: arch/arm/dts/rk3399-khadas-edge-v* LEEZ-P710 M: Andy Yan <andy.yan@rock-chips.com> S: Maintained -F: arch/arm/dts/rk3399-leez-p710-u-boot.dtsi +F: arch/arm/dts/rk3399-leez-p710* F: configs/leez-rk3399_defconfig NANOPC-T4 M: Jagan Teki <jagan@amarulasolutions.com> S: Maintained F: configs/nanopc-t4-rk3399_defconfig -F: arch/arm/dts/rk3399-nanopc-t4-u-boot.dtsi +F: arch/arm/dts/rk3399-nanopc-t4* NANOPI-M4 M: Jagan Teki <jagan@amarulasolutions.com> S: Maintained F: configs/nanopi-m4-rk3399_defconfig +F: arch/arm/dts/rk3399-nanopi-m4.dts F: arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi NANOPI-M4-2GB @@ -53,55 +58,34 @@ M: Jagan Teki <jagan@amarulasolutions.com> M: Deepak Das <deepakdas.linux@gmail.com> S: Maintained F: configs/nanopi-m4-2gb-rk3399_defconfig -F: arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi +F: arch/arm/dts/rk3399-nanopi-m4-2gb* NANOPI-M4B M: Alexandre Vicenzi <linux@alxd.me> S: Maintained F: configs/nanopi-m4b-rk3399_defconfig -F: arch/arm/dts/rk3399-nanopi-m4b-u-boot.dtsi +F: arch/arm/dts/rk3399-nanopi-m4b* NANOPI-NEO4 M: Jagan Teki <jagan@amarulasolutions.com> S: Maintained F: configs/nanopi-neo4-rk3399_defconfig -F: arch/arm/dts/rk3399-nanopi-neo4-u-boot.dtsi +F: arch/arm/dts/rk3399-nanopi-neo4* NANOPI-R4S M: Xiaobo Tian <peterwillcn@gmail.com> S: Maintained F: configs/nanopi-r4s-rk3399_defconfig -F: arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi +F: arch/arm/dts/rk3399-nanopi-r4s* ORANGEPI-RK3399 M: Jagan Teki <jagan@amarulasolutions.com> S: Maintained F: configs/orangepi-rk3399_defconfig -F: arch/arm/dts/rk3399-u-boot.dtsi -F: arch/arm/dts/rk3399-orangepi-u-boot.dtsi - -ROCK-4C+ -M: FUKAUMI Naoki <naoki@radxa.com> -S: Maintained -F: configs/rock-4c-plus-rk3399_defconfig -F: arch/arm/dts/rk3399-rock-4c-plus.dts - -ROCK-4SE -M: Christopher Obbard <chris.obbard@collabora.com> -S: Maintained -F: configs/rock-4se-rk3399_defconfig -F: arch/arm/dts/rk3399-rock-4se-u-boot.dtsi - -ROCK-PI-4 -M: Jagan Teki <jagan@amarulasolutions.com> -S: Maintained -F: configs/rock-pi-4-rk3399_defconfig -F: arch/arm/dts/rk3399-rock-pi-4-u-boot.dtsi -F: configs/rock-pi-4c-rk3399_defconfig -F: arch/arm/dts/rk3399-rock-pi-4c-u-boot.dtsi +F: arch/arm/dts/rk3399-orangepi* ROCK-PI-N10 M: Jagan Teki <jagan@amarulasolutions.com> S: Maintained F: configs/rock-pi-n10-rk3399pro_defconfig -F: arch/arm/dts/rk3399pro-rock-pi-n10-u-boot.dtsi +F: arch/arm/dts/rk3399pro-rock-pi-n10* diff --git a/board/rockchip/evb_rk3568/Kconfig b/board/rockchip/evb_rk3568/Kconfig index f3d3a7e1112..ab710c58d3b 100644 --- a/board/rockchip/evb_rk3568/Kconfig +++ b/board/rockchip/evb_rk3568/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3568" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3588/Kconfig b/board/rockchip/evb_rk3588/Kconfig index d38efe61d83..5e15d2e9cce 100644 --- a/board/rockchip/evb_rk3588/Kconfig +++ b/board/rockchip/evb_rk3588/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rk3588" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rk3588/MAINTAINERS b/board/rockchip/evb_rk3588/MAINTAINERS index 2bd44bc5872..a858ab163f3 100644 --- a/board/rockchip/evb_rk3588/MAINTAINERS +++ b/board/rockchip/evb_rk3588/MAINTAINERS @@ -1,3 +1,18 @@ +COOLPI-4B-RK3588S +M: Andy Yan <andyshrk@163.com> +S: Maintained +F: configs/coolpi-4b-rk3588s_defconfig +F: arch/arm/dts/rk3588s-coolpi-4b.dts +F: arch/arm/dts/rk3588s-coolpi-u-boot.dtsi + +COOLPI-CM5-EVB-RK3588 +M: Andy Yan <andyshrk@163.com> +S: Maintained +F: configs/coolpi-cm5-evb-rk3588_defconfig +F: arch/arm/dts/rk3588-coolpi-cm5.dtsi +F: arch/arm/dts/rk3588-coolpi-cm5-evb.dts +F: arch/arm/dts/rk3588-coolpi-cm5-evb-u-boot.dtsi + EVB-RK3588 M: Kever Yang <kever.yang@rock-chips.com> S: Maintained @@ -7,6 +22,13 @@ F: configs/evb-rk3588_defconfig F: arch/arm/dts/rk3588-evb1-v10.dts F: arch/arm/dts/rk3588-evb1-v10-u-boot.dtsi +GENERIC-RK3588 +M: Jonas Karlman <jonas@kwiboo.se> +S: Maintained +F: configs/generic-rk3588_defconfig +F: arch/arm/dts/rk3588-generic.dts +F: arch/arm/dts/rk3588-generic-u-boot.dtsi + ORANGEPI-5-RK3588 M: Jonas Karlman <jonas@kwiboo.se> S: Maintained diff --git a/board/rockchip/evb_rv1108/Kconfig b/board/rockchip/evb_rv1108/Kconfig index 4a76e0b9fa9..91afefd8b79 100644 --- a/board/rockchip/evb_rv1108/Kconfig +++ b/board/rockchip/evb_rv1108/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "evb_rv1108" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/evb_rv1108/evb_rv1108.c b/board/rockchip/evb_rv1108/evb_rv1108.c index e6ac598648d..0d7a486bed7 100644 --- a/board/rockchip/evb_rv1108/evb_rv1108.c +++ b/board/rockchip/evb_rv1108/evb_rv1108.c @@ -8,7 +8,6 @@ #include <init.h> #include <syscon.h> #include <asm/global_data.h> -#include <asm/io.h> #include <asm/arch-rockchip/clock.h> #include <asm/arch-rockchip/grf_rv1108.h> #include <asm/arch-rockchip/hardware.h> diff --git a/board/rockchip/kylin_rk3036/Kconfig b/board/rockchip/kylin_rk3036/Kconfig index 8d35b4e62bd..debffe15c78 100644 --- a/board/rockchip/kylin_rk3036/Kconfig +++ b/board/rockchip/kylin_rk3036/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "kylin_rk3036" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/sheep_rk3368/Kconfig b/board/rockchip/sheep_rk3368/Kconfig index d39b5e8b1aa..321bf814859 100644 --- a/board/rockchip/sheep_rk3368/Kconfig +++ b/board/rockchip/sheep_rk3368/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "sheep_rk3368" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/tinker_rk3288/Kconfig b/board/rockchip/tinker_rk3288/Kconfig index bca6c37bc94..04a9f1405a4 100644 --- a/board/rockchip/tinker_rk3288/Kconfig +++ b/board/rockchip/tinker_rk3288/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "tinker_rk3288" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/rockchip/tinker_rk3288/tinker-rk3288.c b/board/rockchip/tinker_rk3288/tinker-rk3288.c index f85209c6498..eff3a00c30a 100644 --- a/board/rockchip/tinker_rk3288/tinker-rk3288.c +++ b/board/rockchip/tinker_rk3288/tinker-rk3288.c @@ -11,8 +11,6 @@ #include <init.h> #include <net.h> #include <netdev.h> -#include <asm/arch-rockchip/bootrom.h> -#include <asm/io.h> static int get_ethaddr_from_eeprom(u8 *addr) { @@ -38,13 +36,3 @@ int rk3288_board_late_init(void) return 0; } - -int mmc_get_env_dev(void) -{ - u32 bootdevice_brom_id = readl(BROM_BOOTSOURCE_ID_ADDR); - - if (bootdevice_brom_id == BROM_BOOTSOURCE_EMMC) - return 0; - - return 1; -} diff --git a/board/rockchip/toybrick_rk3588/Kconfig b/board/rockchip/toybrick_rk3588/Kconfig new file mode 100644 index 00000000000..8e781a18d9d --- /dev/null +++ b/board/rockchip/toybrick_rk3588/Kconfig @@ -0,0 +1,12 @@ +if TARGET_TOYBRICK_RK3588 + +config SYS_BOARD + default "toybrick_rk3588" + +config SYS_VENDOR + default "rockchip" + +config SYS_CONFIG_NAME + default "toybrick_rk3588" + +endif diff --git a/board/rockchip/toybrick_rk3588/MAINTAINERS b/board/rockchip/toybrick_rk3588/MAINTAINERS new file mode 100644 index 00000000000..cd4401c24f3 --- /dev/null +++ b/board/rockchip/toybrick_rk3588/MAINTAINERS @@ -0,0 +1,8 @@ +TOYBRICK-RK3588 +M: Elon Zhang <zhangzj@rock-chips.com> +S: Maintained +F: board/rockchip/toybrick_rk3588 +F: include/configs/toybrick_rk3588.h +F: configs/toybrick-rk3588_defconfig +F: arch/arm/dts/rk3588-toybrick-x0.dts +F: arch/arm/dts/rk3588-toybrick-x0-u-boot.dtsi diff --git a/board/rockchip/toybrick_rk3588/Makefile b/board/rockchip/toybrick_rk3588/Makefile new file mode 100644 index 00000000000..75d4d9438f7 --- /dev/null +++ b/board/rockchip/toybrick_rk3588/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (c) 2024 Rockchip Electronics Co,. Ltd. +# + +obj-y += toybrick-rk3588.o diff --git a/board/rockchip/toybrick_rk3588/toybrick-rk3588.c b/board/rockchip/toybrick_rk3588/toybrick-rk3588.c new file mode 100644 index 00000000000..e3217f70b50 --- /dev/null +++ b/board/rockchip/toybrick_rk3588/toybrick-rk3588.c @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (c) 2024 Rockchip Electronics Co,. Ltd. + */ + +#include <fdtdec.h> +#include <fdt_support.h> + +#ifdef CONFIG_OF_BOARD_SETUP +static int rk3588_add_reserved_memory_fdt_nodes(void *new_blob) +{ + struct fdt_memory gap1 = { + .start = 0x3fc000000, + .end = 0x3fc4fffff, + }; + struct fdt_memory gap2 = { + .start = 0x3fff00000, + .end = 0x3ffffffff, + }; + unsigned long flags = FDTDEC_RESERVED_MEMORY_NO_MAP; + int ret; + + /* + * Inject the reserved-memory nodes into the DTS + */ + ret = fdtdec_add_reserved_memory(new_blob, "gap1", &gap1, NULL, 0, + NULL, flags); + if (ret) + return ret; + + return fdtdec_add_reserved_memory(new_blob, "gap2", &gap2, NULL, 0, + NULL, flags); +} + +int ft_board_setup(void *blob, struct bd_info *bd) +{ + return rk3588_add_reserved_memory_fdt_nodes(blob); +} +#endif diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c index 95cf6d2acc2..b3e87c93751 100644 --- a/board/samsung/common/exynos5-dt.c +++ b/board/samsung/common/exynos5-dt.c @@ -122,12 +122,6 @@ static struct dwc3_device dwc3_device_data = { .index = 0, }; -int dm_usb_gadget_handle_interrupts(struct udevice *dev) -{ - dwc3_uboot_handle_interrupt(dev); - return 0; -} - int board_usb_init(int index, enum usb_init_type init) { struct exynos_usb3_phy *phy = (struct exynos_usb3_phy *) diff --git a/board/samsung/starqltechn/Kconfig b/board/samsung/starqltechn/Kconfig index 0eea666d035..e928cb0ea89 100644 --- a/board/samsung/starqltechn/Kconfig +++ b/board/samsung/starqltechn/Kconfig @@ -6,17 +6,9 @@ config SYS_BOARD starqltechn is a production board for S9 and S9+ phones(SM-G96x0) phones based on SDM845 SoC. config SYS_CONFIG_NAME - string "Board configuration name" default "sdm845" - help - This option contains information about board configuration name. - Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header - will be used for board configuration. config SYS_VENDOR default "samsung" -config SYS_CONFIG_NAME - default "starqltechn" - endif diff --git a/board/sielaff/imx6dl-sielaff/Kconfig b/board/sielaff/imx6dl-sielaff/Kconfig index 1b74a7d90ee..7876ab14c07 100644 --- a/board/sielaff/imx6dl-sielaff/Kconfig +++ b/board/sielaff/imx6dl-sielaff/Kconfig @@ -9,7 +9,6 @@ config SYS_VENDOR default "sielaff" config SYS_CONFIG_NAME - string default "imx6dl-sielaff" endif diff --git a/board/skyworth/hc2910-2aghd05/Kconfig b/board/skyworth/hc2910-2aghd05/Kconfig index f85f1f2631d..620a3177f48 100644 --- a/board/skyworth/hc2910-2aghd05/Kconfig +++ b/board/skyworth/hc2910-2aghd05/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_SOC default "hi3798mv200" -config SYS_CONFIG_NAME - default "hc2910-2aghd05" - endif diff --git a/board/skyworth/hc2910-2aghd05/MAINTAINERS b/board/skyworth/hc2910-2aghd05/MAINTAINERS index 2c1e750018e..13915556bc5 100644 --- a/board/skyworth/hc2910-2aghd05/MAINTAINERS +++ b/board/skyworth/hc2910-2aghd05/MAINTAINERS @@ -2,5 +2,4 @@ HC2910 2AGHD05 BOARD M: Yang Xiwen <firbidden405@outlook.com> S: Maintained F: board/skyworth/hc2910-2aghd05 -F: include/configs/hc2910-2aghd05.h F: configs/hc2910_2aghd05_defconfig diff --git a/board/socionext/developerbox/MAINTAINERS b/board/socionext/developerbox/MAINTAINERS index c6d4f2749d6..ca606c83d3f 100644 --- a/board/socionext/developerbox/MAINTAINERS +++ b/board/socionext/developerbox/MAINTAINERS @@ -1,5 +1,5 @@ DEVELOPER BOX -M: Jassi Brar <jaswinder.singh@linaro.org> +M: Masahisa Kojima <kojima.masahisa@socionext.com> S: Maintained F: arch/arm/dts/synquacer-* F: board/socionext/developerbox/* diff --git a/board/socionext/developerbox/developerbox.c b/board/socionext/developerbox/developerbox.c index ac4415ff3bb..062e4a7b79f 100644 --- a/board/socionext/developerbox/developerbox.c +++ b/board/socionext/developerbox/developerbox.c @@ -125,10 +125,29 @@ int dram_init(void) struct draminfo *synquacer_draminfo = (void *)SQ_DRAMINFO_BASE; struct draminfo_entry *ent = synquacer_draminfo->entry; unsigned long size = 0; - int i; + struct mm_region *mr; + int i, ri; + + if (synquacer_draminfo->nr_regions < 1) { + log_err("Failed to get correct DRAM information\n"); + return -EINVAL; + } - for (i = 0; i < synquacer_draminfo->nr_regions; i++) + for (i = 0; i < synquacer_draminfo->nr_regions; i++) { + if (i >= MAX_DDR_REGIONS) + break; + + ri = DDR_REGION_INDEX(i); + mem_map[ri].phys = ent[i].base; + mem_map[ri].size = ent[i].size; + mem_map[ri].virt = mem_map[ri].phys; size += ent[i].size; + if (i == 0) + continue; + + mr = &mem_map[DDR_REGION_INDEX(0)]; + mem_map[ri].attrs = mr->attrs; + } gd->ram_size = size; gd->ram_base = ent[0].base; @@ -162,43 +181,6 @@ int dram_init_banksize(void) return 0; } -void build_mem_map(void) -{ - struct draminfo *synquacer_draminfo = (void *)SQ_DRAMINFO_BASE; - struct draminfo_entry *ent = synquacer_draminfo->entry; - struct mm_region *mr; - int i, ri; - - if (synquacer_draminfo->nr_regions < 1) { - log_err("Failed to get correct DRAM information\n"); - return; - } - - /* Update memory region maps */ - for (i = 0; i < synquacer_draminfo->nr_regions; i++) { - if (i >= MAX_DDR_REGIONS) - break; - - ri = DDR_REGION_INDEX(i); - mem_map[ri].phys = ent[i].base; - mem_map[ri].size = ent[i].size; - mem_map[ri].virt = mem_map[ri].phys; - if (i == 0) - continue; - - mr = &mem_map[DDR_REGION_INDEX(0)]; - mem_map[ri].attrs = mr->attrs; - } -} - -void enable_caches(void) -{ - build_mem_map(); - - icache_enable(); - dcache_enable(); -} - int print_cpuinfo(void) { printf("CPU: SC2A11:Cortex-A53 MPCore 24cores\n"); diff --git a/board/socionext/developerbox/fwu_plat.c b/board/socionext/developerbox/fwu_plat.c index e724e702bdc..26031795b09 100644 --- a/board/socionext/developerbox/fwu_plat.c +++ b/board/socionext/developerbox/fwu_plat.c @@ -35,3 +35,34 @@ void set_dfu_alt_info(char *interface, char *devstr) env_set("dfu_alt_info", buf); } + +/** + * fwu_plat_get_bootidx() - Get the value of the boot index + * @boot_idx: Boot index value + * + * Get the value of the bank(partition) from which the platform + * has booted. This value is passed to U-Boot from the earlier + * stage bootloader which loads and boots all the relevant + * firmware images + */ +void fwu_plat_get_bootidx(uint *boot_idx) +{ + int ret; + u32 buf; + size_t readlen; + struct mtd_info *mtd; + + *boot_idx = 0; + + mtd_probe_devices(); + mtd = get_mtd_device_nm("nor1"); + if (IS_ERR_OR_NULL(mtd)) + return; + + ret = mtd_read(mtd, SCB_PLAT_METADATA_OFFSET, sizeof(buf), + &readlen, (u_char *)&buf); + if (ret < 0) + return; + + *boot_idx = buf; +} diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index 8edabf4404c..7f4811d8879 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -336,20 +336,17 @@ static enum board_type board_type(void) * HB 1 1 x */ - gpio_direction_input(IMX_GPIO_NR(2, 8)); - val3 = gpio_get_value(IMX_GPIO_NR(2, 8)); + val3 = !!dm_gpio_get_value(&board_detect_desc[0]); if (val3 == 0) return HUMMINGBOARD2; - gpio_direction_input(IMX_GPIO_NR(3, 4)); - val2 = gpio_get_value(IMX_GPIO_NR(3, 4)); + val2 = !!dm_gpio_get_value(&board_detect_desc[1]); if (val2 == 0) return HUMMINGBOARD; - gpio_direction_input(IMX_GPIO_NR(4, 9)); - val1 = gpio_get_value(IMX_GPIO_NR(4, 9)); + val1 = !!dm_gpio_get_value(&board_detect_desc[2]); if (val1 == 0) { return CUBOXI; @@ -363,8 +360,8 @@ static bool is_rev_15_som(void) int val1, val2; SETUP_IOMUX_PADS(som_rev_detect); - val1 = gpio_get_value(IMX_GPIO_NR(6, 0)); - val2 = gpio_get_value(IMX_GPIO_NR(6, 4)); + val1 = !!dm_gpio_get_value(&board_detect_desc[3]); + val2 = !!dm_gpio_get_value(&board_detect_desc[4]); if (val1 == 1 && val2 == 0) return true; @@ -381,37 +378,6 @@ static bool has_emmc(void) return (mmc_get_op_cond(mmc, true) < 0) ? 0 : 1; } -/* Override the default implementation, DT model is not accurate */ -int checkboard(void) -{ - request_detect_gpios(); - - switch (board_type()) { - case CUBOXI: - puts("Board: MX6 Cubox-i"); - break; - case HUMMINGBOARD: - puts("Board: MX6 HummingBoard"); - break; - case HUMMINGBOARD2: - puts("Board: MX6 HummingBoard2"); - break; - case UNKNOWN: - default: - puts("Board: Unknown\n"); - goto out; - } - - if (is_rev_15_som()) - puts(" (som rev 1.5)\n"); - else - puts("\n"); - - free_detect_gpios(); -out: - return 0; -} - static int find_ethernet_phy(void) { struct mii_dev *bus = NULL; @@ -505,12 +471,15 @@ int board_late_init(void) switch (board_type()) { case CUBOXI: env_set("board_name", "CUBOXI"); + puts("Board: MX6 Cubox-i"); break; case HUMMINGBOARD: env_set("board_name", "HUMMINGBOARD"); + puts("Board: MX6 HummingBoard"); break; case HUMMINGBOARD2: env_set("board_name", "HUMMINGBOARD2"); + puts("Board: MX6 HummingBoard2"); break; case UNKNOWN: default: @@ -522,8 +491,12 @@ int board_late_init(void) else env_set("board_rev", "MX6DL"); - if (is_rev_15_som()) + if (is_rev_15_som()) { env_set("som_rev", "V15"); + puts(" (som rev 1.5)\n"); + } else { + puts("\n"); + } if (has_emmc()) env_set("has_emmc", "yes"); diff --git a/board/sophgo/milkv_duo/Kconfig b/board/sophgo/milkv_duo/Kconfig index 2a458f291cc..040a7487f1b 100644 --- a/board/sophgo/milkv_duo/Kconfig +++ b/board/sophgo/milkv_duo/Kconfig @@ -7,7 +7,7 @@ config SYS_VENDOR default "sophgo" config SYS_CPU - default "generic" + default "cv1800b" config SYS_CONFIG_NAME default "milkv_duo" @@ -23,6 +23,6 @@ config ENV_SECT_SIZE config BOARD_SPECIFIC_OPTIONS def_bool y - select GENERIC_RISCV + select SOPHGO_CV1800B endif diff --git a/board/st/stih410-b2260/Kconfig b/board/st/stih410-b2260/Kconfig index 590add05fea..441a83cbaea 100644 --- a/board/st/stih410-b2260/Kconfig +++ b/board/st/stih410-b2260/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "stih410" config SYS_CONFIG_NAME - string default "stih410-b2260" endif diff --git a/board/st/stih410-b2260/board.c b/board/st/stih410-b2260/board.c index e21cbc270e9..82817571ae3 100644 --- a/board/st/stih410-b2260/board.c +++ b/board/st/stih410-b2260/board.c @@ -50,12 +50,6 @@ static struct dwc3_device dwc3_device_data = { .index = 0, }; -int dm_usb_gadget_handle_interrupts(struct udevice *dev) -{ - dwc3_uboot_handle_interrupt(dev); - return 0; -} - int board_usb_init(int index, enum usb_init_type init) { int node; diff --git a/board/st/stm32f429-discovery/Kconfig b/board/st/stm32f429-discovery/Kconfig index e73d11bada4..3c93df20afa 100644 --- a/board/st/stm32f429-discovery/Kconfig +++ b/board/st/stm32f429-discovery/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "stm32f4" config SYS_CONFIG_NAME - string default "stm32f429-discovery" endif diff --git a/board/st/stm32f429-evaluation/Kconfig b/board/st/stm32f429-evaluation/Kconfig index ca4bb3d9c95..eaa40db8a74 100644 --- a/board/st/stm32f429-evaluation/Kconfig +++ b/board/st/stm32f429-evaluation/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "stm32f4" config SYS_CONFIG_NAME - string default "stm32f429-evaluation" endif diff --git a/board/st/stm32f469-discovery/Kconfig b/board/st/stm32f469-discovery/Kconfig index de61b6f2f6d..622a8d82d81 100644 --- a/board/st/stm32f469-discovery/Kconfig +++ b/board/st/stm32f469-discovery/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "stm32f4" config SYS_CONFIG_NAME - string default "stm32f469-discovery" endif diff --git a/board/st/stm32f746-disco/Kconfig b/board/st/stm32f746-disco/Kconfig index 09289d23238..86ace17377c 100644 --- a/board/st/stm32f746-disco/Kconfig +++ b/board/st/stm32f746-disco/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "stm32f7" config SYS_CONFIG_NAME - string default "stm32f746-disco" endif diff --git a/board/st/stm32h743-disco/Kconfig b/board/st/stm32h743-disco/Kconfig index 7d6ec1d9586..bc116bcf32f 100644 --- a/board/st/stm32h743-disco/Kconfig +++ b/board/st/stm32h743-disco/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "stm32h7" config SYS_CONFIG_NAME - string default "stm32h743-disco" endif diff --git a/board/st/stm32h743-eval/Kconfig b/board/st/stm32h743-eval/Kconfig index ea879b13c8b..ff86de25f7d 100644 --- a/board/st/stm32h743-eval/Kconfig +++ b/board/st/stm32h743-eval/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "stm32h7" config SYS_CONFIG_NAME - string default "stm32h743-eval" endif diff --git a/board/st/stm32h750-art-pi/Kconfig b/board/st/stm32h750-art-pi/Kconfig index c31b9849fde..ab2d0f227d7 100644 --- a/board/st/stm32h750-art-pi/Kconfig +++ b/board/st/stm32h750-art-pi/Kconfig @@ -13,7 +13,6 @@ config SYS_SOC default "stm32h7" config SYS_CONFIG_NAME - string default "stm32h750-art-pi" endif diff --git a/board/st/stv0991/Kconfig b/board/st/stv0991/Kconfig deleted file mode 100644 index 007712f9c61..00000000000 --- a/board/st/stv0991/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -if TARGET_STV0991 - -config SYS_BOARD - default "stv0991" - -config SYS_VENDOR - default "st" - -config SYS_SOC - default "stv0991" - -config SYS_CONFIG_NAME - default "stv0991" - -endif diff --git a/board/st/stv0991/MAINTAINERS b/board/st/stv0991/MAINTAINERS deleted file mode 100644 index e7a2ccaa1f2..00000000000 --- a/board/st/stv0991/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -STV0991 APPLICATION BOARD -M: Vikas Manocha <vikas.manocha@st.com> -S: Maintained -F: board/st/stv0991/ -F: include/configs/stv0991.h -F: configs/stv0991_defconfig diff --git a/board/st/stv0991/Makefile b/board/st/stv0991/Makefile deleted file mode 100644 index 7f6d719c322..00000000000 --- a/board/st/stv0991/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright (C) 2014, STMicroelectronics - All Rights Reserved -# Author(s): Vikas Manocha, <vikas.manocha@st.com> for STMicroelectronics. - -obj-y := stv0991.o diff --git a/board/st/stv0991/stv0991.c b/board/st/stv0991/stv0991.c deleted file mode 100644 index 57ca9f659c1..00000000000 --- a/board/st/stv0991/stv0991.c +++ /dev/null @@ -1,119 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2014, STMicroelectronics - All Rights Reserved - * Author(s): Vikas Manocha, <vikas.manocha@st.com> for STMicroelectronics. - */ - -#include <common.h> -#include <bootstage.h> -#include <dm.h> -#include <init.h> -#include <miiphy.h> -#include <net.h> -#include <asm/arch/stv0991_periph.h> -#include <asm/arch/stv0991_defs.h> -#include <asm/arch/hardware.h> -#include <asm/arch/gpio.h> -#include <netdev.h> -#include <asm/global_data.h> -#include <asm/io.h> -#include <dm/platform_data/serial_pl01x.h> - -DECLARE_GLOBAL_DATA_PTR; - -struct gpio_regs *const gpioa_regs = - (struct gpio_regs *) GPIOA_BASE_ADDR; - -#ifndef CONFIG_OF_CONTROL -static const struct pl01x_serial_plat serial_plat = { - .base = 0x80406000, - .type = TYPE_PL011, - .clock = 2700 * 1000, -}; - -U_BOOT_DRVINFO(stv09911_serials) = { - .name = "serial_pl01x", - .plat = &serial_plat, -}; -#endif - -#if CONFIG_IS_ENABLED(BOOTSTAGE) -void show_boot_progress(int progress) -{ - printf("%i\n", progress); -} -#endif - -void enable_eth_phy(void) -{ - /* Set GPIOA_06 pad HIGH (Appli board)*/ - writel(readl(&gpioa_regs->dir) | 0x40, &gpioa_regs->dir); - writel(readl(&gpioa_regs->data) | 0x40, &gpioa_regs->data); -} -int board_eth_enable(void) -{ - stv0991_pinmux_config(ETH_GPIOB_10_31_C_0_4); - clock_setup(ETH_CLOCK_CFG); - enable_eth_phy(); - return 0; -} - -int board_qspi_enable(void) -{ - stv0991_pinmux_config(QSPI_CS_CLK_PAD); - clock_setup(QSPI_CLOCK_CFG); - return 0; -} - -/* - * Miscellaneous platform dependent initialisations - */ -int board_init(void) -{ - board_eth_enable(); - board_qspi_enable(); - return 0; -} - -int board_uart_init(void) -{ - stv0991_pinmux_config(UART_GPIOC_30_31); - clock_setup(UART_CLOCK_CFG); - return 0; -} - -#ifdef CONFIG_BOARD_EARLY_INIT_F -int board_early_init_f(void) -{ - board_uart_init(); - return 0; -} -#endif - -int dram_init(void) -{ - gd->ram_size = PHYS_SDRAM_1_SIZE; - return 0; -} - -int dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = PHYS_SDRAM_1; - gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; - - return 0; -} - -#ifdef CONFIG_CMD_NET -int board_eth_init(struct bd_info *bis) -{ - int ret = 0; - -#if defined(CONFIG_ETH_DESIGNWARE) - u32 interface = PHY_INTERFACE_MODE_MII; - if (designware_initialize(GMAC_BASE_ADDR, interface) >= 0) - ret++; -#endif - return ret; -} -#endif diff --git a/board/starfive/visionfive2/spl.c b/board/starfive/visionfive2/spl.c index 1b49945d11b..45848db6d8b 100644 --- a/board/starfive/visionfive2/spl.c +++ b/board/starfive/visionfive2/spl.c @@ -4,7 +4,6 @@ * Author: Yanhong Wang<yanhong.wang@starfivetech.com> */ -#include <common.h> #include <asm/arch/eeprom.h> #include <asm/arch/gpio.h> #include <asm/arch/regs.h> @@ -27,6 +26,26 @@ struct starfive_vf2_pro { const char *value; }; +static const struct starfive_vf2_pro milk_v_mars[] = { + {"/soc/ethernet@16030000", "starfive,tx-use-rgmii-clk", NULL}, + {"/soc/ethernet@16040000", "starfive,tx-use-rgmii-clk", NULL}, + + {"/soc/ethernet@16030000/mdio/ethernet-phy@0", + "motorcomm,tx-clk-adj-enabled", NULL}, + {"/soc/ethernet@16030000/mdio/ethernet-phy@0", + "motorcomm,tx-clk-100-inverted", NULL}, + {"/soc/ethernet@16030000/mdio/ethernet-phy@0", + "motorcomm,tx-clk-1000-inverted", NULL}, + {"/soc/ethernet@16030000/mdio/ethernet-phy@0", + "motorcomm,rx-clk-drv-microamp", "3970"}, + {"/soc/ethernet@16030000/mdio/ethernet-phy@0", + "motorcomm,rx-data-drv-microamp", "2910"}, + {"/soc/ethernet@16030000/mdio/ethernet-phy@0", + "rx-internal-delay-ps", "1900"}, + {"/soc/ethernet@16030000/mdio/ethernet-phy@0", + "tx-internal-delay-ps", "1500"}, +}; + static const struct starfive_vf2_pro starfive_vera[] = { {"/soc/ethernet@16030000/mdio/ethernet-phy@0", "rx-internal-delay-ps", "1900"}, @@ -67,6 +86,49 @@ static const struct starfive_vf2_pro starfive_verb[] = { "tx-internal-delay-ps", "0"}, }; +void spl_fdt_fixup_mars(void *fdt) +{ + static const char compat[] = "milkv,mars\0starfive,jh7110"; + u32 phandle; + u8 i; + int offset; + int ret; + + fdt_setprop(fdt, fdt_path_offset(fdt, "/"), "compatible", compat, sizeof(compat)); + fdt_setprop_string(fdt, fdt_path_offset(fdt, "/"), "model", + "Milk-V Mars"); + + /* gmac0 */ + offset = fdt_path_offset(fdt, "/soc/clock-controller@17000000"); + phandle = fdt_get_phandle(fdt, offset); + offset = fdt_path_offset(fdt, "/soc/ethernet@16030000"); + + fdt_setprop_u32(fdt, offset, "assigned-clocks", phandle); + fdt_appendprop_u32(fdt, offset, "assigned-clocks", JH7110_AONCLK_GMAC0_TX); + fdt_setprop_u32(fdt, offset, "assigned-clock-parents", phandle); + fdt_appendprop_u32(fdt, offset, "assigned-clock-parents", + JH7110_AONCLK_GMAC0_RMII_RTX); + + /* gmac1 */ + fdt_setprop_string(fdt, fdt_path_offset(fdt, "/soc/ethernet@16040000"), + "status", "disabled"); + + for (i = 0; i < ARRAY_SIZE(milk_v_mars); i++) { + offset = fdt_path_offset(fdt, milk_v_mars[i].path); + + if (milk_v_mars[i].value) + ret = fdt_setprop_u32(fdt, offset, milk_v_mars[i].name, + dectoul(milk_v_mars[i].value, NULL)); + else + ret = fdt_setprop_empty(fdt, offset, milk_v_mars[i].name); + + if (ret) { + pr_err("%s set prop %s fail.\n", __func__, milk_v_mars[i].name); + break; + } + } +} + void spl_fdt_fixup_version_a(void *fdt) { static const char compat[] = "starfive,visionfive-2-v1.2a\0starfive,jh7110"; @@ -167,22 +229,34 @@ void spl_fdt_fixup_version_b(void *fdt) void spl_perform_fixups(struct spl_image_info *spl_image) { u8 version; + const char *product_id; - version = get_pcb_revision_from_eeprom(); - switch (version) { - case 'a': - case 'A': - spl_fdt_fixup_version_a(spl_image->fdt_addr); - break; - - case 'b': - case 'B': - default: - spl_fdt_fixup_version_b(spl_image->fdt_addr); + product_id = get_product_id_from_eeprom(); + if (!product_id) { + pr_err("Can't read EEPROM\n"); + return; + } + if (!strncmp(product_id, "MARS", 4)) { + spl_fdt_fixup_mars(spl_image->fdt_addr); + } else if (!strncmp(product_id, "VF7110", 6)) { + version = get_pcb_revision_from_eeprom(); + switch (version) { + case 'a': + case 'A': + spl_fdt_fixup_version_a(spl_image->fdt_addr); + break; + + case 'b': + case 'B': + default: + spl_fdt_fixup_version_b(spl_image->fdt_addr); break; + }; + } else { + pr_err("Unknown product %s\n", product_id); }; - /* Update the memory size which read form eeprom or DT */ + /* Update the memory size which read from eeprom or DT */ fdt_fixup_memory(spl_image->fdt_addr, 0x40000000, gd->ram_size); } diff --git a/board/starfive/visionfive2/starfive_visionfive2.c b/board/starfive/visionfive2/starfive_visionfive2.c index 78e118d5a05..a86bca533b2 100644 --- a/board/starfive/visionfive2/starfive_visionfive2.c +++ b/board/starfive/visionfive2/starfive_visionfive2.c @@ -4,11 +4,11 @@ * Author: Yanhong Wang<yanhong.wang@starfivetech.com> */ -#include <common.h> #include <cpu_func.h> #include <dm.h> #include <fdt_support.h> #include <env.h> +#include <log.h> #include <asm/arch/eeprom.h> #include <asm/io.h> #include <asm/sections.h> @@ -17,6 +17,8 @@ DECLARE_GLOBAL_DATA_PTR; #define JH7110_L2_PREFETCHER_BASE_ADDR 0x2030000 #define JH7110_L2_PREFETCHER_HART_OFFSET 0x2000 +#define FDTFILE_MILK_V_MARS \ + "starfive/jh7110-milkv-mars.dtb" #define FDTFILE_VISIONFIVE2_1_2A \ "starfive/jh7110-starfive-visionfive-2-v1.2a.dtb" #define FDTFILE_VISIONFIVE2_1_3B \ @@ -48,20 +50,38 @@ static void set_fdtfile(void) { u8 version; const char *fdtfile; + const char *product_id; - version = get_pcb_revision_from_eeprom(); - switch (version) { - case 'a': - case 'A': - fdtfile = FDTFILE_VISIONFIVE2_1_2A; - break; - - case 'b': - case 'B': - default: - fdtfile = FDTFILE_VISIONFIVE2_1_3B; - break; - }; + fdtfile = env_get("fdtfile"); + if (fdtfile) + return; + + product_id = get_product_id_from_eeprom(); + if (!product_id) { + log_err("Can't read EEPROM\n"); + return; + } + if (!strncmp(product_id, "MARS", 4)) { + fdtfile = FDTFILE_MILK_V_MARS; + } else if (!strncmp(product_id, "VF7110", 6)) { + version = get_pcb_revision_from_eeprom(); + + switch (version) { + case 'a': + case 'A': + fdtfile = FDTFILE_VISIONFIVE2_1_2A; + break; + + case 'b': + case 'B': + default: + fdtfile = FDTFILE_VISIONFIVE2_1_3B; + break; + } + } else { + log_err("Unknown product\n"); + return; + } env_set("fdtfile", fdtfile); } diff --git a/board/starfive/visionfive2/visionfive2-i2c-eeprom.c b/board/starfive/visionfive2/visionfive2-i2c-eeprom.c index c36de1a5125..ddef7d61235 100644 --- a/board/starfive/visionfive2/visionfive2-i2c-eeprom.c +++ b/board/starfive/visionfive2/visionfive2-i2c-eeprom.c @@ -4,7 +4,6 @@ * Author: Yanhong Wang<yanhong.wang@starfivetech.com> */ -#include <common.h> #include <command.h> #include <env.h> #include <i2c.h> @@ -405,6 +404,14 @@ static void set_product_id(char *string) update_crc(); } +const char *get_product_id_from_eeprom(void) +{ + if (read_eeprom()) + return NULL; + + return pbuf.eeprom.atom1.data.pstr; +} + int do_mac(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { char *cmd; diff --git a/board/sysam/amcore/Kconfig b/board/sysam/amcore/Kconfig index dd9816ec243..e13ee8f6e90 100644 --- a/board/sysam/amcore/Kconfig +++ b/board/sysam/amcore/Kconfig @@ -13,7 +13,6 @@ config SYS_VENDOR default "sysam" config SYS_CONFIG_NAME - string default "amcore" endif diff --git a/board/theobroma-systems/common/common.c b/board/theobroma-systems/common/common.c index 864bcdd46f8..585da438845 100644 --- a/board/theobroma-systems/common/common.c +++ b/board/theobroma-systems/common/common.c @@ -89,36 +89,6 @@ int setup_boottargets(void) return 0; } -int mmc_get_env_dev(void) -{ - const char *boot_device = - ofnode_read_chosen_string("u-boot,spl-boot-device"); - struct udevice *devp; - - if (!boot_device) { - debug("%s: /chosen/u-boot,spl-boot-device not set\n", - __func__); -#ifdef CONFIG_SYS_MMC_ENV_DEV - return CONFIG_SYS_MMC_ENV_DEV; -#else - return 0; -#endif - } - - debug("%s: booted from %s\n", __func__, boot_device); - - if (uclass_find_device_by_ofnode(UCLASS_MMC, ofnode_path(boot_device), &devp)) -#ifdef CONFIG_SYS_MMC_ENV_DEV - return CONFIG_SYS_MMC_ENV_DEV; -#else - return 0; -#endif - - debug("%s: get MMC ENV from mmc%d\n", __func__, devp->seq_); - - return devp->seq_; -} - enum env_location arch_env_get_location(enum env_operation op, int prio) { const char *boot_device = diff --git a/board/theobroma-systems/jaguar_rk3588/Kconfig b/board/theobroma-systems/jaguar_rk3588/Kconfig new file mode 100644 index 00000000000..0ff417af4dd --- /dev/null +++ b/board/theobroma-systems/jaguar_rk3588/Kconfig @@ -0,0 +1,16 @@ +if TARGET_JAGUAR_RK3588 + +config SYS_BOARD + default "jaguar_rk3588" + +config SYS_VENDOR + default "theobroma-systems" + +config SYS_CONFIG_NAME + default "jaguar_rk3588" + +config BOARD_SPECIFIC_OPTIONS # dummy + def_bool y + select ENV_IS_NOWHERE + +endif diff --git a/board/theobroma-systems/jaguar_rk3588/MAINTAINERS b/board/theobroma-systems/jaguar_rk3588/MAINTAINERS new file mode 100644 index 00000000000..28fae4b479f --- /dev/null +++ b/board/theobroma-systems/jaguar_rk3588/MAINTAINERS @@ -0,0 +1,13 @@ +JAGUAR-RK3588 (SBC-RK3588-AMR Single Board Computer) +M: Klaus Goger <klaus.goger@theobroma-systems.com> +M: Quentin Schulz <quentin.schulz@theobroma-systems.com> +M: Heiko Stuebner <heiko.stuebner@cherry.de> +S: Maintained +F: board/theobroma-systems/jaguar_rk3588 +F: board/theobroma-systems/common +F: doc/board/theobroma-systems/ +F: include/configs/jaguar_rk3588.h +F: arch/arm/dts/rk3588-jaguar* +F: configs/jaguar-rk3588_defconfig +W: https://theobroma-systems.com/product/jaguar-sbc-rk3588/ +T: git git://git.theobroma-systems.com/jaguar-u-boot.git diff --git a/board/theobroma-systems/jaguar_rk3588/Makefile b/board/theobroma-systems/jaguar_rk3588/Makefile new file mode 100644 index 00000000000..532aab01532 --- /dev/null +++ b/board/theobroma-systems/jaguar_rk3588/Makefile @@ -0,0 +1,10 @@ +# +# Copyright (c) 2023 Theobroma Systems Design und Consulting GmbH +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += jaguar_rk3588.o +ifneq ($(CONFIG_SPL_BUILD),y) +obj-y += ../common/common.o +endif diff --git a/board/theobroma-systems/jaguar_rk3588/jaguar_rk3588.c b/board/theobroma-systems/jaguar_rk3588/jaguar_rk3588.c new file mode 100644 index 00000000000..a6d44f10db3 --- /dev/null +++ b/board/theobroma-systems/jaguar_rk3588/jaguar_rk3588.c @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2023 Theobroma Systems Design und Consulting GmbH + */ + +#include <phy.h> +#include <eth_phy.h> + +#include <asm/types.h> +#include <asm/arch-rockchip/cru_rk3588.h> +#include <asm/arch-rockchip/hardware.h> +#include <asm/arch-rockchip/ioc_rk3588.h> +#include <asm-generic/u-boot.h> +#include <dm/device.h> +#include <dm/uclass-id.h> +#include <linux/bitfield.h> + +#include "../common/common.h" + +#define GPIO2C3_SEL_MASK GENMASK(15, 12) +#define GPIO2C3_ETH0_REFCLKO_25M FIELD_PREP(GPIO2C3_SEL_MASK, 1) + +#define REFCLKO25M_ETH0_OUT_SEL_MASK BIT(15) +#define REFCLKO25M_ETH0_OUT_SEL_CPLL FIELD_PREP(REFCLKO25M_ETH0_OUT_SEL_MASK, 1) +#define REFCLKO25M_ETH0_OUT_DIV_MASK GENMASK(14, 8) +#define REFCLKO25M_ETH0_OUT_DIV(x) FIELD_PREP(REFCLKO25M_ETH0_OUT_DIV_MASK, (x) - 1) + +#define REFCLKO25M_ETH0_OUT_EN BIT(4) + +void setup_eth0refclko(void) +{ + /* Configure and enable ETH0_REFCLKO_25MHz */ + static struct rk3588_bus_ioc * const bus_ioc = (void *)BUS_IOC_BASE; + static struct rk3588_cru * const cru = (void *)CRU_BASE; + + /* 1. Pinmux */ + rk_clrsetreg(&bus_ioc->gpio2c_iomux_sel_l, GPIO2C3_SEL_MASK, GPIO2C3_ETH0_REFCLKO_25M); + /* 2. Parent clock selection + divider => CPLL (1.5GHz) / 60 => 25MHz */ + rk_clrsetreg(&cru->clksel_con[15], + REFCLKO25M_ETH0_OUT_SEL_MASK | REFCLKO25M_ETH0_OUT_DIV_MASK, + REFCLKO25M_ETH0_OUT_SEL_CPLL | REFCLKO25M_ETH0_OUT_DIV(60)); + /* 3. Enable clock */ + rk_clrreg(&cru->clkgate_con[5], REFCLKO25M_ETH0_OUT_EN); +} + +int rockchip_early_misc_init_r(void) +{ + setup_boottargets(); + + setup_eth0refclko(); + + return 0; +} diff --git a/board/theobroma-systems/lion_rk3368/Kconfig b/board/theobroma-systems/lion_rk3368/Kconfig index fddbf826df1..537a2e7d9af 100644 --- a/board/theobroma-systems/lion_rk3368/Kconfig +++ b/board/theobroma-systems/lion_rk3368/Kconfig @@ -9,9 +9,6 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "lion_rk3368" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - config ENV_SIZE default 0x2000 diff --git a/board/theobroma-systems/puma_rk3399/MAINTAINERS b/board/theobroma-systems/puma_rk3399/MAINTAINERS index 93f570fc4f9..7e84a5be262 100644 --- a/board/theobroma-systems/puma_rk3399/MAINTAINERS +++ b/board/theobroma-systems/puma_rk3399/MAINTAINERS @@ -4,8 +4,9 @@ M: Klaus Goger <klaus.goger@theobroma-systems.com> S: Maintained F: board/theobroma-systems/puma_rk3399 F: board/theobroma-systems/common +F: doc/board/theobroma-systems F: include/configs/puma_rk3399.h -F: arch/arm/dts/rk3399-puma.dts +F: arch/arm/dts/rk3399-puma* F: configs/puma-rk3399_defconfig W: https://www.theobroma-systems.com/rk3399-q7/tech-specs T: git git://git.theobroma-systems.com/puma-u-boot.git diff --git a/board/theobroma-systems/puma_rk3399/README b/board/theobroma-systems/puma_rk3399/README index 649aa3c543d..39c9d618866 100644 --- a/board/theobroma-systems/puma_rk3399/README +++ b/board/theobroma-systems/puma_rk3399/README @@ -1,89 +1 @@ -Introduction -============ - -The RK3399-Q7 (Puma) is a system-on-module featuring the Rockchip -RK3399 in a Qseven-compatible form-factor. - -RK3399-Q7 features: - * CPU: ARMv8 64bit Big-Little architecture, - * Big: dual-core Cortex-A72 - * Little: quad-core Cortex-A53 - * IRAM: 200KB - * DRAM: 4GB-128MB dual-channel - * eMMC: onboard eMMC - * SD/MMC - * GbE (onboard Micrel KSZ9031) Gigabit ethernet PHY - * USB: - * USB3.0 dual role port - * 2x USB3.0 host, 1x USB2.0 host via onboard USB3.0 hub - * Display: HDMI/eDP/MIPI - * Camera: 2x CSI (one on the edge connector, one on the Q7 specified CSI ZIF) - * NOR Flash: onboard SPI NOR - * Companion Controller: onboard additional Cortex-M0 microcontroller - * RTC - * fan controller - * CAN - -Here is the step-by-step to boot to U-Boot on rk3399. - -Get the Source and build ATF binary -=================================== - - > git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git - -Compile the ATF -=============== - - > cd trusted-firmware-a - > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31 - > cp build/rk3399/release/bl31/bl31.elf ../u-boot/bl31.elf - -Compile the U-Boot -================== - - > cd ../u-boot - > make CROSS_COMPILE=aarch64-linux-gnu- puma-rk3399_defconfig all - -Flash the image -=============== - -Copy u-boot-rockchip.bin to offset 32k for SD/eMMC. -Copy u-boot-rockchip-spi.bin to offset 0 for NOR-flash. - -SD-Card -------- - - > dd if=u-boot-rockchip.bin of=/dev/sdb seek=64 - -eMMC ----- - -rkdeveloptool allows to flash the on-board eMMC via the USB OTG interface with -help of the Rockchip loader binary. - - > git clone https://github.com/rockchip-linux/rkdeveloptool - > cd rkdeveloptool - > autoreconf -i && ./configure && make - > git clone https://github.com/rockchip-linux/rkbin.git - > cd rkbin - > ./tools/boot_merger RKBOOT/RK3399MINIALL.ini - > cd .. - > ./rkdeveloptool db rkbin/rk3399_loader_v1.25.126.bin - > ./rkdeveloptool wl 64 ../u-boot-rockchip.bin - -NOR-Flash ---------- - -rkdeveloptool allows to flash the on-board SPI via the USB OTG interface with -help of the Rockchip loader binary. - - > git clone https://github.com/rockchip-linux/rkdeveloptool - > cd rkdeveloptool - > autoreconf -i && ./configure && make - > git clone https://github.com/rockchip-linux/rkbin.git - > cd rkbin - > ./tools/boot_merger RKBOOT/RK3399MINIALL_SPINOR.ini - > cd .. - > ./rkdeveloptool db rkbin/rk3399_loader_spinor_v1.25.114.bin - > ./rkdeveloptool ef - > ./rkdeveloptool wl 0 ../u-boot-rockchip-spi.bin +See doc/board/theobroma-systems/puma_rk3399.rst. diff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c b/board/theobroma-systems/puma_rk3399/puma-rk3399.c index a82f97b2d54..eeb8a99231e 100644 --- a/board/theobroma-systems/puma_rk3399/puma-rk3399.c +++ b/board/theobroma-systems/puma_rk3399/puma-rk3399.c @@ -3,50 +3,10 @@ * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH */ -#include <dm.h> -#include <syscon.h> -#include <dm/pinctrl.h> -#include <asm/io.h> -#include <asm/arch-rockchip/clock.h> -#include <asm/arch-rockchip/hardware.h> -#include <asm/arch-rockchip/grf_rk3399.h> -#include <asm/arch-rockchip/misc.h> #include "../common/common.h" -static void setup_iodomain(void) +int rockchip_early_misc_init_r(void) { - const u32 GRF_IO_VSEL_GPIO4CD_SHIFT = 3; - struct rk3399_grf_regs *grf = - syscon_get_first_range(ROCKCHIP_SYSCON_GRF); - - /* - * Set bit 3 in GRF_IO_VSEL so PCIE_RST# works (pin GPIO4_C6). - * Linux assumes that PCIE_RST# works out of the box as it probes - * PCIe before loading the iodomain driver. - */ - rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_GPIO4CD_SHIFT); -} - -int misc_init_r(void) -{ - const u32 cpuid_offset = 0x7; - const u32 cpuid_length = 0x10; - u8 cpuid[cpuid_length]; - int ret; - - ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); - if (ret) - return ret; - - ret = rockchip_cpuid_set(cpuid, cpuid_length); - if (ret) - return ret; - - ret = rockchip_setup_macaddr(); - if (ret) - return ret; - - setup_iodomain(); setup_boottargets(); return 0; diff --git a/board/theobroma-systems/ringneck_px30/MAINTAINERS b/board/theobroma-systems/ringneck_px30/MAINTAINERS index 06e1beaab14..97baf334d02 100644 --- a/board/theobroma-systems/ringneck_px30/MAINTAINERS +++ b/board/theobroma-systems/ringneck_px30/MAINTAINERS @@ -4,7 +4,8 @@ M: Klaus Goger <klaus.goger@theobroma-systems.com> S: Maintained F: board/theobroma-systems/ringneck_px30 F: board/theobroma-systems/common +F: doc/board/theobroma-systems/ F: include/configs/ringneck_px30.h F: arch/arm/dts/px30-ringneck* F: configs/ringneck-px30_defconfig -W: https://www.theobroma-systems.com/px30-uq7#tech-spec +W: https://theobroma-systems.com/product/ringneck-som-px30-uq7/ diff --git a/board/theobroma-systems/ringneck_px30/README b/board/theobroma-systems/ringneck_px30/README index e756b3a8ffc..915baf4a9a0 100644 --- a/board/theobroma-systems/ringneck_px30/README +++ b/board/theobroma-systems/ringneck_px30/README @@ -1,69 +1 @@ -Introduction -============ - -The PX30-uQ7 (Ringneck) SoM is a µQseven-compatible (40mmx70mm, MXM-230 -connector) system-on-module from Theobroma Systems[1], featuring the -Rockchip PX30. - -It provides the following feature set: - * up to 4GB DDR4 - * up to 128GB on-module eMMC (with 8-bit 1.8V interface) - * SD card (on a baseboard) via edge connector - * Fast Ethernet with on-module TI DP83825I PHY - * MIPI-DSI/LVDS - * MIPI-CSI - * USB - - 1x USB 2.0 dual-role - - 3x USB 2.0 host - * on-module companion controller (STM32 Cortex-M0 or ATtiny), implementing: - - low-power RTC functionality (ISL1208 emulation) - - fan controller (AMC6821 emulation) - - USB<->CAN bridge controller (STM32 only) - * on-module Espressif ESP32 for Bluetooth + 2.4GHz WiFi - * on-module NXP SE05x Secure Element - -Here is the step-by-step to boot to U-Boot on px30. - -Get the Source and build ATF binary -=================================== - - > git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git - -Compile the ATF -=============== - - > cd trusted-firmware-a - > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=px30 bl31 - > cp build/px30/release/bl31/bl31.elf ../u-boot/bl31.elf - -Compile the U-Boot -================== - - > cd ../u-boot - > make CROSS_COMPILE=aarch64-linux-gnu- ringneck-px30_defconfig all - -Flash the image -=============== - -Copy u-boot-rockchip.bin to offset 32k for SD/eMMC. - -SD-Card -------- - - > dd if=u-boot-rockchip.bin of=/dev/sdb seek=64 - -eMMC ----- - -rkdeveloptool allows to flash the on-board eMMC via the USB OTG interface with -help of the Rockchip loader binary. - - > git clone https://github.com/rockchip-linux/rkdeveloptool - > cd rkdeveloptool - > autoreconf -i && ./configure && make - > git clone https://github.com/rockchip-linux/rkbin.git - > cd rkbin - > ./tools/boot_merger RKBOOT/PX30MINIALL.ini - > cd .. - > ./rkdeveloptool db rkbin/px30_loader_v1.16.131.bin - > ./rkdeveloptool wl 64 ../u-boot-rockchip.bin +See doc/board/theobroma-systems/ringneck_px30.rst. diff --git a/board/theobroma-systems/ringneck_px30/ringneck-px30.c b/board/theobroma-systems/ringneck_px30/ringneck-px30.c index ff7e414303d..bfebfe5136d 100644 --- a/board/theobroma-systems/ringneck_px30/ringneck-px30.c +++ b/board/theobroma-systems/ringneck_px30/ringneck-px30.c @@ -4,29 +4,11 @@ */ #include <asm/gpio.h> -#include <asm/arch-rockchip/misc.h> #include <linux/delay.h> #include "../common/common.h" -int misc_init_r(void) +int rockchip_early_misc_init_r(void) { - const u32 cpuid_offset = 0x7; - const u32 cpuid_length = 0x10; - u8 cpuid[cpuid_length]; - int ret; - - ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); - if (ret) - return ret; - - ret = rockchip_cpuid_set(cpuid, cpuid_length); - if (ret) - return ret; - - ret = rockchip_setup_macaddr(); - if (ret) - return ret; - setup_boottargets(); return 0; diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index ea0d0b92088..a4679a2e294 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -759,17 +759,6 @@ static struct ti_usb_phy_device usb_phy2_device = { .usb2_phy_power = (void *)USB2_PHY2_POWER, .index = 1, }; - -int dm_usb_gadget_handle_interrupts(struct udevice *dev) -{ - u32 status; - - status = dwc3_omap_uboot_interrupt_status(dev); - if (status) - dwc3_uboot_handle_interrupt(dev); - - return 0; -} #endif /* CONFIG_USB_DWC3 */ #if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) diff --git a/board/ti/am62ax/rm-cfg.yaml b/board/ti/am62ax/rm-cfg.yaml index 73e8e15f66a..cbd087de797 100644 --- a/board/ti/am62ax/rm-cfg.yaml +++ b/board/ti/am62ax/rm-cfg.yaml @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0+ -# Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ +# Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/ # # Resource management configuration for AM62A # @@ -519,13 +519,13 @@ rm-cfg: reserved: 0 - start_resource: 44 - num_resource: 36 + num_resource: 35 type: 1802 host_id: 35 reserved: 0 - start_resource: 44 - num_resource: 36 + num_resource: 35 type: 1802 host_id: 36 reserved: 0 @@ -567,7 +567,7 @@ rm-cfg: reserved: 0 - start_resource: 1038 - num_resource: 498 + num_resource: 497 type: 1805 host_id: 128 reserved: 0 diff --git a/board/ti/am62px/Kconfig b/board/ti/am62px/Kconfig new file mode 100644 index 00000000000..9d95ffd9b29 --- /dev/null +++ b/board/ti/am62px/Kconfig @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ +# + +if TARGET_AM62P5_R5_EVM || TARGET_AM62P5_A53_EVM + +config SYS_BOARD + default "am62px" + +config SYS_VENDOR + default "ti" + +config SYS_CONFIG_NAME + default "am62px_evm" + +source "board/ti/common/Kconfig" + +endif + +if TARGET_AM62P5_R5_EVM + +config SPL_LDSCRIPT + default "arch/arm/mach-omap2/u-boot-spl.lds" + +endif diff --git a/board/ti/am62px/MAINTAINERS b/board/ti/am62px/MAINTAINERS new file mode 100644 index 00000000000..57c86ddbc4a --- /dev/null +++ b/board/ti/am62px/MAINTAINERS @@ -0,0 +1,9 @@ +AM62Px BOARD +M: Vignesh Raghavendra <vigneshr@ti.com> +M: Bryan Brattlof <bb@ti.com> +M: Tom Rini <trini@konsulko.com> +S: Maintained +F: board/ti/am62px/ +F: include/configs/am62p5_evm.h +F: configs/am62px_evm_r5_defconfig +F: configs/am62px_evm_a53_defconfig diff --git a/board/ti/am62px/Makefile b/board/ti/am62px/Makefile new file mode 100644 index 00000000000..921afdff27a --- /dev/null +++ b/board/ti/am62px/Makefile @@ -0,0 +1,7 @@ +# +# Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += evm.o diff --git a/board/ti/am62px/am62px.env b/board/ti/am62px/am62px.env new file mode 100644 index 00000000000..f8b6aff2c2f --- /dev/null +++ b/board/ti/am62px/am62px.env @@ -0,0 +1,15 @@ +#include <env/ti/ti_common.env> +#include <env/ti/mmc.env> + +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=mmc1 mmc0 pxe dhcp +boot=mmc +mmcdev=1 +bootpart=1:2 +bootdir=/boot +rd_spec=- diff --git a/board/ti/am62px/board-cfg.yaml b/board/ti/am62px/board-cfg.yaml new file mode 100644 index 00000000000..d539011aff9 --- /dev/null +++ b/board/ti/am62px/board-cfg.yaml @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Board configuration for AM62Px SoCs +# + +--- + +board-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + control: + subhdr: + magic: 0xC1D3 + size: 7 + main_isolation_enable: 0x5A + main_isolation_hostid: 0x2 + secproxy: + subhdr: + magic: 0x1207 + size: 7 + scaling_factor: 0x1 + scaling_profile: 0x1 + disable_main_nav_secure_proxy: 0 + msmc: + subhdr: + magic: 0xA5C3 + size: 5 + msmc_cache_size: 0x10 + debug_cfg: + subhdr: + magic: 0x020C + size: 8 + trace_dst_enables: 0x00 + trace_src_enables: 0x00 diff --git a/board/ti/am62px/evm.c b/board/ti/am62px/evm.c new file mode 100644 index 00000000000..97a95ce8cc2 --- /dev/null +++ b/board/ti/am62px/evm.c @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Board specific initialization for AM62Px platforms + * + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ + * + */ + +#include <asm/arch/hardware.h> +#include <asm/io.h> +#include <dm/uclass.h> +#include <env.h> +#include <fdt_support.h> +#include <spl.h> + +int board_init(void) +{ + return 0; +} + +int dram_init(void) +{ + return fdtdec_setup_mem_size_base(); +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} diff --git a/board/ti/am62px/pm-cfg.yaml b/board/ti/am62px/pm-cfg.yaml new file mode 100644 index 00000000000..3ff27ce702c --- /dev/null +++ b/board/ti/am62px/pm-cfg.yaml @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Power management configuration for AM62Px +# +# +--- +pm-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 diff --git a/board/ti/am62px/rm-cfg.yaml b/board/ti/am62px/rm-cfg.yaml new file mode 100644 index 00000000000..caa2f7a5a83 --- /dev/null +++ b/board/ti/am62px/rm-cfg.yaml @@ -0,0 +1,987 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Resource management configuration for AM62P +# + +--- + +rm-cfg: + rm_boardcfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + host_cfg: + subhdr: + magic: 0x4C41 + size: 356 + host_cfg_entries: + - # 1 + host_id: 12 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 2 + host_id: 30 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 3 + host_id: 36 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 4 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 5 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 6 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 7 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 8 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 9 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 10 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 11 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 12 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 13 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 14 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 15 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 16 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 17 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 18 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 19 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 20 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 21 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 22 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 23 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 24 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 25 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 26 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 27 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 28 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 29 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 30 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 31 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 32 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + resasg: + subhdr: + magic: 0x7B25 + size: 8 + resasg_entries_size: 984 + reserved: 0 + resasg_entries: + - + start_resource: 0 + num_resource: 16 + type: 192 + host_id: 12 + reserved: 0 + - + start_resource: 34 + num_resource: 2 + type: 192 + host_id: 30 + reserved: 0 + - + start_resource: 0 + num_resource: 2 + type: 320 + host_id: 12 + reserved: 0 + - + start_resource: 2 + num_resource: 2 + type: 320 + host_id: 35 + reserved: 0 + - + start_resource: 2 + num_resource: 2 + type: 320 + host_id: 36 + reserved: 0 + - + start_resource: 4 + num_resource: 4 + type: 320 + host_id: 30 + reserved: 0 + - + start_resource: 0 + num_resource: 26 + type: 384 + host_id: 128 + reserved: 0 + - + start_resource: 50176 + num_resource: 164 + type: 1666 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 1667 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 18 + type: 1677 + host_id: 12 + reserved: 0 + - + start_resource: 18 + num_resource: 6 + type: 1677 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 6 + type: 1677 + host_id: 36 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 1677 + host_id: 30 + reserved: 0 + - + start_resource: 26 + num_resource: 6 + type: 1677 + host_id: 128 + reserved: 0 + - + start_resource: 57 + num_resource: 18 + type: 1678 + host_id: 12 + reserved: 0 + - + start_resource: 75 + num_resource: 5 + type: 1678 + host_id: 35 + reserved: 0 + - + start_resource: 75 + num_resource: 5 + type: 1678 + host_id: 36 + reserved: 0 + - + start_resource: 80 + num_resource: 2 + type: 1678 + host_id: 30 + reserved: 0 + - + start_resource: 32 + num_resource: 12 + type: 1679 + host_id: 12 + reserved: 0 + - + start_resource: 44 + num_resource: 6 + type: 1679 + host_id: 35 + reserved: 0 + - + start_resource: 44 + num_resource: 6 + type: 1679 + host_id: 36 + reserved: 0 + - + start_resource: 50 + num_resource: 2 + type: 1679 + host_id: 30 + reserved: 0 + - + start_resource: 52 + num_resource: 5 + type: 1679 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 18 + type: 1696 + host_id: 12 + reserved: 0 + - + start_resource: 18 + num_resource: 6 + type: 1696 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 6 + type: 1696 + host_id: 36 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 1696 + host_id: 30 + reserved: 0 + - + start_resource: 26 + num_resource: 6 + type: 1696 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 18 + type: 1697 + host_id: 12 + reserved: 0 + - + start_resource: 18 + num_resource: 5 + type: 1697 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 5 + type: 1697 + host_id: 36 + reserved: 0 + - + start_resource: 23 + num_resource: 2 + type: 1697 + host_id: 30 + reserved: 0 + - + start_resource: 0 + num_resource: 12 + type: 1698 + host_id: 12 + reserved: 0 + - + start_resource: 12 + num_resource: 6 + type: 1698 + host_id: 35 + reserved: 0 + - + start_resource: 12 + num_resource: 6 + type: 1698 + host_id: 36 + reserved: 0 + - + start_resource: 18 + num_resource: 2 + type: 1698 + host_id: 30 + reserved: 0 + - + start_resource: 20 + num_resource: 5 + type: 1698 + host_id: 128 + reserved: 0 + - + start_resource: 5 + num_resource: 35 + type: 1802 + host_id: 12 + reserved: 0 + - + start_resource: 45 + num_resource: 35 + type: 1802 + host_id: 35 + reserved: 0 + - + start_resource: 45 + num_resource: 35 + type: 1802 + host_id: 36 + reserved: 0 + - + start_resource: 168 + num_resource: 8 + type: 1802 + host_id: 30 + reserved: 0 + - + start_resource: 14 + num_resource: 512 + type: 1805 + host_id: 12 + reserved: 0 + - + start_resource: 526 + num_resource: 256 + type: 1805 + host_id: 35 + reserved: 0 + - + start_resource: 526 + num_resource: 256 + type: 1805 + host_id: 36 + reserved: 0 + - + start_resource: 782 + num_resource: 128 + type: 1805 + host_id: 30 + reserved: 0 + - + start_resource: 910 + num_resource: 626 + type: 1805 + host_id: 128 + reserved: 0 + - + start_resource: 4096 + num_resource: 29 + type: 1807 + host_id: 128 + reserved: 0 + - + start_resource: 4608 + num_resource: 99 + type: 1808 + host_id: 128 + reserved: 0 + - + start_resource: 5120 + num_resource: 24 + type: 1809 + host_id: 128 + reserved: 0 + - + start_resource: 5632 + num_resource: 51 + type: 1810 + host_id: 128 + reserved: 0 + - + start_resource: 6144 + num_resource: 51 + type: 1811 + host_id: 128 + reserved: 0 + - + start_resource: 8192 + num_resource: 32 + type: 1812 + host_id: 128 + reserved: 0 + - + start_resource: 8704 + num_resource: 32 + type: 1813 + host_id: 128 + reserved: 0 + - + start_resource: 9216 + num_resource: 32 + type: 1814 + host_id: 128 + reserved: 0 + - + start_resource: 9728 + num_resource: 25 + type: 1815 + host_id: 128 + reserved: 0 + - + start_resource: 10240 + num_resource: 25 + type: 1816 + host_id: 128 + reserved: 0 + - + start_resource: 10752 + num_resource: 25 + type: 1817 + host_id: 128 + reserved: 0 + - + start_resource: 11264 + num_resource: 25 + type: 1818 + host_id: 128 + reserved: 0 + - + start_resource: 11776 + num_resource: 25 + type: 1819 + host_id: 128 + reserved: 0 + - + start_resource: 12288 + num_resource: 25 + type: 1820 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 1923 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 10 + type: 1936 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1936 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1936 + host_id: 36 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 1936 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 3 + type: 1936 + host_id: 128 + reserved: 0 + - + start_resource: 19 + num_resource: 64 + type: 1937 + host_id: 12 + reserved: 0 + - + start_resource: 19 + num_resource: 64 + type: 1937 + host_id: 36 + reserved: 0 + - + start_resource: 83 + num_resource: 8 + type: 1938 + host_id: 12 + reserved: 0 + - + start_resource: 91 + num_resource: 8 + type: 1939 + host_id: 12 + reserved: 0 + - + start_resource: 99 + num_resource: 10 + type: 1942 + host_id: 12 + reserved: 0 + - + start_resource: 109 + num_resource: 3 + type: 1942 + host_id: 35 + reserved: 0 + - + start_resource: 109 + num_resource: 3 + type: 1942 + host_id: 36 + reserved: 0 + - + start_resource: 112 + num_resource: 3 + type: 1942 + host_id: 30 + reserved: 0 + - + start_resource: 115 + num_resource: 3 + type: 1942 + host_id: 128 + reserved: 0 + - + start_resource: 118 + num_resource: 16 + type: 1943 + host_id: 12 + reserved: 0 + - + start_resource: 118 + num_resource: 16 + type: 1943 + host_id: 36 + reserved: 0 + - + start_resource: 134 + num_resource: 8 + type: 1944 + host_id: 12 + reserved: 0 + - + start_resource: 134 + num_resource: 8 + type: 1945 + host_id: 12 + reserved: 0 + - + start_resource: 142 + num_resource: 8 + type: 1946 + host_id: 12 + reserved: 0 + - + start_resource: 142 + num_resource: 8 + type: 1947 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 10 + type: 1955 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1955 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1955 + host_id: 36 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 1955 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 3 + type: 1955 + host_id: 128 + reserved: 0 + - + start_resource: 19 + num_resource: 8 + type: 1956 + host_id: 12 + reserved: 0 + - + start_resource: 19 + num_resource: 8 + type: 1956 + host_id: 36 + reserved: 0 + - + start_resource: 27 + num_resource: 1 + type: 1957 + host_id: 12 + reserved: 0 + - + start_resource: 28 + num_resource: 1 + type: 1958 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 10 + type: 1961 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1961 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1961 + host_id: 36 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 1961 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 3 + type: 1961 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 10 + type: 1962 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1962 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1962 + host_id: 36 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 1962 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 3 + type: 1962 + host_id: 128 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 1963 + host_id: 12 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 1963 + host_id: 36 + reserved: 0 + - + start_resource: 19 + num_resource: 16 + type: 1964 + host_id: 12 + reserved: 0 + - + start_resource: 19 + num_resource: 16 + type: 1964 + host_id: 36 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 1965 + host_id: 12 + reserved: 0 + - + start_resource: 35 + num_resource: 8 + type: 1966 + host_id: 12 + reserved: 0 + - + start_resource: 21 + num_resource: 1 + type: 1967 + host_id: 12 + reserved: 0 + - + start_resource: 35 + num_resource: 8 + type: 1968 + host_id: 12 + reserved: 0 + - + start_resource: 22 + num_resource: 1 + type: 1969 + host_id: 12 + reserved: 0 + - + start_resource: 43 + num_resource: 8 + type: 1970 + host_id: 12 + reserved: 0 + - + start_resource: 23 + num_resource: 1 + type: 1971 + host_id: 12 + reserved: 0 + - + start_resource: 43 + num_resource: 8 + type: 1972 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 2112 + host_id: 128 + reserved: 0 + - + start_resource: 2 + num_resource: 2 + type: 2122 + host_id: 12 + reserved: 0 + - + start_resource: 51200 + num_resource: 12 + type: 12738 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 12739 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 6 + type: 12750 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 6 + type: 12769 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 8 + type: 12810 + host_id: 12 + reserved: 0 + - + start_resource: 12288 + num_resource: 128 + type: 12813 + host_id: 12 + reserved: 0 + - + start_resource: 3072 + num_resource: 6 + type: 12826 + host_id: 128 + reserved: 0 + - + start_resource: 3584 + num_resource: 6 + type: 12827 + host_id: 128 + reserved: 0 + - + start_resource: 4096 + num_resource: 6 + type: 12828 + host_id: 128 + reserved: 0 diff --git a/board/ti/am62px/sec-cfg.yaml b/board/ti/am62px/sec-cfg.yaml new file mode 100644 index 00000000000..46be354972a --- /dev/null +++ b/board/ti/am62px/sec-cfg.yaml @@ -0,0 +1,378 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Security configuration for AM62Px +# +--- +sec-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + processor_acl_list: + subhdr: + magic: 0xF1EA + size: 164 + proc_acl_entries: + - # 1 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 2 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 3 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 4 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 5 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 6 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 7 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 8 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 9 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 10 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 11 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 12 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 13 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 14 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 15 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 16 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 17 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 18 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 19 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 20 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 21 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 22 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 23 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 24 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 25 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 26 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 27 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 28 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 29 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 30 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 31 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 32 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + host_hierarchy: + subhdr: + magic: 0x8D27 + size: 68 + host_hierarchy_entries: + - # 1 + host_id: 0 + supervisor_host_id: 0 + - # 2 + host_id: 0 + supervisor_host_id: 0 + - # 3 + host_id: 0 + supervisor_host_id: 0 + - # 4 + host_id: 0 + supervisor_host_id: 0 + - # 5 + host_id: 0 + supervisor_host_id: 0 + - # 6 + host_id: 0 + supervisor_host_id: 0 + - # 7 + host_id: 0 + supervisor_host_id: 0 + - # 8 + host_id: 0 + supervisor_host_id: 0 + - # 9 + host_id: 0 + supervisor_host_id: 0 + - # 10 + host_id: 0 + supervisor_host_id: 0 + - # 11 + host_id: 0 + supervisor_host_id: 0 + - # 12 + host_id: 0 + supervisor_host_id: 0 + - # 13 + host_id: 0 + supervisor_host_id: 0 + - # 14 + host_id: 0 + supervisor_host_id: 0 + - # 15 + host_id: 0 + supervisor_host_id: 0 + - # 16 + host_id: 0 + supervisor_host_id: 0 + - # 17 + host_id: 0 + supervisor_host_id: 0 + - # 18 + host_id: 0 + supervisor_host_id: 0 + - # 19 + host_id: 0 + supervisor_host_id: 0 + - # 20 + host_id: 0 + supervisor_host_id: 0 + - # 21 + host_id: 0 + supervisor_host_id: 0 + - # 22 + host_id: 0 + supervisor_host_id: 0 + - # 23 + host_id: 0 + supervisor_host_id: 0 + - # 24 + host_id: 0 + supervisor_host_id: 0 + - # 25 + host_id: 0 + supervisor_host_id: 0 + - # 26 + host_id: 0 + supervisor_host_id: 0 + - # 27 + host_id: 0 + supervisor_host_id: 0 + - # 28 + host_id: 0 + supervisor_host_id: 0 + - # 29 + host_id: 0 + supervisor_host_id: 0 + - # 30 + host_id: 0 + supervisor_host_id: 0 + - # 31 + host_id: 0 + supervisor_host_id: 0 + - # 32 + host_id: 0 + supervisor_host_id: 0 + otp_config: + subhdr: + magic: 0x4081 + size: 69 + write_host_id: 0 + otp_entry: + - # 1 + host_id: 0 + host_perms: 0 + - # 2 + host_id: 0 + host_perms: 0 + - # 3 + host_id: 0 + host_perms: 0 + - # 4 + host_id: 0 + host_perms: 0 + - # 5 + host_id: 0 + host_perms: 0 + - # 6 + host_id: 0 + host_perms: 0 + - # 7 + host_id: 0 + host_perms: 0 + - # 8 + host_id: 0 + host_perms: 0 + - # 9 + host_id: 0 + host_perms: 0 + - # 10 + host_id: 0 + host_perms: 0 + - # 11 + host_id: 0 + host_perms: 0 + - # 12 + host_id: 0 + host_perms: 0 + - # 13 + host_id: 0 + host_perms: 0 + - # 14 + host_id: 0 + host_perms: 0 + - # 15 + host_id: 0 + host_perms: 0 + - # 16 + host_id: 0 + host_perms: 0 + - # 17 + host_id: 0 + host_perms: 0 + - # 18 + host_id: 0 + host_perms: 0 + - # 19 + host_id: 0 + host_perms: 0 + - # 20 + host_id: 0 + host_perms: 0 + - # 21 + host_id: 0 + host_perms: 0 + - # 22 + host_id: 0 + host_perms: 0 + - # 23 + host_id: 0 + host_perms: 0 + - # 24 + host_id: 0 + host_perms: 0 + - # 25 + host_id: 0 + host_perms: 0 + - # 26 + host_id: 0 + host_perms: 0 + - # 27 + host_id: 0 + host_perms: 0 + - # 28 + host_id: 0 + host_perms: 0 + - # 29 + host_id: 0 + host_perms: 0 + - # 30 + host_id: 0 + host_perms: 0 + - # 31 + host_id: 0 + host_perms: 0 + - # 32 + host_id: 0 + host_perms: 0 + dkek_config: + subhdr: + magic: 0x5170 + size: 12 + allowed_hosts: [128, 0, 0, 0] + allow_dkek_export_tisci: 0x5A + rsvd: [0, 0, 0] + sa2ul_cfg: + subhdr: + magic: 0x23BE + size: 0 + auth_resource_owner: 0 + enable_saul_psil_global_config_writes: 0x5A + rsvd: [0, 0] + sec_dbg_config: + subhdr: + magic: 0x42AF + size: 16 + allow_jtag_unlock: 0x5A + allow_wildcard_unlock: 0x5A + allowed_debug_level_rsvd: 0 + rsvd: 0 + min_cert_rev: 0x0 + jtag_unlock_hosts: [0, 0, 0, 0] + sec_handover_cfg: + subhdr: + magic: 0x608F + size: 10 + handover_msg_sender: 0 + handover_to_host_id: 0 + rsvd: [0, 0, 0, 0] diff --git a/board/ti/am62px/tifs-rm-cfg.yaml b/board/ti/am62px/tifs-rm-cfg.yaml new file mode 100644 index 00000000000..a80a2750467 --- /dev/null +++ b/board/ti/am62px/tifs-rm-cfg.yaml @@ -0,0 +1,879 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ +# +# Resource management configuration for AM62P +# + +--- + +tifs-rm-cfg: + rm_boardcfg: + rev: + boardcfg_abi_maj : 0x0 + boardcfg_abi_min : 0x1 + host_cfg: + subhdr: + magic: 0x4C41 + size : 356 + host_cfg_entries: + - #1 + host_id: 12 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - #2 + host_id: 30 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - #3 + host_id: 36 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - #4 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #5 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #6 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #7 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #8 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #9 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #10 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #11 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #12 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #13 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #14 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #15 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #16 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #17 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #18 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #19 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #20 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #21 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #22 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #23 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #24 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #25 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #26 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #27 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #28 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #29 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #30 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #31 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - #32 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + resasg: + subhdr: + magic: 0x7B25 + size: 8 + resasg_entries_size: 840 + reserved: 0 + resasg_entries: + - + start_resource: 0 + num_resource: 18 + type: 1677 + host_id: 12 + reserved: 0 + - + start_resource: 18 + num_resource: 6 + type: 1677 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 6 + type: 1677 + host_id: 36 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 1677 + host_id: 30 + reserved: 0 + - + start_resource: 26 + num_resource: 6 + type: 1677 + host_id: 128 + reserved: 0 + - + start_resource: 57 + num_resource: 18 + type: 1678 + host_id: 12 + reserved: 0 + - + start_resource: 75 + num_resource: 5 + type: 1678 + host_id: 35 + reserved: 0 + - + start_resource: 75 + num_resource: 5 + type: 1678 + host_id: 36 + reserved: 0 + - + start_resource: 80 + num_resource: 2 + type: 1678 + host_id: 30 + reserved: 0 + - + start_resource: 32 + num_resource: 12 + type: 1679 + host_id: 12 + reserved: 0 + - + start_resource: 44 + num_resource: 6 + type: 1679 + host_id: 35 + reserved: 0 + - + start_resource: 44 + num_resource: 6 + type: 1679 + host_id: 36 + reserved: 0 + - + start_resource: 50 + num_resource: 2 + type: 1679 + host_id: 30 + reserved: 0 + - + start_resource: 52 + num_resource: 5 + type: 1679 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 18 + type: 1696 + host_id: 12 + reserved: 0 + - + start_resource: 18 + num_resource: 6 + type: 1696 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 6 + type: 1696 + host_id: 36 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 1696 + host_id: 30 + reserved: 0 + - + start_resource: 26 + num_resource: 6 + type: 1696 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 18 + type: 1697 + host_id: 12 + reserved: 0 + - + start_resource: 18 + num_resource: 5 + type: 1697 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 5 + type: 1697 + host_id: 36 + reserved: 0 + - + start_resource: 23 + num_resource: 2 + type: 1697 + host_id: 30 + reserved: 0 + - + start_resource: 0 + num_resource: 12 + type: 1698 + host_id: 12 + reserved: 0 + - + start_resource: 12 + num_resource: 6 + type: 1698 + host_id: 35 + reserved: 0 + - + start_resource: 12 + num_resource: 6 + type: 1698 + host_id: 36 + reserved: 0 + - + start_resource: 18 + num_resource: 2 + type: 1698 + host_id: 30 + reserved: 0 + - + start_resource: 20 + num_resource: 5 + type: 1698 + host_id: 128 + reserved: 0 + - + start_resource: 5 + num_resource: 35 + type: 1802 + host_id: 12 + reserved: 0 + - + start_resource: 44 + num_resource: 36 + type: 1802 + host_id: 35 + reserved: 0 + - + start_resource: 44 + num_resource: 36 + type: 1802 + host_id: 36 + reserved: 0 + - + start_resource: 168 + num_resource: 8 + type: 1802 + host_id: 30 + reserved: 0 + - + start_resource: 4096 + num_resource: 29 + type: 1807 + host_id: 128 + reserved: 0 + - + start_resource: 4608 + num_resource: 99 + type: 1808 + host_id: 128 + reserved: 0 + - + start_resource: 5120 + num_resource: 24 + type: 1809 + host_id: 128 + reserved: 0 + - + start_resource: 5632 + num_resource: 51 + type: 1810 + host_id: 128 + reserved: 0 + - + start_resource: 6144 + num_resource: 51 + type: 1811 + host_id: 128 + reserved: 0 + - + start_resource: 8192 + num_resource: 32 + type: 1812 + host_id: 128 + reserved: 0 + - + start_resource: 8704 + num_resource: 32 + type: 1813 + host_id: 128 + reserved: 0 + - + start_resource: 9216 + num_resource: 32 + type: 1814 + host_id: 128 + reserved: 0 + - + start_resource: 9728 + num_resource: 25 + type: 1815 + host_id: 128 + reserved: 0 + - + start_resource: 10240 + num_resource: 25 + type: 1816 + host_id: 128 + reserved: 0 + - + start_resource: 10752 + num_resource: 25 + type: 1817 + host_id: 128 + reserved: 0 + - + start_resource: 11264 + num_resource: 25 + type: 1818 + host_id: 128 + reserved: 0 + - + start_resource: 11776 + num_resource: 25 + type: 1819 + host_id: 128 + reserved: 0 + - + start_resource: 12288 + num_resource: 25 + type: 1820 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 10 + type: 1936 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1936 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1936 + host_id: 36 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 1936 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 3 + type: 1936 + host_id: 128 + reserved: 0 + - + start_resource: 19 + num_resource: 64 + type: 1937 + host_id: 12 + reserved: 0 + - + start_resource: 19 + num_resource: 64 + type: 1937 + host_id: 36 + reserved: 0 + - + start_resource: 83 + num_resource: 8 + type: 1938 + host_id: 12 + reserved: 0 + - + start_resource: 91 + num_resource: 8 + type: 1939 + host_id: 12 + reserved: 0 + - + start_resource: 99 + num_resource: 10 + type: 1942 + host_id: 12 + reserved: 0 + - + start_resource: 109 + num_resource: 3 + type: 1942 + host_id: 35 + reserved: 0 + - + start_resource: 109 + num_resource: 3 + type: 1942 + host_id: 36 + reserved: 0 + - + start_resource: 112 + num_resource: 3 + type: 1942 + host_id: 30 + reserved: 0 + - + start_resource: 115 + num_resource: 3 + type: 1942 + host_id: 128 + reserved: 0 + - + start_resource: 118 + num_resource: 16 + type: 1943 + host_id: 12 + reserved: 0 + - + start_resource: 118 + num_resource: 16 + type: 1943 + host_id: 36 + reserved: 0 + - + start_resource: 134 + num_resource: 8 + type: 1944 + host_id: 12 + reserved: 0 + - + start_resource: 134 + num_resource: 8 + type: 1945 + host_id: 12 + reserved: 0 + - + start_resource: 142 + num_resource: 8 + type: 1946 + host_id: 12 + reserved: 0 + - + start_resource: 142 + num_resource: 8 + type: 1947 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 10 + type: 1955 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1955 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1955 + host_id: 36 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 1955 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 3 + type: 1955 + host_id: 128 + reserved: 0 + - + start_resource: 19 + num_resource: 8 + type: 1956 + host_id: 12 + reserved: 0 + - + start_resource: 19 + num_resource: 8 + type: 1956 + host_id: 36 + reserved: 0 + - + start_resource: 27 + num_resource: 1 + type: 1957 + host_id: 12 + reserved: 0 + - + start_resource: 28 + num_resource: 1 + type: 1958 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 10 + type: 1961 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1961 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1961 + host_id: 36 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 1961 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 3 + type: 1961 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 10 + type: 1962 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1962 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 3 + type: 1962 + host_id: 36 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 1962 + host_id: 30 + reserved: 0 + - + start_resource: 16 + num_resource: 3 + type: 1962 + host_id: 128 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 1963 + host_id: 12 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 1963 + host_id: 36 + reserved: 0 + - + start_resource: 19 + num_resource: 16 + type: 1964 + host_id: 12 + reserved: 0 + - + start_resource: 19 + num_resource: 16 + type: 1964 + host_id: 36 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 1965 + host_id: 12 + reserved: 0 + - + start_resource: 35 + num_resource: 8 + type: 1966 + host_id: 12 + reserved: 0 + - + start_resource: 21 + num_resource: 1 + type: 1967 + host_id: 12 + reserved: 0 + - + start_resource: 35 + num_resource: 8 + type: 1968 + host_id: 12 + reserved: 0 + - + start_resource: 22 + num_resource: 1 + type: 1969 + host_id: 12 + reserved: 0 + - + start_resource: 43 + num_resource: 8 + type: 1970 + host_id: 12 + reserved: 0 + - + start_resource: 23 + num_resource: 1 + type: 1971 + host_id: 12 + reserved: 0 + - + start_resource: 43 + num_resource: 8 + type: 1972 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 2112 + host_id: 128 + reserved: 0 + - + start_resource: 2 + num_resource: 2 + type: 2122 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 6 + type: 12750 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 6 + type: 12769 + host_id: 12 + reserved: 0 + - + start_resource: 0 + num_resource: 8 + type: 12810 + host_id: 12 + reserved: 0 + - + start_resource: 3072 + num_resource: 6 + type: 12826 + host_id: 128 + reserved: 0 + - + start_resource: 3584 + num_resource: 6 + type: 12827 + host_id: 128 + reserved: 0 + - + start_resource: 4096 + num_resource: 6 + type: 12828 + host_id: 128 + reserved: 0 diff --git a/board/ti/am62x/rm-cfg.yaml b/board/ti/am62x/rm-cfg.yaml index 725f7c83f0d..26d99b03b80 100644 --- a/board/ti/am62x/rm-cfg.yaml +++ b/board/ti/am62x/rm-cfg.yaml @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0+ -# Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ +# Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/ # # Resource management configuration for AM62X # @@ -513,13 +513,13 @@ rm-cfg: reserved: 0 - start_resource: 44 - num_resource: 36 + num_resource: 35 type: 1802 host_id: 35 reserved: 0 - start_resource: 44 - num_resource: 36 + num_resource: 35 type: 1802 host_id: 36 reserved: 0 @@ -555,7 +555,7 @@ rm-cfg: reserved: 0 - start_resource: 909 - num_resource: 627 + num_resource: 626 type: 1805 host_id: 128 reserved: 0 diff --git a/board/ti/j784s4/Kconfig b/board/ti/j784s4/Kconfig new file mode 100644 index 00000000000..490c7be66b3 --- /dev/null +++ b/board/ti/j784s4/Kconfig @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ +# Hari Nagalla <hnagalla@ti.com> + +if TARGET_J784S4_A72_EVM + +config SYS_BOARD + default "j784s4" + +config SYS_VENDOR + default "ti" + +config SYS_CONFIG_NAME + default "j784s4_evm" + +source "board/ti/common/Kconfig" + +endif + +if TARGET_J784S4_R5_EVM + +config SYS_BOARD + default "j784s4" + +config SYS_VENDOR + default "ti" + +config SYS_CONFIG_NAME + default "j784s4_evm" + +config SPL_LDSCRIPT + default "arch/arm/mach-omap2/u-boot-spl.lds" + +source "board/ti/common/Kconfig" + +endif diff --git a/board/ti/j784s4/MAINTAINERS b/board/ti/j784s4/MAINTAINERS new file mode 100644 index 00000000000..b7605ff335b --- /dev/null +++ b/board/ti/j784s4/MAINTAINERS @@ -0,0 +1,21 @@ +J784S4 EVM BOARD +M: Apurva Nandan <a-nandan@ti.com> +S: Maintained +F: board/ti/j784s4 +F: arch/arm/mach-k3/j784s4 +F: include/configs/j784s4_evm.h +F: configs/j784s4_evm_r5_defconfig +F: configs/j784s4_evm_a72_defconfig +F: arch/arm/dts/k3-j784s4-evm-u-boot.dtsi +F: arch/arm/dts/k3-j784s4-r5-evm.dts +F: arch/arm/dts/k3-j784s4-ddr.dtsi +F: arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi +F: doc/board/ti/j784s4_evm.rst + +AM69 SK BOARD +M: Apurva Nandan <a-nandan@ti.com> +S: Maintained +F: arch/arm/dts/k3-am69-sk-u-boot.dtsi +F: arch/arm/dts/k3-am69-r5-sk.dts +F: configs/am69_sk_r5_defconfig +F: configs/am69_sk_a72_defconfig diff --git a/board/ti/j784s4/Makefile b/board/ti/j784s4/Makefile new file mode 100644 index 00000000000..60161a8b5c6 --- /dev/null +++ b/board/ti/j784s4/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ +# Hari Nagalla <hnagalla@ti.com> +# + +obj-y += evm.o diff --git a/board/ti/j784s4/board-cfg.yaml b/board/ti/j784s4/board-cfg.yaml new file mode 100644 index 00000000000..38958767f4c --- /dev/null +++ b/board/ti/j784s4/board-cfg.yaml @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ +# +# Board configuration for J784S4 +# + +--- + +board-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + control: + subhdr: + magic: 0xC1D3 + size: 7 + main_isolation_enable: 0x5A + main_isolation_hostid: 0x2 + secproxy: + subhdr: + magic: 0x1207 + size: 7 + scaling_factor: 0x1 + scaling_profile: 0x1 + disable_main_nav_secure_proxy: 0 + msmc: + subhdr: + magic: 0xA5C3 + size: 5 + msmc_cache_size: 0x8 + debug_cfg: + subhdr: + magic: 0x020C + size: 8 + trace_dst_enables: 0x00 + trace_src_enables: 0x00 diff --git a/board/ti/j784s4/evm.c b/board/ti/j784s4/evm.c new file mode 100644 index 00000000000..aed0ea5b949 --- /dev/null +++ b/board/ti/j784s4/evm.c @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Board specific initialization for J784S4 EVM + * + * Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ + * Hari Nagalla <hnagalla@ti.com> + * + */ + +#include <init.h> +#include <spl.h> +#include "../common/fdt_ops.h" + +DECLARE_GLOBAL_DATA_PTR; + +int board_init(void) +{ + return 0; +} + +int dram_init(void) +{ + return fdtdec_setup_mem_size_base(); +} + +int dram_init_banksize(void) +{ + return fdtdec_setup_memory_banksize(); +} + +#ifdef CONFIG_BOARD_LATE_INIT +int board_late_init(void) +{ + ti_set_fdt_env(NULL, NULL); + return 0; +} +#endif + +void spl_board_init(void) +{ +} diff --git a/board/ti/j784s4/j784s4.env b/board/ti/j784s4/j784s4.env new file mode 100644 index 00000000000..7e54ca042ef --- /dev/null +++ b/board/ti/j784s4/j784s4.env @@ -0,0 +1,17 @@ +#include <env/ti/ti_common.env> +#include <env/ti/mmc.env> +#include <env/ti/ufs.env> +#include <env/ti/k3_dfu.env> + +name_kern=Image +console=ttyS2,115200n8 +args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02880000 + ${mtdparts} +run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr} + +boot_targets=mmc1 mmc0 usb pxe dhcp +boot=mmc +mmcdev=1 +bootpart=1:2 +bootdir=/boot +rd_spec=- diff --git a/board/ti/j784s4/pm-cfg.yaml b/board/ti/j784s4/pm-cfg.yaml new file mode 100644 index 00000000000..a36b8609899 --- /dev/null +++ b/board/ti/j784s4/pm-cfg.yaml @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ +# +# Power management configuration for J784S4 +# + +--- + +pm-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 diff --git a/board/ti/j784s4/rm-cfg.yaml b/board/ti/j784s4/rm-cfg.yaml new file mode 100644 index 00000000000..a448bd2e1e0 --- /dev/null +++ b/board/ti/j784s4/rm-cfg.yaml @@ -0,0 +1,3058 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ +# +# Resource management configuration for J784S4 +# + +--- + +rm-cfg: + rm_boardcfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + host_cfg: + subhdr: + magic: 0x4C41 + size: 356 + host_cfg_entries: + - # 1 + host_id: 3 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 2 + host_id: 5 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 3 + host_id: 12 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 4 + host_id: 13 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 5 + host_id: 21 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 6 + host_id: 23 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 7 + host_id: 25 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 8 + host_id: 27 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 9 + host_id: 35 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 10 + host_id: 37 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 11 + host_id: 40 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 12 + host_id: 42 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 13 + host_id: 45 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 14 + host_id: 47 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 15 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 16 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 17 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 18 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 19 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 20 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 21 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 22 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 23 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 24 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 25 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 26 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 27 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 28 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 29 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 30 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 31 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 32 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + resasg: + subhdr: + magic: 0x7B25 + size: 8 + resasg_entries_size: 3744 + reserved: 0 + resasg_entries: + - + start_resource: 0 + num_resource: 4 + type: 640 + host_id: 35 + reserved: 0 + - + start_resource: 4 + num_resource: 4 + type: 640 + host_id: 37 + reserved: 0 + - + start_resource: 8 + num_resource: 4 + type: 640 + host_id: 40 + reserved: 0 + - + start_resource: 12 + num_resource: 4 + type: 640 + host_id: 42 + reserved: 0 + - + start_resource: 16 + num_resource: 4 + type: 640 + host_id: 45 + reserved: 0 + - + start_resource: 20 + num_resource: 4 + type: 640 + host_id: 47 + reserved: 0 + - + start_resource: 24 + num_resource: 4 + type: 640 + host_id: 3 + reserved: 0 + - + start_resource: 28 + num_resource: 4 + type: 640 + host_id: 5 + reserved: 0 + - + start_resource: 32 + num_resource: 12 + type: 640 + host_id: 12 + reserved: 0 + - + start_resource: 44 + num_resource: 12 + type: 640 + host_id: 13 + reserved: 0 + - + start_resource: 0 + num_resource: 16 + type: 704 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 32 + type: 11072 + host_id: 3 + reserved: 0 + - + start_resource: 32 + num_resource: 24 + type: 11072 + host_id: 5 + reserved: 0 + - + start_resource: 56 + num_resource: 8 + type: 11072 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 24 + type: 11136 + host_id: 3 + reserved: 0 + - + start_resource: 24 + num_resource: 16 + type: 11136 + host_id: 5 + reserved: 0 + - + start_resource: 40 + num_resource: 8 + type: 11136 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 48 + type: 11264 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 8 + type: 11328 + host_id: 3 + reserved: 0 + - + start_resource: 8 + num_resource: 8 + type: 11328 + host_id: 5 + reserved: 0 + - + start_resource: 16 + num_resource: 6 + type: 11328 + host_id: 12 + reserved: 0 + - + start_resource: 22 + num_resource: 6 + type: 11328 + host_id: 13 + reserved: 0 + - + start_resource: 28 + num_resource: 2 + type: 11328 + host_id: 35 + reserved: 0 + - + start_resource: 30 + num_resource: 2 + type: 11328 + host_id: 37 + reserved: 0 + - + start_resource: 50176 + num_resource: 96 + type: 17986 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 17987 + host_id: 128 + reserved: 0 + - + start_resource: 16 + num_resource: 16 + type: 17998 + host_id: 12 + reserved: 0 + - + start_resource: 32 + num_resource: 16 + type: 17998 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 8 + type: 17999 + host_id: 12 + reserved: 0 + - + start_resource: 8 + num_resource: 8 + type: 17999 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 16 + type: 18017 + host_id: 12 + reserved: 0 + - + start_resource: 16 + num_resource: 16 + type: 18017 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 8 + type: 18018 + host_id: 12 + reserved: 0 + - + start_resource: 8 + num_resource: 8 + type: 18018 + host_id: 35 + reserved: 0 + - + start_resource: 16 + num_resource: 80 + type: 18112 + host_id: 12 + reserved: 0 + - + start_resource: 96 + num_resource: 14 + type: 18112 + host_id: 13 + reserved: 0 + - + start_resource: 110 + num_resource: 21 + type: 18112 + host_id: 21 + reserved: 0 + - + start_resource: 131 + num_resource: 21 + type: 18112 + host_id: 23 + reserved: 0 + - + start_resource: 152 + num_resource: 12 + type: 18112 + host_id: 25 + reserved: 0 + - + start_resource: 164 + num_resource: 12 + type: 18112 + host_id: 27 + reserved: 0 + - + start_resource: 196 + num_resource: 28 + type: 18112 + host_id: 35 + reserved: 0 + - + start_resource: 228 + num_resource: 28 + type: 18112 + host_id: 37 + reserved: 0 + - + start_resource: 260 + num_resource: 28 + type: 18112 + host_id: 40 + reserved: 0 + - + start_resource: 292 + num_resource: 28 + type: 18112 + host_id: 42 + reserved: 0 + - + start_resource: 324 + num_resource: 28 + type: 18112 + host_id: 45 + reserved: 0 + - + start_resource: 356 + num_resource: 28 + type: 18112 + host_id: 47 + reserved: 0 + - + start_resource: 400 + num_resource: 4 + type: 18112 + host_id: 3 + reserved: 0 + - + start_resource: 404 + num_resource: 4 + type: 18112 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 64 + type: 19850 + host_id: 128 + reserved: 0 + - + start_resource: 20480 + num_resource: 1024 + type: 19853 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 64 + type: 19914 + host_id: 128 + reserved: 0 + - + start_resource: 22528 + num_resource: 1024 + type: 19917 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 4 + type: 19968 + host_id: 12 + reserved: 0 + - + start_resource: 4 + num_resource: 4 + type: 19968 + host_id: 13 + reserved: 0 + - + start_resource: 8 + num_resource: 4 + type: 19968 + host_id: 21 + reserved: 0 + - + start_resource: 12 + num_resource: 4 + type: 19968 + host_id: 23 + reserved: 0 + - + start_resource: 16 + num_resource: 4 + type: 19968 + host_id: 25 + reserved: 0 + - + start_resource: 20 + num_resource: 4 + type: 19968 + host_id: 27 + reserved: 0 + - + start_resource: 24 + num_resource: 12 + type: 19968 + host_id: 35 + reserved: 0 + - + start_resource: 36 + num_resource: 4 + type: 19968 + host_id: 37 + reserved: 0 + - + start_resource: 40 + num_resource: 4 + type: 19968 + host_id: 40 + reserved: 0 + - + start_resource: 44 + num_resource: 4 + type: 19968 + host_id: 42 + reserved: 0 + - + start_resource: 48 + num_resource: 4 + type: 19968 + host_id: 45 + reserved: 0 + - + start_resource: 52 + num_resource: 4 + type: 19968 + host_id: 47 + reserved: 0 + - + start_resource: 56 + num_resource: 4 + type: 19968 + host_id: 3 + reserved: 0 + - + start_resource: 60 + num_resource: 4 + type: 19968 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20160 + host_id: 128 + reserved: 0 + - + start_resource: 423 + num_resource: 10 + type: 20161 + host_id: 21 + reserved: 0 + - + start_resource: 433 + num_resource: 20 + type: 20161 + host_id: 23 + reserved: 0 + - + start_resource: 453 + num_resource: 16 + type: 20161 + host_id: 25 + reserved: 0 + - + start_resource: 469 + num_resource: 13 + type: 20161 + host_id: 27 + reserved: 0 + - + start_resource: 482 + num_resource: 128 + type: 20161 + host_id: 35 + reserved: 0 + - + start_resource: 610 + num_resource: 46 + type: 20161 + host_id: 37 + reserved: 0 + - + start_resource: 656 + num_resource: 10 + type: 20161 + host_id: 40 + reserved: 0 + - + start_resource: 666 + num_resource: 20 + type: 20161 + host_id: 42 + reserved: 0 + - + start_resource: 686 + num_resource: 64 + type: 20161 + host_id: 45 + reserved: 0 + - + start_resource: 750 + num_resource: 10 + type: 20161 + host_id: 47 + reserved: 0 + - + start_resource: 760 + num_resource: 4 + type: 20161 + host_id: 3 + reserved: 0 + - + start_resource: 764 + num_resource: 4 + type: 20161 + host_id: 5 + reserved: 0 + - + start_resource: 878 + num_resource: 128 + type: 20161 + host_id: 12 + reserved: 0 + - + start_resource: 1006 + num_resource: 10 + type: 20161 + host_id: 13 + reserved: 0 + - + start_resource: 345 + num_resource: 6 + type: 20162 + host_id: 12 + reserved: 0 + - + start_resource: 351 + num_resource: 0 + type: 20162 + host_id: 13 + reserved: 0 + - + start_resource: 351 + num_resource: 1 + type: 20162 + host_id: 21 + reserved: 0 + - + start_resource: 352 + num_resource: 1 + type: 20162 + host_id: 23 + reserved: 0 + - + start_resource: 353 + num_resource: 1 + type: 20162 + host_id: 25 + reserved: 0 + - + start_resource: 354 + num_resource: 1 + type: 20162 + host_id: 27 + reserved: 0 + - + start_resource: 355 + num_resource: 4 + type: 20162 + host_id: 35 + reserved: 0 + - + start_resource: 359 + num_resource: 1 + type: 20162 + host_id: 37 + reserved: 0 + - + start_resource: 360 + num_resource: 1 + type: 20162 + host_id: 40 + reserved: 0 + - + start_resource: 361 + num_resource: 1 + type: 20162 + host_id: 42 + reserved: 0 + - + start_resource: 362 + num_resource: 3 + type: 20162 + host_id: 45 + reserved: 0 + - + start_resource: 365 + num_resource: 1 + type: 20162 + host_id: 47 + reserved: 0 + - + start_resource: 366 + num_resource: 1 + type: 20162 + host_id: 3 + reserved: 0 + - + start_resource: 367 + num_resource: 1 + type: 20162 + host_id: 5 + reserved: 0 + - + start_resource: 368 + num_resource: 25 + type: 20162 + host_id: 12 + reserved: 0 + - + start_resource: 393 + num_resource: 1 + type: 20162 + host_id: 13 + reserved: 0 + - + start_resource: 394 + num_resource: 2 + type: 20162 + host_id: 21 + reserved: 0 + - + start_resource: 396 + num_resource: 2 + type: 20162 + host_id: 23 + reserved: 0 + - + start_resource: 398 + num_resource: 2 + type: 20162 + host_id: 25 + reserved: 0 + - + start_resource: 400 + num_resource: 2 + type: 20162 + host_id: 27 + reserved: 0 + - + start_resource: 402 + num_resource: 12 + type: 20162 + host_id: 35 + reserved: 0 + - + start_resource: 414 + num_resource: 1 + type: 20162 + host_id: 37 + reserved: 0 + - + start_resource: 415 + num_resource: 2 + type: 20162 + host_id: 40 + reserved: 0 + - + start_resource: 417 + num_resource: 2 + type: 20162 + host_id: 42 + reserved: 0 + - + start_resource: 419 + num_resource: 2 + type: 20162 + host_id: 45 + reserved: 0 + - + start_resource: 421 + num_resource: 2 + type: 20162 + host_id: 47 + reserved: 0 + - + start_resource: 4 + num_resource: 6 + type: 20163 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 0 + type: 20163 + host_id: 13 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 20163 + host_id: 21 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20163 + host_id: 23 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20163 + host_id: 25 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 20163 + host_id: 27 + reserved: 0 + - + start_resource: 14 + num_resource: 4 + type: 20163 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 1 + type: 20163 + host_id: 37 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 20163 + host_id: 40 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 20163 + host_id: 42 + reserved: 0 + - + start_resource: 21 + num_resource: 3 + type: 20163 + host_id: 45 + reserved: 0 + - + start_resource: 24 + num_resource: 1 + type: 20163 + host_id: 47 + reserved: 0 + - + start_resource: 25 + num_resource: 1 + type: 20163 + host_id: 3 + reserved: 0 + - + start_resource: 26 + num_resource: 1 + type: 20163 + host_id: 5 + reserved: 0 + - + start_resource: 27 + num_resource: 25 + type: 20163 + host_id: 12 + reserved: 0 + - + start_resource: 52 + num_resource: 1 + type: 20163 + host_id: 13 + reserved: 0 + - + start_resource: 53 + num_resource: 2 + type: 20163 + host_id: 21 + reserved: 0 + - + start_resource: 55 + num_resource: 2 + type: 20163 + host_id: 23 + reserved: 0 + - + start_resource: 57 + num_resource: 2 + type: 20163 + host_id: 25 + reserved: 0 + - + start_resource: 59 + num_resource: 2 + type: 20163 + host_id: 27 + reserved: 0 + - + start_resource: 61 + num_resource: 12 + type: 20163 + host_id: 35 + reserved: 0 + - + start_resource: 73 + num_resource: 4 + type: 20163 + host_id: 37 + reserved: 0 + - + start_resource: 77 + num_resource: 2 + type: 20163 + host_id: 40 + reserved: 0 + - + start_resource: 79 + num_resource: 2 + type: 20163 + host_id: 42 + reserved: 0 + - + start_resource: 81 + num_resource: 2 + type: 20163 + host_id: 45 + reserved: 0 + - + start_resource: 83 + num_resource: 2 + type: 20163 + host_id: 47 + reserved: 0 + - + start_resource: 85 + num_resource: 8 + type: 20164 + host_id: 21 + reserved: 0 + - + start_resource: 93 + num_resource: 8 + type: 20164 + host_id: 23 + reserved: 0 + - + start_resource: 101 + num_resource: 6 + type: 20164 + host_id: 25 + reserved: 0 + - + start_resource: 107 + num_resource: 4 + type: 20164 + host_id: 27 + reserved: 0 + - + start_resource: 111 + num_resource: 2 + type: 20164 + host_id: 35 + reserved: 0 + - + start_resource: 113 + num_resource: 2 + type: 20164 + host_id: 37 + reserved: 0 + - + start_resource: 115 + num_resource: 0 + type: 20164 + host_id: 45 + reserved: 0 + - + start_resource: 115 + num_resource: 2 + type: 20164 + host_id: 128 + reserved: 0 + - + start_resource: 117 + num_resource: 96 + type: 20164 + host_id: 35 + reserved: 0 + - + start_resource: 213 + num_resource: 96 + type: 20164 + host_id: 45 + reserved: 0 + - + start_resource: 309 + num_resource: 32 + type: 20164 + host_id: 37 + reserved: 0 + - + start_resource: 343 + num_resource: 1 + type: 20165 + host_id: 12 + reserved: 0 + - + start_resource: 344 + num_resource: 1 + type: 20165 + host_id: 35 + reserved: 0 + - + start_resource: 341 + num_resource: 1 + type: 20166 + host_id: 12 + reserved: 0 + - + start_resource: 342 + num_resource: 1 + type: 20166 + host_id: 35 + reserved: 0 + - + start_resource: 2 + num_resource: 1 + type: 20167 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 1 + type: 20167 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20168 + host_id: 12 + reserved: 0 + - + start_resource: 1 + num_resource: 1 + type: 20168 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 5 + type: 20170 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 20170 + host_id: 13 + reserved: 0 + - + start_resource: 0 + num_resource: 3 + type: 20171 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 2 + type: 20171 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 3 + type: 20171 + host_id: 21 + reserved: 0 + - + start_resource: 8 + num_resource: 3 + type: 20171 + host_id: 23 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20171 + host_id: 25 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20171 + host_id: 27 + reserved: 0 + - + start_resource: 13 + num_resource: 6 + type: 20171 + host_id: 35 + reserved: 0 + - + start_resource: 19 + num_resource: 3 + type: 20171 + host_id: 37 + reserved: 0 + - + start_resource: 22 + num_resource: 3 + type: 20171 + host_id: 40 + reserved: 0 + - + start_resource: 25 + num_resource: 3 + type: 20171 + host_id: 42 + reserved: 0 + - + start_resource: 28 + num_resource: 1 + type: 20171 + host_id: 45 + reserved: 0 + - + start_resource: 29 + num_resource: 1 + type: 20171 + host_id: 47 + reserved: 0 + - + start_resource: 30 + num_resource: 1 + type: 20171 + host_id: 3 + reserved: 0 + - + start_resource: 31 + num_resource: 1 + type: 20171 + host_id: 5 + reserved: 0 + - + start_resource: 82 + num_resource: 16 + type: 20416 + host_id: 12 + reserved: 0 + - + start_resource: 98 + num_resource: 16 + type: 20416 + host_id: 13 + reserved: 0 + - + start_resource: 114 + num_resource: 110 + type: 20416 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20417 + host_id: 128 + reserved: 0 + - + start_resource: 49152 + num_resource: 1024 + type: 20418 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20419 + host_id: 128 + reserved: 0 + - + start_resource: 4 + num_resource: 6 + type: 20426 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 0 + type: 20426 + host_id: 13 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 20426 + host_id: 21 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20426 + host_id: 23 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20426 + host_id: 25 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 20426 + host_id: 27 + reserved: 0 + - + start_resource: 14 + num_resource: 4 + type: 20426 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 1 + type: 20426 + host_id: 37 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 20426 + host_id: 40 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 20426 + host_id: 42 + reserved: 0 + - + start_resource: 21 + num_resource: 3 + type: 20426 + host_id: 45 + reserved: 0 + - + start_resource: 24 + num_resource: 1 + type: 20426 + host_id: 47 + reserved: 0 + - + start_resource: 25 + num_resource: 1 + type: 20426 + host_id: 3 + reserved: 0 + - + start_resource: 26 + num_resource: 1 + type: 20426 + host_id: 5 + reserved: 0 + - + start_resource: 27 + num_resource: 25 + type: 20426 + host_id: 12 + reserved: 0 + - + start_resource: 52 + num_resource: 1 + type: 20426 + host_id: 13 + reserved: 0 + - + start_resource: 53 + num_resource: 2 + type: 20426 + host_id: 21 + reserved: 0 + - + start_resource: 55 + num_resource: 2 + type: 20426 + host_id: 23 + reserved: 0 + - + start_resource: 57 + num_resource: 2 + type: 20426 + host_id: 25 + reserved: 0 + - + start_resource: 59 + num_resource: 2 + type: 20426 + host_id: 27 + reserved: 0 + - + start_resource: 61 + num_resource: 12 + type: 20426 + host_id: 35 + reserved: 0 + - + start_resource: 73 + num_resource: 1 + type: 20426 + host_id: 37 + reserved: 0 + - + start_resource: 74 + num_resource: 2 + type: 20426 + host_id: 40 + reserved: 0 + - + start_resource: 76 + num_resource: 2 + type: 20426 + host_id: 42 + reserved: 0 + - + start_resource: 78 + num_resource: 2 + type: 20426 + host_id: 45 + reserved: 0 + - + start_resource: 80 + num_resource: 2 + type: 20426 + host_id: 47 + reserved: 0 + - + start_resource: 2 + num_resource: 1 + type: 20427 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 1 + type: 20427 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20428 + host_id: 12 + reserved: 0 + - + start_resource: 1 + num_resource: 1 + type: 20428 + host_id: 35 + reserved: 0 + - + start_resource: 4 + num_resource: 6 + type: 20429 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 0 + type: 20429 + host_id: 13 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 20429 + host_id: 21 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20429 + host_id: 23 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20429 + host_id: 25 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 20429 + host_id: 27 + reserved: 0 + - + start_resource: 14 + num_resource: 4 + type: 20429 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 1 + type: 20429 + host_id: 37 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 20429 + host_id: 40 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 20429 + host_id: 42 + reserved: 0 + - + start_resource: 21 + num_resource: 3 + type: 20429 + host_id: 45 + reserved: 0 + - + start_resource: 24 + num_resource: 1 + type: 20429 + host_id: 47 + reserved: 0 + - + start_resource: 25 + num_resource: 1 + type: 20429 + host_id: 3 + reserved: 0 + - + start_resource: 26 + num_resource: 1 + type: 20429 + host_id: 5 + reserved: 0 + - + start_resource: 27 + num_resource: 25 + type: 20429 + host_id: 12 + reserved: 0 + - + start_resource: 52 + num_resource: 1 + type: 20429 + host_id: 13 + reserved: 0 + - + start_resource: 53 + num_resource: 2 + type: 20429 + host_id: 21 + reserved: 0 + - + start_resource: 55 + num_resource: 2 + type: 20429 + host_id: 23 + reserved: 0 + - + start_resource: 57 + num_resource: 2 + type: 20429 + host_id: 25 + reserved: 0 + - + start_resource: 59 + num_resource: 2 + type: 20429 + host_id: 27 + reserved: 0 + - + start_resource: 61 + num_resource: 12 + type: 20429 + host_id: 35 + reserved: 0 + - + start_resource: 73 + num_resource: 4 + type: 20429 + host_id: 37 + reserved: 0 + - + start_resource: 77 + num_resource: 2 + type: 20429 + host_id: 40 + reserved: 0 + - + start_resource: 79 + num_resource: 2 + type: 20429 + host_id: 42 + reserved: 0 + - + start_resource: 81 + num_resource: 2 + type: 20429 + host_id: 45 + reserved: 0 + - + start_resource: 83 + num_resource: 2 + type: 20429 + host_id: 47 + reserved: 0 + - + start_resource: 85 + num_resource: 8 + type: 20430 + host_id: 21 + reserved: 0 + - + start_resource: 93 + num_resource: 8 + type: 20430 + host_id: 23 + reserved: 0 + - + start_resource: 101 + num_resource: 6 + type: 20430 + host_id: 25 + reserved: 0 + - + start_resource: 107 + num_resource: 4 + type: 20430 + host_id: 27 + reserved: 0 + - + start_resource: 111 + num_resource: 2 + type: 20430 + host_id: 35 + reserved: 0 + - + start_resource: 113 + num_resource: 2 + type: 20430 + host_id: 37 + reserved: 0 + - + start_resource: 115 + num_resource: 0 + type: 20430 + host_id: 45 + reserved: 0 + - + start_resource: 115 + num_resource: 2 + type: 20430 + host_id: 128 + reserved: 0 + - + start_resource: 117 + num_resource: 96 + type: 20430 + host_id: 35 + reserved: 0 + - + start_resource: 213 + num_resource: 96 + type: 20430 + host_id: 45 + reserved: 0 + - + start_resource: 309 + num_resource: 32 + type: 20430 + host_id: 37 + reserved: 0 + - + start_resource: 2 + num_resource: 1 + type: 20431 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 1 + type: 20431 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20432 + host_id: 12 + reserved: 0 + - + start_resource: 1 + num_resource: 1 + type: 20432 + host_id: 35 + reserved: 0 + - + start_resource: 56 + num_resource: 56 + type: 20554 + host_id: 12 + reserved: 0 + - + start_resource: 112 + num_resource: 24 + type: 20554 + host_id: 13 + reserved: 0 + - + start_resource: 136 + num_resource: 12 + type: 20554 + host_id: 21 + reserved: 0 + - + start_resource: 148 + num_resource: 12 + type: 20554 + host_id: 23 + reserved: 0 + - + start_resource: 160 + num_resource: 10 + type: 20554 + host_id: 25 + reserved: 0 + - + start_resource: 170 + num_resource: 10 + type: 20554 + host_id: 27 + reserved: 0 + - + start_resource: 180 + num_resource: 28 + type: 20554 + host_id: 35 + reserved: 0 + - + start_resource: 208 + num_resource: 8 + type: 20554 + host_id: 37 + reserved: 0 + - + start_resource: 216 + num_resource: 12 + type: 20554 + host_id: 40 + reserved: 0 + - + start_resource: 228 + num_resource: 8 + type: 20554 + host_id: 42 + reserved: 0 + - + start_resource: 236 + num_resource: 10 + type: 20554 + host_id: 45 + reserved: 0 + - + start_resource: 246 + num_resource: 10 + type: 20554 + host_id: 47 + reserved: 0 + - + start_resource: 56 + num_resource: 1024 + type: 20557 + host_id: 12 + reserved: 0 + - + start_resource: 1080 + num_resource: 512 + type: 20557 + host_id: 13 + reserved: 0 + - + start_resource: 1592 + num_resource: 256 + type: 20557 + host_id: 21 + reserved: 0 + - + start_resource: 1848 + num_resource: 256 + type: 20557 + host_id: 23 + reserved: 0 + - + start_resource: 2104 + num_resource: 256 + type: 20557 + host_id: 25 + reserved: 0 + - + start_resource: 2360 + num_resource: 256 + type: 20557 + host_id: 27 + reserved: 0 + - + start_resource: 2616 + num_resource: 512 + type: 20557 + host_id: 35 + reserved: 0 + - + start_resource: 3128 + num_resource: 256 + type: 20557 + host_id: 37 + reserved: 0 + - + start_resource: 3384 + num_resource: 256 + type: 20557 + host_id: 40 + reserved: 0 + - + start_resource: 3640 + num_resource: 256 + type: 20557 + host_id: 42 + reserved: 0 + - + start_resource: 3896 + num_resource: 256 + type: 20557 + host_id: 45 + reserved: 0 + - + start_resource: 4152 + num_resource: 256 + type: 20557 + host_id: 47 + reserved: 0 + - + start_resource: 4408 + num_resource: 32 + type: 20557 + host_id: 3 + reserved: 0 + - + start_resource: 4440 + num_resource: 32 + type: 20557 + host_id: 5 + reserved: 0 + - + start_resource: 4472 + num_resource: 136 + type: 20557 + host_id: 128 + reserved: 0 + - + start_resource: 1536 + num_resource: 16 + type: 20559 + host_id: 128 + reserved: 0 + - + start_resource: 2048 + num_resource: 16 + type: 20560 + host_id: 128 + reserved: 0 + - + start_resource: 2560 + num_resource: 16 + type: 20561 + host_id: 128 + reserved: 0 + - + start_resource: 3072 + num_resource: 32 + type: 20562 + host_id: 128 + reserved: 0 + - + start_resource: 3584 + num_resource: 32 + type: 20563 + host_id: 128 + reserved: 0 + - + start_resource: 4096 + num_resource: 32 + type: 20564 + host_id: 128 + reserved: 0 + - + start_resource: 12 + num_resource: 12 + type: 20736 + host_id: 3 + reserved: 0 + - + start_resource: 36 + num_resource: 20 + type: 20736 + host_id: 5 + reserved: 0 + - + start_resource: 1 + num_resource: 2 + type: 20928 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 4 + type: 20928 + host_id: 13 + reserved: 0 + - + start_resource: 7 + num_resource: 4 + type: 20928 + host_id: 21 + reserved: 0 + - + start_resource: 11 + num_resource: 4 + type: 20928 + host_id: 23 + reserved: 0 + - + start_resource: 15 + num_resource: 4 + type: 20928 + host_id: 25 + reserved: 0 + - + start_resource: 19 + num_resource: 4 + type: 20928 + host_id: 27 + reserved: 0 + - + start_resource: 23 + num_resource: 16 + type: 20928 + host_id: 35 + reserved: 0 + - + start_resource: 39 + num_resource: 4 + type: 20928 + host_id: 37 + reserved: 0 + - + start_resource: 43 + num_resource: 4 + type: 20928 + host_id: 40 + reserved: 0 + - + start_resource: 47 + num_resource: 4 + type: 20928 + host_id: 42 + reserved: 0 + - + start_resource: 51 + num_resource: 3 + type: 20928 + host_id: 45 + reserved: 0 + - + start_resource: 54 + num_resource: 2 + type: 20928 + host_id: 47 + reserved: 0 + - + start_resource: 56 + num_resource: 4 + type: 20928 + host_id: 3 + reserved: 0 + - + start_resource: 60 + num_resource: 4 + type: 20928 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20992 + host_id: 128 + reserved: 0 + - + start_resource: 96 + num_resource: 20 + type: 20993 + host_id: 12 + reserved: 0 + - + start_resource: 116 + num_resource: 8 + type: 20993 + host_id: 13 + reserved: 0 + - + start_resource: 124 + num_resource: 8 + type: 20993 + host_id: 21 + reserved: 0 + - + start_resource: 132 + num_resource: 8 + type: 20993 + host_id: 23 + reserved: 0 + - + start_resource: 140 + num_resource: 8 + type: 20993 + host_id: 25 + reserved: 0 + - + start_resource: 148 + num_resource: 8 + type: 20993 + host_id: 27 + reserved: 0 + - + start_resource: 156 + num_resource: 16 + type: 20993 + host_id: 35 + reserved: 0 + - + start_resource: 172 + num_resource: 8 + type: 20993 + host_id: 37 + reserved: 0 + - + start_resource: 180 + num_resource: 8 + type: 20993 + host_id: 40 + reserved: 0 + - + start_resource: 188 + num_resource: 8 + type: 20993 + host_id: 42 + reserved: 0 + - + start_resource: 196 + num_resource: 8 + type: 20993 + host_id: 45 + reserved: 0 + - + start_resource: 204 + num_resource: 4 + type: 20993 + host_id: 47 + reserved: 0 + - + start_resource: 208 + num_resource: 32 + type: 20993 + host_id: 3 + reserved: 0 + - + start_resource: 240 + num_resource: 12 + type: 20993 + host_id: 5 + reserved: 0 + - + start_resource: 50 + num_resource: 3 + type: 20994 + host_id: 12 + reserved: 0 + - + start_resource: 53 + num_resource: 0 + type: 20994 + host_id: 13 + reserved: 0 + - + start_resource: 53 + num_resource: 1 + type: 20994 + host_id: 21 + reserved: 0 + - + start_resource: 54 + num_resource: 1 + type: 20994 + host_id: 23 + reserved: 0 + - + start_resource: 55 + num_resource: 1 + type: 20994 + host_id: 25 + reserved: 0 + - + start_resource: 56 + num_resource: 1 + type: 20994 + host_id: 27 + reserved: 0 + - + start_resource: 57 + num_resource: 1 + type: 20994 + host_id: 35 + reserved: 0 + - + start_resource: 58 + num_resource: 1 + type: 20994 + host_id: 37 + reserved: 0 + - + start_resource: 59 + num_resource: 1 + type: 20994 + host_id: 40 + reserved: 0 + - + start_resource: 60 + num_resource: 1 + type: 20994 + host_id: 42 + reserved: 0 + - + start_resource: 61 + num_resource: 1 + type: 20994 + host_id: 45 + reserved: 0 + - + start_resource: 62 + num_resource: 1 + type: 20994 + host_id: 47 + reserved: 0 + - + start_resource: 63 + num_resource: 2 + type: 20994 + host_id: 3 + reserved: 0 + - + start_resource: 65 + num_resource: 0 + type: 20994 + host_id: 5 + reserved: 0 + - + start_resource: 65 + num_resource: 8 + type: 20994 + host_id: 12 + reserved: 0 + - + start_resource: 73 + num_resource: 4 + type: 20994 + host_id: 13 + reserved: 0 + - + start_resource: 77 + num_resource: 1 + type: 20994 + host_id: 21 + reserved: 0 + - + start_resource: 78 + num_resource: 1 + type: 20994 + host_id: 23 + reserved: 0 + - + start_resource: 79 + num_resource: 1 + type: 20994 + host_id: 25 + reserved: 0 + - + start_resource: 80 + num_resource: 1 + type: 20994 + host_id: 27 + reserved: 0 + - + start_resource: 81 + num_resource: 2 + type: 20994 + host_id: 35 + reserved: 0 + - + start_resource: 83 + num_resource: 1 + type: 20994 + host_id: 37 + reserved: 0 + - + start_resource: 84 + num_resource: 1 + type: 20994 + host_id: 40 + reserved: 0 + - + start_resource: 85 + num_resource: 1 + type: 20994 + host_id: 42 + reserved: 0 + - + start_resource: 86 + num_resource: 1 + type: 20994 + host_id: 45 + reserved: 0 + - + start_resource: 87 + num_resource: 1 + type: 20994 + host_id: 47 + reserved: 0 + - + start_resource: 88 + num_resource: 3 + type: 20994 + host_id: 3 + reserved: 0 + - + start_resource: 91 + num_resource: 2 + type: 20994 + host_id: 5 + reserved: 0 + - + start_resource: 2 + num_resource: 3 + type: 20995 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 0 + type: 20995 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 20995 + host_id: 21 + reserved: 0 + - + start_resource: 6 + num_resource: 1 + type: 20995 + host_id: 23 + reserved: 0 + - + start_resource: 7 + num_resource: 1 + type: 20995 + host_id: 25 + reserved: 0 + - + start_resource: 8 + num_resource: 1 + type: 20995 + host_id: 27 + reserved: 0 + - + start_resource: 9 + num_resource: 1 + type: 20995 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 20995 + host_id: 37 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20995 + host_id: 40 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20995 + host_id: 42 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 20995 + host_id: 45 + reserved: 0 + - + start_resource: 14 + num_resource: 1 + type: 20995 + host_id: 47 + reserved: 0 + - + start_resource: 15 + num_resource: 2 + type: 20995 + host_id: 3 + reserved: 0 + - + start_resource: 17 + num_resource: 0 + type: 20995 + host_id: 5 + reserved: 0 + - + start_resource: 17 + num_resource: 8 + type: 20995 + host_id: 12 + reserved: 0 + - + start_resource: 25 + num_resource: 4 + type: 20995 + host_id: 13 + reserved: 0 + - + start_resource: 29 + num_resource: 1 + type: 20995 + host_id: 21 + reserved: 0 + - + start_resource: 30 + num_resource: 1 + type: 20995 + host_id: 23 + reserved: 0 + - + start_resource: 31 + num_resource: 1 + type: 20995 + host_id: 25 + reserved: 0 + - + start_resource: 32 + num_resource: 1 + type: 20995 + host_id: 27 + reserved: 0 + - + start_resource: 33 + num_resource: 2 + type: 20995 + host_id: 35 + reserved: 0 + - + start_resource: 35 + num_resource: 1 + type: 20995 + host_id: 37 + reserved: 0 + - + start_resource: 36 + num_resource: 1 + type: 20995 + host_id: 40 + reserved: 0 + - + start_resource: 37 + num_resource: 1 + type: 20995 + host_id: 42 + reserved: 0 + - + start_resource: 38 + num_resource: 1 + type: 20995 + host_id: 45 + reserved: 0 + - + start_resource: 39 + num_resource: 1 + type: 20995 + host_id: 47 + reserved: 0 + - + start_resource: 40 + num_resource: 3 + type: 20995 + host_id: 3 + reserved: 0 + - + start_resource: 43 + num_resource: 2 + type: 20995 + host_id: 5 + reserved: 0 + - + start_resource: 45 + num_resource: 1 + type: 20995 + host_id: 128 + reserved: 0 + - + start_resource: 48 + num_resource: 0 + type: 20997 + host_id: 3 + reserved: 0 + - + start_resource: 48 + num_resource: 2 + type: 20997 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 0 + type: 20999 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 2 + type: 20999 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 5 + type: 21002 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 21002 + host_id: 13 + reserved: 0 + - + start_resource: 0 + num_resource: 3 + type: 21003 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 2 + type: 21003 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 2 + type: 21003 + host_id: 21 + reserved: 0 + - + start_resource: 7 + num_resource: 2 + type: 21003 + host_id: 23 + reserved: 0 + - + start_resource: 9 + num_resource: 2 + type: 21003 + host_id: 25 + reserved: 0 + - + start_resource: 11 + num_resource: 2 + type: 21003 + host_id: 27 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 21003 + host_id: 35 + reserved: 0 + - + start_resource: 16 + num_resource: 2 + type: 21003 + host_id: 37 + reserved: 0 + - + start_resource: 18 + num_resource: 2 + type: 21003 + host_id: 40 + reserved: 0 + - + start_resource: 20 + num_resource: 2 + type: 21003 + host_id: 42 + reserved: 0 + - + start_resource: 22 + num_resource: 2 + type: 21003 + host_id: 45 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 21003 + host_id: 47 + reserved: 0 + - + start_resource: 26 + num_resource: 3 + type: 21003 + host_id: 3 + reserved: 0 + - + start_resource: 29 + num_resource: 3 + type: 21003 + host_id: 5 + reserved: 0 + - + start_resource: 48 + num_resource: 8 + type: 21056 + host_id: 12 + reserved: 0 + - + start_resource: 56 + num_resource: 4 + type: 21056 + host_id: 13 + reserved: 0 + - + start_resource: 60 + num_resource: 8 + type: 21056 + host_id: 35 + reserved: 0 + - + start_resource: 68 + num_resource: 4 + type: 21056 + host_id: 37 + reserved: 0 + - + start_resource: 72 + num_resource: 4 + type: 21056 + host_id: 40 + reserved: 0 + - + start_resource: 76 + num_resource: 4 + type: 21056 + host_id: 42 + reserved: 0 + - + start_resource: 80 + num_resource: 2 + type: 21056 + host_id: 45 + reserved: 0 + - + start_resource: 82 + num_resource: 2 + type: 21056 + host_id: 47 + reserved: 0 + - + start_resource: 84 + num_resource: 8 + type: 21056 + host_id: 3 + reserved: 0 + - + start_resource: 92 + num_resource: 4 + type: 21056 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 21057 + host_id: 128 + reserved: 0 + - + start_resource: 56320 + num_resource: 256 + type: 21058 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 21059 + host_id: 128 + reserved: 0 + - + start_resource: 2 + num_resource: 3 + type: 21066 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 0 + type: 21066 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 21066 + host_id: 21 + reserved: 0 + - + start_resource: 6 + num_resource: 1 + type: 21066 + host_id: 23 + reserved: 0 + - + start_resource: 7 + num_resource: 1 + type: 21066 + host_id: 25 + reserved: 0 + - + start_resource: 8 + num_resource: 1 + type: 21066 + host_id: 27 + reserved: 0 + - + start_resource: 9 + num_resource: 1 + type: 21066 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 21066 + host_id: 37 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 21066 + host_id: 40 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 21066 + host_id: 42 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 21066 + host_id: 45 + reserved: 0 + - + start_resource: 14 + num_resource: 1 + type: 21066 + host_id: 47 + reserved: 0 + - + start_resource: 15 + num_resource: 2 + type: 21066 + host_id: 3 + reserved: 0 + - + start_resource: 17 + num_resource: 0 + type: 21066 + host_id: 5 + reserved: 0 + - + start_resource: 17 + num_resource: 8 + type: 21066 + host_id: 12 + reserved: 0 + - + start_resource: 25 + num_resource: 4 + type: 21066 + host_id: 13 + reserved: 0 + - + start_resource: 29 + num_resource: 1 + type: 21066 + host_id: 21 + reserved: 0 + - + start_resource: 30 + num_resource: 1 + type: 21066 + host_id: 23 + reserved: 0 + - + start_resource: 31 + num_resource: 1 + type: 21066 + host_id: 25 + reserved: 0 + - + start_resource: 32 + num_resource: 1 + type: 21066 + host_id: 27 + reserved: 0 + - + start_resource: 33 + num_resource: 2 + type: 21066 + host_id: 35 + reserved: 0 + - + start_resource: 35 + num_resource: 1 + type: 21066 + host_id: 37 + reserved: 0 + - + start_resource: 36 + num_resource: 1 + type: 21066 + host_id: 40 + reserved: 0 + - + start_resource: 37 + num_resource: 1 + type: 21066 + host_id: 42 + reserved: 0 + - + start_resource: 38 + num_resource: 1 + type: 21066 + host_id: 45 + reserved: 0 + - + start_resource: 39 + num_resource: 1 + type: 21066 + host_id: 47 + reserved: 0 + - + start_resource: 40 + num_resource: 3 + type: 21066 + host_id: 3 + reserved: 0 + - + start_resource: 43 + num_resource: 2 + type: 21066 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 0 + type: 21067 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 2 + type: 21067 + host_id: 3 + reserved: 0 + - + start_resource: 2 + num_resource: 3 + type: 21069 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 0 + type: 21069 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 21069 + host_id: 21 + reserved: 0 + - + start_resource: 6 + num_resource: 1 + type: 21069 + host_id: 23 + reserved: 0 + - + start_resource: 7 + num_resource: 1 + type: 21069 + host_id: 25 + reserved: 0 + - + start_resource: 8 + num_resource: 1 + type: 21069 + host_id: 27 + reserved: 0 + - + start_resource: 9 + num_resource: 1 + type: 21069 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 21069 + host_id: 37 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 21069 + host_id: 40 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 21069 + host_id: 42 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 21069 + host_id: 45 + reserved: 0 + - + start_resource: 14 + num_resource: 1 + type: 21069 + host_id: 47 + reserved: 0 + - + start_resource: 15 + num_resource: 2 + type: 21069 + host_id: 3 + reserved: 0 + - + start_resource: 17 + num_resource: 0 + type: 21069 + host_id: 5 + reserved: 0 + - + start_resource: 17 + num_resource: 8 + type: 21069 + host_id: 12 + reserved: 0 + - + start_resource: 25 + num_resource: 4 + type: 21069 + host_id: 13 + reserved: 0 + - + start_resource: 29 + num_resource: 1 + type: 21069 + host_id: 21 + reserved: 0 + - + start_resource: 30 + num_resource: 1 + type: 21069 + host_id: 23 + reserved: 0 + - + start_resource: 31 + num_resource: 1 + type: 21069 + host_id: 25 + reserved: 0 + - + start_resource: 32 + num_resource: 1 + type: 21069 + host_id: 27 + reserved: 0 + - + start_resource: 33 + num_resource: 2 + type: 21069 + host_id: 35 + reserved: 0 + - + start_resource: 35 + num_resource: 1 + type: 21069 + host_id: 37 + reserved: 0 + - + start_resource: 36 + num_resource: 1 + type: 21069 + host_id: 40 + reserved: 0 + - + start_resource: 37 + num_resource: 1 + type: 21069 + host_id: 42 + reserved: 0 + - + start_resource: 38 + num_resource: 1 + type: 21069 + host_id: 45 + reserved: 0 + - + start_resource: 39 + num_resource: 1 + type: 21069 + host_id: 47 + reserved: 0 + - + start_resource: 40 + num_resource: 3 + type: 21069 + host_id: 3 + reserved: 0 + - + start_resource: 43 + num_resource: 2 + type: 21069 + host_id: 5 + reserved: 0 + - + start_resource: 45 + num_resource: 1 + type: 21069 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 0 + type: 21071 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 2 + type: 21071 + host_id: 3 + reserved: 0 + - + start_resource: 22 + num_resource: 32 + type: 21194 + host_id: 12 + reserved: 0 + - + start_resource: 54 + num_resource: 64 + type: 21194 + host_id: 3 + reserved: 0 + - + start_resource: 118 + num_resource: 4 + type: 21194 + host_id: 5 + reserved: 0 + - + start_resource: 122 + num_resource: 134 + type: 21194 + host_id: 128 + reserved: 0 + - + start_resource: 16406 + num_resource: 128 + type: 21197 + host_id: 12 + reserved: 0 + - + start_resource: 16534 + num_resource: 256 + type: 21197 + host_id: 3 + reserved: 0 + - + start_resource: 16790 + num_resource: 64 + type: 21197 + host_id: 5 + reserved: 0 + - + start_resource: 16854 + num_resource: 1066 + type: 21197 + host_id: 128 + reserved: 0 diff --git a/board/ti/j784s4/sec-cfg.yaml b/board/ti/j784s4/sec-cfg.yaml new file mode 100644 index 00000000000..9a1c1ef2201 --- /dev/null +++ b/board/ti/j784s4/sec-cfg.yaml @@ -0,0 +1,380 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ +# +# Security management configuration for J784S4 +# + +--- + +sec-cfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + processor_acl_list: + subhdr: + magic: 0xF1EA + size: 164 + proc_acl_entries: + - # 1 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 2 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 3 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 4 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 5 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 6 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 7 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 8 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 9 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 10 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 11 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 12 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 13 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 14 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 15 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 16 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 17 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 18 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 19 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 20 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 21 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 22 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 23 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 24 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 25 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 26 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 27 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 28 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 29 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 30 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 31 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + - # 32 + processor_id: 0 + proc_access_master: 0 + proc_access_secondary: [0, 0, 0] + host_hierarchy: + subhdr: + magic: 0x8D27 + size: 68 + host_hierarchy_entries: + - # 1 + host_id: 0 + supervisor_host_id: 0 + - # 2 + host_id: 0 + supervisor_host_id: 0 + - # 3 + host_id: 0 + supervisor_host_id: 0 + - # 4 + host_id: 0 + supervisor_host_id: 0 + - # 5 + host_id: 0 + supervisor_host_id: 0 + - # 6 + host_id: 0 + supervisor_host_id: 0 + - # 7 + host_id: 0 + supervisor_host_id: 0 + - # 8 + host_id: 0 + supervisor_host_id: 0 + - # 9 + host_id: 0 + supervisor_host_id: 0 + - # 10 + host_id: 0 + supervisor_host_id: 0 + - # 11 + host_id: 0 + supervisor_host_id: 0 + - # 12 + host_id: 0 + supervisor_host_id: 0 + - # 13 + host_id: 0 + supervisor_host_id: 0 + - # 14 + host_id: 0 + supervisor_host_id: 0 + - # 15 + host_id: 0 + supervisor_host_id: 0 + - # 16 + host_id: 0 + supervisor_host_id: 0 + - # 17 + host_id: 0 + supervisor_host_id: 0 + - # 18 + host_id: 0 + supervisor_host_id: 0 + - # 19 + host_id: 0 + supervisor_host_id: 0 + - # 20 + host_id: 0 + supervisor_host_id: 0 + - # 21 + host_id: 0 + supervisor_host_id: 0 + - # 22 + host_id: 0 + supervisor_host_id: 0 + - # 23 + host_id: 0 + supervisor_host_id: 0 + - # 24 + host_id: 0 + supervisor_host_id: 0 + - # 25 + host_id: 0 + supervisor_host_id: 0 + - # 26 + host_id: 0 + supervisor_host_id: 0 + - # 27 + host_id: 0 + supervisor_host_id: 0 + - # 28 + host_id: 0 + supervisor_host_id: 0 + - # 29 + host_id: 0 + supervisor_host_id: 0 + - # 30 + host_id: 0 + supervisor_host_id: 0 + - # 31 + host_id: 0 + supervisor_host_id: 0 + - # 32 + host_id: 0 + supervisor_host_id: 0 + otp_config: + subhdr: + magic: 0x4081 + size: 69 + write_host_id: 0 + otp_entry: + - # 1 + host_id: 0 + host_perms: 0 + - # 2 + host_id: 0 + host_perms: 0 + - # 3 + host_id: 0 + host_perms: 0 + - # 4 + host_id: 0 + host_perms: 0 + - # 5 + host_id: 0 + host_perms: 0 + - # 6 + host_id: 0 + host_perms: 0 + - # 7 + host_id: 0 + host_perms: 0 + - # 8 + host_id: 0 + host_perms: 0 + - # 9 + host_id: 0 + host_perms: 0 + - # 10 + host_id: 0 + host_perms: 0 + - # 11 + host_id: 0 + host_perms: 0 + - # 12 + host_id: 0 + host_perms: 0 + - # 13 + host_id: 0 + host_perms: 0 + - # 14 + host_id: 0 + host_perms: 0 + - # 15 + host_id: 0 + host_perms: 0 + - # 16 + host_id: 0 + host_perms: 0 + - # 17 + host_id: 0 + host_perms: 0 + - # 18 + host_id: 0 + host_perms: 0 + - # 19 + host_id: 0 + host_perms: 0 + - # 20 + host_id: 0 + host_perms: 0 + - # 21 + host_id: 0 + host_perms: 0 + - # 22 + host_id: 0 + host_perms: 0 + - # 23 + host_id: 0 + host_perms: 0 + - # 24 + host_id: 0 + host_perms: 0 + - # 25 + host_id: 0 + host_perms: 0 + - # 26 + host_id: 0 + host_perms: 0 + - # 27 + host_id: 0 + host_perms: 0 + - # 28 + host_id: 0 + host_perms: 0 + - # 29 + host_id: 0 + host_perms: 0 + - # 30 + host_id: 0 + host_perms: 0 + - # 31 + host_id: 0 + host_perms: 0 + - # 32 + host_id: 0 + host_perms: 0 + dkek_config: + subhdr: + magic: 0x5170 + size: 12 + allowed_hosts: [128, 0, 0, 0] + allow_dkek_export_tisci: 0x5A + rsvd: [0, 0, 0] + sa2ul_cfg: + subhdr: + magic: 0x23BE + size: 0 + auth_resource_owner: 0 + enable_saul_psil_global_config_writes: 0 + rsvd: [0, 0] + sec_dbg_config: + subhdr: + magic: 0x42AF + size: 16 + allow_jtag_unlock: 0x0 + allow_wildcard_unlock: 0x0 + allowed_debug_level_rsvd: 0 + rsvd: 0 + min_cert_rev: 0x0 + jtag_unlock_hosts: [0, 0, 0, 0] + sec_handover_cfg: + subhdr: + magic: 0x608F + size: 10 + handover_msg_sender: 0 + handover_to_host_id: 0 + rsvd: [0, 0, 0, 0] diff --git a/board/ti/j784s4/tifs-rm-cfg.yaml b/board/ti/j784s4/tifs-rm-cfg.yaml new file mode 100644 index 00000000000..1c5faffb8e9 --- /dev/null +++ b/board/ti/j784s4/tifs-rm-cfg.yaml @@ -0,0 +1,2656 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ +# +# Resource management configuration for J784S4 +# + +--- + +tifs-rm-cfg: + rm_boardcfg: + rev: + boardcfg_abi_maj: 0x0 + boardcfg_abi_min: 0x1 + host_cfg: + subhdr: + magic: 0x4C41 + size: 356 + host_cfg_entries: + - # 1 + host_id: 3 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 2 + host_id: 5 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 3 + host_id: 12 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 4 + host_id: 13 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 5 + host_id: 21 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 6 + host_id: 23 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 7 + host_id: 25 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 8 + host_id: 27 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 9 + host_id: 35 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 10 + host_id: 37 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 11 + host_id: 40 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 12 + host_id: 42 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 13 + host_id: 45 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 14 + host_id: 47 + allowed_atype: 0x2A + allowed_qos: 0xAAAA + allowed_orderid: 0xAAAAAAAA + allowed_priority: 0xAAAA + allowed_sched_priority: 0xAA + - # 15 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 16 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 17 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 18 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 19 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 20 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 21 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 22 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 23 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 24 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 25 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 26 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 27 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 28 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 29 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 30 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 31 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + - # 32 + host_id: 0 + allowed_atype: 0 + allowed_qos: 0 + allowed_orderid: 0 + allowed_priority: 0 + allowed_sched_priority: 0 + resasg: + subhdr: + magic: 0x7B25 + size: 8 + resasg_entries_size: 3208 + reserved: 0 + resasg_entries: + - + start_resource: 16 + num_resource: 16 + type: 17998 + host_id: 12 + reserved: 0 + - + start_resource: 32 + num_resource: 16 + type: 17998 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 8 + type: 17999 + host_id: 12 + reserved: 0 + - + start_resource: 8 + num_resource: 8 + type: 17999 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 16 + type: 18017 + host_id: 12 + reserved: 0 + - + start_resource: 16 + num_resource: 16 + type: 18017 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 8 + type: 18018 + host_id: 12 + reserved: 0 + - + start_resource: 8 + num_resource: 8 + type: 18018 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 64 + type: 19850 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 64 + type: 19914 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 4 + type: 19968 + host_id: 12 + reserved: 0 + - + start_resource: 4 + num_resource: 4 + type: 19968 + host_id: 13 + reserved: 0 + - + start_resource: 8 + num_resource: 4 + type: 19968 + host_id: 21 + reserved: 0 + - + start_resource: 12 + num_resource: 4 + type: 19968 + host_id: 23 + reserved: 0 + - + start_resource: 16 + num_resource: 4 + type: 19968 + host_id: 25 + reserved: 0 + - + start_resource: 20 + num_resource: 4 + type: 19968 + host_id: 27 + reserved: 0 + - + start_resource: 24 + num_resource: 12 + type: 19968 + host_id: 35 + reserved: 0 + - + start_resource: 36 + num_resource: 4 + type: 19968 + host_id: 37 + reserved: 0 + - + start_resource: 40 + num_resource: 4 + type: 19968 + host_id: 40 + reserved: 0 + - + start_resource: 44 + num_resource: 4 + type: 19968 + host_id: 42 + reserved: 0 + - + start_resource: 48 + num_resource: 4 + type: 19968 + host_id: 45 + reserved: 0 + - + start_resource: 52 + num_resource: 4 + type: 19968 + host_id: 47 + reserved: 0 + - + start_resource: 56 + num_resource: 4 + type: 19968 + host_id: 3 + reserved: 0 + - + start_resource: 60 + num_resource: 4 + type: 19968 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20160 + host_id: 128 + reserved: 0 + - + start_resource: 423 + num_resource: 10 + type: 20161 + host_id: 21 + reserved: 0 + - + start_resource: 433 + num_resource: 20 + type: 20161 + host_id: 23 + reserved: 0 + - + start_resource: 453 + num_resource: 16 + type: 20161 + host_id: 25 + reserved: 0 + - + start_resource: 469 + num_resource: 13 + type: 20161 + host_id: 27 + reserved: 0 + - + start_resource: 482 + num_resource: 128 + type: 20161 + host_id: 35 + reserved: 0 + - + start_resource: 610 + num_resource: 46 + type: 20161 + host_id: 37 + reserved: 0 + - + start_resource: 656 + num_resource: 10 + type: 20161 + host_id: 40 + reserved: 0 + - + start_resource: 666 + num_resource: 20 + type: 20161 + host_id: 42 + reserved: 0 + - + start_resource: 686 + num_resource: 64 + type: 20161 + host_id: 45 + reserved: 0 + - + start_resource: 750 + num_resource: 10 + type: 20161 + host_id: 47 + reserved: 0 + - + start_resource: 760 + num_resource: 4 + type: 20161 + host_id: 3 + reserved: 0 + - + start_resource: 764 + num_resource: 4 + type: 20161 + host_id: 5 + reserved: 0 + - + start_resource: 878 + num_resource: 128 + type: 20161 + host_id: 12 + reserved: 0 + - + start_resource: 1006 + num_resource: 10 + type: 20161 + host_id: 13 + reserved: 0 + - + start_resource: 345 + num_resource: 6 + type: 20162 + host_id: 12 + reserved: 0 + - + start_resource: 351 + num_resource: 0 + type: 20162 + host_id: 13 + reserved: 0 + - + start_resource: 351 + num_resource: 1 + type: 20162 + host_id: 21 + reserved: 0 + - + start_resource: 352 + num_resource: 1 + type: 20162 + host_id: 23 + reserved: 0 + - + start_resource: 353 + num_resource: 1 + type: 20162 + host_id: 25 + reserved: 0 + - + start_resource: 354 + num_resource: 1 + type: 20162 + host_id: 27 + reserved: 0 + - + start_resource: 355 + num_resource: 4 + type: 20162 + host_id: 35 + reserved: 0 + - + start_resource: 359 + num_resource: 1 + type: 20162 + host_id: 37 + reserved: 0 + - + start_resource: 360 + num_resource: 1 + type: 20162 + host_id: 40 + reserved: 0 + - + start_resource: 361 + num_resource: 1 + type: 20162 + host_id: 42 + reserved: 0 + - + start_resource: 362 + num_resource: 3 + type: 20162 + host_id: 45 + reserved: 0 + - + start_resource: 365 + num_resource: 1 + type: 20162 + host_id: 47 + reserved: 0 + - + start_resource: 366 + num_resource: 1 + type: 20162 + host_id: 3 + reserved: 0 + - + start_resource: 367 + num_resource: 1 + type: 20162 + host_id: 5 + reserved: 0 + - + start_resource: 368 + num_resource: 25 + type: 20162 + host_id: 12 + reserved: 0 + - + start_resource: 393 + num_resource: 1 + type: 20162 + host_id: 13 + reserved: 0 + - + start_resource: 394 + num_resource: 2 + type: 20162 + host_id: 21 + reserved: 0 + - + start_resource: 396 + num_resource: 2 + type: 20162 + host_id: 23 + reserved: 0 + - + start_resource: 398 + num_resource: 2 + type: 20162 + host_id: 25 + reserved: 0 + - + start_resource: 400 + num_resource: 2 + type: 20162 + host_id: 27 + reserved: 0 + - + start_resource: 402 + num_resource: 12 + type: 20162 + host_id: 35 + reserved: 0 + - + start_resource: 414 + num_resource: 1 + type: 20162 + host_id: 37 + reserved: 0 + - + start_resource: 415 + num_resource: 2 + type: 20162 + host_id: 40 + reserved: 0 + - + start_resource: 417 + num_resource: 2 + type: 20162 + host_id: 42 + reserved: 0 + - + start_resource: 419 + num_resource: 2 + type: 20162 + host_id: 45 + reserved: 0 + - + start_resource: 421 + num_resource: 2 + type: 20162 + host_id: 47 + reserved: 0 + - + start_resource: 4 + num_resource: 6 + type: 20163 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 0 + type: 20163 + host_id: 13 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 20163 + host_id: 21 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20163 + host_id: 23 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20163 + host_id: 25 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 20163 + host_id: 27 + reserved: 0 + - + start_resource: 14 + num_resource: 4 + type: 20163 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 1 + type: 20163 + host_id: 37 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 20163 + host_id: 40 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 20163 + host_id: 42 + reserved: 0 + - + start_resource: 21 + num_resource: 3 + type: 20163 + host_id: 45 + reserved: 0 + - + start_resource: 24 + num_resource: 1 + type: 20163 + host_id: 47 + reserved: 0 + - + start_resource: 25 + num_resource: 1 + type: 20163 + host_id: 3 + reserved: 0 + - + start_resource: 26 + num_resource: 1 + type: 20163 + host_id: 5 + reserved: 0 + - + start_resource: 27 + num_resource: 25 + type: 20163 + host_id: 12 + reserved: 0 + - + start_resource: 52 + num_resource: 1 + type: 20163 + host_id: 13 + reserved: 0 + - + start_resource: 53 + num_resource: 2 + type: 20163 + host_id: 21 + reserved: 0 + - + start_resource: 55 + num_resource: 2 + type: 20163 + host_id: 23 + reserved: 0 + - + start_resource: 57 + num_resource: 2 + type: 20163 + host_id: 25 + reserved: 0 + - + start_resource: 59 + num_resource: 2 + type: 20163 + host_id: 27 + reserved: 0 + - + start_resource: 61 + num_resource: 12 + type: 20163 + host_id: 35 + reserved: 0 + - + start_resource: 73 + num_resource: 4 + type: 20163 + host_id: 37 + reserved: 0 + - + start_resource: 77 + num_resource: 2 + type: 20163 + host_id: 40 + reserved: 0 + - + start_resource: 79 + num_resource: 2 + type: 20163 + host_id: 42 + reserved: 0 + - + start_resource: 81 + num_resource: 2 + type: 20163 + host_id: 45 + reserved: 0 + - + start_resource: 83 + num_resource: 2 + type: 20163 + host_id: 47 + reserved: 0 + - + start_resource: 85 + num_resource: 8 + type: 20164 + host_id: 21 + reserved: 0 + - + start_resource: 93 + num_resource: 8 + type: 20164 + host_id: 23 + reserved: 0 + - + start_resource: 101 + num_resource: 6 + type: 20164 + host_id: 25 + reserved: 0 + - + start_resource: 107 + num_resource: 4 + type: 20164 + host_id: 27 + reserved: 0 + - + start_resource: 111 + num_resource: 2 + type: 20164 + host_id: 35 + reserved: 0 + - + start_resource: 113 + num_resource: 2 + type: 20164 + host_id: 37 + reserved: 0 + - + start_resource: 115 + num_resource: 0 + type: 20164 + host_id: 45 + reserved: 0 + - + start_resource: 115 + num_resource: 2 + type: 20164 + host_id: 128 + reserved: 0 + - + start_resource: 117 + num_resource: 96 + type: 20164 + host_id: 35 + reserved: 0 + - + start_resource: 213 + num_resource: 96 + type: 20164 + host_id: 45 + reserved: 0 + - + start_resource: 309 + num_resource: 32 + type: 20164 + host_id: 37 + reserved: 0 + - + start_resource: 343 + num_resource: 1 + type: 20165 + host_id: 12 + reserved: 0 + - + start_resource: 344 + num_resource: 1 + type: 20165 + host_id: 35 + reserved: 0 + - + start_resource: 341 + num_resource: 1 + type: 20166 + host_id: 12 + reserved: 0 + - + start_resource: 342 + num_resource: 1 + type: 20166 + host_id: 35 + reserved: 0 + - + start_resource: 2 + num_resource: 1 + type: 20167 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 1 + type: 20167 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20168 + host_id: 12 + reserved: 0 + - + start_resource: 1 + num_resource: 1 + type: 20168 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 5 + type: 20170 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 20170 + host_id: 13 + reserved: 0 + - + start_resource: 0 + num_resource: 3 + type: 20171 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 2 + type: 20171 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 3 + type: 20171 + host_id: 21 + reserved: 0 + - + start_resource: 8 + num_resource: 3 + type: 20171 + host_id: 23 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20171 + host_id: 25 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20171 + host_id: 27 + reserved: 0 + - + start_resource: 13 + num_resource: 6 + type: 20171 + host_id: 35 + reserved: 0 + - + start_resource: 19 + num_resource: 3 + type: 20171 + host_id: 37 + reserved: 0 + - + start_resource: 22 + num_resource: 3 + type: 20171 + host_id: 40 + reserved: 0 + - + start_resource: 25 + num_resource: 3 + type: 20171 + host_id: 42 + reserved: 0 + - + start_resource: 28 + num_resource: 1 + type: 20171 + host_id: 45 + reserved: 0 + - + start_resource: 29 + num_resource: 1 + type: 20171 + host_id: 47 + reserved: 0 + - + start_resource: 30 + num_resource: 1 + type: 20171 + host_id: 3 + reserved: 0 + - + start_resource: 31 + num_resource: 1 + type: 20171 + host_id: 5 + reserved: 0 + - + start_resource: 82 + num_resource: 16 + type: 20416 + host_id: 12 + reserved: 0 + - + start_resource: 98 + num_resource: 16 + type: 20416 + host_id: 13 + reserved: 0 + - + start_resource: 114 + num_resource: 110 + type: 20416 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20417 + host_id: 128 + reserved: 0 + - + start_resource: 4 + num_resource: 6 + type: 20426 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 0 + type: 20426 + host_id: 13 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 20426 + host_id: 21 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20426 + host_id: 23 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20426 + host_id: 25 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 20426 + host_id: 27 + reserved: 0 + - + start_resource: 14 + num_resource: 4 + type: 20426 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 1 + type: 20426 + host_id: 37 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 20426 + host_id: 40 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 20426 + host_id: 42 + reserved: 0 + - + start_resource: 21 + num_resource: 3 + type: 20426 + host_id: 45 + reserved: 0 + - + start_resource: 24 + num_resource: 1 + type: 20426 + host_id: 47 + reserved: 0 + - + start_resource: 25 + num_resource: 1 + type: 20426 + host_id: 3 + reserved: 0 + - + start_resource: 26 + num_resource: 1 + type: 20426 + host_id: 5 + reserved: 0 + - + start_resource: 27 + num_resource: 25 + type: 20426 + host_id: 12 + reserved: 0 + - + start_resource: 52 + num_resource: 1 + type: 20426 + host_id: 13 + reserved: 0 + - + start_resource: 53 + num_resource: 2 + type: 20426 + host_id: 21 + reserved: 0 + - + start_resource: 55 + num_resource: 2 + type: 20426 + host_id: 23 + reserved: 0 + - + start_resource: 57 + num_resource: 2 + type: 20426 + host_id: 25 + reserved: 0 + - + start_resource: 59 + num_resource: 2 + type: 20426 + host_id: 27 + reserved: 0 + - + start_resource: 61 + num_resource: 12 + type: 20426 + host_id: 35 + reserved: 0 + - + start_resource: 73 + num_resource: 1 + type: 20426 + host_id: 37 + reserved: 0 + - + start_resource: 74 + num_resource: 2 + type: 20426 + host_id: 40 + reserved: 0 + - + start_resource: 76 + num_resource: 2 + type: 20426 + host_id: 42 + reserved: 0 + - + start_resource: 78 + num_resource: 2 + type: 20426 + host_id: 45 + reserved: 0 + - + start_resource: 80 + num_resource: 2 + type: 20426 + host_id: 47 + reserved: 0 + - + start_resource: 2 + num_resource: 1 + type: 20427 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 1 + type: 20427 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20428 + host_id: 12 + reserved: 0 + - + start_resource: 1 + num_resource: 1 + type: 20428 + host_id: 35 + reserved: 0 + - + start_resource: 4 + num_resource: 6 + type: 20429 + host_id: 12 + reserved: 0 + - + start_resource: 10 + num_resource: 0 + type: 20429 + host_id: 13 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 20429 + host_id: 21 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20429 + host_id: 23 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20429 + host_id: 25 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 20429 + host_id: 27 + reserved: 0 + - + start_resource: 14 + num_resource: 4 + type: 20429 + host_id: 35 + reserved: 0 + - + start_resource: 18 + num_resource: 1 + type: 20429 + host_id: 37 + reserved: 0 + - + start_resource: 19 + num_resource: 1 + type: 20429 + host_id: 40 + reserved: 0 + - + start_resource: 20 + num_resource: 1 + type: 20429 + host_id: 42 + reserved: 0 + - + start_resource: 21 + num_resource: 3 + type: 20429 + host_id: 45 + reserved: 0 + - + start_resource: 24 + num_resource: 1 + type: 20429 + host_id: 47 + reserved: 0 + - + start_resource: 25 + num_resource: 1 + type: 20429 + host_id: 3 + reserved: 0 + - + start_resource: 26 + num_resource: 1 + type: 20429 + host_id: 5 + reserved: 0 + - + start_resource: 27 + num_resource: 25 + type: 20429 + host_id: 12 + reserved: 0 + - + start_resource: 52 + num_resource: 1 + type: 20429 + host_id: 13 + reserved: 0 + - + start_resource: 53 + num_resource: 2 + type: 20429 + host_id: 21 + reserved: 0 + - + start_resource: 55 + num_resource: 2 + type: 20429 + host_id: 23 + reserved: 0 + - + start_resource: 57 + num_resource: 2 + type: 20429 + host_id: 25 + reserved: 0 + - + start_resource: 59 + num_resource: 2 + type: 20429 + host_id: 27 + reserved: 0 + - + start_resource: 61 + num_resource: 12 + type: 20429 + host_id: 35 + reserved: 0 + - + start_resource: 73 + num_resource: 4 + type: 20429 + host_id: 37 + reserved: 0 + - + start_resource: 77 + num_resource: 2 + type: 20429 + host_id: 40 + reserved: 0 + - + start_resource: 79 + num_resource: 2 + type: 20429 + host_id: 42 + reserved: 0 + - + start_resource: 81 + num_resource: 2 + type: 20429 + host_id: 45 + reserved: 0 + - + start_resource: 83 + num_resource: 2 + type: 20429 + host_id: 47 + reserved: 0 + - + start_resource: 85 + num_resource: 8 + type: 20430 + host_id: 21 + reserved: 0 + - + start_resource: 93 + num_resource: 8 + type: 20430 + host_id: 23 + reserved: 0 + - + start_resource: 101 + num_resource: 6 + type: 20430 + host_id: 25 + reserved: 0 + - + start_resource: 107 + num_resource: 4 + type: 20430 + host_id: 27 + reserved: 0 + - + start_resource: 111 + num_resource: 2 + type: 20430 + host_id: 35 + reserved: 0 + - + start_resource: 113 + num_resource: 2 + type: 20430 + host_id: 37 + reserved: 0 + - + start_resource: 115 + num_resource: 0 + type: 20430 + host_id: 45 + reserved: 0 + - + start_resource: 115 + num_resource: 2 + type: 20430 + host_id: 128 + reserved: 0 + - + start_resource: 117 + num_resource: 96 + type: 20430 + host_id: 35 + reserved: 0 + - + start_resource: 213 + num_resource: 96 + type: 20430 + host_id: 45 + reserved: 0 + - + start_resource: 309 + num_resource: 32 + type: 20430 + host_id: 37 + reserved: 0 + - + start_resource: 2 + num_resource: 1 + type: 20431 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 1 + type: 20431 + host_id: 35 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20432 + host_id: 12 + reserved: 0 + - + start_resource: 1 + num_resource: 1 + type: 20432 + host_id: 35 + reserved: 0 + - + start_resource: 56 + num_resource: 56 + type: 20554 + host_id: 12 + reserved: 0 + - + start_resource: 112 + num_resource: 24 + type: 20554 + host_id: 13 + reserved: 0 + - + start_resource: 136 + num_resource: 12 + type: 20554 + host_id: 21 + reserved: 0 + - + start_resource: 148 + num_resource: 12 + type: 20554 + host_id: 23 + reserved: 0 + - + start_resource: 160 + num_resource: 10 + type: 20554 + host_id: 25 + reserved: 0 + - + start_resource: 170 + num_resource: 10 + type: 20554 + host_id: 27 + reserved: 0 + - + start_resource: 180 + num_resource: 28 + type: 20554 + host_id: 35 + reserved: 0 + - + start_resource: 208 + num_resource: 8 + type: 20554 + host_id: 37 + reserved: 0 + - + start_resource: 216 + num_resource: 12 + type: 20554 + host_id: 40 + reserved: 0 + - + start_resource: 228 + num_resource: 8 + type: 20554 + host_id: 42 + reserved: 0 + - + start_resource: 236 + num_resource: 10 + type: 20554 + host_id: 45 + reserved: 0 + - + start_resource: 246 + num_resource: 10 + type: 20554 + host_id: 47 + reserved: 0 + - + start_resource: 1536 + num_resource: 16 + type: 20559 + host_id: 128 + reserved: 0 + - + start_resource: 2048 + num_resource: 16 + type: 20560 + host_id: 128 + reserved: 0 + - + start_resource: 2560 + num_resource: 16 + type: 20561 + host_id: 128 + reserved: 0 + - + start_resource: 3072 + num_resource: 32 + type: 20562 + host_id: 128 + reserved: 0 + - + start_resource: 3584 + num_resource: 32 + type: 20563 + host_id: 128 + reserved: 0 + - + start_resource: 4096 + num_resource: 32 + type: 20564 + host_id: 128 + reserved: 0 + - + start_resource: 1 + num_resource: 2 + type: 20928 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 4 + type: 20928 + host_id: 13 + reserved: 0 + - + start_resource: 7 + num_resource: 4 + type: 20928 + host_id: 21 + reserved: 0 + - + start_resource: 11 + num_resource: 4 + type: 20928 + host_id: 23 + reserved: 0 + - + start_resource: 15 + num_resource: 4 + type: 20928 + host_id: 25 + reserved: 0 + - + start_resource: 19 + num_resource: 4 + type: 20928 + host_id: 27 + reserved: 0 + - + start_resource: 23 + num_resource: 16 + type: 20928 + host_id: 35 + reserved: 0 + - + start_resource: 39 + num_resource: 4 + type: 20928 + host_id: 37 + reserved: 0 + - + start_resource: 43 + num_resource: 4 + type: 20928 + host_id: 40 + reserved: 0 + - + start_resource: 47 + num_resource: 4 + type: 20928 + host_id: 42 + reserved: 0 + - + start_resource: 51 + num_resource: 3 + type: 20928 + host_id: 45 + reserved: 0 + - + start_resource: 54 + num_resource: 2 + type: 20928 + host_id: 47 + reserved: 0 + - + start_resource: 56 + num_resource: 4 + type: 20928 + host_id: 3 + reserved: 0 + - + start_resource: 60 + num_resource: 4 + type: 20928 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 20992 + host_id: 128 + reserved: 0 + - + start_resource: 96 + num_resource: 20 + type: 20993 + host_id: 12 + reserved: 0 + - + start_resource: 116 + num_resource: 8 + type: 20993 + host_id: 13 + reserved: 0 + - + start_resource: 124 + num_resource: 8 + type: 20993 + host_id: 21 + reserved: 0 + - + start_resource: 132 + num_resource: 8 + type: 20993 + host_id: 23 + reserved: 0 + - + start_resource: 140 + num_resource: 8 + type: 20993 + host_id: 25 + reserved: 0 + - + start_resource: 148 + num_resource: 8 + type: 20993 + host_id: 27 + reserved: 0 + - + start_resource: 156 + num_resource: 16 + type: 20993 + host_id: 35 + reserved: 0 + - + start_resource: 172 + num_resource: 8 + type: 20993 + host_id: 37 + reserved: 0 + - + start_resource: 180 + num_resource: 8 + type: 20993 + host_id: 40 + reserved: 0 + - + start_resource: 188 + num_resource: 8 + type: 20993 + host_id: 42 + reserved: 0 + - + start_resource: 196 + num_resource: 8 + type: 20993 + host_id: 45 + reserved: 0 + - + start_resource: 204 + num_resource: 4 + type: 20993 + host_id: 47 + reserved: 0 + - + start_resource: 208 + num_resource: 32 + type: 20993 + host_id: 3 + reserved: 0 + - + start_resource: 240 + num_resource: 12 + type: 20993 + host_id: 5 + reserved: 0 + - + start_resource: 50 + num_resource: 3 + type: 20994 + host_id: 12 + reserved: 0 + - + start_resource: 53 + num_resource: 0 + type: 20994 + host_id: 13 + reserved: 0 + - + start_resource: 53 + num_resource: 1 + type: 20994 + host_id: 21 + reserved: 0 + - + start_resource: 54 + num_resource: 1 + type: 20994 + host_id: 23 + reserved: 0 + - + start_resource: 55 + num_resource: 1 + type: 20994 + host_id: 25 + reserved: 0 + - + start_resource: 56 + num_resource: 1 + type: 20994 + host_id: 27 + reserved: 0 + - + start_resource: 57 + num_resource: 1 + type: 20994 + host_id: 35 + reserved: 0 + - + start_resource: 58 + num_resource: 1 + type: 20994 + host_id: 37 + reserved: 0 + - + start_resource: 59 + num_resource: 1 + type: 20994 + host_id: 40 + reserved: 0 + - + start_resource: 60 + num_resource: 1 + type: 20994 + host_id: 42 + reserved: 0 + - + start_resource: 61 + num_resource: 1 + type: 20994 + host_id: 45 + reserved: 0 + - + start_resource: 62 + num_resource: 1 + type: 20994 + host_id: 47 + reserved: 0 + - + start_resource: 63 + num_resource: 2 + type: 20994 + host_id: 3 + reserved: 0 + - + start_resource: 65 + num_resource: 0 + type: 20994 + host_id: 5 + reserved: 0 + - + start_resource: 65 + num_resource: 8 + type: 20994 + host_id: 12 + reserved: 0 + - + start_resource: 73 + num_resource: 4 + type: 20994 + host_id: 13 + reserved: 0 + - + start_resource: 77 + num_resource: 1 + type: 20994 + host_id: 21 + reserved: 0 + - + start_resource: 78 + num_resource: 1 + type: 20994 + host_id: 23 + reserved: 0 + - + start_resource: 79 + num_resource: 1 + type: 20994 + host_id: 25 + reserved: 0 + - + start_resource: 80 + num_resource: 1 + type: 20994 + host_id: 27 + reserved: 0 + - + start_resource: 81 + num_resource: 2 + type: 20994 + host_id: 35 + reserved: 0 + - + start_resource: 83 + num_resource: 1 + type: 20994 + host_id: 37 + reserved: 0 + - + start_resource: 84 + num_resource: 1 + type: 20994 + host_id: 40 + reserved: 0 + - + start_resource: 85 + num_resource: 1 + type: 20994 + host_id: 42 + reserved: 0 + - + start_resource: 86 + num_resource: 1 + type: 20994 + host_id: 45 + reserved: 0 + - + start_resource: 87 + num_resource: 1 + type: 20994 + host_id: 47 + reserved: 0 + - + start_resource: 88 + num_resource: 3 + type: 20994 + host_id: 3 + reserved: 0 + - + start_resource: 91 + num_resource: 2 + type: 20994 + host_id: 5 + reserved: 0 + - + start_resource: 2 + num_resource: 3 + type: 20995 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 0 + type: 20995 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 20995 + host_id: 21 + reserved: 0 + - + start_resource: 6 + num_resource: 1 + type: 20995 + host_id: 23 + reserved: 0 + - + start_resource: 7 + num_resource: 1 + type: 20995 + host_id: 25 + reserved: 0 + - + start_resource: 8 + num_resource: 1 + type: 20995 + host_id: 27 + reserved: 0 + - + start_resource: 9 + num_resource: 1 + type: 20995 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 20995 + host_id: 37 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 20995 + host_id: 40 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 20995 + host_id: 42 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 20995 + host_id: 45 + reserved: 0 + - + start_resource: 14 + num_resource: 1 + type: 20995 + host_id: 47 + reserved: 0 + - + start_resource: 15 + num_resource: 2 + type: 20995 + host_id: 3 + reserved: 0 + - + start_resource: 17 + num_resource: 0 + type: 20995 + host_id: 5 + reserved: 0 + - + start_resource: 17 + num_resource: 8 + type: 20995 + host_id: 12 + reserved: 0 + - + start_resource: 25 + num_resource: 4 + type: 20995 + host_id: 13 + reserved: 0 + - + start_resource: 29 + num_resource: 1 + type: 20995 + host_id: 21 + reserved: 0 + - + start_resource: 30 + num_resource: 1 + type: 20995 + host_id: 23 + reserved: 0 + - + start_resource: 31 + num_resource: 1 + type: 20995 + host_id: 25 + reserved: 0 + - + start_resource: 32 + num_resource: 1 + type: 20995 + host_id: 27 + reserved: 0 + - + start_resource: 33 + num_resource: 2 + type: 20995 + host_id: 35 + reserved: 0 + - + start_resource: 35 + num_resource: 1 + type: 20995 + host_id: 37 + reserved: 0 + - + start_resource: 36 + num_resource: 1 + type: 20995 + host_id: 40 + reserved: 0 + - + start_resource: 37 + num_resource: 1 + type: 20995 + host_id: 42 + reserved: 0 + - + start_resource: 38 + num_resource: 1 + type: 20995 + host_id: 45 + reserved: 0 + - + start_resource: 39 + num_resource: 1 + type: 20995 + host_id: 47 + reserved: 0 + - + start_resource: 40 + num_resource: 3 + type: 20995 + host_id: 3 + reserved: 0 + - + start_resource: 43 + num_resource: 2 + type: 20995 + host_id: 5 + reserved: 0 + - + start_resource: 45 + num_resource: 1 + type: 20995 + host_id: 128 + reserved: 0 + - + start_resource: 48 + num_resource: 0 + type: 20997 + host_id: 3 + reserved: 0 + - + start_resource: 48 + num_resource: 2 + type: 20997 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 0 + type: 20999 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 2 + type: 20999 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 5 + type: 21002 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 21002 + host_id: 13 + reserved: 0 + - + start_resource: 0 + num_resource: 3 + type: 21003 + host_id: 12 + reserved: 0 + - + start_resource: 3 + num_resource: 2 + type: 21003 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 2 + type: 21003 + host_id: 21 + reserved: 0 + - + start_resource: 7 + num_resource: 2 + type: 21003 + host_id: 23 + reserved: 0 + - + start_resource: 9 + num_resource: 2 + type: 21003 + host_id: 25 + reserved: 0 + - + start_resource: 11 + num_resource: 2 + type: 21003 + host_id: 27 + reserved: 0 + - + start_resource: 13 + num_resource: 3 + type: 21003 + host_id: 35 + reserved: 0 + - + start_resource: 16 + num_resource: 2 + type: 21003 + host_id: 37 + reserved: 0 + - + start_resource: 18 + num_resource: 2 + type: 21003 + host_id: 40 + reserved: 0 + - + start_resource: 20 + num_resource: 2 + type: 21003 + host_id: 42 + reserved: 0 + - + start_resource: 22 + num_resource: 2 + type: 21003 + host_id: 45 + reserved: 0 + - + start_resource: 24 + num_resource: 2 + type: 21003 + host_id: 47 + reserved: 0 + - + start_resource: 26 + num_resource: 3 + type: 21003 + host_id: 3 + reserved: 0 + - + start_resource: 29 + num_resource: 3 + type: 21003 + host_id: 5 + reserved: 0 + - + start_resource: 48 + num_resource: 8 + type: 21056 + host_id: 12 + reserved: 0 + - + start_resource: 56 + num_resource: 4 + type: 21056 + host_id: 13 + reserved: 0 + - + start_resource: 60 + num_resource: 8 + type: 21056 + host_id: 35 + reserved: 0 + - + start_resource: 68 + num_resource: 4 + type: 21056 + host_id: 37 + reserved: 0 + - + start_resource: 72 + num_resource: 4 + type: 21056 + host_id: 40 + reserved: 0 + - + start_resource: 76 + num_resource: 4 + type: 21056 + host_id: 42 + reserved: 0 + - + start_resource: 80 + num_resource: 2 + type: 21056 + host_id: 45 + reserved: 0 + - + start_resource: 82 + num_resource: 2 + type: 21056 + host_id: 47 + reserved: 0 + - + start_resource: 84 + num_resource: 8 + type: 21056 + host_id: 3 + reserved: 0 + - + start_resource: 92 + num_resource: 4 + type: 21056 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 1 + type: 21057 + host_id: 128 + reserved: 0 + - + start_resource: 2 + num_resource: 3 + type: 21066 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 0 + type: 21066 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 21066 + host_id: 21 + reserved: 0 + - + start_resource: 6 + num_resource: 1 + type: 21066 + host_id: 23 + reserved: 0 + - + start_resource: 7 + num_resource: 1 + type: 21066 + host_id: 25 + reserved: 0 + - + start_resource: 8 + num_resource: 1 + type: 21066 + host_id: 27 + reserved: 0 + - + start_resource: 9 + num_resource: 1 + type: 21066 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 21066 + host_id: 37 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 21066 + host_id: 40 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 21066 + host_id: 42 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 21066 + host_id: 45 + reserved: 0 + - + start_resource: 14 + num_resource: 1 + type: 21066 + host_id: 47 + reserved: 0 + - + start_resource: 15 + num_resource: 2 + type: 21066 + host_id: 3 + reserved: 0 + - + start_resource: 17 + num_resource: 0 + type: 21066 + host_id: 5 + reserved: 0 + - + start_resource: 17 + num_resource: 8 + type: 21066 + host_id: 12 + reserved: 0 + - + start_resource: 25 + num_resource: 4 + type: 21066 + host_id: 13 + reserved: 0 + - + start_resource: 29 + num_resource: 1 + type: 21066 + host_id: 21 + reserved: 0 + - + start_resource: 30 + num_resource: 1 + type: 21066 + host_id: 23 + reserved: 0 + - + start_resource: 31 + num_resource: 1 + type: 21066 + host_id: 25 + reserved: 0 + - + start_resource: 32 + num_resource: 1 + type: 21066 + host_id: 27 + reserved: 0 + - + start_resource: 33 + num_resource: 2 + type: 21066 + host_id: 35 + reserved: 0 + - + start_resource: 35 + num_resource: 1 + type: 21066 + host_id: 37 + reserved: 0 + - + start_resource: 36 + num_resource: 1 + type: 21066 + host_id: 40 + reserved: 0 + - + start_resource: 37 + num_resource: 1 + type: 21066 + host_id: 42 + reserved: 0 + - + start_resource: 38 + num_resource: 1 + type: 21066 + host_id: 45 + reserved: 0 + - + start_resource: 39 + num_resource: 1 + type: 21066 + host_id: 47 + reserved: 0 + - + start_resource: 40 + num_resource: 3 + type: 21066 + host_id: 3 + reserved: 0 + - + start_resource: 43 + num_resource: 2 + type: 21066 + host_id: 5 + reserved: 0 + - + start_resource: 0 + num_resource: 0 + type: 21067 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 2 + type: 21067 + host_id: 3 + reserved: 0 + - + start_resource: 2 + num_resource: 3 + type: 21069 + host_id: 12 + reserved: 0 + - + start_resource: 5 + num_resource: 0 + type: 21069 + host_id: 13 + reserved: 0 + - + start_resource: 5 + num_resource: 1 + type: 21069 + host_id: 21 + reserved: 0 + - + start_resource: 6 + num_resource: 1 + type: 21069 + host_id: 23 + reserved: 0 + - + start_resource: 7 + num_resource: 1 + type: 21069 + host_id: 25 + reserved: 0 + - + start_resource: 8 + num_resource: 1 + type: 21069 + host_id: 27 + reserved: 0 + - + start_resource: 9 + num_resource: 1 + type: 21069 + host_id: 35 + reserved: 0 + - + start_resource: 10 + num_resource: 1 + type: 21069 + host_id: 37 + reserved: 0 + - + start_resource: 11 + num_resource: 1 + type: 21069 + host_id: 40 + reserved: 0 + - + start_resource: 12 + num_resource: 1 + type: 21069 + host_id: 42 + reserved: 0 + - + start_resource: 13 + num_resource: 1 + type: 21069 + host_id: 45 + reserved: 0 + - + start_resource: 14 + num_resource: 1 + type: 21069 + host_id: 47 + reserved: 0 + - + start_resource: 15 + num_resource: 2 + type: 21069 + host_id: 3 + reserved: 0 + - + start_resource: 17 + num_resource: 0 + type: 21069 + host_id: 5 + reserved: 0 + - + start_resource: 17 + num_resource: 8 + type: 21069 + host_id: 12 + reserved: 0 + - + start_resource: 25 + num_resource: 4 + type: 21069 + host_id: 13 + reserved: 0 + - + start_resource: 29 + num_resource: 1 + type: 21069 + host_id: 21 + reserved: 0 + - + start_resource: 30 + num_resource: 1 + type: 21069 + host_id: 23 + reserved: 0 + - + start_resource: 31 + num_resource: 1 + type: 21069 + host_id: 25 + reserved: 0 + - + start_resource: 32 + num_resource: 1 + type: 21069 + host_id: 27 + reserved: 0 + - + start_resource: 33 + num_resource: 2 + type: 21069 + host_id: 35 + reserved: 0 + - + start_resource: 35 + num_resource: 1 + type: 21069 + host_id: 37 + reserved: 0 + - + start_resource: 36 + num_resource: 1 + type: 21069 + host_id: 40 + reserved: 0 + - + start_resource: 37 + num_resource: 1 + type: 21069 + host_id: 42 + reserved: 0 + - + start_resource: 38 + num_resource: 1 + type: 21069 + host_id: 45 + reserved: 0 + - + start_resource: 39 + num_resource: 1 + type: 21069 + host_id: 47 + reserved: 0 + - + start_resource: 40 + num_resource: 3 + type: 21069 + host_id: 3 + reserved: 0 + - + start_resource: 43 + num_resource: 2 + type: 21069 + host_id: 5 + reserved: 0 + - + start_resource: 45 + num_resource: 1 + type: 21069 + host_id: 128 + reserved: 0 + - + start_resource: 0 + num_resource: 0 + type: 21071 + host_id: 3 + reserved: 0 + - + start_resource: 0 + num_resource: 2 + type: 21071 + host_id: 3 + reserved: 0 + - + start_resource: 22 + num_resource: 32 + type: 21194 + host_id: 12 + reserved: 0 + - + start_resource: 54 + num_resource: 64 + type: 21194 + host_id: 3 + reserved: 0 + - + start_resource: 118 + num_resource: 4 + type: 21194 + host_id: 5 + reserved: 0 + - + start_resource: 122 + num_resource: 134 + type: 21194 + host_id: 128 + reserved: 0 diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c index 49719f2f553..0f993e644d7 100644 --- a/board/toradex/apalis-imx8/apalis-imx8.c +++ b/board/toradex/apalis-imx8/apalis-imx8.c @@ -291,14 +291,6 @@ int board_init(void) return 0; } -/* - * Board specific reset that is system reset. - */ -void reset_cpu(void) -{ - /* TODO */ -} - #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) int ft_board_setup(void *blob, struct bd_info *bd) { diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c index 6fc8076163c..35657852595 100644 --- a/board/toradex/colibri-imx8x/colibri-imx8x.c +++ b/board/toradex/colibri-imx8x/colibri-imx8x.c @@ -93,15 +93,6 @@ int board_early_init_f(void) return 0; } -#if IS_ENABLED(CONFIG_DM_GPIO) -static void board_gpio_init(void) -{ - /* TODO */ -} -#else -static inline void board_gpio_init(void) {} -#endif - #if IS_ENABLED(CONFIG_FEC_MXC) #include <miiphy.h> @@ -128,8 +119,6 @@ static void select_dt_from_module_version(void) int board_init(void) { - board_gpio_init(); - if (IS_ENABLED(CONFIG_IMX_SNVS_SEC_SC_AUTO)) { int ret = snvs_security_sc_init(); @@ -140,14 +129,6 @@ int board_init(void) return 0; } -/* - * Board specific reset that is system reset. - */ -void reset_cpu(void) -{ - /* TODO */ -} - #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) int ft_board_setup(void *blob, struct bd_info *bd) { diff --git a/board/toradex/verdin-am62/MAINTAINERS b/board/toradex/verdin-am62/MAINTAINERS index 4e75980dbd7..3e30d1d5112 100644 --- a/board/toradex/verdin-am62/MAINTAINERS +++ b/board/toradex/verdin-am62/MAINTAINERS @@ -1,12 +1,8 @@ Verdin AM62 F: arch/arm/dts/k3-am625-verdin-lpddr4-1600MTs.dtsi F: arch/arm/dts/k3-am625-verdin-r5.dts -F: arch/arm/dts/k3-am625-verdin-wifi-dev.dts F: arch/arm/dts/k3-am625-verdin-wifi-dev-binman.dtsi F: arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi -F: arch/arm/dts/k3-am62-verdin-dev.dtsi -F: arch/arm/dts/k3-am62-verdin.dtsi -F: arch/arm/dts/k3-am62-verdin-wifi.dtsi F: board/toradex/verdin-am62/ F: configs/verdin-am62_a53_defconfig F: configs/verdin-am62_r5_defconfig diff --git a/board/toradex/verdin-imx8mm/MAINTAINERS b/board/toradex/verdin-imx8mm/MAINTAINERS index 8217bbcdc0c..d567f0e1097 100644 --- a/board/toradex/verdin-imx8mm/MAINTAINERS +++ b/board/toradex/verdin-imx8mm/MAINTAINERS @@ -2,10 +2,6 @@ Verdin iMX8M Mini M: Marcel Ziswiler <marcel.ziswiler@toradex.com> W: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini S: Maintained -F: arch/arm/dts/imx8mm-verdin.dtsi -F: arch/arm/dts/imx8mm-verdin-dev.dtsi -F: arch/arm/dts/imx8mm-verdin-wifi.dtsi -F: arch/arm/dts/imx8mm-verdin-wifi-dev.dts F: arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi F: board/toradex/verdin-imx8mm/ F: board/toradex/common/ diff --git a/board/toradex/verdin-imx8mp/MAINTAINERS b/board/toradex/verdin-imx8mp/MAINTAINERS index 85d6be88163..9fe76d8e42f 100644 --- a/board/toradex/verdin-imx8mp/MAINTAINERS +++ b/board/toradex/verdin-imx8mp/MAINTAINERS @@ -1,8 +1,4 @@ Verdin iMX8M Plus -F: arch/arm/dts/imx8mp-verdin.dtsi -F: arch/arm/dts/imx8mp-verdin-dev.dtsi -F: arch/arm/dts/imx8mp-verdin-wifi.dtsi -F: arch/arm/dts/imx8mp-verdin-wifi-dev.dts F: arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi F: board/toradex/verdin-imx8mp/ F: board/toradex/common/ diff --git a/board/turing/turing-rk1-rk3588/Kconfig b/board/turing/turing-rk1-rk3588/Kconfig index 4c6cd6af343..0def6e0d7cd 100644 --- a/board/turing/turing-rk1-rk3588/Kconfig +++ b/board/turing/turing-rk1-rk3588/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "turing-rk1-rk3588" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/vamrs/rock960_rk3399/Kconfig b/board/vamrs/rock960_rk3399/Kconfig index cacc53f3780..0c052c6fec4 100644 --- a/board/vamrs/rock960_rk3399/Kconfig +++ b/board/vamrs/rock960_rk3399/Kconfig @@ -9,7 +9,4 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "rock960_rk3399" -config BOARD_SPECIFIC_OPTIONS # dummy - def_bool y - endif diff --git a/board/vamrs/rock960_rk3399/MAINTAINERS b/board/vamrs/rock960_rk3399/MAINTAINERS index 8821672a3ab..f2121b19145 100644 --- a/board/vamrs/rock960_rk3399/MAINTAINERS +++ b/board/vamrs/rock960_rk3399/MAINTAINERS @@ -4,8 +4,10 @@ S: Maintained F: board/vamrs/rock960_rk3399/ F: include/configs/rock960_rk3399.h F: configs/rock960-rk3399_defconfig +F: arch/arm/dts/rk3399-rock960* FICUS EE M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> S: Maintained F: configs/ficus-rk3399_defconfig +F: arch/arm/dts/rk3399-ficus* diff --git a/board/vamrs/rock960_rk3399/Makefile b/board/vamrs/rock960_rk3399/Makefile deleted file mode 100644 index 6c3e475b3a8..00000000000 --- a/board/vamrs/rock960_rk3399/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright (C) 2018 Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> -# - -obj-y += rock960-rk3399.o diff --git a/board/vamrs/rock960_rk3399/rock960-rk3399.c b/board/vamrs/rock960_rk3399/rock960-rk3399.c deleted file mode 100644 index a7fc38d42f8..00000000000 --- a/board/vamrs/rock960_rk3399/rock960-rk3399.c +++ /dev/null @@ -1,28 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2018 Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> - */ - -#include <common.h> -#include <syscon.h> -#include <asm/io.h> -#include <asm/arch-rockchip/clock.h> -#include <asm/arch-rockchip/grf_rk3399.h> -#include <asm/arch-rockchip/hardware.h> -#include <linux/bitops.h> - -#ifdef CONFIG_MISC_INIT_R -int misc_init_r(void) -{ - struct rk3399_grf_regs *grf = - syscon_get_first_range(ROCKCHIP_SYSCON_GRF); - - /** - * Some SSD's to work on rock960 would require explicit - * domain voltage change, so BT565 is in 1.8v domain - */ - rk_setreg(&grf->io_vsel, BIT(0)); - - return 0; -} -#endif diff --git a/board/variscite/imx93_var_som/spl.c b/board/variscite/imx93_var_som/spl.c index 36e17219d63..71f346cf77b 100644 --- a/board/variscite/imx93_var_som/spl.c +++ b/board/variscite/imx93_var_som/spl.c @@ -121,7 +121,7 @@ void board_init_f(ulong dummy) preloader_console_init(); - ret = imx9_probe_mu(NULL, NULL); + ret = imx9_probe_mu(); if (ret) { printf("Fail to init ELE API\n"); } else { diff --git a/board/vscom/baltos/u-boot.lds b/board/vscom/baltos/u-boot.lds deleted file mode 100644 index cb2ee676975..00000000000 --- a/board/vscom/baltos/u-boot.lds +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (c) 2004-2008 Texas Instruments - * - * (C) Copyright 2002 - * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) -SECTIONS -{ - . = 0x00000000; - - . = ALIGN(4); - .text : - { - *(.__image_copy_start) - *(.vectors) - CPUDIR/start.o (.text*) - board/vscom/baltos/built-in.o (.text*) - *(.text*) - } - - . = ALIGN(4); - .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } - - . = ALIGN(4); - .data : { - *(.data*) - } - - . = ALIGN(4); - - . = .; - - . = ALIGN(4); - __u_boot_list : { - KEEP(*(SORT(__u_boot_list*))); - } - - . = ALIGN(4); - - .image_copy_end : - { - *(.__image_copy_end) - } - - .rel_dyn_start : - { - *(.__rel_dyn_start) - } - - .rel.dyn : { - *(.rel*) - } - - .rel_dyn_end : - { - *(.__rel_dyn_end) - } - - .hash : { *(.hash*) } - - .end : - { - *(.__end) - } - - _image_binary_end = .; - - /* - * Deprecated: this MMU section is used by pxa at present but - * should not be used by new boards/CPUs. - */ - . = ALIGN(4096); - .mmutable : { - *(.mmutable) - } - -/* - * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c - * __bss_base and __bss_limit are for linker only (overlay ordering) - */ - - .bss_start __rel_dyn_start (OVERLAY) : { - KEEP(*(.__bss_start)); - __bss_base = .; - } - - .bss __bss_base (OVERLAY) : { - *(.bss*) - . = ALIGN(4); - __bss_limit = .; - } - - .bss_end __bss_limit (OVERLAY) : { - KEEP(*(.__bss_end)); - } - - .dynsym _image_binary_end : { *(.dynsym) } - .dynbss : { *(.dynbss) } - .dynstr : { *(.dynstr*) } - .dynamic : { *(.dynamic*) } - .gnu.hash : { *(.gnu.hash) } - .plt : { *(.plt*) } - .interp : { *(.interp*) } - .gnu : { *(.gnu*) } - .ARM.exidx : { *(.ARM.exidx*) } -} diff --git a/board/xen/xenguest_arm64/xenguest_arm64.c b/board/xen/xenguest_arm64/xenguest_arm64.c index 244070a242d..1d2946f4fde 100644 --- a/board/xen/xenguest_arm64/xenguest_arm64.c +++ b/board/xen/xenguest_arm64/xenguest_arm64.c @@ -31,6 +31,9 @@ DECLARE_GLOBAL_DATA_PTR; +#define GUEST_VIRTIO_MMIO_BASE 0x2000000 +#define GUEST_VIRTIO_MMIO_SIZE 0x100000 + int board_init(void) { return 0; @@ -212,6 +215,15 @@ static int setup_mem_map(void) PTE_BLOCK_INNER_SHARE); i++; + if (CONFIG_IS_ENABLED(VIRTIO_MMIO)) { + xen_mem_map[i].virt = GUEST_VIRTIO_MMIO_BASE; + xen_mem_map[i].phys = GUEST_VIRTIO_MMIO_BASE; + xen_mem_map[i].size = GUEST_VIRTIO_MMIO_SIZE; + xen_mem_map[i].attrs = (PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE); + i++; + } + mem = get_next_memory_node(blob, -1); if (mem < 0) { printf("%s: Missing /memory node\n", __func__); @@ -219,6 +231,11 @@ static int setup_mem_map(void) } for (; i < MAX_MEM_MAP_REGIONS; i++) { + if (CONFIG_IS_ENABLED(VIRTIO_MMIO)) { + ret = fdt_node_check_compatible(blob, mem, "virtio,mmio"); + if (!ret) + continue; + } ret = fdt_get_resource(blob, mem, "reg", reg++, &res); if (ret == -FDT_ERR_NOTFOUND) { reg = 0; diff --git a/board/xilinx/Kconfig b/board/xilinx/Kconfig index 843198fa0da..5c4ad8f1df9 100644 --- a/board/xilinx/Kconfig +++ b/board/xilinx/Kconfig @@ -45,6 +45,7 @@ config XILINX_OF_BOARD_DTB_ADDR default 0x1000 if ARCH_VERSAL || ARCH_VERSAL_NET default 0x8000 if MICROBLAZE default 0x100000 if ARCH_ZYNQ || ARCH_ZYNQMP + default 0x23000000 if TARGET_XILINX_MBV depends on OF_BOARD || OF_SEPARATE help Offset in the memory where the board configuration DTB is placed. diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c index 9641ed307b7..b47d2d23f91 100644 --- a/board/xilinx/common/board.c +++ b/board/xilinx/common/board.c @@ -12,6 +12,7 @@ #include <env.h> #include <image.h> #include <init.h> +#include <jffs2/load_kernel.h> #include <lmb.h> #include <log.h> #include <asm/global_data.h> @@ -20,6 +21,7 @@ #include <i2c.h> #include <linux/sizes.h> #include <malloc.h> +#include <mtd_node.h> #include "board.h" #include <dm.h> #include <i2c_eeprom.h> @@ -43,7 +45,7 @@ struct efi_fw_image fw_images[] = { .image_index = 1, }, #endif -#if defined(XILINX_UBOOT_IMAGE_GUID) +#if defined(XILINX_UBOOT_IMAGE_GUID) && defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME) { .image_type_id = XILINX_UBOOT_IMAGE_GUID, .fw_name = u"XILINX-UBOOT", @@ -103,10 +105,14 @@ static void xilinx_eeprom_legacy_cleanup(char *eeprom, int size) for (i = 0; i < size; i++) { byte = eeprom[i]; - /* Remove all non printable chars but ignore MAC address */ - if ((i < offsetof(struct xilinx_legacy_format, eth_mac) || - i >= offsetof(struct xilinx_legacy_format, unused1)) && - (byte < '!' || byte > '~')) { + /* Ignore MAC address */ + if (i >= offsetof(struct xilinx_legacy_format, eth_mac) && + i < offsetof(struct xilinx_legacy_format, unused1)) { + continue; + } + + /* Remove all non printable chars */ + if (byte < '!' || byte > '~') { eeprom[i] = 0; continue; } @@ -358,6 +364,14 @@ void *board_fdt_blob_setup(int *err) void *fdt_blob; *err = 0; + + if (IS_ENABLED(CONFIG_TARGET_XILINX_MBV)) { + fdt_blob = (void *)CONFIG_XILINX_OF_BOARD_DTB_ADDR; + + if (fdt_magic(fdt_blob) == FDT_MAGIC) + return fdt_blob; + } + if (!IS_ENABLED(CONFIG_SPL_BUILD) && !IS_ENABLED(CONFIG_VERSAL_NO_DDR) && !IS_ENABLED(CONFIG_ZYNQMP_NO_DDR)) { @@ -693,6 +707,13 @@ int ft_board_setup(void *blob, struct bd_info *bd) u8 buf[MAX_RAND_SIZE]; int nodeoffset, ret; + static const struct node_info nodes[] = { + { "arm,pl353-nand-r2p1", MTD_DEV_TYPE_NAND, }, + }; + + if (IS_ENABLED(CONFIG_FDT_FIXUP_PARTITIONS) && IS_ENABLED(CONFIG_NAND_ZYNQ)) + fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes)); + if (uclass_get_device(UCLASS_RNG, 0, &dev) || !dev) { debug("No RNG device\n"); return 0; diff --git a/board/xilinx/mbv/Kconfig b/board/xilinx/mbv/Kconfig index 4bc9f72c541..a3a6f212577 100644 --- a/board/xilinx/mbv/Kconfig +++ b/board/xilinx/mbv/Kconfig @@ -9,19 +9,26 @@ config SYS_VENDOR config SYS_CPU default "generic" -config SYS_CONFIG_NAME - default "xilinx_mbv" - config TEXT_BASE - default 0x80000000 if !RISCV_SMODE - default 0x80400000 if RISCV_SMODE && ARCH_RV32I + default 0x21200000 + +config SPL_TEXT_BASE + default 0x20000000 + +config SPL_OPENSBI_LOAD_ADDR + hex + default 0x20200000 config BOARD_SPECIFIC_OPTIONS def_bool y select GENERIC_RISCV + select SUPPORT_SPL imply BOARD_LATE_INIT + imply SPL_RAM_SUPPORT + imply SPL_RAM_DEVICE imply CMD_SBI imply CMD_PING + imply OF_HAS_PRIOR_STAGE source "board/xilinx/Kconfig" diff --git a/board/xilinx/mbv/MAINTAINERS b/board/xilinx/mbv/MAINTAINERS index 445654fe740..db9f03388df 100644 --- a/board/xilinx/mbv/MAINTAINERS +++ b/board/xilinx/mbv/MAINTAINERS @@ -4,4 +4,3 @@ S: Maintained F: arch/riscv/dts/xilinx-mbv* F: board/xilinx/mbv/ F: configs/xilinx_mbv* -F: include/configs/xilinx_mbv.h diff --git a/board/xilinx/mbv/board.c b/board/xilinx/mbv/board.c index ccf4395d6ac..c478f7e04a0 100644 --- a/board/xilinx/mbv/board.c +++ b/board/xilinx/mbv/board.c @@ -5,7 +5,17 @@ * Michal Simek <michal.simek@amd.com> */ +#include <spl.h> + int board_init(void) { return 0; } + +#ifdef CONFIG_SPL +u32 spl_boot_device(void) +{ + /* RISC-V QEMU only supports RAM as SPL boot device */ + return BOOT_DEVICE_RAM; +} +#endif diff --git a/board/xilinx/microblaze-generic/Kconfig b/board/xilinx/microblaze-generic/Kconfig index dd5eacef52a..038ff0b6130 100644 --- a/board/xilinx/microblaze-generic/Kconfig +++ b/board/xilinx/microblaze-generic/Kconfig @@ -6,14 +6,6 @@ config SYS_BOARD config SYS_VENDOR default "xilinx" -config SYS_CONFIG_NAME - string "Board configuration name" - default "microblaze-generic" - help - This option contains information about board configuration name. - Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header - will be used for board configuration. - config XILINX_MICROBLAZE0_USE_MSR_INSTR int "USE_MSR_INSTR range (0:1)" default 0 diff --git a/board/xilinx/versal-net/board.c b/board/xilinx/versal-net/board.c index 990ca1650aa..da03024e162 100644 --- a/board/xilinx/versal-net/board.c +++ b/board/xilinx/versal-net/board.c @@ -371,3 +371,35 @@ int dram_init(void) void reset_cpu(void) { } + +#if defined(CONFIG_ENV_IS_NOWHERE) +enum env_location env_get_location(enum env_operation op, int prio) +{ + u8 bootmode = versal_net_get_bootmode(); + + if (prio) + return ENVL_UNKNOWN; + + switch (bootmode) { + case EMMC_MODE: + case SD_MODE: + case SD1_LSHFT_MODE: + case SD_MODE1: + if (IS_ENABLED(CONFIG_ENV_IS_IN_FAT)) + return ENVL_FAT; + if (IS_ENABLED(CONFIG_ENV_IS_IN_EXT4)) + return ENVL_EXT4; + return ENVL_NOWHERE; + case OSPI_MODE: + case QSPI_MODE_24BIT: + case QSPI_MODE_32BIT: + if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH)) + return ENVL_SPI_FLASH; + return ENVL_NOWHERE; + case JTAG_MODE: + case SELECTMAP_MODE: + default: + return ENVL_NOWHERE; + } +} +#endif diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c index 8c2e614ad8a..4f6d56119db 100644 --- a/board/xilinx/versal/board.c +++ b/board/xilinx/versal/board.c @@ -291,6 +291,7 @@ void reset_cpu(void) { } +#if defined(CONFIG_ENV_IS_NOWHERE) enum env_location env_get_location(enum env_operation op, int prio) { u32 bootmode = versal_get_bootmode(); @@ -320,3 +321,4 @@ enum env_location env_get_location(enum env_operation op, int prio) return ENVL_NOWHERE; } } +#endif diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index ba49eb7be22..f370fb7347a 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -588,6 +588,7 @@ int mmc_get_env_dev(void) return bootseq; } +#if defined(CONFIG_ENV_IS_NOWHERE) enum env_location env_get_location(enum env_operation op, int prio) { u32 bootmode = zynqmp_get_bootmode(); @@ -621,11 +622,37 @@ enum env_location env_get_location(enum env_operation op, int prio) return ENVL_NOWHERE; } } +#endif #if defined(CONFIG_SET_DFU_ALT_INFO) #define DFU_ALT_BUF_LEN SZ_1K +static void mtd_found_part(u32 *base, u32 *size) +{ + struct mtd_info *part, *mtd; + + mtd_probe_devices(); + + mtd = get_mtd_device_nm("nor0"); + if (!IS_ERR_OR_NULL(mtd)) { + list_for_each_entry(part, &mtd->partitions, node) { + debug("0x%012llx-0x%012llx : \"%s\"\n", + part->offset, part->offset + part->size, + part->name); + + if (*base >= part->offset && + *base < part->offset + part->size) { + debug("Found my partition: %d/%s\n", + part->index, part->name); + *base = part->offset; + *size = part->size; + break; + } + } + } +} + void set_dfu_alt_info(char *interface, char *devstr) { int multiboot, bootseq = 0, len = 0; @@ -661,21 +688,38 @@ void set_dfu_alt_info(char *interface, char *devstr) len += snprintf(buf + len, DFU_ALT_BUF_LEN, ".bin fat %d 1", bootseq); #if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME) - len += snprintf(buf + len, DFU_ALT_BUF_LEN, ";%s fat %d 1", - CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, bootseq); + if (strlen(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME)) + len += snprintf(buf + len, DFU_ALT_BUF_LEN, + ";%s fat %d 1", + CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, + bootseq); #endif break; case QSPI_MODE_24BIT: case QSPI_MODE_32BIT: - len += snprintf(buf + len, DFU_ALT_BUF_LEN, - "sf 0:0=boot.bin raw %x 0x1500000", - multiboot * SZ_32K); + { + u32 base = multiboot * SZ_32K; + u32 size = 0x1500000; + u32 limit = size; + + mtd_found_part(&base, &limit); + +#if defined(CONFIG_SYS_SPI_U_BOOT_OFFS) + size = limit; + limit = CONFIG_SYS_SPI_U_BOOT_OFFS; +#endif + + len += snprintf(buf + len, DFU_ALT_BUF_LEN, + "sf 0:0=boot.bin raw 0x%x 0x%x", + base, limit); #if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME) && defined(CONFIG_SYS_SPI_U_BOOT_OFFS) - len += snprintf(buf + len, DFU_ALT_BUF_LEN, - ";%s raw 0x%x 0x500000", - CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, - multiboot * SZ_32K + CONFIG_SYS_SPI_U_BOOT_OFFS); + if (strlen(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME)) + len += snprintf(buf + len, DFU_ALT_BUF_LEN, + ";%s raw 0x%x 0x%x", + CONFIG_SPL_FS_LOAD_PAYLOAD_NAME, + base + limit, size - limit); #endif + } break; default: return; diff --git a/board/xilinx/zynqmp/zynqmp_kria.env b/board/xilinx/zynqmp/zynqmp_kria.env index 0f940bd68f8..846eceb0118 100644 --- a/board/xilinx/zynqmp/zynqmp_kria.env +++ b/board/xilinx/zynqmp/zynqmp_kria.env @@ -17,6 +17,7 @@ bootcmd_usb0=devnum=0; run usb_boot bootcmd_usb1=devnum=1; run usb_boot bootcmd_usb2=devnum=2; run usb_boot bootcmd_usb3=devnum=3; run usb_boot +bootcmd_usb4=devnum=4; run usb_boot bootdelay=2 bootfstype=fat bootm_low=0 @@ -44,7 +45,8 @@ usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boo preboot=setenv boot_targets; setenv modeboot; run board_setup # SOM specific boot methods -som_cc_boot=if test ${card1_name} = SCK-KV-G; then setenv boot_targets mmc1 usb0 usb1 usb2 usb3 pxe dhcp && run distro_bootcmd; elif test ${card1_name} = SCK-KR-G; then setenv boot_targets usb0 usb1 usb2 usb3 pxe dhcp && run distro_bootcmd; else test ${card1_name} = SCK-KD-G; setenv boot_targets usb0 usb1 usb2 usb3 pxe dhcp && run distro_bootcmd; fi;" +usb_boot_devices='usb0 usb1 usb2 usb3 usb4' +som_cc_boot=if test ${card1_name} = SCK-KV-G; then setenv boot_targets mmc1 ${usb_boot_devices} pxe dhcp jtag && run distro_bootcmd; elif test ${card1_name} = SCK-KR-G; then setenv boot_targets ${usb_boot_devices} pxe dhcp jtag && run distro_bootcmd; else test ${card1_name} = SCK-KD-G; setenv boot_targets ${usb_boot_devices} pxe dhcp jtag && run distro_bootcmd; fi;" som_mmc_boot=setenv boot_targets mmc0 && run distro_bootcmd k26_starter=SMK-K26-XCL2G |