diff options
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/hab.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/image-container.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx8/cpu.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx8m/soc.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx8ulp/soc.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx9/Kconfig | 13 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx9/scmi/container.cfg | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx9/scmi/imximage.cfg | 5 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx9/scmi/soc.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx9/soc.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/iomux-v3.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/mmc_env.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx3/Kconfig | 33 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx5/clock.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx6/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx6/soc.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx7ulp/soc.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/mxs/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-imx/romapi.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-imx/spl.c | 2 |
20 files changed, 53 insertions, 65 deletions
diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c index 600092389a3..ab5861578e5 100644 --- a/arch/arm/mach-imx/hab.c +++ b/arch/arm/mach-imx/hab.c @@ -74,7 +74,7 @@ static int verify_ivt_header(struct ivt_header *ivt_hdr) #define FSL_SIP_HAB_REPORT_STATUS 0x04 #define FSL_SIP_HAB_FAILSAFE 0x05 #define FSL_SIP_HAB_CHECK_TARGET 0x06 -static volatile gd_t *gd_save; +static gd_t *gd_save; #endif static inline void save_gd(void) diff --git a/arch/arm/mach-imx/image-container.c b/arch/arm/mach-imx/image-container.c index f84e23f4b2a..3a9e6dcf225 100644 --- a/arch/arm/mach-imx/image-container.c +++ b/arch/arm/mach-imx/image-container.c @@ -66,7 +66,7 @@ static bool is_v2x_fw_container(ulong addr) struct boot_img_t *img_entry; phdr = (struct container_hdr *)addr; - if (phdr->tag != 0x87 || phdr->version != 0x0) { + if ((phdr->tag != 0x87 && phdr->tag != 0x82) || phdr->version != 0x0) { debug("Wrong container header\n"); return false; } diff --git a/arch/arm/mach-imx/imx8/cpu.c b/arch/arm/mach-imx/imx8/cpu.c index 37a5473ac7c..0e112af661c 100644 --- a/arch/arm/mach-imx/imx8/cpu.c +++ b/arch/arm/mach-imx/imx8/cpu.c @@ -451,7 +451,7 @@ void get_board_serial(struct tag_serialnr *serialnr) #ifdef CONFIG_ENV_IS_IN_MMC __weak int board_mmc_get_env_dev(int devno) { - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; } int mmc_get_env_dev(void) @@ -473,7 +473,7 @@ int mmc_get_env_dev(void) break; default: /* If not boot from sd/mmc, use default value */ - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; } return board_mmc_get_env_dev(devno); diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c index 3cdb71a2528..1fe083ae94f 100644 --- a/arch/arm/mach-imx/imx8m/soc.c +++ b/arch/arm/mach-imx/imx8m/soc.c @@ -1151,7 +1151,7 @@ int disable_gpu_nodes(void *blob) { static const char * const nodes_path_8mn[] = { "/gpu@38000000", - "/soc@/gpu@38000000" + "/soc@0/gpu@38000000" }; static const char * const nodes_path_8mp[] = { diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index b5dc45296d1..e85cb0dd252 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -56,7 +56,7 @@ int mmc_get_env_dev(void) if (ret != ROM_API_OKAY) { puts("ROMAPI: failure at query_boot_info\n"); - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; } boot_type = boot >> 16; @@ -64,7 +64,7 @@ int mmc_get_env_dev(void) /* If not boot from sd/mmc, use default value */ if (boot_type != BOOT_TYPE_SD && boot_type != BOOT_TYPE_MMC) - return env_get_ulong("mmcdev", 10, CONFIG_SYS_MMC_ENV_DEV); + return env_get_ulong("mmcdev", 10, CONFIG_ENV_MMC_DEVICE_INDEX); return board_mmc_get_env_dev(boot_instance); } @@ -279,7 +279,7 @@ int print_cpuinfo(void) if (!ret) { ret = thermal_get_temp(udev, &temp); if (!ret) - printf("CPU current temperature: %d\n", temp); + printf("CPU current temperature: %dC\n", temp); else debug(" - failed to get CPU current temperature\n"); } else { @@ -806,7 +806,7 @@ int imx8ulp_dm_post_init(void) EVENT_SPY_SIMPLE(EVT_DM_POST_INIT_F, imx8ulp_dm_post_init); #if defined(CONFIG_XPL_BUILD) -__weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) +__weak void __noreturn jump_to_image(struct spl_image_info *spl_image) { debug("image entry point: 0x%lx\n", spl_image->entry_point); diff --git a/arch/arm/mach-imx/imx9/Kconfig b/arch/arm/mach-imx/imx9/Kconfig index e6cafdcd813..4e0e194690b 100644 --- a/arch/arm/mach-imx/imx9/Kconfig +++ b/arch/arm/mach-imx/imx9/Kconfig @@ -22,15 +22,18 @@ config IMX93 config IMX91 bool select IMX9 + select ARCH_MISC_INIT select ARMV8_SPL_EXCEPTION_VECTORS config IMX95 bool + select ARCH_MISC_INIT select ARMV8_SPL_EXCEPTION_VECTORS select IMX9 select DM_MAILBOX select SCMI_FIRMWARE select SPL_IMX_CONTAINER_USE_TRAMPOLINE + select IMX_PQC_SUPPORT config SYS_SOC default "imx9" @@ -43,7 +46,6 @@ config TARGET_IMX91_11X11_EVK bool "imx91_11x11_evk" select OF_BOARD_FIXUP select IMX91 - imply OF_UPSTREAM imply BOOTSTD_FULL imply BOOTSTD_BOOTCOMMAND @@ -64,6 +66,14 @@ config TARGET_IMX93_11X11_EVK imply BOOTSTD_FULL imply BOOTSTD_BOOTCOMMAND +config TARGET_IMX93_FRDM + bool "imx93_frdm" + select OF_BOARD_FIXUP + select IMX93 + select IMX9_LPDDR4X + imply BOOTSTD_FULL + imply BOOTSTD_BOOTCOMMAND + config TARGET_IMX93_VAR_SOM bool "imx93_var_som" select IMX93 @@ -88,6 +98,7 @@ endchoice source "board/freescale/imx91_evk/Kconfig" source "board/freescale/imx93_evk/Kconfig" +source "board/freescale/imx93_frdm/Kconfig" source "board/freescale/imx93_qsb/Kconfig" source "board/phytec/phycore_imx93/Kconfig" source "board/variscite/imx93_var_som/Kconfig" diff --git a/arch/arm/mach-imx/imx9/scmi/container.cfg b/arch/arm/mach-imx/imx9/scmi/container.cfg index 441d9beedd1..b25f3b726c5 100644 --- a/arch/arm/mach-imx/imx9/scmi/container.cfg +++ b/arch/arm/mach-imx/imx9/scmi/container.cfg @@ -3,6 +3,7 @@ * Copyright 2025 NXP */ +CNTR_VERSION 2 BOOT_FROM SD SOC_TYPE IMX9 CONTAINER diff --git a/arch/arm/mach-imx/imx9/scmi/imximage.cfg b/arch/arm/mach-imx/imx9/scmi/imximage.cfg index 6af1c4ba628..c2c92174c1c 100644 --- a/arch/arm/mach-imx/imx9/scmi/imximage.cfg +++ b/arch/arm/mach-imx/imx9/scmi/imximage.cfg @@ -3,13 +3,14 @@ * Copyright 2025 NXP */ +CNTR_VERSION 2 BOOT_FROM SD SOC_TYPE IMX9 -APPEND mx95a0-ahab-container.img +APPEND mx95b0-ahab-container.img CONTAINER +DUMMY_DDR IMAGE OEI m33-oei-ddrfw.bin 0x1ffc0000 HOLD 0x10000 -IMAGE OEI oei-m33-tcm.bin 0x1ffc0000 IMAGE M33 m33_image.bin 0x1ffc0000 IMAGE A55 spl/u-boot-spl.bin 0x20480000 DUMMY_V2X 0x8b000000 diff --git a/arch/arm/mach-imx/imx9/scmi/soc.c b/arch/arm/mach-imx/imx9/scmi/soc.c index d2b0455bff9..13f13ca7d10 100644 --- a/arch/arm/mach-imx/imx9/scmi/soc.c +++ b/arch/arm/mach-imx/imx9/scmi/soc.c @@ -67,7 +67,7 @@ int mmc_get_env_dev(void) u16 boot_type; u8 boot_instance; - volatile gd_t *pgd = gd; + gd_t *pgd = gd; rom_passover_t *rdata; #if IS_ENABLED(CONFIG_XPL_BUILD) @@ -84,7 +84,7 @@ int mmc_get_env_dev(void) ret = scmi_get_rom_data(rdata); if (ret != 0) { puts("SCMI: failure at rom_boot_info\n"); - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; } } boot_type = rdata->boot_dev_type; @@ -95,7 +95,7 @@ int mmc_get_env_dev(void) /* If not boot from sd/mmc, use default value */ if (boot_type != BOOT_TYPE_SD && boot_type != BOOT_TYPE_MMC) - return env_get_ulong("mmcdev", 10, CONFIG_SYS_MMC_ENV_DEV); + return env_get_ulong("mmcdev", 10, CONFIG_ENV_MMC_DEVICE_INDEX); return board_mmc_get_env_dev(boot_instance); } @@ -675,7 +675,7 @@ enum imx9_soc_voltage_mode soc_target_voltage_mode(void) #if IS_ENABLED(CONFIG_SCMI_FIRMWARE) enum boot_device get_boot_device(void) { - volatile gd_t *pgd = gd; + gd_t *pgd = gd; int ret; u16 boot_type; u8 boot_instance; diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c index bb13ca742e3..02db7cc97ba 100644 --- a/arch/arm/mach-imx/imx9/soc.c +++ b/arch/arm/mach-imx/imx9/soc.c @@ -48,8 +48,8 @@ __weak int board_mmc_get_env_dev(int devno) return devno; } -#ifdef CONFIG_SYS_MMC_ENV_DEV -#define IMX9_MMC_ENV_DEV CONFIG_SYS_MMC_ENV_DEV +#ifdef CONFIG_ENV_MMC_DEVICE_INDEX +#define IMX9_MMC_ENV_DEV CONFIG_ENV_MMC_DEVICE_INDEX #else #define IMX9_MMC_ENV_DEV 0 #endif diff --git a/arch/arm/mach-imx/iomux-v3.c b/arch/arm/mach-imx/iomux-v3.c index c134e95ed78..22ffbcaffd9 100644 --- a/arch/arm/mach-imx/iomux-v3.c +++ b/arch/arm/mach-imx/iomux-v3.c @@ -142,6 +142,6 @@ void imx_iomux_gpio_set_direction(unsigned int gpio, void imx_iomux_gpio_get_function(unsigned int gpio, u32 *gpio_state) { *gpio_state = readl(base + (gpio << 2)) & - ((0X07 << PAD_MUX_MODE_SHIFT) | PAD_CTL_OBE_IBE_ENABLE); + ((0x07 << PAD_MUX_MODE_SHIFT) | PAD_CTL_OBE_IBE_ENABLE); } #endif diff --git a/arch/arm/mach-imx/mmc_env.c b/arch/arm/mach-imx/mmc_env.c index 34a7d1706f3..2ec8ddf4d59 100644 --- a/arch/arm/mach-imx/mmc_env.c +++ b/arch/arm/mach-imx/mmc_env.c @@ -10,7 +10,7 @@ __weak int board_mmc_get_env_dev(int devno) { - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; } int mmc_get_env_dev(void) @@ -22,7 +22,7 @@ int mmc_get_env_dev(void) /* If not boot from sd/mmc, use default value */ if ((boot_type != BOOT_TYPE_SD) && (boot_type != BOOT_TYPE_MMC)) - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; return board_mmc_get_env_dev(devno); } diff --git a/arch/arm/mach-imx/mx3/Kconfig b/arch/arm/mach-imx/mx3/Kconfig deleted file mode 100644 index 42bba4822e6..00000000000 --- a/arch/arm/mach-imx/mx3/Kconfig +++ /dev/null @@ -1,33 +0,0 @@ -if ARCH_MX31 - -config MX31 - bool - default y -choice - prompt "MX31 board select" - optional - -config TARGET_MX31PDK - bool "Support the i.MX31 PDK board from Freescale/NXP" - select BOARD_EARLY_INIT_F - select BOARD_LATE_INIT - select SUPPORT_SPL - -endchoice - -config MX31_HCLK_FREQ - int "i.MX31 HCLK frequency" - default 26000000 - help - Frequency in Hz of the high frequency input clock. Typically - 26000000 Hz. - -config MX31_CLK32 - int "i.MX31 CLK32 Frequency" - default 32768 - help - Frequency in Hz of the low frequency input clock. Typically - 32768 or 32000 Hz. - - -endif diff --git a/arch/arm/mach-imx/mx5/clock.c b/arch/arm/mach-imx/mx5/clock.c index 41116e2c6a2..9901f8a7b56 100644 --- a/arch/arm/mach-imx/mx5/clock.c +++ b/arch/arm/mach-imx/mx5/clock.c @@ -10,6 +10,7 @@ #include <log.h> #include <asm/io.h> #include <linux/errno.h> +#include <linux/string.h> #include <asm/arch/imx-regs.h> #include <asm/arch/crm_regs.h> #include <asm/arch/clock.h> diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig index 2f873ed6ddf..3f5e91da204 100644 --- a/arch/arm/mach-imx/mx6/Kconfig +++ b/arch/arm/mach-imx/mx6/Kconfig @@ -63,6 +63,7 @@ config MX6UL config MX6ULL bool "i.MX 6ULL SoC support" + select ARCH_MISC_INIT select ROM_UNIFIED_SECTIONS select SYSCOUNTER_TIMER select SYS_L2CACHE_OFF diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c index d4a61731a67..50521490b35 100644 --- a/arch/arm/mach-imx/mx6/soc.c +++ b/arch/arm/mach-imx/mx6/soc.c @@ -502,7 +502,7 @@ int arch_cpu_init(void) #ifdef CONFIG_ENV_IS_IN_MMC __weak int board_mmc_get_env_dev(int devno) { - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; } static int mmc_get_boot_dev(void) @@ -535,15 +535,15 @@ int mmc_get_env_dev(void) /* If not boot from sd/mmc, use default value */ if (devno < 0) - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; return board_mmc_get_env_dev(devno); } -#ifdef CONFIG_SYS_MMC_ENV_PART +#ifdef CONFIG_ENV_MMC_EMMC_HW_PARTITION __weak int board_mmc_get_env_part(int devno) { - return CONFIG_SYS_MMC_ENV_PART; + return CONFIG_ENV_MMC_EMMC_HW_PARTITION; } uint mmc_get_env_part(struct mmc *mmc) @@ -552,7 +552,7 @@ uint mmc_get_env_part(struct mmc *mmc) /* If not boot from sd/mmc, use default value */ if (devno < 0) - return CONFIG_SYS_MMC_ENV_PART; + return CONFIG_ENV_MMC_EMMC_HW_PARTITION; return board_mmc_get_env_part(devno); } diff --git a/arch/arm/mach-imx/mx7ulp/soc.c b/arch/arm/mach-imx/mx7ulp/soc.c index 61d331e0181..5306e76223f 100644 --- a/arch/arm/mach-imx/mx7ulp/soc.c +++ b/arch/arm/mach-imx/mx7ulp/soc.c @@ -362,7 +362,7 @@ static char *get_reset_cause(char *ret) #ifdef CONFIG_ENV_IS_IN_MMC __weak int board_mmc_get_env_dev(int devno) { - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; } int mmc_get_env_dev(void) @@ -372,7 +372,7 @@ int mmc_get_env_dev(void) /* If not boot from sd/mmc, use default value */ if (get_boot_mode() == LOW_POWER_BOOT) - return CONFIG_SYS_MMC_ENV_DEV; + return CONFIG_ENV_MMC_DEVICE_INDEX; bt1_cfg = readl(CMC1_RBASE + 0x40); devno = (bt1_cfg >> 9) & 0x7; diff --git a/arch/arm/mach-imx/mxs/Kconfig b/arch/arm/mach-imx/mxs/Kconfig index d2e4205c5ce..b134d04b210 100644 --- a/arch/arm/mach-imx/mxs/Kconfig +++ b/arch/arm/mach-imx/mxs/Kconfig @@ -38,6 +38,11 @@ choice prompt "MX28 board select" optional +config TARGET_BTT + bool "Support BTT" + select PL01X_SERIAL + imply OF_UPSTREAM + config TARGET_MX28EVK bool "Support mx28evk" select PL01X_SERIAL @@ -70,6 +75,7 @@ config SPL_MXS_PMU_ENABLE_4P2_LINEAR_REGULATOR from VDD5V) - so the VDD4P2 power source is operational. source "board/freescale/mx28evk/Kconfig" +source "board/liebherr/btt/Kconfig" source "board/liebherr/xea/Kconfig" endif diff --git a/arch/arm/mach-imx/romapi.c b/arch/arm/mach-imx/romapi.c index ff0522c2d11..c6fe4d8858e 100644 --- a/arch/arm/mach-imx/romapi.c +++ b/arch/arm/mach-imx/romapi.c @@ -9,7 +9,7 @@ DECLARE_GLOBAL_DATA_PTR; u32 rom_api_download_image(u8 *dest, u32 offset, u32 size) { u32 xor = (uintptr_t)dest ^ offset ^ size; - volatile gd_t *sgd = gd; + gd_t *sgd = gd; u32 ret; ret = g_rom_api->download_image(dest, offset, size, xor); @@ -21,7 +21,7 @@ u32 rom_api_download_image(u8 *dest, u32 offset, u32 size) u32 rom_api_query_boot_infor(u32 info_type, u32 *info) { u32 xor = info_type ^ (uintptr_t)info; - volatile gd_t *sgd = gd; + gd_t *sgd = gd; u32 ret; ret = g_rom_api->query_boot_infor(info_type, info, xor); @@ -34,7 +34,7 @@ extern struct rom_api *g_rom_api; enum boot_device get_boot_device(void) { - volatile gd_t *pgd = gd; + gd_t *pgd = gd; int ret; u32 boot; u16 boot_type; diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c index bc291dcd129..518d9cb1262 100644 --- a/arch/arm/mach-imx/spl.c +++ b/arch/arm/mach-imx/spl.c @@ -276,7 +276,7 @@ u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device) * +------------+ + CSF_PAD_SIZE */ -__weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) +__weak void __noreturn jump_to_image(struct spl_image_info *spl_image) { typedef void __noreturn (*image_entry_noargs_t)(void); uint32_t offset; |