diff options
| author | Tom Rini <[email protected]> | 2026-01-17 22:29:24 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-01-17 22:29:24 -0600 |
| commit | 6b2d05748cf3cd6ba417a96c00602b0122e10af6 (patch) | |
| tree | d9254fc44c249c7416b6dd2830ff5abb3c8771a8 | |
| parent | feb62582bf2e81189dc397a328f3c127dca817c0 (diff) | |
| parent | e13f2a92491fa050685b5a32ffdd51a8b2c20ee8 (diff) | |
Merge tag 'u-boot-imx-master-20260117' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29031
- Fix interrupt storms in Linux on the imx93_frdm board.
- Defconfig update for tqma6 board.
- Miscellaneous cleanups/improvements for imx93_evk.
- Allow booting from both USB controlles on i.MX6 DHSOM.
- Handle third MAC address for SMARC i.MX95
30 files changed, 318 insertions, 603 deletions
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/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 <env.h> #include <init.h> -#include <miiphy.h> -#include <netdev.h> #include <asm/arch/sys_proto.h> 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 <command.h> -#include <cpu_func.h> -#include <hang.h> -#include <image.h> #include <init.h> -#include <log.h> +#include <power/pmic.h> +#include <power/pca9450.h> #include <spl.h> #include <asm/global_data.h> -#include <asm/io.h> -#include <asm/arch/mu.h> -#include <asm/arch/clock.h> -#include <asm/arch/sys_proto.h> -#include <asm/mach-imx/boot_mode.h> -#include <asm/mach-imx/mxc_i2c.h> -#include <asm/arch-mx7ulp/gpio.h> -#include <asm/mach-imx/ele_api.h> -#include <asm/mach-imx/syscounter.h> #include <asm/sections.h> -#include <dm/uclass.h> -#include <dm/device.h> -#include <dm/uclass-internal.h> -#include <dm/device-internal.h> -#include <linux/delay.h> #include <asm/arch/clock.h> -#include <asm/arch/ccm_regs.h> #include <asm/arch/ddr.h> -#include <power/pmic.h> -#include <power/pca9450.h> +#include <asm/arch/mu.h> +#include <asm/arch/sys_proto.h> #include <asm/arch/trdc.h> +#include <asm/mach-imx/boot_mode.h> +#include <asm/mach-imx/ele_api.h> DECLARE_GLOBAL_DATA_PTR; diff --git a/board/freescale/imx93_evk/imx93_evk.c b/board/freescale/imx93_evk/imx93_evk.c index d62f94dc418..70b07fa3c6f 100644 --- a/board/freescale/imx93_evk/imx93_evk.c +++ b/board/freescale/imx93_evk/imx93_evk.c @@ -6,25 +6,7 @@ #include <env.h> #include <efi_loader.h> #include <init.h> -#include <miiphy.h> -#include <netdev.h> -#include <asm/global_data.h> -#include <asm/arch-imx9/ccm_regs.h> #include <asm/arch/sys_proto.h> -#include <asm/arch-imx9/imx93_pins.h> -#include <asm/arch/clock.h> -#include <dm/device.h> -#include <dm/uclass.h> - -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 \ @@ -46,34 +28,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); -} - -int board_phy_config(struct phy_device *phydev) -{ - if (phydev->drv->config) - phydev->drv->config(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/board/freescale/imx93_evk/spl.c b/board/freescale/imx93_evk/spl.c index 67a10bbb05b..176d25a74a6 100644 --- a/board/freescale/imx93_evk/spl.c +++ b/board/freescale/imx93_evk/spl.c @@ -3,36 +3,19 @@ * Copyright 2022 NXP */ -#include <command.h> -#include <cpu_func.h> -#include <hang.h> -#include <image.h> #include <init.h> -#include <log.h> +#include <power/pmic.h> +#include <power/pca9450.h> #include <spl.h> #include <asm/global_data.h> -#include <asm/io.h> -#include <asm/arch/imx93_pins.h> -#include <asm/arch/mu.h> -#include <asm/arch/clock.h> -#include <asm/arch/sys_proto.h> -#include <asm/mach-imx/boot_mode.h> -#include <asm/mach-imx/mxc_i2c.h> -#include <asm/arch-mx7ulp/gpio.h> -#include <asm/mach-imx/ele_api.h> -#include <asm/mach-imx/syscounter.h> #include <asm/sections.h> -#include <dm/uclass.h> -#include <dm/device.h> -#include <dm/uclass-internal.h> -#include <dm/device-internal.h> -#include <linux/delay.h> #include <asm/arch/clock.h> -#include <asm/arch/ccm_regs.h> #include <asm/arch/ddr.h> -#include <power/pmic.h> -#include <power/pca9450.h> +#include <asm/arch/mu.h> +#include <asm/arch/sys_proto.h> #include <asm/arch/trdc.h> +#include <asm/mach-imx/boot_mode.h> +#include <asm/mach-imx/ele_api.h> DECLARE_GLOBAL_DATA_PTR; @@ -102,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); @@ -110,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); @@ -133,8 +120,6 @@ void board_init_f(ulong dummy) arch_cpu_init(); - board_early_init_f(); - spl_early_init(); preloader_console_init(); 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 <env.h> #include <efi_loader.h> +#include <i2c.h> #include <init.h> #include <asm/global_data.h> #include <asm/arch/sys_proto.h> @@ -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; } 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 <env.h> #include <init.h> -#include <miiphy.h> -#include <netdev.h> #include <asm/arch/sys_proto.h> int board_late_init(void) diff --git a/board/freescale/imx93_qsb/spl.c b/board/freescale/imx93_qsb/spl.c index 6d1ab60eda0..9e64714521b 100644 --- a/board/freescale/imx93_qsb/spl.c +++ b/board/freescale/imx93_qsb/spl.c @@ -3,36 +3,19 @@ * Copyright 2024 NXP */ -#include <command.h> -#include <cpu_func.h> -#include <hang.h> -#include <image.h> #include <init.h> -#include <log.h> +#include <power/pmic.h> +#include <power/pca9450.h> #include <spl.h> #include <asm/global_data.h> -#include <asm/io.h> -#include <asm/arch/imx93_pins.h> -#include <asm/arch/mu.h> -#include <asm/arch/clock.h> -#include <asm/arch/sys_proto.h> -#include <asm/mach-imx/boot_mode.h> -#include <asm/mach-imx/mxc_i2c.h> -#include <asm/arch-mx7ulp/gpio.h> -#include <asm/mach-imx/ele_api.h> -#include <asm/mach-imx/syscounter.h> #include <asm/sections.h> -#include <dm/uclass.h> -#include <dm/device.h> -#include <dm/uclass-internal.h> -#include <dm/device-internal.h> -#include <linux/delay.h> #include <asm/arch/clock.h> -#include <asm/arch/ccm_regs.h> #include <asm/arch/ddr.h> -#include <power/pmic.h> -#include <power/pca9450.h> +#include <asm/arch/mu.h> +#include <asm/arch/sys_proto.h> #include <asm/arch/trdc.h> +#include <asm/mach-imx/boot_mode.h> +#include <asm/mach-imx/ele_api.h> DECLARE_GLOBAL_DATA_PTR; @@ -98,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); @@ -106,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); 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 <asm/arch/clock.h> -#include <asm/gpio.h> -#include <asm/mach-imx/sys_proto.h> #include <env.h> #include <fdt_support.h> +#include <asm/gpio.h> +#include <asm/arch/clock.h> +#include <asm/mach-imx/sys_proto.h> int board_early_init_f(void) { diff --git a/board/freescale/imx94_evk/spl.c b/board/freescale/imx94_evk/spl.c index 341b165b3c8..797806a8d4d 100644 --- a/board/freescale/imx94_evk/spl.c +++ b/board/freescale/imx94_evk/spl.c @@ -3,16 +3,17 @@ * Copyright 2025 NXP */ +#include <hang.h> +#include <init.h> +#include <spl.h> +#include <asm/gpio.h> +#include <asm/global_data.h> +#include <asm/sections.h> #include <asm/arch/clock.h> #include <asm/arch/mu.h> #include <asm/arch/sys_proto.h> -#include <asm/gpio.h> #include <asm/mach-imx/boot_mode.h> #include <asm/mach-imx/ele_api.h> -#include <asm/sections.h> -#include <hang.h> -#include <init.h> -#include <spl.h> DECLARE_GLOBAL_DATA_PTR; 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 <asm/arch/clock.h> #include <asm/gpio.h> +#include <asm/arch/clock.h> #include <asm/mach-imx/sys_proto.h> int board_early_init_f(void) diff --git a/board/freescale/imx95_evk/spl.c b/board/freescale/imx95_evk/spl.c index 48b47d2aed9..752d7f916b6 100644 --- a/board/freescale/imx95_evk/spl.c +++ b/board/freescale/imx95_evk/spl.c @@ -3,15 +3,16 @@ * Copyright 2025 NXP */ +#include <hang.h> +#include <init.h> +#include <spl.h> +#include <asm/global_data.h> +#include <asm/sections.h> #include <asm/arch/clock.h> #include <asm/arch/mu.h> #include <asm/arch/sys_proto.h> #include <asm/mach-imx/boot_mode.h> #include <asm/mach-imx/ele_api.h> -#include <asm/sections.h> -#include <hang.h> -#include <init.h> -#include <spl.h> DECLARE_GLOBAL_DATA_PTR; 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); diff --git a/board/tq/tqma6/Kconfig b/board/tq/tqma6/Kconfig index 599b3a72f70..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 @@ -79,6 +81,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/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 diff --git a/configs/imx93_11x11_evk_defconfig b/configs/imx93_11x11_evk_defconfig index 7d3463a57ea..39a7962d7ca 100644 --- a/configs/imx93_11x11_evk_defconfig +++ b/configs/imx93_11x11_evk_defconfig @@ -36,7 +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_EARLY_INIT_F=y +# CONFIG_BOARD_INIT is not set CONFIG_BOARD_LATE_INIT=y CONFIG_SPL_MAX_SIZE=0x26000 CONFIG_SPL_BOARD_INIT=y diff --git a/configs/tqma6_mba6_common.defconfig b/configs/tqma6_mba6_common.defconfig new file mode 100644 index 00000000000..6865d3b2641 --- /dev/null +++ b/configs/tqma6_mba6_common.defconfig @@ -0,0 +1,79 @@ +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_NFS=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 e2fd022cc38..06166cb7da5 100644 --- a/configs/tqma6dl_mba6_mmc_defconfig +++ b/configs/tqma6dl_mba6_mmc_defconfig @@ -1,73 +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 <configs/tqma6_mba6_common.defconfig> +#include <configs/tqma6_mba6_mmc.defconfig> + 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_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_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=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 f98775f1ae3..f22ea543042 100644 --- a/configs/tqma6dl_mba6_spi_defconfig +++ b/configs/tqma6dl_mba6_spi_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=0x80000 -CONFIG_ENV_SECT_SIZE=0x10000 +#include <configs/tqma6_mba6_common.defconfig> +#include <configs/tqma6_mba6_spi.defconfig> + 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_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_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=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 de5a732463f..2d3fcbccc14 100644 --- a/configs/tqma6q_mba6_mmc_defconfig +++ b/configs/tqma6q_mba6_mmc_defconfig @@ -1,72 +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 <configs/tqma6_mba6_common.defconfig> +#include <configs/tqma6_mba6_mmc.defconfig> + 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_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_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=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 291c1f2fa33..5d61d097eec 100644 --- a/configs/tqma6q_mba6_spi_defconfig +++ b/configs/tqma6q_mba6_spi_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=0x80000 -CONFIG_ENV_SECT_SIZE=0x10000 +#include <configs/tqma6_mba6_common.defconfig> +#include <configs/tqma6_mba6_spi.defconfig> + 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_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_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=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 8e6935a3c48..323f582e874 100644 --- a/configs/tqma6s_mba6_mmc_defconfig +++ b/configs/tqma6s_mba6_mmc_defconfig @@ -1,72 +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 <configs/tqma6_mba6_common.defconfig> +#include <configs/tqma6_mba6_mmc.defconfig> + 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_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_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=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 7c499077d0d..9701d35cfb8 100644 --- a/configs/tqma6s_mba6_spi_defconfig +++ b/configs/tqma6s_mba6_spi_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=0x80000 -CONFIG_ENV_SECT_SIZE=0x10000 +#include <configs/tqma6_mba6_common.defconfig> +#include <configs/tqma6_mba6_spi.defconfig> + 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_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_USE_ETHPRIME=y -CONFIG_ETHPRIME="FEC" -CONFIG_ARP_TIMEOUT=200 -CONFIG_BOUNCE_BUFFER=y -CONFIG_I2C_SET_DEFAULT_BUS_NUM=y -CONFIG_SYS_I2C_MXC=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/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; +} 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) 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); } |
