diff options
Diffstat (limited to 'include')
53 files changed, 57 insertions, 98 deletions
diff --git a/include/bcb.h b/include/bcb.h index 1941d8c28b4..a56b547595a 100644 --- a/include/bcb.h +++ b/include/bcb.h @@ -58,7 +58,8 @@ static inline int bcb_set(enum bcb_field field, const char *value) return -EOPNOTSUPP; } -static inline int bcb_get(enum bcb_field field, char *value_out) +static inline int bcb_get(enum bcb_field field, + char *value_out, size_t value_size) { return -EOPNOTSUPP; } diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h index 983428920fa..87ffa769d15 100644 --- a/include/configs/am43xx_evm.h +++ b/include/configs/am43xx_evm.h @@ -102,8 +102,6 @@ #endif -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs longer aneg time at 1G */ - /* NAND support */ #ifdef CONFIG_MTD_RAW_NAND /* NAND: device related configs */ diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h index 06edde69028..4b4362ccfd8 100644 --- a/include/configs/am57xx_evm.h +++ b/include/configs/am57xx_evm.h @@ -36,7 +36,6 @@ #include <configs/ti_omap5_common.h> /* CPSW Ethernet */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs longer aneg time at 1G */ /* * Default to using SPI for environment, etc. diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h index 0df3917e200..6fd43511ee4 100644 --- a/include/configs/apalis_imx6.h +++ b/include/configs/apalis_imx6.h @@ -22,7 +22,6 @@ #define CFG_SYS_FSL_USDHC_NUM 3 /* Network */ -#define PHY_ANEG_TIMEOUT 15000 /* PHY needs longer aneg time */ /* USB Configs */ /* Host */ diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h index 062d3d87026..7c7ada15bd9 100644 --- a/include/configs/clearfog.h +++ b/include/configs/clearfog.h @@ -26,8 +26,6 @@ * image and environment */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* Keep device tree and initrd in lower memory so the kernel can access them */ #define RELOCATION_LIMITS_ENV_SETTINGS \ "fdt_high=0x10000000\0" \ diff --git a/include/configs/controlcenterdc.h b/include/configs/controlcenterdc.h index 0e922b96644..1ba63b22d59 100644 --- a/include/configs/controlcenterdc.h +++ b/include/configs/controlcenterdc.h @@ -15,8 +15,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* * Environment Configuration */ diff --git a/include/configs/db-88f6720.h b/include/configs/db-88f6720.h index 54de2d0d833..cf00217a9ee 100644 --- a/include/configs/db-88f6720.h +++ b/include/configs/db-88f6720.h @@ -23,8 +23,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* * mv-common.h should be defined after CMD configs since it used them * to enable certain macros diff --git a/include/configs/db-88f6820-amc.h b/include/configs/db-88f6820-amc.h index c4ae397e3e6..b174b0db66a 100644 --- a/include/configs/db-88f6820-amc.h +++ b/include/configs/db-88f6820-amc.h @@ -12,8 +12,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* NAND */ /* Keep device tree and initrd in lower memory so the kernel can access them */ diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h index 2cbe4eb440b..4ac1f3cffd9 100644 --- a/include/configs/db-88f6820-gp.h +++ b/include/configs/db-88f6820-gp.h @@ -15,8 +15,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* Keep device tree and initrd in lower memory so the kernel can access them */ #define CFG_EXTRA_ENV_SETTINGS \ "fdt_high=0x10000000\0" \ diff --git a/include/configs/db-mv784mp-gp.h b/include/configs/db-mv784mp-gp.h index 5c6d7fa1b77..67e62d6f34a 100644 --- a/include/configs/db-mv784mp-gp.h +++ b/include/configs/db-mv784mp-gp.h @@ -19,8 +19,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* NAND */ /* diff --git a/include/configs/ds116.h b/include/configs/ds116.h index 0883ec4d53b..c2326596811 100644 --- a/include/configs/ds116.h +++ b/include/configs/ds116.h @@ -7,8 +7,6 @@ #ifndef _CONFIG_DS116_H #define _CONFIG_DS116_H -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* Keep device tree and initrd in lower memory so the kernel can access them */ #define RELOCATION_LIMITS_ENV_SETTINGS \ "fdt_high=0x10000000\0" \ diff --git a/include/configs/ds414.h b/include/configs/ds414.h index 9446acba792..f1921dac5e7 100644 --- a/include/configs/ds414.h +++ b/include/configs/ds414.h @@ -55,6 +55,5 @@ /* increase autoneg timeout, my NIC sucks */ -#define PHY_ANEG_TIMEOUT 16000 #endif /* _CONFIG_SYNOLOGY_DS414_H */ diff --git a/include/configs/helios4.h b/include/configs/helios4.h index 7d81d1cf1e4..a3b6335a541 100644 --- a/include/configs/helios4.h +++ b/include/configs/helios4.h @@ -26,8 +26,6 @@ * image and environment */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* Keep device tree and initrd in lower memory so the kernel can access them */ #define RELOCATION_LIMITS_ENV_SETTINGS \ "fdt_high=0x10000000\0" \ diff --git a/include/configs/hmibsc.h b/include/configs/hmibsc.h index 27404c80fdf..950ec8b190d 100644 --- a/include/configs/hmibsc.h +++ b/include/configs/hmibsc.h @@ -9,7 +9,6 @@ #define __CONFIGS_HMIBSC_H /* PHY needs a longer aneg time */ -#define PHY_ANEG_TIMEOUT 8000 #define CFG_ENV_FLAGS_LIST_STATIC "BOOT_A_LEFT:dw,BOOT_B_LEFT:dw,BOOT_ORDER:sw" diff --git a/include/configs/imx8mm-mx8menlo.h b/include/configs/imx8mm-mx8menlo.h index 5cc60af91e5..7058d632d67 100644 --- a/include/configs/imx8mm-mx8menlo.h +++ b/include/configs/imx8mm-mx8menlo.h @@ -9,7 +9,6 @@ #include <configs/verdin-imx8mm.h> /* PHY needs a longer autoneg timeout */ -#define PHY_ANEG_TIMEOUT 20000 /* Custom initial environment variables */ #undef CFG_EXTRA_ENV_SETTINGS diff --git a/include/configs/imx8mm_data_modul_edm_sbc.h b/include/configs/imx8mm_data_modul_edm_sbc.h index b777fe6073b..9a5e5bd009d 100644 --- a/include/configs/imx8mm_data_modul_edm_sbc.h +++ b/include/configs/imx8mm_data_modul_edm_sbc.h @@ -28,7 +28,6 @@ #define CFG_MXC_UART_BASE UART3_BASE_ADDR /* PHY needs a longer autonegotiation timeout after reset */ -#define PHY_ANEG_TIMEOUT 20000 /* USDHC */ #define CFG_SYS_FSL_USDHC_NUM 2 diff --git a/include/configs/imx8mp_beacon.h b/include/configs/imx8mp_beacon.h index ee0fd07e650..b36dae7c34f 100644 --- a/include/configs/imx8mp_beacon.h +++ b/include/configs/imx8mp_beacon.h @@ -10,10 +10,6 @@ #define CFG_SYS_UBOOT_BASE (QSPI0_AMBA_BASE + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512) -#if defined(CONFIG_CMD_NET) -#define PHY_ANEG_TIMEOUT 20000 -#endif - /* Link Definitions */ #define CFG_SYS_INIT_RAM_ADDR 0x40000000 diff --git a/include/configs/imx8mp_data_modul_edm_sbc.h b/include/configs/imx8mp_data_modul_edm_sbc.h index 8d7954004c2..f953847ce05 100644 --- a/include/configs/imx8mp_data_modul_edm_sbc.h +++ b/include/configs/imx8mp_data_modul_edm_sbc.h @@ -21,7 +21,6 @@ #define CFG_MXC_UART_BASE UART3_BASE_ADDR /* PHY needs a longer autonegotiation timeout after reset */ -#define PHY_ANEG_TIMEOUT 20000 #define FEC_QUIRK_ENET_MAC #define CFG_EXTRA_ENV_SETTINGS \ diff --git a/include/configs/imx8mp_debix_model_a.h b/include/configs/imx8mp_debix_model_a.h index e82e8b16b1d..14b91100947 100644 --- a/include/configs/imx8mp_debix_model_a.h +++ b/include/configs/imx8mp_debix_model_a.h @@ -16,8 +16,6 @@ #if defined(CONFIG_CMD_NET) #define CFG_FEC_MXC_PHYADDR 1 -#define PHY_ANEG_TIMEOUT 20000 - #endif #define BOOT_TARGET_DEVICES(func) \ diff --git a/include/configs/imx8mp_dhcom_pdk2.h b/include/configs/imx8mp_dhcom_pdk2.h index ea32fe11a52..c848fce8bda 100644 --- a/include/configs/imx8mp_dhcom_pdk2.h +++ b/include/configs/imx8mp_dhcom_pdk2.h @@ -21,7 +21,6 @@ #define CFG_MXC_UART_BASE UART1_BASE_ADDR /* PHY needs a longer autonegotiation timeout after reset */ -#define PHY_ANEG_TIMEOUT 20000 #define FEC_QUIRK_ENET_MAC /* USDHC */ diff --git a/include/configs/imx8mp_evk.h b/include/configs/imx8mp_evk.h index 1759318fdd3..71452aa2833 100644 --- a/include/configs/imx8mp_evk.h +++ b/include/configs/imx8mp_evk.h @@ -15,8 +15,6 @@ #if defined(CONFIG_CMD_NET) #define CFG_FEC_MXC_PHYADDR 1 -#define PHY_ANEG_TIMEOUT 20000 - #endif #define BOOT_TARGET_DEVICES(func) \ diff --git a/include/configs/imx8mp_icore_mx8mp.h b/include/configs/imx8mp_icore_mx8mp.h index bbbd91776fe..0a861a107b2 100644 --- a/include/configs/imx8mp_icore_mx8mp.h +++ b/include/configs/imx8mp_icore_mx8mp.h @@ -18,8 +18,6 @@ #define DWC_NET_PHYADDR 1 -#define PHY_ANEG_TIMEOUT 20000 - #endif #define BOOT_TARGET_DEVICES(func) \ diff --git a/include/configs/imx8mp_rsb3720.h b/include/configs/imx8mp_rsb3720.h index e577f60ae72..10a166d781e 100644 --- a/include/configs/imx8mp_rsb3720.h +++ b/include/configs/imx8mp_rsb3720.h @@ -35,8 +35,6 @@ #if defined(CONFIG_CMD_NET) #define CFG_FEC_MXC_PHYADDR 4 -#define PHY_ANEG_TIMEOUT 20000 - #endif #if IS_ENABLED(CONFIG_CMD_MMC) diff --git a/include/configs/imx8ulp_evk.h b/include/configs/imx8ulp_evk.h index d77510e1685..750aef1b597 100644 --- a/include/configs/imx8ulp_evk.h +++ b/include/configs/imx8ulp_evk.h @@ -19,8 +19,6 @@ /* ENET Config */ #if defined(CONFIG_FEC_MXC) -#define PHY_ANEG_TIMEOUT 20000 - #define CFG_FEC_MXC_PHYADDR 1 #endif diff --git a/include/configs/imx93_evk.h b/include/configs/imx93_evk.h index 2705587a015..ce6567e2af6 100644 --- a/include/configs/imx93_evk.h +++ b/include/configs/imx93_evk.h @@ -134,8 +134,4 @@ /* Using ULP WDOG for reset */ #define WDOG_BASE_ADDR WDG3_BASE_ADDR -#if defined(CONFIG_CMD_NET) -#define PHY_ANEG_TIMEOUT 20000 -#endif - #endif diff --git a/include/configs/imx93_var_som.h b/include/configs/imx93_var_som.h index 18a8ee5deed..9dc10aea407 100644 --- a/include/configs/imx93_var_som.h +++ b/include/configs/imx93_var_som.h @@ -41,8 +41,4 @@ /* Using ULP WDOG for reset */ #define WDOG_BASE_ADDR WDG3_BASE_ADDR -#if defined(CONFIG_CMD_NET) -#define PHY_ANEG_TIMEOUT 20000 -#endif - #endif diff --git a/include/configs/k2g_evm.h b/include/configs/k2g_evm.h index 2f25d393a37..ce7bd6652bb 100644 --- a/include/configs/k2g_evm.h +++ b/include/configs/k2g_evm.h @@ -11,7 +11,6 @@ /* Network */ #define CFG_KSNET_CPSW_NUM_PORTS 2 -#define PHY_ANEG_TIMEOUT 10000 /* PHY needs longer aneg time */ #include <configs/ti_armv7_keystone2.h> diff --git a/include/configs/kontron_pitx_imx8m.h b/include/configs/kontron_pitx_imx8m.h index 5cf6b5a6dd4..101c59141f7 100644 --- a/include/configs/kontron_pitx_imx8m.h +++ b/include/configs/kontron_pitx_imx8m.h @@ -26,8 +26,6 @@ #if defined(CONFIG_CMD_NET) #define CFG_FEC_MXC_PHYADDR 0 -#define PHY_ANEG_TIMEOUT 20000 - #endif #define ENV_MEM_LAYOUT_SETTINGS \ diff --git a/include/configs/lion_rk3368.h b/include/configs/lion_rk3368.h index c5b78f9c896..0d29e1ddc73 100644 --- a/include/configs/lion_rk3368.h +++ b/include/configs/lion_rk3368.h @@ -12,6 +12,5 @@ #define DTB_LOAD_ADDR 0x5600000 #define INITRD_LOAD_ADDR 0x5bf0000 /* PHY needs longer aneg time at 1G */ -#define PHY_ANEG_TIMEOUT 8000 #endif diff --git a/include/configs/maxbcm.h b/include/configs/maxbcm.h index 413597e09b2..4c2b538f888 100644 --- a/include/configs/maxbcm.h +++ b/include/configs/maxbcm.h @@ -25,8 +25,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* * mv-common.h should be defined after CMD configs since it used them * to enable certain macros diff --git a/include/configs/msc_sm2s_imx8mp.h b/include/configs/msc_sm2s_imx8mp.h index 3c7d96cb3c0..1325859b039 100644 --- a/include/configs/msc_sm2s_imx8mp.h +++ b/include/configs/msc_sm2s_imx8mp.h @@ -18,7 +18,6 @@ #if defined(CONFIG_CMD_NET) #define CFG_FEC_MXC_PHYADDR 1 -#define PHY_ANEG_TIMEOUT 20000 #endif #ifndef CONFIG_SPL_BUILD diff --git a/include/configs/n2350.h b/include/configs/n2350.h index d8a9814d3e8..f98b9f8582d 100644 --- a/include/configs/n2350.h +++ b/include/configs/n2350.h @@ -7,8 +7,6 @@ #ifndef _CONFIG_N2350_H #define _CONFIG_N2350_H -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* Keep device tree and initrd in lower memory so the kernel can access them */ #define RELOCATION_LIMITS_ENV_SETTINGS \ "fdt_high=0x10000000\0" \ diff --git a/include/configs/octeon_ebb7304.h b/include/configs/octeon_ebb7304.h index 5479bdedee5..7d99fd1b019 100644 --- a/include/configs/octeon_ebb7304.h +++ b/include/configs/octeon_ebb7304.h @@ -9,6 +9,4 @@ #include "octeon_common.h" -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - #endif /* __CONFIG_H__ */ diff --git a/include/configs/rcar-gen3-common.h b/include/configs/rcar-gen3-common.h index 5f4d5ced78f..3f0831a901c 100644 --- a/include/configs/rcar-gen3-common.h +++ b/include/configs/rcar-gen3-common.h @@ -20,11 +20,7 @@ /* console */ #define CFG_SYS_BAUDRATE_TABLE { 115200, 38400 } -/* PHY needs a longer autoneg timeout */ -#define PHY_ANEG_TIMEOUT 20000 - /* MEMORY */ - #define DRAM_RSV_SIZE 0x08000000 #define CFG_SYS_SDRAM_BASE (0x40000000 + DRAM_RSV_SIZE) #define CFG_SYS_SDRAM_SIZE (0x80000000u - DRAM_RSV_SIZE) diff --git a/include/configs/rcar-gen4-common.h b/include/configs/rcar-gen4-common.h index 3465b4d1821..37a37c013df 100644 --- a/include/configs/rcar-gen4-common.h +++ b/include/configs/rcar-gen4-common.h @@ -21,7 +21,6 @@ #define CFG_MAX_MEM_MAPPED (0x80000000u - DRAM_RSV_SIZE) /* PHY needs a longer autoneg timeout */ -#define PHY_ANEG_TIMEOUT 20000 /* Environment setting */ #define CFG_EXTRA_ENV_SETTINGS \ diff --git a/include/configs/socfpga_sr1500.h b/include/configs/socfpga_sr1500.h index caff0cf2523..aa33cf48140 100644 --- a/include/configs/socfpga_sr1500.h +++ b/include/configs/socfpga_sr1500.h @@ -12,7 +12,6 @@ /* Ethernet on SoC (EMAC) */ /* The PHY is autodetected, so no MII PHY address is needed here */ -#define PHY_ANEG_TIMEOUT 8000 /* The rest of the configuration is shared */ #include <configs/socfpga_common.h> diff --git a/include/configs/stm32mp15_dh_dhsom.h b/include/configs/stm32mp15_dh_dhsom.h index de39b19219d..c1fca8359d2 100644 --- a/include/configs/stm32mp15_dh_dhsom.h +++ b/include/configs/stm32mp15_dh_dhsom.h @@ -9,7 +9,6 @@ #define __CONFIG_STM32MP15_DH_DHSOM_H__ /* PHY needs a longer autoneg timeout */ -#define PHY_ANEG_TIMEOUT 20000 #ifdef CONFIG_SPL_BUILD #define CFG_EXTRA_ENV_SETTINGS \ diff --git a/include/configs/theadorable.h b/include/configs/theadorable.h index 2ce92845f1c..40432c9d6b2 100644 --- a/include/configs/theadorable.h +++ b/include/configs/theadorable.h @@ -32,8 +32,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* Keep device tree and initrd in lower memory so the kernel can access them */ #define CFG_EXTRA_ENV_SETTINGS \ "fdt_high=0x10000000\0" \ diff --git a/include/configs/turris_omnia.h b/include/configs/turris_omnia.h index 47b220ff9ee..302194bc90f 100644 --- a/include/configs/turris_omnia.h +++ b/include/configs/turris_omnia.h @@ -19,8 +19,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* Keep device tree and initrd in lower memory so the kernel can access them */ #define RELOCATION_LIMITS_ENV_SETTINGS \ "fdt_high=0x10000000\0" \ diff --git a/include/configs/x530.h b/include/configs/x530.h index e1678e79e49..982b1292873 100644 --- a/include/configs/x530.h +++ b/include/configs/x530.h @@ -40,8 +40,6 @@ /* Environment in SPI NOR flash */ -#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */ - /* NAND */ #include <asm/arch/config.h> diff --git a/include/configs/xilinx_versal.h b/include/configs/xilinx_versal.h index b634bb1ab70..dc3f41b94a2 100644 --- a/include/configs/xilinx_versal.h +++ b/include/configs/xilinx_versal.h @@ -28,9 +28,6 @@ #endif /* Ethernet driver */ -#if defined(CONFIG_ZYNQ_GEM) -# define PHY_ANEG_TIMEOUT 20000 -#endif #define ENV_MEM_LAYOUT_SETTINGS \ "fdt_addr_r=0x40000000\0" \ diff --git a/include/configs/xilinx_versal_net.h b/include/configs/xilinx_versal_net.h index 9cb6b2bfea3..2a03f4c0c22 100644 --- a/include/configs/xilinx_versal_net.h +++ b/include/configs/xilinx_versal_net.h @@ -42,9 +42,6 @@ #endif /* Ethernet driver */ -#if defined(CONFIG_ZYNQ_GEM) -# define PHY_ANEG_TIMEOUT 20000 -#endif #define ENV_MEM_LAYOUT_SETTINGS \ "fdt_addr_r=0x40000000\0" \ diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h index 5bc117e1900..f76b3c6b163 100644 --- a/include/configs/xilinx_zynqmp.h +++ b/include/configs/xilinx_zynqmp.h @@ -45,9 +45,6 @@ /* Console I/O Buffer Size */ /* Ethernet driver */ -#if defined(CONFIG_ZYNQ_GEM) -# define PHY_ANEG_TIMEOUT 20000 -#endif #define ENV_MEM_LAYOUT_SETTINGS \ "fdt_addr_r=0x40000000\0" \ diff --git a/include/dm/devres.h b/include/dm/devres.h index 697534aa5be..27761deb6d1 100644 --- a/include/dm/devres.h +++ b/include/dm/devres.h @@ -266,17 +266,13 @@ static inline void *devm_kzalloc(struct udevice *dev, size_t size, gfp_t gfp) static inline void *devm_kmalloc_array(struct udevice *dev, size_t n, size_t size, gfp_t flags) { - /* TODO: add kmalloc_array() to linux/compat.h */ - if (size != 0 && n > SIZE_MAX / size) - return NULL; - return kmalloc(n * size, flags); + return kmalloc_array(n, size, flags); } static inline void *devm_kcalloc(struct udevice *dev, size_t n, size_t size, gfp_t flags) { - /* TODO: add kcalloc() to linux/compat.h */ - return kmalloc(n * size, flags | __GFP_ZERO); + return kcalloc(n, size, flags); } static inline void devm_kfree(struct udevice *dev, void *ptr) diff --git a/include/eeprom_layout.h b/include/eeprom_layout.h index 730d963ab96..b1d62205958 100644 --- a/include/eeprom_layout.h +++ b/include/eeprom_layout.h @@ -9,6 +9,8 @@ #ifndef _LAYOUT_ #define _LAYOUT_ +#include <eeprom_field.h> + #define RESERVED_FIELDS NULL #define LAYOUT_VERSION_UNRECOGNIZED -1 #define LAYOUT_VERSION_AUTODETECT -2 @@ -24,6 +26,8 @@ struct eeprom_layout { char *new_data); }; +struct eeprom_field *eeprom_layout_find_field(struct eeprom_layout *layout, + char *field_name, bool warn); void eeprom_layout_setup(struct eeprom_layout *layout, unsigned char *buf, unsigned int buf_size, int layout_version); __weak void __eeprom_layout_assign(struct eeprom_layout *layout, diff --git a/include/efi_load_initrd.h b/include/efi_load_initrd.h index be5d5a7acbe..9feafb18c86 100644 --- a/include/efi_load_initrd.h +++ b/include/efi_load_initrd.h @@ -18,7 +18,17 @@ 0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68) extern const efi_guid_t efi_lf2_initrd_guid; -struct efi_initrd_dp { +/** + * struct efi_lo_dp_prefix - separator device path used in load options + * + * We use vendor media device nodes in UEFI load options to separate + * the binary, initrd, and fdt device-paths. This structure contains + * the vendor media device node and an end node. + * + * @vendor: vendor media device node + * @end: end node + */ +struct efi_lo_dp_prefix { struct efi_device_path_vendor vendor; struct efi_device_path end; } __packed; diff --git a/include/efi_loader.h b/include/efi_loader.h index 9600941aa32..6c993e1a694 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -664,6 +664,10 @@ efi_status_t EFIAPI efi_load_image(bool boot_policy, void *source_buffer, efi_uintn_t source_size, efi_handle_t *image_handle); +/* Load image from path */ +efi_status_t efi_load_image_from_path(bool boot_policy, + struct efi_device_path *file_path, + void **buffer, efi_uintn_t *size); /* Start image */ efi_status_t EFIAPI efi_start_image(efi_handle_t image_handle, efi_uintn_t *exit_data_size, @@ -946,7 +950,7 @@ struct efi_device_path *efi_dp_from_lo(struct efi_load_option *lo, const efi_guid_t *guid); struct efi_device_path *efi_dp_concat(const struct efi_device_path *dp1, const struct efi_device_path *dp2, - bool split_end_node); + size_t split_end_node); struct efi_device_path *search_gpt_dp_node(struct efi_device_path *device_path); efi_status_t efi_deserialize_load_option(struct efi_load_option *lo, u8 *data, efi_uintn_t *size); @@ -1185,4 +1189,22 @@ efi_status_t efi_disk_get_device_name(const efi_handle_t handle, char *buf, int */ void efi_add_known_memory(void); +/** + * efi_load_option_dp_join() - join device-paths for load option + * + * @dp: in: binary device-path, out: joined device-path + * @dp_size: size of joined device-path + * @initrd_dp: initrd device-path or NULL + * @fdt_dp: device-tree device-path or NULL + * Return: status_code + */ +efi_status_t efi_load_option_dp_join(struct efi_device_path **dp, + size_t *dp_size, + struct efi_device_path *initrd_dp, + struct efi_device_path *fdt_dp); + +int efi_get_distro_fdt_name(char *fname, int size, int seq); + +void efi_load_distro_fdt(void **fdt, efi_uintn_t *fdt_size); + #endif /* _EFI_LOADER_H */ diff --git a/include/env/ti/k3_dfu.env b/include/env/ti/k3_dfu.env index 201529636cc..b42cf21d986 100644 --- a/include/env/ti/k3_dfu.env +++ b/include/env/ti/k3_dfu.env @@ -9,7 +9,7 @@ dfu_alt_info_mmc= dfu_alt_info_emmc= rawemmc raw 0 0x800000 mmcpart 1; - rootfs part 0 1 mmcpart 0; + rootfs part 0 1; tiboot3.bin.raw raw 0x0 0x400 mmcpart 1; tispl.bin.raw raw 0x400 0x1000 mmcpart 1; u-boot.img.raw raw 0x1400 0x2000 mmcpart 1; diff --git a/include/env/ti/k3_rproc.env b/include/env/ti/k3_rproc.env index 87d9d76eba4..d4f0f1708ca 100644 --- a/include/env/ti/k3_rproc.env +++ b/include/env/ti/k3_rproc.env @@ -13,11 +13,15 @@ rproc_load_and_boot_one= boot_rprocs_mmc= env set rproc_id; env set rproc_fw; + env set secure_suffix; + if test ${secure_rprocs} -eq 1; then + env set secure_suffix -sec; + fi; for i in ${rproc_fw_binaries} ; do if test -z "${rproc_id}" ; then env set rproc_id $i; else - env set rproc_fw $i; + env set rproc_fw $i${secure_suffix}; run rproc_load_and_boot_one; env set rproc_id; env set rproc_fw; diff --git a/include/env/ti/ti_common.env b/include/env/ti/ti_common.env index 02b410c3adc..c5c36421770 100644 --- a/include/env/ti/ti_common.env +++ b/include/env/ti/ti_common.env @@ -12,6 +12,7 @@ bootm_size=0x10000000 boot_fdt=try boot_fit=0 +secure_rprocs=0 addr_fit=0x90000000 name_fit=fitImage update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit} diff --git a/include/extension_board.h b/include/extension_board.h index 87d404c0074..22e4104bc54 100644 --- a/include/extension_board.h +++ b/include/extension_board.h @@ -14,7 +14,7 @@ struct extension { char name[32]; char owner[32]; char version[32]; - char overlay[32]; + char overlay[64]; char other[32]; }; diff --git a/include/image.h b/include/image.h index acffd17e0df..c5b288f62b4 100644 --- a/include/image.h +++ b/include/image.h @@ -1971,6 +1971,13 @@ bool is_android_vendor_boot_image_header(const void *vendor_boot_img); ulong get_abootimg_addr(void); /** + * get_ainit_bootimg_addr() - Get Android init boot image address + * + * Return: Android init boot image address + */ +ulong get_ainit_bootimg_addr(void); + +/** * get_avendor_bootimg_addr() - Get Android vendor boot image address * * Return: Android vendor boot image address diff --git a/include/phy.h b/include/phy.h index 90b7e364101..36785031eeb 100644 --- a/include/phy.h +++ b/include/phy.h @@ -58,11 +58,6 @@ struct udevice; #define PHY_10G_FEATURES (PHY_GBIT_FEATURES | \ SUPPORTED_10000baseT_Full) -#ifndef PHY_ANEG_TIMEOUT -#define PHY_ANEG_TIMEOUT 4000 -#endif - - struct phy_device; #define MDIO_NAME_LEN 32 |