From 1f0106c38ae43b2e64dc2db44d2571494e305b9c Mon Sep 17 00:00:00 2001 From: Francesco Valla Date: Sat, 3 Jan 2026 22:22:12 +0100 Subject: [PATCH 01/22] imx93_frdm: clear and mask TCPC interrupts One of the two on-board PTN5110 TCPC USB Power Delivery controller on the i.MX93 FRDM board shares its interrupt line whith the PCAL6524 power controller (GPIO3-27). Since the PTN5110 starts after POR with the interrupts enabled, this can lead to an interrupt storm on OS startup if only the driver for the PCAL6524 is loaded, because none is servicing (and clearing) the interrupt requests from the PTN5110. Maks and clear all interrupts as part uring board initialization; they can be re-enabled later by a proper OS driver if required. Co-developed-by: Joseph Guo Signed-off-by: Francesco Valla Reviewed-by: Fabio Estevam Tested-by: Thomas Petazzoni Reviewed-by: Peng Fan --- board/freescale/imx93_frdm/imx93_frdm.c | 59 +++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/board/freescale/imx93_frdm/imx93_frdm.c b/board/freescale/imx93_frdm/imx93_frdm.c index c436ac6aa47..cfbcde2e1a5 100644 --- a/board/freescale/imx93_frdm/imx93_frdm.c +++ b/board/freescale/imx93_frdm/imx93_frdm.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -36,6 +37,62 @@ struct efi_capsule_update_info update_info = { }; #endif /* EFI_HAVE_CAPSULE_SUPPORT */ +#define TCPC_ALERT 0x10 +#define TCPC_ALERT_MASK 0x12 +#define TCPC_FAULT_STATUS_MASK 0x15 + +#define TCPC1_I2C_BUS 2 +#define TCPC1_I2C_ADDR 0x50 + +/* + * Mask all interrupts and clear alert status for the PTN5110 TCPC USB Power + * Delivery controller. This is required to avoid an interrupt storm on OS + * startup, since the interrupt line for the PTN5110 is shared also by the + * PCAL6524 I/O expander. + */ +static int clear_pd_alert(void) +{ + struct udevice *bus; + struct udevice *i2c_dev = NULL; + int ret; + u8 buffer_0[2] = {0, 0}; + u8 buffer_1[2] = {0xff, 0xff}; + + ret = uclass_get_device_by_seq(UCLASS_I2C, TCPC1_I2C_BUS, &bus); + if (ret) { + printf("Failed to get I2C bus %d\n", TCPC1_I2C_BUS); + return ret; + } + + ret = dm_i2c_probe(bus, TCPC1_I2C_ADDR, 0, &i2c_dev); + if (ret) { + printf("Can't find USB PD device at 0x%02x\n", TCPC1_I2C_ADDR); + return ret; + } + + /* Mask all alert status*/ + ret = dm_i2c_write(i2c_dev, TCPC_ALERT_MASK, buffer_0, 2); + if (ret) { + printf("%s dm_i2c_write failed: %d\n", __func__, ret); + return ret; + } + + ret = dm_i2c_write(i2c_dev, TCPC_FAULT_STATUS_MASK, buffer_0, 2); + if (ret) { + printf("%s dm_i2c_write failed: %d\n", __func__, ret); + return ret; + } + + /* Clear active alerts */ + ret = dm_i2c_write(i2c_dev, TCPC_ALERT, buffer_1, 2); + if (ret) { + printf("%s dm_i2c_write failed: %d\n", __func__, ret); + return ret; + } + + return 0; +} + int board_early_init_f(void) { return 0; @@ -61,5 +118,7 @@ int board_late_init(void) env_set_ulong("dofastboot", 1); } + clear_pd_alert(); + return 0; } From 4e35201505d27a47e16fb63c78eff97b6c646441 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:46 +0800 Subject: [PATCH 02/22] imx93_evk: Drop UART pad settings With DM_SERIAL and pinctrl driver, the UART pad settings in board code could be dropped. Then drop board_early_init_f(), since it is a dummy function now. While at here, remove WDOG_PAD_CTRL, since no user. Signed-off-by: Peng Fan --- board/freescale/imx93_evk/imx93_evk.c | 16 ---------------- board/freescale/imx93_evk/spl.c | 2 -- configs/imx93_11x11_evk_defconfig | 1 - 3 files changed, 19 deletions(-) diff --git a/board/freescale/imx93_evk/imx93_evk.c b/board/freescale/imx93_evk/imx93_evk.c index d62f94dc418..371b35bf1a6 100644 --- a/board/freescale/imx93_evk/imx93_evk.c +++ b/board/freescale/imx93_evk/imx93_evk.c @@ -11,21 +11,12 @@ #include #include #include -#include #include #include #include DECLARE_GLOBAL_DATA_PTR; -#define UART_PAD_CTRL (PAD_CTL_DSE(6) | PAD_CTL_FSEL2) -#define WDOG_PAD_CTRL (PAD_CTL_DSE(6) | PAD_CTL_ODE | PAD_CTL_PUE | PAD_CTL_PE) - -static iomux_v3_cfg_t const uart_pads[] = { - MX93_PAD_UART1_RXD__LPUART1_RX | MUX_PAD_CTRL(UART_PAD_CTRL), - MX93_PAD_UART1_TXD__LPUART1_TX | MUX_PAD_CTRL(UART_PAD_CTRL), -}; - #if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT) #define IMX_BOOT_IMAGE_GUID \ EFI_GUID(0xbc550d86, 0xda26, 0x4b70, 0xac, 0x05, \ @@ -46,13 +37,6 @@ struct efi_capsule_update_info update_info = { }; #endif /* EFI_HAVE_CAPSULE_SUPPORT */ -int board_early_init_f(void) -{ - imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads)); - - return 0; -} - static int setup_fec(void) { return set_clk_enet(ENET_125MHZ); diff --git a/board/freescale/imx93_evk/spl.c b/board/freescale/imx93_evk/spl.c index 67a10bbb05b..cba8ccdc01e 100644 --- a/board/freescale/imx93_evk/spl.c +++ b/board/freescale/imx93_evk/spl.c @@ -133,8 +133,6 @@ void board_init_f(ulong dummy) arch_cpu_init(); - board_early_init_f(); - spl_early_init(); preloader_console_init(); diff --git a/configs/imx93_11x11_evk_defconfig b/configs/imx93_11x11_evk_defconfig index 7d3463a57ea..a53e5fc1de1 100644 --- a/configs/imx93_11x11_evk_defconfig +++ b/configs/imx93_11x11_evk_defconfig @@ -36,7 +36,6 @@ CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd" CONFIG_DEFAULT_FDT_FILE="imx93-11x11-evk.dtb" CONFIG_SYS_CBSIZE=2048 CONFIG_SYS_PBSIZE=2074 -CONFIG_BOARD_EARLY_INIT_F=y CONFIG_BOARD_LATE_INIT=y CONFIG_SPL_MAX_SIZE=0x26000 CONFIG_SPL_BOARD_INIT=y From d14d944837e49df3a63062b573604404c9b42e84 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:47 +0800 Subject: [PATCH 03/22] imx93_evk: Drop setup_fec The clock settings could be handled by "assigned-clock-rates" through DM clock driver, so drop setup_fec(). board_init() is a dummy function now, so clean it up. Signed-off-by: Peng Fan --- board/freescale/imx93_evk/imx93_evk.c | 15 --------------- configs/imx93_11x11_evk_defconfig | 1 + 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/board/freescale/imx93_evk/imx93_evk.c b/board/freescale/imx93_evk/imx93_evk.c index 371b35bf1a6..64400b584d1 100644 --- a/board/freescale/imx93_evk/imx93_evk.c +++ b/board/freescale/imx93_evk/imx93_evk.c @@ -9,9 +9,7 @@ #include #include #include -#include #include -#include #include #include @@ -37,11 +35,6 @@ struct efi_capsule_update_info update_info = { }; #endif /* EFI_HAVE_CAPSULE_SUPPORT */ -static int setup_fec(void) -{ - return set_clk_enet(ENET_125MHZ); -} - int board_phy_config(struct phy_device *phydev) { if (phydev->drv->config) @@ -50,14 +43,6 @@ int board_phy_config(struct phy_device *phydev) return 0; } -int board_init(void) -{ - if (IS_ENABLED(CONFIG_FEC_MXC)) - setup_fec(); - - return 0; -} - int board_late_init(void) { #if CONFIG_IS_ENABLED(ENV_IS_IN_MMC) || CONFIG_IS_ENABLED(ENV_IS_NOWHERE) diff --git a/configs/imx93_11x11_evk_defconfig b/configs/imx93_11x11_evk_defconfig index a53e5fc1de1..39a7962d7ca 100644 --- a/configs/imx93_11x11_evk_defconfig +++ b/configs/imx93_11x11_evk_defconfig @@ -36,6 +36,7 @@ CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd" CONFIG_DEFAULT_FDT_FILE="imx93-11x11-evk.dtb" CONFIG_SYS_CBSIZE=2048 CONFIG_SYS_PBSIZE=2074 +# CONFIG_BOARD_INIT is not set CONFIG_BOARD_LATE_INIT=y CONFIG_SPL_MAX_SIZE=0x26000 CONFIG_SPL_BOARD_INIT=y From 5afd9e0b21553c4f156327643676cccb45492aa7 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:48 +0800 Subject: [PATCH 04/22] imx93_evk: Drop board_phy_config There is already a weak function in drivers/net/phy/phy.c, which does the same thing. So drop it. Signed-off-by: Peng Fan --- board/freescale/imx93_evk/imx93_evk.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/board/freescale/imx93_evk/imx93_evk.c b/board/freescale/imx93_evk/imx93_evk.c index 64400b584d1..4c58272523a 100644 --- a/board/freescale/imx93_evk/imx93_evk.c +++ b/board/freescale/imx93_evk/imx93_evk.c @@ -6,8 +6,6 @@ #include #include #include -#include -#include #include #include #include @@ -35,14 +33,6 @@ struct efi_capsule_update_info update_info = { }; #endif /* EFI_HAVE_CAPSULE_SUPPORT */ -int board_phy_config(struct phy_device *phydev) -{ - if (phydev->drv->config) - phydev->drv->config(phydev); - - return 0; -} - int board_late_init(void) { #if CONFIG_IS_ENABLED(ENV_IS_IN_MMC) || CONFIG_IS_ENABLED(ENV_IS_NOWHERE) From fd6fee77f9a6f98e6813756d82bb827ce55863dc Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:49 +0800 Subject: [PATCH 05/22] imx93_evk: Drop DECLARE_GLOBAL_DATA_PTR No user of "gd" in this file, drop DECLARE_GLOBAL_DATA_PTR. Signed-off-by: Peng Fan --- board/freescale/imx93_evk/imx93_evk.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/board/freescale/imx93_evk/imx93_evk.c b/board/freescale/imx93_evk/imx93_evk.c index 4c58272523a..0278ef9805f 100644 --- a/board/freescale/imx93_evk/imx93_evk.c +++ b/board/freescale/imx93_evk/imx93_evk.c @@ -6,13 +6,10 @@ #include #include #include -#include #include #include #include -DECLARE_GLOBAL_DATA_PTR; - #if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT) #define IMX_BOOT_IMAGE_GUID \ EFI_GUID(0xbc550d86, 0xda26, 0x4b70, 0xac, 0x05, \ From a427e84aab0d6e1fd1fae795e4e16c92a1ce5160 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:50 +0800 Subject: [PATCH 06/22] imx93_evk: Cleanup headers Drop unused headers and sort them. Signed-off-by: Peng Fan --- board/freescale/imx93_evk/imx93_evk.c | 2 -- board/freescale/imx93_evk/spl.c | 35 +++++++-------------------- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/board/freescale/imx93_evk/imx93_evk.c b/board/freescale/imx93_evk/imx93_evk.c index 0278ef9805f..70b07fa3c6f 100644 --- a/board/freescale/imx93_evk/imx93_evk.c +++ b/board/freescale/imx93_evk/imx93_evk.c @@ -7,8 +7,6 @@ #include #include #include -#include -#include #if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT) #define IMX_BOOT_IMAGE_GUID \ diff --git a/board/freescale/imx93_evk/spl.c b/board/freescale/imx93_evk/spl.c index cba8ccdc01e..2e4de10fdd5 100644 --- a/board/freescale/imx93_evk/spl.c +++ b/board/freescale/imx93_evk/spl.c @@ -3,36 +3,19 @@ * Copyright 2022 NXP */ -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include DECLARE_GLOBAL_DATA_PTR; From 550680a29fae210790467e3f7175733a8bc345ca Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:51 +0800 Subject: [PATCH 07/22] imx93_qsb: Cleanup headers Drop unused headers and sort them. Signed-off-by: Peng Fan --- board/freescale/imx93_qsb/imx93_qsb.c | 2 -- board/freescale/imx93_qsb/spl.c | 35 +++++++-------------------- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/board/freescale/imx93_qsb/imx93_qsb.c b/board/freescale/imx93_qsb/imx93_qsb.c index 503a8667245..9de91758aa7 100644 --- a/board/freescale/imx93_qsb/imx93_qsb.c +++ b/board/freescale/imx93_qsb/imx93_qsb.c @@ -5,8 +5,6 @@ #include #include -#include -#include #include int board_late_init(void) diff --git a/board/freescale/imx93_qsb/spl.c b/board/freescale/imx93_qsb/spl.c index 6d1ab60eda0..7d0f225c9b5 100644 --- a/board/freescale/imx93_qsb/spl.c +++ b/board/freescale/imx93_qsb/spl.c @@ -3,36 +3,19 @@ * Copyright 2024 NXP */ -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include DECLARE_GLOBAL_DATA_PTR; From 270b8f1418a2ee981149fb6fb5effd6a57b86838 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:52 +0800 Subject: [PATCH 08/22] imx91_evk: Cleanup headers Drop unused headers and sort them. Signed-off-by: Peng Fan --- board/freescale/imx91_evk/imx91_evk.c | 2 -- board/freescale/imx91_evk/spl.c | 34 +++++++-------------------- 2 files changed, 9 insertions(+), 27 deletions(-) diff --git a/board/freescale/imx91_evk/imx91_evk.c b/board/freescale/imx91_evk/imx91_evk.c index cbd0a72bf4b..fca2521081b 100644 --- a/board/freescale/imx91_evk/imx91_evk.c +++ b/board/freescale/imx91_evk/imx91_evk.c @@ -5,8 +5,6 @@ #include #include -#include -#include #include int board_late_init(void) diff --git a/board/freescale/imx91_evk/spl.c b/board/freescale/imx91_evk/spl.c index 46bde93fe3b..2aa63a61b74 100644 --- a/board/freescale/imx91_evk/spl.c +++ b/board/freescale/imx91_evk/spl.c @@ -3,35 +3,19 @@ * Copyright 2024 NXP */ -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include DECLARE_GLOBAL_DATA_PTR; From 3e169580cd694af45d15470b618a50dafb05ccf1 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:53 +0800 Subject: [PATCH 09/22] imx94_evk: Sort header files Sort header files following the order: - generic-header - asm/generic-header - asm/arch/ - asm/mach-imx/ Signed-off-by: Peng Fan --- board/freescale/imx94_evk/imx94_evk.c | 6 +++--- board/freescale/imx94_evk/spl.c | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/board/freescale/imx94_evk/imx94_evk.c b/board/freescale/imx94_evk/imx94_evk.c index 28d512ac5f3..588aa7548d4 100644 --- a/board/freescale/imx94_evk/imx94_evk.c +++ b/board/freescale/imx94_evk/imx94_evk.c @@ -3,11 +3,11 @@ * Copyright 2025 NXP */ -#include -#include -#include #include #include +#include +#include +#include int board_early_init_f(void) { diff --git a/board/freescale/imx94_evk/spl.c b/board/freescale/imx94_evk/spl.c index 341b165b3c8..0aa75ea907e 100644 --- a/board/freescale/imx94_evk/spl.c +++ b/board/freescale/imx94_evk/spl.c @@ -3,16 +3,16 @@ * Copyright 2025 NXP */ -#include -#include -#include -#include -#include -#include -#include #include #include #include +#include +#include +#include +#include +#include +#include +#include DECLARE_GLOBAL_DATA_PTR; From d12df78f2a70785e9a5e4289b69ad8c6d24bc9a0 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:54 +0800 Subject: [PATCH 10/22] imx95_evk: Sort header files Sort header files following the order: - generic-header - asm/generic-header - asm/arch/ - asm/mach-imx/ Signed-off-by: Peng Fan --- board/freescale/imx95_evk/imx95_evk.c | 2 +- board/freescale/imx95_evk/spl.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/board/freescale/imx95_evk/imx95_evk.c b/board/freescale/imx95_evk/imx95_evk.c index fe0111be508..ca1d916deab 100644 --- a/board/freescale/imx95_evk/imx95_evk.c +++ b/board/freescale/imx95_evk/imx95_evk.c @@ -3,8 +3,8 @@ * Copyright 2025 NXP */ -#include #include +#include #include int board_early_init_f(void) diff --git a/board/freescale/imx95_evk/spl.c b/board/freescale/imx95_evk/spl.c index 48b47d2aed9..90c7429272b 100644 --- a/board/freescale/imx95_evk/spl.c +++ b/board/freescale/imx95_evk/spl.c @@ -3,15 +3,15 @@ * Copyright 2025 NXP */ +#include +#include +#include +#include #include #include #include #include #include -#include -#include -#include -#include DECLARE_GLOBAL_DATA_PTR; From ab24985b8cd03472352a6178f1aef9d4e8ce54d8 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:55 +0800 Subject: [PATCH 11/22] imx95/4_evk: Add missing header Include asm/global_data.h for using DECLARE_GLOBAL_DATA_PTR. Signed-off-by: Peng Fan --- board/freescale/imx94_evk/spl.c | 1 + board/freescale/imx95_evk/spl.c | 1 + 2 files changed, 2 insertions(+) diff --git a/board/freescale/imx94_evk/spl.c b/board/freescale/imx94_evk/spl.c index 0aa75ea907e..797806a8d4d 100644 --- a/board/freescale/imx94_evk/spl.c +++ b/board/freescale/imx94_evk/spl.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/board/freescale/imx95_evk/spl.c b/board/freescale/imx95_evk/spl.c index 90c7429272b..752d7f916b6 100644 --- a/board/freescale/imx95_evk/spl.c +++ b/board/freescale/imx95_evk/spl.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include From e77d6948f5c2b5fee49b64dbd76bd334219ff963 Mon Sep 17 00:00:00 2001 From: Ye Li Date: Thu, 8 Jan 2026 19:06:56 +0800 Subject: [PATCH 12/22] misc: ele_api: Add Voltage change start and finish APIs On GDET enabled part, need to call voltage change start and finish APIs when adjust the voltage more than 100mv. Otherwise GDET will be triggered and system is reset Reviewed-by: Peng Fan Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/include/asm/mach-imx/ele_api.h | 4 ++ drivers/misc/imx_ele/ele_api.c | 50 +++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/arch/arm/include/asm/mach-imx/ele_api.h b/arch/arm/include/asm/mach-imx/ele_api.h index 64b243dcaaa..4e1afc42bd8 100644 --- a/arch/arm/include/asm/mach-imx/ele_api.h +++ b/arch/arm/include/asm/mach-imx/ele_api.h @@ -14,6 +14,8 @@ #define ELE_PING_REQ (0x01) #define ELE_FW_AUTH_REQ (0x02) #define ELE_RESTART_RST_TIMER_REQ (0x04) +#define ELE_VOLT_CHANGE_START_REQ (0x12) +#define ELE_VOLT_CHANGE_FINISH_REQ (0x13) #define ELE_DUMP_DEBUG_BUFFER_REQ (0x21) #define ELE_OEM_CNTN_AUTH_REQ (0x87) #define ELE_VERIFY_IMAGE_REQ (0x88) @@ -160,4 +162,6 @@ int ele_return_lifecycle_update(ulong signed_msg_blk, u32 *response); int ele_start_rng(void); int ele_write_shadow_fuse(u32 fuse_id, u32 fuse_val, u32 *response); int ele_read_shadow_fuse(u32 fuse_id, u32 *fuse_val, u32 *response); +int ele_volt_change_start_req(void); +int ele_volt_change_finish_req(void); #endif diff --git a/drivers/misc/imx_ele/ele_api.c b/drivers/misc/imx_ele/ele_api.c index 661f70cf870..e7aee0fcef1 100644 --- a/drivers/misc/imx_ele/ele_api.c +++ b/drivers/misc/imx_ele/ele_api.c @@ -794,3 +794,53 @@ int ele_generate_dek_blob(u32 key_id, u32 src_paddr, u32 dst_paddr, u32 max_outp return ret; } + +int ele_volt_change_start_req(void) +{ + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg = {}; + int ret; + + if (!dev) { + printf("ele dev is not initialized\n"); + return -ENODEV; + } + + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; + msg.size = 1; + msg.command = ELE_VOLT_CHANGE_START_REQ; + + ret = misc_call(dev, false, &msg, size, &msg, size); + if (ret) + printf("Error: %s: ret %d, response 0x%x\n", + __func__, ret, msg.data[0]); + + return ret; +} + +int ele_volt_change_finish_req(void) +{ + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg = {}; + int ret; + + if (!dev) { + printf("ele dev is not initialized\n"); + return -ENODEV; + } + + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; + msg.size = 1; + msg.command = ELE_VOLT_CHANGE_FINISH_REQ; + + ret = misc_call(dev, false, &msg, size, &msg, size); + if (ret) + printf("Error: %s: ret %d, response 0x%x\n", + __func__, ret, msg.data[0]); + + return ret; +} From 211fd31c35e07fd7ef06366a1ba8e274428abac0 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:57 +0800 Subject: [PATCH 13/22] imx93_evk: Invoke the ELE voltage APIs when adjust VDD_SOC voltage SPL will adjust VDD_SOC to OD voltage, because some PMIC uses 0.8V as default for VDD_SOC. So need to call the voltage change APIs to avoid ELE Glitch Detection triggered reset. Signed-off-by: Ye Li Signed-off-by: Peng Fan --- board/freescale/imx93_evk/spl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/board/freescale/imx93_evk/spl.c b/board/freescale/imx93_evk/spl.c index 2e4de10fdd5..176d25a74a6 100644 --- a/board/freescale/imx93_evk/spl.c +++ b/board/freescale/imx93_evk/spl.c @@ -85,6 +85,8 @@ int power_init_board(void) printf("PMIC: Over Drive Voltage Mode\n"); } + ele_volt_change_start_req(); + if (val & PCA9450_REG_PWRCTRL_TOFF_DEB) { pmic_reg_write(dev, PCA9450_BUCK1OUT_DVS0, buck_val); pmic_reg_write(dev, PCA9450_BUCK3OUT_DVS0, buck_val); @@ -93,6 +95,8 @@ int power_init_board(void) pmic_reg_write(dev, PCA9450_BUCK3OUT_DVS0, buck_val + 0x4); } + ele_volt_change_finish_req(); + /* set standby voltage to 0.65v */ if (val & PCA9450_REG_PWRCTRL_TOFF_DEB) pmic_reg_write(dev, PCA9450_BUCK1OUT_DVS1, 0x0); From 59d12cb7113acbb728e3a6a2c2149bcde704b60e Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 8 Jan 2026 19:06:58 +0800 Subject: [PATCH 14/22] imx93_qsb: Invoke the ELE voltage APIs when adjust VDD_SOC voltage SPL will adjust VDD_SOC to OD voltage, because some PMIC uses 0.8V as default for VDD_SOC. So need to call the voltage change APIs to avoid ELE Glitch Detection triggered reset. Signed-off-by: Ye Li Signed-off-by: Peng Fan --- board/freescale/imx93_qsb/spl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/board/freescale/imx93_qsb/spl.c b/board/freescale/imx93_qsb/spl.c index 7d0f225c9b5..9e64714521b 100644 --- a/board/freescale/imx93_qsb/spl.c +++ b/board/freescale/imx93_qsb/spl.c @@ -81,6 +81,8 @@ int power_init_board(void) printf("PMIC: Over Drive Voltage Mode\n"); } + ele_volt_change_start_req(); + if (val & PCA9450_REG_PWRCTRL_TOFF_DEB) { pmic_reg_write(dev, PCA9450_BUCK1OUT_DVS0, buck_val); pmic_reg_write(dev, PCA9450_BUCK3OUT_DVS0, buck_val); @@ -89,6 +91,8 @@ int power_init_board(void) pmic_reg_write(dev, PCA9450_BUCK3OUT_DVS0, buck_val + 0x4); } + ele_volt_change_finish_req(); + /* set standby voltage to 0.65v */ if (val & PCA9450_REG_PWRCTRL_TOFF_DEB) pmic_reg_write(dev, PCA9450_BUCK1OUT_DVS1, 0x0); From 9a030f4c5151056f16f6c2300de7a0ad6f2a812e Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Sat, 10 Jan 2026 21:34:19 +0100 Subject: [PATCH 15/22] ARM: imx: Enable boot from both USB controllers on all i.MX6 DHSOM Enable boot from both USB controller 0 and 1 on all i.MX6 DHSOM. Signed-off-by: Marek Vasut --- include/configs/dh_imx6.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h index d849cb544be..4041e7e424a 100644 --- a/include/configs/dh_imx6.h +++ b/include/configs/dh_imx6.h @@ -54,6 +54,7 @@ func(MMC, mmc, 0) \ func(MMC, mmc, 1) \ func(MMC, mmc, 2) \ + func(USB, usb, 0) \ func(USB, usb, 1) \ func(SATA, sata, 0) \ func(DHCP, dhcp, na) From dfebedc6120556be4889b284bc27362a8a237a00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=2E=20Stani=C4=87?= Date: Mon, 12 Jan 2026 19:12:37 +0100 Subject: [PATCH 16/22] tools: fix format string in tools/imx8image.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit on 32bit systems with musl libc compiler emits warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Wformat=] to fix this use format length modifier 'z' (size_t) instead of 'l' Signed-off-by: Milan P. Stanić Reviewed-by: Tom Rini --- tools/imx8image.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/imx8image.c b/tools/imx8image.c index 3cea536b8e8..84f46bcaf37 100644 --- a/tools/imx8image.c +++ b/tools/imx8image.c @@ -815,7 +815,7 @@ static int get_container_image_start_pos(image_t *image_stack, uint32_t align, u p = calloc(1, size); if (!p) { - fprintf(stderr, "Fail to alloc %lx memory\n", size); + fprintf(stderr, "Fail to alloc %zx memory\n", size); exit(EXIT_FAILURE); } From 5c4000a664b8b3181c656bc9ac6cabb746596897 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Tue, 13 Jan 2026 13:58:23 +0100 Subject: [PATCH 17/22] toradex: common: handle third MAC address for SMARC i.MX95 The toradex_smarc_imx95 board exposes three Ethernet ports. Set the third MAC address equal to the second MAC address. Signed-off-by: Max Krummenacher Reviewed-by: Francesco Dolcini --- board/toradex/common/tdx-common.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c index f01fb369b4b..81f7fa09002 100644 --- a/board/toradex/common/tdx-common.c +++ b/board/toradex/common/tdx-common.c @@ -179,6 +179,18 @@ static int settings_r(void) eth_env_set_enetaddr("eth1addr", ethaddr); } + if (IS_ENABLED(CONFIG_TARGET_TORADEX_SMARC_IMX95) && + !eth_env_get_enetaddr("eth2addr", ethaddr)) { + /* + * Third MAC address is allocated from block + * 0x100000 higher then the first MAC address. + * The same as the default for the secondary MAC. + */ + memcpy(ethaddr, &tdx_eth_addr, 6); + ethaddr[3] += 0x10; + eth_env_set_enetaddr("eth2addr", ethaddr); + } + return 0; } EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r); From 7baffe1911aedaef8b03a0f47198ad4034436f3e Mon Sep 17 00:00:00 2001 From: Paul Gerber Date: Fri, 16 Jan 2026 11:53:35 +0100 Subject: [PATCH 18/22] board: tqma6: improve config settings for TQMa6x/MBa6x - imply DM_I2C / DM_SPI / DM_MMC / DM_GPIO: boot relevant - add BUTTON support - add gpio LED support - enable CMD_TEMPERATURE to get query temperature in console - remove Variants that are Kconfig default - USB ethernet port is not in use by default, remove ethprime Signed-off-by: Paul Gerber Signed-off-by: Markus Niebel Signed-off-by: Max Merchel --- board/tq/tqma6/Kconfig | 4 ++++ configs/tqma6dl_mba6_mmc_defconfig | 7 +++++-- configs/tqma6dl_mba6_spi_defconfig | 7 +++++-- configs/tqma6q_mba6_mmc_defconfig | 7 +++++-- configs/tqma6q_mba6_spi_defconfig | 7 +++++-- configs/tqma6s_mba6_mmc_defconfig | 7 +++++-- configs/tqma6s_mba6_spi_defconfig | 7 +++++-- 7 files changed, 34 insertions(+), 12 deletions(-) diff --git a/board/tq/tqma6/Kconfig b/board/tq/tqma6/Kconfig index 599b3a72f70..5bdaceae204 100644 --- a/board/tq/tqma6/Kconfig +++ b/board/tq/tqma6/Kconfig @@ -79,6 +79,10 @@ config MBA6 select PHY_MICREL_KSZ90X1 select MXC_UART imply OF_UPSTREAM + imply DM_I2C + imply DM_MMC + imply DM_SPI + imply DM_GPIO help Select the MBa6 starterkit. This features a GigE Phy, USB, SD-Card etc. diff --git a/configs/tqma6dl_mba6_mmc_defconfig b/configs/tqma6dl_mba6_mmc_defconfig index e2fd022cc38..ece085c3628 100644 --- a/configs/tqma6dl_mba6_mmc_defconfig +++ b/configs/tqma6dl_mba6_mmc_defconfig @@ -27,6 +27,7 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_SPI=y +CONFIG_CMD_TEMPERATURE=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y @@ -40,12 +41,14 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_MMC=y CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" CONFIG_ARP_TIMEOUT=200 CONFIG_BOUNCE_BUFFER=y +CONFIG_BUTTON=y +CONFIG_BUTTON_GPIO=y CONFIG_I2C_SET_DEFAULT_BUS_NUM=y CONFIG_SYS_I2C_MXC=y +CONFIG_LED=y +CONFIG_LED_GPIO=y CONFIG_SYS_I2C_EEPROM_ADDR=0x50 CONFIG_FSL_USDHC=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/tqma6dl_mba6_spi_defconfig b/configs/tqma6dl_mba6_spi_defconfig index f98775f1ae3..c044cb080b0 100644 --- a/configs/tqma6dl_mba6_spi_defconfig +++ b/configs/tqma6dl_mba6_spi_defconfig @@ -29,6 +29,7 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_SPI=y +CONFIG_CMD_TEMPERATURE=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y @@ -43,12 +44,14 @@ CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_ENV_REDUNDANT=y CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" CONFIG_ARP_TIMEOUT=200 CONFIG_BOUNCE_BUFFER=y +CONFIG_BUTTON=y +CONFIG_BUTTON_GPIO=y CONFIG_I2C_SET_DEFAULT_BUS_NUM=y CONFIG_SYS_I2C_MXC=y +CONFIG_LED=y +CONFIG_LED_GPIO=y CONFIG_SYS_I2C_EEPROM_ADDR=0x50 CONFIG_FSL_USDHC=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/tqma6q_mba6_mmc_defconfig b/configs/tqma6q_mba6_mmc_defconfig index de5a732463f..d5ef9be3a04 100644 --- a/configs/tqma6q_mba6_mmc_defconfig +++ b/configs/tqma6q_mba6_mmc_defconfig @@ -26,6 +26,7 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_SPI=y +CONFIG_CMD_TEMPERATURE=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y @@ -39,12 +40,14 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_MMC=y CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" CONFIG_ARP_TIMEOUT=200 CONFIG_BOUNCE_BUFFER=y +CONFIG_BUTTON=y +CONFIG_BUTTON_GPIO=y CONFIG_I2C_SET_DEFAULT_BUS_NUM=y CONFIG_SYS_I2C_MXC=y +CONFIG_LED=y +CONFIG_LED_GPIO=y CONFIG_SYS_I2C_EEPROM_ADDR=0x50 CONFIG_FSL_USDHC=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/tqma6q_mba6_spi_defconfig b/configs/tqma6q_mba6_spi_defconfig index 291c1f2fa33..09565189c0a 100644 --- a/configs/tqma6q_mba6_spi_defconfig +++ b/configs/tqma6q_mba6_spi_defconfig @@ -29,6 +29,7 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_SPI=y +CONFIG_CMD_TEMPERATURE=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y @@ -43,12 +44,14 @@ CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_ENV_REDUNDANT=y CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" CONFIG_ARP_TIMEOUT=200 CONFIG_BOUNCE_BUFFER=y +CONFIG_BUTTON=y +CONFIG_BUTTON_GPIO=y CONFIG_I2C_SET_DEFAULT_BUS_NUM=y CONFIG_SYS_I2C_MXC=y +CONFIG_LED=y +CONFIG_LED_GPIO=y CONFIG_SYS_I2C_EEPROM_ADDR=0x50 CONFIG_FSL_USDHC=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/tqma6s_mba6_mmc_defconfig b/configs/tqma6s_mba6_mmc_defconfig index 8e6935a3c48..9e7e7a0ecf0 100644 --- a/configs/tqma6s_mba6_mmc_defconfig +++ b/configs/tqma6s_mba6_mmc_defconfig @@ -26,6 +26,7 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_SPI=y +CONFIG_CMD_TEMPERATURE=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y @@ -39,12 +40,14 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_MMC=y CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" CONFIG_ARP_TIMEOUT=200 CONFIG_BOUNCE_BUFFER=y +CONFIG_BUTTON=y +CONFIG_BUTTON_GPIO=y CONFIG_I2C_SET_DEFAULT_BUS_NUM=y CONFIG_SYS_I2C_MXC=y +CONFIG_LED=y +CONFIG_LED_GPIO=y CONFIG_SYS_I2C_EEPROM_ADDR=0x50 CONFIG_FSL_USDHC=y CONFIG_SPI_FLASH_SPANSION=y diff --git a/configs/tqma6s_mba6_spi_defconfig b/configs/tqma6s_mba6_spi_defconfig index 7c499077d0d..61c59fa416c 100644 --- a/configs/tqma6s_mba6_spi_defconfig +++ b/configs/tqma6s_mba6_spi_defconfig @@ -29,6 +29,7 @@ CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_SPI=y +CONFIG_CMD_TEMPERATURE=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y @@ -43,12 +44,14 @@ CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_ENV_REDUNDANT=y CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" CONFIG_ARP_TIMEOUT=200 CONFIG_BOUNCE_BUFFER=y +CONFIG_BUTTON=y +CONFIG_BUTTON_GPIO=y CONFIG_I2C_SET_DEFAULT_BUS_NUM=y CONFIG_SYS_I2C_MXC=y +CONFIG_LED=y +CONFIG_LED_GPIO=y CONFIG_SYS_I2C_EEPROM_ADDR=0x50 CONFIG_FSL_USDHC=y CONFIG_SPI_FLASH_SPANSION=y From 274dec29d0b524671418eeb63e71ee34d94da0d0 Mon Sep 17 00:00:00 2001 From: Max Merchel Date: Fri, 16 Jan 2026 11:53:36 +0100 Subject: [PATCH 19/22] board: tqma6: Kconfig: select default SoM variant based on SoC Defaults for SoM variant should depend on SoC variant. Signed-off-by: Max Merchel --- board/tq/tqma6/Kconfig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/board/tq/tqma6/Kconfig b/board/tq/tqma6/Kconfig index 5bdaceae204..e62228d73d0 100644 --- a/board/tq/tqma6/Kconfig +++ b/board/tq/tqma6/Kconfig @@ -11,7 +11,9 @@ config SYS_CONFIG_NAME choice prompt "TQMa6 SoC variant" - default TQMA6Q + default TQMA6DL if MX6DL + default TQMA6Q if MX6Q + default TQMA6S if MX6S help select the TQMa6 module variant. The variants only differ in the used i.MX6 CPU type and DRAM From aa01f4e863f42aed41498c7b0752ae4ae0f1e78d Mon Sep 17 00:00:00 2001 From: Max Merchel Date: Fri, 16 Jan 2026 11:53:37 +0100 Subject: [PATCH 20/22] configs: tqma6: mba6: add and use defconfigs with general configurations Add a common, MMC and SPI defconfigs with the general configurations and use them in the variant-specific defconfigs. while at it: - set BOOTCOMMAND to mmcboot as it is used on majority of other TQ modules as the default - remove DEFAULT_FDT_FILE - The kernel device tree is set at runtime. - remove CONFIG_CMD_EXT4_WRITE - EXT4 with default features cannot be written from U-Boot. - add CONFIG_FDT_FIXUP_PARTITIONS - This is needed to propagate MTD partition setup via devicetree to linux. Signed-off-by: Paul Gerber Signed-off-by: Markus Niebel Signed-off-by: Max Merchel --- configs/tqma6_mba6_common.defconfig | 78 ++++++++++++++++++++++++++++ configs/tqma6_mba6_mmc.defconfig | 3 ++ configs/tqma6_mba6_spi.defconfig | 6 +++ configs/tqma6dl_mba6_mmc_defconfig | 77 ++------------------------- configs/tqma6dl_mba6_spi_defconfig | 80 ++--------------------------- configs/tqma6q_mba6_mmc_defconfig | 76 ++------------------------- configs/tqma6q_mba6_spi_defconfig | 80 ++--------------------------- configs/tqma6s_mba6_mmc_defconfig | 76 ++------------------------- configs/tqma6s_mba6_spi_defconfig | 80 ++--------------------------- 9 files changed, 105 insertions(+), 451 deletions(-) create mode 100644 configs/tqma6_mba6_common.defconfig create mode 100644 configs/tqma6_mba6_mmc.defconfig create mode 100644 configs/tqma6_mba6_spi.defconfig diff --git a/configs/tqma6_mba6_common.defconfig b/configs/tqma6_mba6_common.defconfig new file mode 100644 index 00000000000..93517474b21 --- /dev/null +++ b/configs/tqma6_mba6_common.defconfig @@ -0,0 +1,78 @@ +CONFIG_ARM=y +CONFIG_ARCH_MX6=y +CONFIG_SYS_MALLOC_LEN=0x202000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_SF_DEFAULT_SPEED=50000000 +CONFIG_ENV_SIZE=0x2000 +CONFIG_TARGET_TQMA6=y +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_SUPPORT_RAW_INITRD=y +CONFIG_BOOTDELAY=3 +CONFIG_OF_BOARD_SETUP=y +CONFIG_FDT_FIXUP_PARTITIONS=y +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="run mmcboot" +CONFIG_SYS_PBSIZE=532 +CONFIG_HUSH_PARSER=y +CONFIG_SYS_MAXARGS=32 +CONFIG_CMD_BOOTZ=y +CONFIG_CRC32_VERIFY=y +CONFIG_CMD_EEPROM=y +CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 +CONFIG_CMD_MD5SUM=y +CONFIG_MD5SUM_VERIFY=y +CONFIG_CMD_GPIO=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_SPI=y +CONFIG_CMD_TEMPERATURE=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_CACHE=y +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y +CONFIG_OF_CONTROL=y +CONFIG_ENV_OVERWRITE=y +CONFIG_ENV_RELOC_GD_ENV_ADDR=y +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +CONFIG_ARP_TIMEOUT=200 +CONFIG_USE_ROOTPATH=y +CONFIG_ROOTPATH="/srv/nfs" +CONFIG_BOUNCE_BUFFER=y +CONFIG_BUTTON=y +CONFIG_BUTTON_GPIO=y +CONFIG_I2C_SET_DEFAULT_BUS_NUM=y +CONFIG_SYS_I2C_MXC=y +CONFIG_LED=y +CONFIG_LED_GPIO=y +CONFIG_SYS_I2C_EEPROM_ADDR=0x50 +CONFIG_SUPPORT_EMMC_BOOT=y +CONFIG_FSL_USDHC=y +CONFIG_SPI_FLASH_SPANSION=y +CONFIG_SPI_FLASH_STMICRO=y +CONFIG_SPI_FLASH_WINBOND=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_PHY_ANEG_TIMEOUT=8000 +CONFIG_DM_MDIO=y +CONFIG_DM_ETH_PHY=y +CONFIG_FEC_MXC=y +CONFIG_RGMII=y +CONFIG_MII=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_IMX6=y +CONFIG_DM_PMIC=y +CONFIG_DM_PMIC_PFUZE100=y +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_PFUZE100=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_REGULATOR_GPIO=y +CONFIG_DM_SERIAL=y +CONFIG_SYSRESET=y +CONFIG_SYSRESET_WATCHDOG=y +CONFIG_DM_THERMAL=y +CONFIG_IMX_THERMAL=y +CONFIG_IMX_WATCHDOG=y diff --git a/configs/tqma6_mba6_mmc.defconfig b/configs/tqma6_mba6_mmc.defconfig new file mode 100644 index 00000000000..a25184378e0 --- /dev/null +++ b/configs/tqma6_mba6_mmc.defconfig @@ -0,0 +1,3 @@ +CONFIG_ENV_OFFSET=0x100000 +CONFIG_ENV_IS_IN_MMC=y +# CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/tqma6_mba6_spi.defconfig b/configs/tqma6_mba6_spi.defconfig new file mode 100644 index 00000000000..5e161b1e16c --- /dev/null +++ b/configs/tqma6_mba6_spi.defconfig @@ -0,0 +1,6 @@ +CONFIG_ENV_OFFSET=0x80000 +CONFIG_ENV_SECT_SIZE=0x10000 +CONFIG_TQMA6X_SPI_BOOT=y +CONFIG_ENV_OFFSET_REDUND=0x90000 +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_ENV_REDUNDANT=y diff --git a/configs/tqma6dl_mba6_mmc_defconfig b/configs/tqma6dl_mba6_mmc_defconfig index ece085c3628..06166cb7da5 100644 --- a/configs/tqma6dl_mba6_mmc_defconfig +++ b/configs/tqma6dl_mba6_mmc_defconfig @@ -1,76 +1,5 @@ -CONFIG_ARM=y -CONFIG_ARCH_MX6=y -CONFIG_SYS_MALLOC_LEN=0x202000 -CONFIG_NR_DRAM_BANKS=1 -CONFIG_SF_DEFAULT_SPEED=50000000 -CONFIG_ENV_SIZE=0x2000 -CONFIG_ENV_OFFSET=0x100000 +#include +#include + CONFIG_MX6DL=y -CONFIG_TARGET_TQMA6=y CONFIG_DEFAULT_DEVICE_TREE="nxp/imx/imx6dl-mba6b" -CONFIG_FIT=y -CONFIG_FIT_VERBOSE=y -CONFIG_SUPPORT_RAW_INITRD=y -CONFIG_BOOTDELAY=3 -CONFIG_OF_BOARD_SETUP=y -CONFIG_USE_BOOTCOMMAND=y -CONFIG_BOOTCOMMAND="run mmcboot; run netboot; run panicboot" -CONFIG_DEFAULT_FDT_FILE="imx6dl-mba6x.dtb" -CONFIG_SYS_PBSIZE=532 -# CONFIG_DISPLAY_BOARDINFO is not set -CONFIG_HUSH_PARSER=y -CONFIG_SYS_MAXARGS=32 -CONFIG_CMD_BOOTZ=y -CONFIG_CMD_EEPROM=y -CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 -CONFIG_CMD_GPIO=y -CONFIG_CMD_I2C=y -CONFIG_CMD_MMC=y -CONFIG_CMD_SPI=y -CONFIG_CMD_TEMPERATURE=y -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y -CONFIG_CMD_CACHE=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_EXT4=y -CONFIG_CMD_EXT4_WRITE=y -CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y -CONFIG_OF_CONTROL=y -CONFIG_ENV_OVERWRITE=y -CONFIG_ENV_IS_IN_MMC=y -CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_BUTTON=y -CONFIG_BUTTON_GPIO=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=y -CONFIG_LED=y -CONFIG_LED_GPIO=y -CONFIG_SYS_I2C_EEPROM_ADDR=0x50 -CONFIG_FSL_USDHC=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y -CONFIG_SPI_FLASH_WINBOND=y -# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set -CONFIG_DM_MDIO=y -CONFIG_DM_ETH_PHY=y -CONFIG_FEC_MXC=y -CONFIG_RGMII=y -CONFIG_MII=y -CONFIG_PINCTRL=y -CONFIG_PINCTRL_IMX6=y -CONFIG_DM_PMIC=y -CONFIG_DM_PMIC_PFUZE100=y -CONFIG_DM_REGULATOR=y -CONFIG_DM_REGULATOR_PFUZE100=y -CONFIG_DM_REGULATOR_FIXED=y -CONFIG_DM_REGULATOR_GPIO=y -CONFIG_DM_SERIAL=y -CONFIG_SYSRESET=y -CONFIG_SYSRESET_WATCHDOG=y -CONFIG_DM_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_IMX_WATCHDOG=y diff --git a/configs/tqma6dl_mba6_spi_defconfig b/configs/tqma6dl_mba6_spi_defconfig index c044cb080b0..f22ea543042 100644 --- a/configs/tqma6dl_mba6_spi_defconfig +++ b/configs/tqma6dl_mba6_spi_defconfig @@ -1,79 +1,5 @@ -CONFIG_ARM=y -CONFIG_ARCH_MX6=y -CONFIG_SYS_MALLOC_LEN=0x202000 -CONFIG_NR_DRAM_BANKS=1 -CONFIG_SF_DEFAULT_SPEED=50000000 -CONFIG_ENV_SIZE=0x2000 -CONFIG_ENV_OFFSET=0x80000 -CONFIG_ENV_SECT_SIZE=0x10000 +#include +#include + CONFIG_MX6DL=y -CONFIG_TARGET_TQMA6=y -CONFIG_TQMA6X_SPI_BOOT=y CONFIG_DEFAULT_DEVICE_TREE="nxp/imx/imx6dl-mba6b" -CONFIG_ENV_OFFSET_REDUND=0x90000 -CONFIG_FIT=y -CONFIG_FIT_VERBOSE=y -CONFIG_SUPPORT_RAW_INITRD=y -CONFIG_BOOTDELAY=3 -CONFIG_OF_BOARD_SETUP=y -CONFIG_USE_BOOTCOMMAND=y -CONFIG_BOOTCOMMAND="sf probe; run mmcboot; run netboot; run panicboot" -CONFIG_DEFAULT_FDT_FILE="imx6dl-mba6x.dtb" -CONFIG_SYS_PBSIZE=532 -CONFIG_HUSH_PARSER=y -CONFIG_SYS_MAXARGS=32 -CONFIG_CMD_BOOTZ=y -CONFIG_CMD_EEPROM=y -CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 -CONFIG_CMD_GPIO=y -CONFIG_CMD_I2C=y -CONFIG_CMD_MMC=y -CONFIG_CMD_SPI=y -CONFIG_CMD_TEMPERATURE=y -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y -CONFIG_CMD_CACHE=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_EXT4=y -CONFIG_CMD_EXT4_WRITE=y -CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y -CONFIG_OF_CONTROL=y -CONFIG_ENV_OVERWRITE=y -CONFIG_ENV_IS_IN_SPI_FLASH=y -CONFIG_ENV_REDUNDANT=y -CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_BUTTON=y -CONFIG_BUTTON_GPIO=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=y -CONFIG_LED=y -CONFIG_LED_GPIO=y -CONFIG_SYS_I2C_EEPROM_ADDR=0x50 -CONFIG_FSL_USDHC=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y -CONFIG_SPI_FLASH_WINBOND=y -# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set -CONFIG_DM_MDIO=y -CONFIG_DM_ETH_PHY=y -CONFIG_FEC_MXC=y -CONFIG_RGMII=y -CONFIG_MII=y -CONFIG_PINCTRL=y -CONFIG_PINCTRL_IMX6=y -CONFIG_DM_PMIC=y -CONFIG_DM_PMIC_PFUZE100=y -CONFIG_DM_REGULATOR=y -CONFIG_DM_REGULATOR_PFUZE100=y -CONFIG_DM_REGULATOR_FIXED=y -CONFIG_DM_REGULATOR_GPIO=y -CONFIG_DM_SERIAL=y -CONFIG_SYSRESET=y -CONFIG_SYSRESET_WATCHDOG=y -CONFIG_DM_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_IMX_WATCHDOG=y diff --git a/configs/tqma6q_mba6_mmc_defconfig b/configs/tqma6q_mba6_mmc_defconfig index d5ef9be3a04..2d3fcbccc14 100644 --- a/configs/tqma6q_mba6_mmc_defconfig +++ b/configs/tqma6q_mba6_mmc_defconfig @@ -1,75 +1,5 @@ -CONFIG_ARM=y -CONFIG_ARCH_MX6=y -CONFIG_SYS_MALLOC_LEN=0x202000 -CONFIG_NR_DRAM_BANKS=1 -CONFIG_SF_DEFAULT_SPEED=50000000 -CONFIG_ENV_SIZE=0x2000 -CONFIG_ENV_OFFSET=0x100000 +#include +#include + CONFIG_MX6Q=y -CONFIG_TARGET_TQMA6=y CONFIG_DEFAULT_DEVICE_TREE="nxp/imx/imx6q-mba6b" -CONFIG_FIT=y -CONFIG_FIT_VERBOSE=y -CONFIG_SUPPORT_RAW_INITRD=y -CONFIG_BOOTDELAY=3 -CONFIG_OF_BOARD_SETUP=y -CONFIG_USE_BOOTCOMMAND=y -CONFIG_BOOTCOMMAND="run mmcboot; run netboot; run panicboot" -CONFIG_DEFAULT_FDT_FILE="imx6q-mba6x.dtb" -CONFIG_SYS_PBSIZE=532 -CONFIG_HUSH_PARSER=y -CONFIG_SYS_MAXARGS=32 -CONFIG_CMD_BOOTZ=y -CONFIG_CMD_EEPROM=y -CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 -CONFIG_CMD_GPIO=y -CONFIG_CMD_I2C=y -CONFIG_CMD_MMC=y -CONFIG_CMD_SPI=y -CONFIG_CMD_TEMPERATURE=y -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y -CONFIG_CMD_CACHE=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_EXT4=y -CONFIG_CMD_EXT4_WRITE=y -CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y -CONFIG_OF_CONTROL=y -CONFIG_ENV_OVERWRITE=y -CONFIG_ENV_IS_IN_MMC=y -CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_BUTTON=y -CONFIG_BUTTON_GPIO=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=y -CONFIG_LED=y -CONFIG_LED_GPIO=y -CONFIG_SYS_I2C_EEPROM_ADDR=0x50 -CONFIG_FSL_USDHC=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y -CONFIG_SPI_FLASH_WINBOND=y -# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set -CONFIG_DM_MDIO=y -CONFIG_DM_ETH_PHY=y -CONFIG_FEC_MXC=y -CONFIG_RGMII=y -CONFIG_MII=y -CONFIG_PINCTRL=y -CONFIG_PINCTRL_IMX6=y -CONFIG_DM_PMIC=y -CONFIG_DM_PMIC_PFUZE100=y -CONFIG_DM_REGULATOR=y -CONFIG_DM_REGULATOR_PFUZE100=y -CONFIG_DM_REGULATOR_FIXED=y -CONFIG_DM_REGULATOR_GPIO=y -CONFIG_DM_SERIAL=y -CONFIG_SYSRESET=y -CONFIG_SYSRESET_WATCHDOG=y -CONFIG_DM_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_IMX_WATCHDOG=y diff --git a/configs/tqma6q_mba6_spi_defconfig b/configs/tqma6q_mba6_spi_defconfig index 09565189c0a..5d61d097eec 100644 --- a/configs/tqma6q_mba6_spi_defconfig +++ b/configs/tqma6q_mba6_spi_defconfig @@ -1,79 +1,5 @@ -CONFIG_ARM=y -CONFIG_ARCH_MX6=y -CONFIG_SYS_MALLOC_LEN=0x202000 -CONFIG_NR_DRAM_BANKS=1 -CONFIG_SF_DEFAULT_SPEED=50000000 -CONFIG_ENV_SIZE=0x2000 -CONFIG_ENV_OFFSET=0x80000 -CONFIG_ENV_SECT_SIZE=0x10000 +#include +#include + CONFIG_MX6Q=y -CONFIG_TARGET_TQMA6=y -CONFIG_TQMA6X_SPI_BOOT=y CONFIG_DEFAULT_DEVICE_TREE="nxp/imx/imx6q-mba6b" -CONFIG_ENV_OFFSET_REDUND=0x90000 -CONFIG_FIT=y -CONFIG_FIT_VERBOSE=y -CONFIG_SUPPORT_RAW_INITRD=y -CONFIG_BOOTDELAY=3 -CONFIG_OF_BOARD_SETUP=y -CONFIG_USE_BOOTCOMMAND=y -CONFIG_BOOTCOMMAND="sf probe; run mmcboot; run netboot; run panicboot" -CONFIG_DEFAULT_FDT_FILE="nxp/imx/imx6q-mba6x.dtb" -CONFIG_SYS_PBSIZE=532 -CONFIG_HUSH_PARSER=y -CONFIG_SYS_MAXARGS=32 -CONFIG_CMD_BOOTZ=y -CONFIG_CMD_EEPROM=y -CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 -CONFIG_CMD_GPIO=y -CONFIG_CMD_I2C=y -CONFIG_CMD_MMC=y -CONFIG_CMD_SPI=y -CONFIG_CMD_TEMPERATURE=y -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y -CONFIG_CMD_CACHE=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_EXT4=y -CONFIG_CMD_EXT4_WRITE=y -CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y -CONFIG_OF_CONTROL=y -CONFIG_ENV_OVERWRITE=y -CONFIG_ENV_IS_IN_SPI_FLASH=y -CONFIG_ENV_REDUNDANT=y -CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_BUTTON=y -CONFIG_BUTTON_GPIO=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=y -CONFIG_LED=y -CONFIG_LED_GPIO=y -CONFIG_SYS_I2C_EEPROM_ADDR=0x50 -CONFIG_FSL_USDHC=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y -CONFIG_SPI_FLASH_WINBOND=y -# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set -CONFIG_DM_MDIO=y -CONFIG_DM_ETH_PHY=y -CONFIG_FEC_MXC=y -CONFIG_RGMII=y -CONFIG_MII=y -CONFIG_PINCTRL=y -CONFIG_PINCTRL_IMX6=y -CONFIG_DM_PMIC=y -CONFIG_DM_PMIC_PFUZE100=y -CONFIG_DM_REGULATOR=y -CONFIG_DM_REGULATOR_PFUZE100=y -CONFIG_DM_REGULATOR_FIXED=y -CONFIG_DM_REGULATOR_GPIO=y -CONFIG_DM_SERIAL=y -CONFIG_SYSRESET=y -CONFIG_SYSRESET_WATCHDOG=y -CONFIG_DM_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_IMX_WATCHDOG=y diff --git a/configs/tqma6s_mba6_mmc_defconfig b/configs/tqma6s_mba6_mmc_defconfig index 9e7e7a0ecf0..323f582e874 100644 --- a/configs/tqma6s_mba6_mmc_defconfig +++ b/configs/tqma6s_mba6_mmc_defconfig @@ -1,75 +1,5 @@ -CONFIG_ARM=y -CONFIG_ARCH_MX6=y -CONFIG_SYS_MALLOC_LEN=0x202000 -CONFIG_NR_DRAM_BANKS=1 -CONFIG_SF_DEFAULT_SPEED=50000000 -CONFIG_ENV_SIZE=0x2000 -CONFIG_ENV_OFFSET=0x100000 +#include +#include + CONFIG_MX6S=y -CONFIG_TARGET_TQMA6=y CONFIG_DEFAULT_DEVICE_TREE="nxp/imx/imx6dl-mba6b" -CONFIG_FIT=y -CONFIG_FIT_VERBOSE=y -CONFIG_SUPPORT_RAW_INITRD=y -CONFIG_BOOTDELAY=3 -CONFIG_OF_BOARD_SETUP=y -CONFIG_USE_BOOTCOMMAND=y -CONFIG_BOOTCOMMAND="run mmcboot; run netboot; run panicboot" -CONFIG_DEFAULT_FDT_FILE="imx6dl-mba6x.dtb" -CONFIG_SYS_PBSIZE=532 -CONFIG_HUSH_PARSER=y -CONFIG_SYS_MAXARGS=32 -CONFIG_CMD_BOOTZ=y -CONFIG_CMD_EEPROM=y -CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 -CONFIG_CMD_GPIO=y -CONFIG_CMD_I2C=y -CONFIG_CMD_MMC=y -CONFIG_CMD_SPI=y -CONFIG_CMD_TEMPERATURE=y -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y -CONFIG_CMD_CACHE=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_EXT4=y -CONFIG_CMD_EXT4_WRITE=y -CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y -CONFIG_OF_CONTROL=y -CONFIG_ENV_OVERWRITE=y -CONFIG_ENV_IS_IN_MMC=y -CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_BUTTON=y -CONFIG_BUTTON_GPIO=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=y -CONFIG_LED=y -CONFIG_LED_GPIO=y -CONFIG_SYS_I2C_EEPROM_ADDR=0x50 -CONFIG_FSL_USDHC=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y -CONFIG_SPI_FLASH_WINBOND=y -# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set -CONFIG_DM_MDIO=y -CONFIG_DM_ETH_PHY=y -CONFIG_FEC_MXC=y -CONFIG_RGMII=y -CONFIG_MII=y -CONFIG_PINCTRL=y -CONFIG_PINCTRL_IMX6=y -CONFIG_DM_PMIC=y -CONFIG_DM_PMIC_PFUZE100=y -CONFIG_DM_REGULATOR=y -CONFIG_DM_REGULATOR_PFUZE100=y -CONFIG_DM_REGULATOR_FIXED=y -CONFIG_DM_REGULATOR_GPIO=y -CONFIG_DM_SERIAL=y -CONFIG_SYSRESET=y -CONFIG_SYSRESET_WATCHDOG=y -CONFIG_DM_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_IMX_WATCHDOG=y diff --git a/configs/tqma6s_mba6_spi_defconfig b/configs/tqma6s_mba6_spi_defconfig index 61c59fa416c..9701d35cfb8 100644 --- a/configs/tqma6s_mba6_spi_defconfig +++ b/configs/tqma6s_mba6_spi_defconfig @@ -1,79 +1,5 @@ -CONFIG_ARM=y -CONFIG_ARCH_MX6=y -CONFIG_SYS_MALLOC_LEN=0x202000 -CONFIG_NR_DRAM_BANKS=1 -CONFIG_SF_DEFAULT_SPEED=50000000 -CONFIG_ENV_SIZE=0x2000 -CONFIG_ENV_OFFSET=0x80000 -CONFIG_ENV_SECT_SIZE=0x10000 +#include +#include + CONFIG_MX6S=y -CONFIG_TARGET_TQMA6=y -CONFIG_TQMA6X_SPI_BOOT=y CONFIG_DEFAULT_DEVICE_TREE="nxp/imx/imx6dl-mba6b" -CONFIG_ENV_OFFSET_REDUND=0x90000 -CONFIG_FIT=y -CONFIG_FIT_VERBOSE=y -CONFIG_SUPPORT_RAW_INITRD=y -CONFIG_BOOTDELAY=3 -CONFIG_OF_BOARD_SETUP=y -CONFIG_USE_BOOTCOMMAND=y -CONFIG_BOOTCOMMAND="sf probe; run mmcboot; run netboot; run panicboot" -CONFIG_DEFAULT_FDT_FILE="imx6dl-mba6x.dtb" -CONFIG_SYS_PBSIZE=532 -CONFIG_HUSH_PARSER=y -CONFIG_SYS_MAXARGS=32 -CONFIG_CMD_BOOTZ=y -CONFIG_CMD_EEPROM=y -CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 -CONFIG_CMD_GPIO=y -CONFIG_CMD_I2C=y -CONFIG_CMD_MMC=y -CONFIG_CMD_SPI=y -CONFIG_CMD_TEMPERATURE=y -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y -CONFIG_CMD_CACHE=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_EXT4=y -CONFIG_CMD_EXT4_WRITE=y -CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y -CONFIG_OF_CONTROL=y -CONFIG_ENV_OVERWRITE=y -CONFIG_ENV_IS_IN_SPI_FLASH=y -CONFIG_ENV_REDUNDANT=y -CONFIG_ENV_RELOC_GD_ENV_ADDR=y -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_BUTTON=y -CONFIG_BUTTON_GPIO=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=y -CONFIG_LED=y -CONFIG_LED_GPIO=y -CONFIG_SYS_I2C_EEPROM_ADDR=0x50 -CONFIG_FSL_USDHC=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y -CONFIG_SPI_FLASH_WINBOND=y -# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set -CONFIG_DM_MDIO=y -CONFIG_DM_ETH_PHY=y -CONFIG_FEC_MXC=y -CONFIG_RGMII=y -CONFIG_MII=y -CONFIG_PINCTRL=y -CONFIG_PINCTRL_IMX6=y -CONFIG_DM_PMIC=y -CONFIG_DM_PMIC_PFUZE100=y -CONFIG_DM_REGULATOR=y -CONFIG_DM_REGULATOR_PFUZE100=y -CONFIG_DM_REGULATOR_FIXED=y -CONFIG_DM_REGULATOR_GPIO=y -CONFIG_DM_SERIAL=y -CONFIG_SYSRESET=y -CONFIG_SYSRESET_WATCHDOG=y -CONFIG_DM_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_IMX_WATCHDOG=y From 8fad0b4018bb333d9a9178472d431cdc7efcfe54 Mon Sep 17 00:00:00 2001 From: Max Merchel Date: Fri, 16 Jan 2026 11:53:38 +0100 Subject: [PATCH 21/22] configs: tqma6: activate CONFIG_CMD_NFS activate CONFIG_CMD_NFS for nfs boot posibility Signed-off-by: Max Merchel --- configs/tqma6_mba6_common.defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/tqma6_mba6_common.defconfig b/configs/tqma6_mba6_common.defconfig index 93517474b21..6865d3b2641 100644 --- a/configs/tqma6_mba6_common.defconfig +++ b/configs/tqma6_mba6_common.defconfig @@ -27,6 +27,7 @@ CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_SPI=y CONFIG_CMD_TEMPERATURE=y +CONFIG_CMD_NFS=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y From e13f2a92491fa050685b5a32ffdd51a8b2c20ee8 Mon Sep 17 00:00:00 2001 From: Markus Niebel Date: Fri, 16 Jan 2026 11:53:39 +0100 Subject: [PATCH 22/22] board: tqma6: update RAM timing to verified settings Rev.0300D Input from TQ-Systems hardware qualification team. Fixes performance issues if ethernet and display are used simultaneously. Signed-off-by: Markus Niebel Signed-off-by: Max Merchel --- board/tq/tqma6/tqma6dl.cfg | 8 ++++---- board/tq/tqma6/tqma6q.cfg | 37 +++++++++++++++++++------------------ board/tq/tqma6/tqma6s.cfg | 25 +++++++++++++------------ 3 files changed, 36 insertions(+), 34 deletions(-) diff --git a/board/tq/tqma6/tqma6dl.cfg b/board/tq/tqma6/tqma6dl.cfg index f7289adb40a..17a3d010517 100644 --- a/board/tq/tqma6/tqma6dl.cfg +++ b/board/tq/tqma6/tqma6dl.cfg @@ -29,7 +29,7 @@ BOOT_FROM spi #include "asm/arch/iomux.h" #include "asm/arch/crm_regs.h" -/* TQMa6DL DDR config Rev. 0100E */ +/* TQMa6DL DDR config Rev. 0300D */ /* IOMUX configuration */ DATA 4, MX6_IOM_GRP_DDR_TYPE, 0x000C0000 DATA 4, MX6_IOM_GRP_DDRPKE, 0x00000000 @@ -38,7 +38,7 @@ DATA 4, MX6_IOM_DRAM_SDCLK_1, 0x00008030 DATA 4, MX6_IOM_DRAM_CAS, 0x00008030 DATA 4, MX6_IOM_DRAM_RAS, 0x00008030 DATA 4, MX6_IOM_GRP_ADDDS, 0x00000030 -DATA 4, MX6_IOM_DRAM_RESET, 0x000C3030 +DATA 4, MX6_IOM_DRAM_RESET, 0x00000030 DATA 4, MX6_IOM_DRAM_SDCKE0, 0x00003000 DATA 4, MX6_IOM_DRAM_SDCKE1, 0x00000000 DATA 4, MX6_IOM_DRAM_SDBA2, 0x00000000 @@ -104,7 +104,7 @@ DATA 4, MX6_MMDC_P0_MDOTC, 0x00333030 DATA 4, MX6_MMDC_P0_MDCFG0, 0x3F435333 DATA 4, MX6_MMDC_P0_MDCFG1, 0xB68E8B63 DATA 4, MX6_MMDC_P0_MDCFG2, 0x01FF00DB -DATA 4, MX6_MMDC_P0_MDMISC, 0x00001740 +DATA 4, MX6_MMDC_P0_MDMISC, 0x00011740 DATA 4, MX6_MMDC_P0_MDSCR, 0x00008000 DATA 4, MX6_MMDC_P0_MDRWD, 0x000026D2 DATA 4, MX6_MMDC_P0_MDOR, 0x00431023 @@ -113,7 +113,7 @@ DATA 4, MX6_MMDC_P0_MDCTL, 0x831A0000 DATA 4, MX6_MMDC_P0_MDSCR, 0x00408032 DATA 4, MX6_MMDC_P0_MDSCR, 0x00008033 DATA 4, MX6_MMDC_P0_MDSCR, 0x00048031 -DATA 4, MX6_MMDC_P0_MDSCR, 0x05208030 +DATA 4, MX6_MMDC_P0_MDSCR, 0x15208030 DATA 4, MX6_MMDC_P0_MDSCR, 0x04008040 DATA 4, MX6_MMDC_P0_MDREF, 0x00007800 DATA 4, MX6_MMDC_P0_MPODTCTRL, 0x00022222 diff --git a/board/tq/tqma6/tqma6q.cfg b/board/tq/tqma6/tqma6q.cfg index ad862535c50..673482b543c 100644 --- a/board/tq/tqma6/tqma6q.cfg +++ b/board/tq/tqma6/tqma6q.cfg @@ -29,7 +29,7 @@ BOOT_FROM spi #include "asm/arch/iomux.h" #include "asm/arch/crm_regs.h" -/* TQMa6Q/D DDR config Rev. 0100B */ +/* TQMa6Q/D DDR config Rev. 0300D */ /* IOMUX configuration */ DATA 4, MX6_IOM_GRP_DDR_TYPE, 0x000C0000 DATA 4, MX6_IOM_GRP_DDRPKE, 0x00000000 @@ -38,7 +38,7 @@ DATA 4, MX6_IOM_DRAM_SDCLK_1, 0x00008030 DATA 4, MX6_IOM_DRAM_CAS, 0x00008030 DATA 4, MX6_IOM_DRAM_RAS, 0x00008030 DATA 4, MX6_IOM_GRP_ADDDS, 0x00000030 -DATA 4, MX6_IOM_DRAM_RESET, 0x00003030 +DATA 4, MX6_IOM_DRAM_RESET, 0x00000030 DATA 4, MX6_IOM_DRAM_SDCKE0, 0x00003000 DATA 4, MX6_IOM_DRAM_SDCKE1, 0x00000000 DATA 4, MX6_IOM_DRAM_SDBA2, 0x00000000 @@ -75,18 +75,18 @@ DATA 4, MX6_IOM_DRAM_DQM7, 0x00000030 /* memory interface calibration values */ DATA 4, MX6_MMDC_P0_MPZQHWCTRL, 0xA1390003 DATA 4, MX6_MMDC_P1_MPZQHWCTRL, 0xA1390003 -DATA 4, MX6_MMDC_P0_MPWLDECTRL0, 0x001B0013 -DATA 4, MX6_MMDC_P0_MPWLDECTRL1, 0x0018001B -DATA 4, MX6_MMDC_P1_MPWLDECTRL0, 0x001B0016 -DATA 4, MX6_MMDC_P1_MPWLDECTRL1, 0x0012001C -DATA 4, MX6_MMDC_P0_MPDGCTRL0, 0x43400350 -DATA 4, MX6_MMDC_P0_MPDGCTRL1, 0x023E032C -DATA 4, MX6_MMDC_P1_MPDGCTRL0, 0x43400348 -DATA 4, MX6_MMDC_P1_MPDGCTRL1, 0x03300304 -DATA 4, MX6_MMDC_P0_MPRDDLCTL, 0x3C323436 -DATA 4, MX6_MMDC_P1_MPRDDLCTL, 0x38383242 -DATA 4, MX6_MMDC_P0_MPWRDLCTL, 0x3E3C4440 -DATA 4, MX6_MMDC_P1_MPWRDLCTL, 0x4236483E +DATA 4, MX6_MMDC_P0_MPWLDECTRL0, 0x00180016 +DATA 4, MX6_MMDC_P0_MPWLDECTRL1, 0x001F0018 +DATA 4, MX6_MMDC_P1_MPWLDECTRL0, 0x00130023 +DATA 4, MX6_MMDC_P1_MPWLDECTRL1, 0x00040018 +DATA 4, MX6_MMDC_P0_MPDGCTRL0, 0x43500364 +DATA 4, MX6_MMDC_P0_MPDGCTRL1, 0x034C0344 +DATA 4, MX6_MMDC_P1_MPDGCTRL0, 0x43580364 +DATA 4, MX6_MMDC_P1_MPDGCTRL1, 0x033C031C +DATA 4, MX6_MMDC_P0_MPRDDLCTL, 0x3C323438 +DATA 4, MX6_MMDC_P1_MPRDDLCTL, 0x383A3040 +DATA 4, MX6_MMDC_P0_MPWRDLCTL, 0x3A3E4440 +DATA 4, MX6_MMDC_P1_MPWRDLCTL, 0x4834483A DATA 4, MX6_MMDC_P0_MPRDDQBY0DL, 0x33333333 DATA 4, MX6_MMDC_P0_MPRDDQBY1DL, 0x33333333 DATA 4, MX6_MMDC_P0_MPRDDQBY2DL, 0x33333333 @@ -104,18 +104,19 @@ DATA 4, MX6_MMDC_P0_MDOTC, 0x09444040 DATA 4, MX6_MMDC_P0_MDCFG0, 0x545A79B4 DATA 4, MX6_MMDC_P0_MDCFG1, 0xDB538F64 DATA 4, MX6_MMDC_P0_MDCFG2, 0x01FF00DB -DATA 4, MX6_MMDC_P0_MDMISC, 0x00001740 +DATA 4, MX6_MMDC_P0_MDMISC, 0x00011740 DATA 4, MX6_MMDC_P0_MDSCR, 0x00008000 DATA 4, MX6_MMDC_P0_MDRWD, 0x000026D2 DATA 4, MX6_MMDC_P0_MDOR, 0x005A1023 DATA 4, MX6_MMDC_P0_MDASP, 0x00000027 DATA 4, MX6_MMDC_P0_MDCTL, 0x831A0000 -DATA 4, MX6_MMDC_P0_MDSCR, 0x00088032 + +DATA 4, MX6_MMDC_P0_MDSCR, 0x00488032 DATA 4, MX6_MMDC_P0_MDSCR, 0x00008033 DATA 4, MX6_MMDC_P0_MDSCR, 0x00048031 -DATA 4, MX6_MMDC_P0_MDSCR, 0x09308030 +DATA 4, MX6_MMDC_P0_MDSCR, 0x19308030 DATA 4, MX6_MMDC_P0_MDSCR, 0x04008040 -DATA 4, MX6_MMDC_P0_MDREF, 0x00005800 +DATA 4, MX6_MMDC_P0_MDREF, 0x00007800 DATA 4, MX6_MMDC_P0_MPODTCTRL, 0x00022222 DATA 4, MX6_MMDC_P1_MPODTCTRL, 0x00022222 DATA 4, MX6_MMDC_P0_MDPDC, 0x00025536 diff --git a/board/tq/tqma6/tqma6s.cfg b/board/tq/tqma6/tqma6s.cfg index e50fe3f57d7..a5057689d64 100644 --- a/board/tq/tqma6/tqma6s.cfg +++ b/board/tq/tqma6/tqma6s.cfg @@ -29,7 +29,7 @@ BOOT_FROM spi #include "asm/arch/iomux.h" #include "asm/arch/crm_regs.h" -/* TQMa6S DDR config Rev. 0100B */ +/* TQMa6S DDR config Rev. 0300D */ /* IOMUX configuration */ DATA 4, MX6_IOM_GRP_DDR_TYPE, 0x000C0000 DATA 4, MX6_IOM_GRP_DDRPKE, 0x00000000 @@ -38,7 +38,7 @@ DATA 4, MX6_IOM_DRAM_SDCLK_1, 0x00008030 DATA 4, MX6_IOM_DRAM_CAS, 0x00008030 DATA 4, MX6_IOM_DRAM_RAS, 0x00008030 DATA 4, MX6_IOM_GRP_ADDDS, 0x00000030 -DATA 4, MX6_IOM_DRAM_RESET, 0x000C3030 +DATA 4, MX6_IOM_DRAM_RESET, 0x00000030 DATA 4, MX6_IOM_DRAM_SDCKE0, 0x00003000 DATA 4, MX6_IOM_DRAM_SDCKE1, 0x00000000 DATA 4, MX6_IOM_DRAM_SDBA2, 0x00000000 @@ -75,17 +75,17 @@ DATA 4, MX6_IOM_DRAM_DQM7, 0x00000000 /* memory interface calibration values */ DATA 4, MX6_MMDC_P0_MPZQHWCTRL, 0xA1390003 DATA 4, MX6_MMDC_P1_MPZQHWCTRL, 0xA1380000 -DATA 4, MX6_MMDC_P0_MPWLDECTRL0, 0x0014000E -DATA 4, MX6_MMDC_P0_MPWLDECTRL1, 0x00120014 +DATA 4, MX6_MMDC_P0_MPWLDECTRL0, 0x004C004A +DATA 4, MX6_MMDC_P0_MPWLDECTRL1, 0x003F0048 DATA 4, MX6_MMDC_P1_MPWLDECTRL0, 0x00000000 DATA 4, MX6_MMDC_P1_MPWLDECTRL1, 0x00000000 -DATA 4, MX6_MMDC_P0_MPDGCTRL0, 0x0240023C -DATA 4, MX6_MMDC_P0_MPDGCTRL1, 0x0228022C +DATA 4, MX6_MMDC_P0_MPDGCTRL0, 0x42440240 +DATA 4, MX6_MMDC_P0_MPDGCTRL1, 0x022C022C DATA 4, MX6_MMDC_P1_MPDGCTRL0, 0x00000000 DATA 4, MX6_MMDC_P1_MPDGCTRL1, 0x00000000 -DATA 4, MX6_MMDC_P0_MPRDDLCTL, 0x4A4A4E4A +DATA 4, MX6_MMDC_P0_MPRDDLCTL, 0x484A504C DATA 4, MX6_MMDC_P1_MPRDDLCTL, 0x00000000 -DATA 4, MX6_MMDC_P0_MPWRDLCTL, 0x36362A32 +DATA 4, MX6_MMDC_P0_MPWRDLCTL, 0x34322832 DATA 4, MX6_MMDC_P1_MPWRDLCTL, 0x00000000 DATA 4, MX6_MMDC_P0_MPRDDQBY0DL, 0x33333333 DATA 4, MX6_MMDC_P0_MPRDDQBY1DL, 0x33333333 @@ -104,18 +104,19 @@ DATA 4, MX6_MMDC_P0_MDOTC, 0x00333030 DATA 4, MX6_MMDC_P0_MDCFG0, 0x3F435333 DATA 4, MX6_MMDC_P0_MDCFG1, 0xB68E8B63 DATA 4, MX6_MMDC_P0_MDCFG2, 0x01FF00DB -DATA 4, MX6_MMDC_P0_MDMISC, 0x00001740 +DATA 4, MX6_MMDC_P0_MDMISC, 0x00011740 DATA 4, MX6_MMDC_P0_MDSCR, 0x00008000 DATA 4, MX6_MMDC_P0_MDRWD, 0x000026D2 DATA 4, MX6_MMDC_P0_MDOR, 0x00431023 DATA 4, MX6_MMDC_P0_MDASP, 0x00000017 DATA 4, MX6_MMDC_P0_MDCTL, 0x83190000 -DATA 4, MX6_MMDC_P0_MDSCR, 0x00008032 + +DATA 4, MX6_MMDC_P0_MDSCR, 0x00408032 DATA 4, MX6_MMDC_P0_MDSCR, 0x00008033 DATA 4, MX6_MMDC_P0_MDSCR, 0x00048031 -DATA 4, MX6_MMDC_P0_MDSCR, 0x05208030 +DATA 4, MX6_MMDC_P0_MDSCR, 0x15208030 DATA 4, MX6_MMDC_P0_MDSCR, 0x04008040 -DATA 4, MX6_MMDC_P0_MDREF, 0x00005800 +DATA 4, MX6_MMDC_P0_MDREF, 0x00007800 DATA 4, MX6_MMDC_P0_MPODTCTRL, 0x00022222 DATA 4, MX6_MMDC_P1_MPODTCTRL, 0x00000000 DATA 4, MX6_MMDC_P0_MDPDC, 0x0002552D