forked from OERV-BSP/u-boot
imx95_evk: Add basic support for iMX95 15x15 EVK
Add boot support and peripherals like eMMC/SD, UART, I2C, GPIO, ENETC0/1 and PCIE0/1 for iMX95 15x15 LPDDR4X EVK. Updated doc for build instructions. Signed-off-by: Ye Li <ye.li@nxp.com>
This commit is contained in:
@@ -118,6 +118,13 @@ config TARGET_IMX95_19X19_EVK
|
||||
imply BOOTSTD_FULL
|
||||
imply OF_UPSTREAM
|
||||
|
||||
config TARGET_IMX95_15X15_EVK
|
||||
bool "imx95_15x15_evk"
|
||||
select IMX95
|
||||
imply BOOTSTD_BOOTCOMMAND
|
||||
imply BOOTSTD_FULL
|
||||
imply OF_UPSTREAM
|
||||
|
||||
config TARGET_IMX943_EVK
|
||||
bool "imx943_evk"
|
||||
select IMX94
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
if TARGET_IMX95_19X19_EVK
|
||||
if TARGET_IMX95_19X19_EVK || TARGET_IMX95_15X15_EVK
|
||||
|
||||
config SYS_BOARD
|
||||
default "imx95_evk"
|
||||
|
||||
@@ -5,3 +5,4 @@ F: board/freescale/imx95_evk/
|
||||
F: include/configs/imx95_evk.h
|
||||
F: configs/imx95_a0_19x19_evk_defconfig
|
||||
F: configs/imx95_19x19_evk_defconfig
|
||||
F: configs/imx95_15x15_evk_defconfig
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_IMX9=y
|
||||
CONFIG_TEXT_BASE=0x90200000
|
||||
CONFIG_SYS_MALLOC_LEN=0x2000000
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x10000
|
||||
CONFIG_SPL_GPIO=y
|
||||
CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
||||
CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
||||
CONFIG_NR_DRAM_BANKS=3
|
||||
CONFIG_ENV_SOURCE_FILE="imx95_evk"
|
||||
CONFIG_SF_DEFAULT_SPEED=40000000
|
||||
CONFIG_ENV_SIZE=0x4000
|
||||
CONFIG_ENV_OFFSET=0x700000
|
||||
CONFIG_IMX_CONFIG="arch/arm/mach-imx/imx9/scmi/imximage.cfg"
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="freescale/imx95-15x15-evk"
|
||||
CONFIG_TARGET_IMX95_15X15_EVK=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_SYS_MONITOR_LEN=524288
|
||||
CONFIG_SPL_MMC=y
|
||||
CONFIG_SPL_SERIAL=y
|
||||
CONFIG_SPL_DRIVERS_MISC=y
|
||||
CONFIG_SPL_TEXT_BASE=0x20480000
|
||||
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
CONFIG_SPL_BSS_START_ADDR=0x204d6000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x2000
|
||||
CONFIG_SYS_LOAD_ADDR=0x90400000
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SPL_RECOVER_DATA_SECTION=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_SYS_MEMTEST_START=0x90000000
|
||||
CONFIG_SYS_MEMTEST_END=0xA0000000
|
||||
CONFIG_REMAKE_ELF=y
|
||||
CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_OF_SYSTEM_SETUP=y
|
||||
CONFIG_BOOTCOMMAND="bootflow scan -l; run bsp_bootcmd"
|
||||
CONFIG_DEFAULT_FDT_FILE="imx95-15x15-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_PCI_INIT_R=y
|
||||
CONFIG_SPL_MAX_SIZE=0x20000
|
||||
CONFIG_SPL_BOARD_INIT=y
|
||||
CONFIG_SPL_LOAD_IMX_CONTAINER=y
|
||||
CONFIG_IMX_CONTAINER_CFG="arch/arm/mach-imx/imx9/scmi/container.cfg"
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_SYS_MALLOC=y
|
||||
CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y
|
||||
CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0x93200000
|
||||
CONFIG_SPL_SYS_MALLOC_SIZE=0x80000
|
||||
CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1040
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_DM_MAILBOX=y
|
||||
CONFIG_SPL_POWER=y
|
||||
CONFIG_SPL_WATCHDOG=y
|
||||
CONFIG_SYS_PROMPT="u-boot=> "
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CRC32_VERIFY=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_CMD_CLK=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_FUSE=y
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_PCI=y
|
||||
CONFIG_CMD_POWEROFF=y
|
||||
CONFIG_CMD_SNTP=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_CMD_EFIDEBUG=y
|
||||
CONFIG_CMD_RTC=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_CMD_GETTIME=y
|
||||
CONFIG_CMD_TIMER=y
|
||||
CONFIG_CMD_REGULATOR=y
|
||||
CONFIG_CMD_HASH=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
CONFIG_ENV_OVERWRITE=y
|
||||
CONFIG_ENV_IS_NOWHERE=y
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_ENV_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_MMC_DEVICE_INDEX=1
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_USE_ETHPRIME=y
|
||||
CONFIG_ETHPRIME="eth0"
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_SYS_RX_ETH_BUFFER=8
|
||||
CONFIG_SPL_DM=y
|
||||
CONFIG_SPL_OF_TRANSLATE=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_SPL_CLK_CCF=y
|
||||
CONFIG_CLK_SCMI=y
|
||||
CONFIG_SPL_CLK_SCMI=y
|
||||
CONFIG_CLK_IMX95_BLKCTRL=y
|
||||
CONFIG_DFU_MMC=y
|
||||
CONFIG_DFU_RAM=y
|
||||
CONFIG_SPL_FIRMWARE=y
|
||||
# CONFIG_SCMI_AGENT_SMCCC is not set
|
||||
CONFIG_IMX_RGPIO2P=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_ADP5585_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_IMX_LPI2C=y
|
||||
CONFIG_IMX_MU_MBOX=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_ES_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_FSL_USDHC=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_DM_SPI_FLASH=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_PHY_AQUANTIA=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_DM_MDIO=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_FSL_ENETC=y
|
||||
CONFIG_PCIE_ECAM_GENERIC=y
|
||||
CONFIG_PCIE_DW_IMX=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_SPL_PINCTRL=y
|
||||
CONFIG_PINCTRL_IMX_SCMI=y
|
||||
CONFIG_POWER_DOMAIN=y
|
||||
CONFIG_SCMI_POWER_DOMAIN=y
|
||||
CONFIG_SPL_DM_REGULATOR=y
|
||||
CONFIG_DM_REGULATOR_FIXED=y
|
||||
CONFIG_SPL_DM_REGULATOR_FIXED=y
|
||||
CONFIG_DM_REGULATOR_GPIO=y
|
||||
CONFIG_DM_RTC=y
|
||||
CONFIG_DM_SERIAL=y
|
||||
CONFIG_FSL_LPUART=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DM_SPI=y
|
||||
CONFIG_NXP_FSPI=y
|
||||
CONFIG_ULP_WATCHDOG=y
|
||||
CONFIG_LZO=y
|
||||
CONFIG_BZIP2=y
|
||||
@@ -48,6 +48,7 @@ Note: srctree is U-Boot source directory
|
||||
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.28-994fa14.bin
|
||||
$ sh firmware-imx-8.28-994fa14.bin --auto-accept
|
||||
$ cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr5*v202409.bin $(srctree)
|
||||
$ cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr4x*v202409.bin $(srctree)
|
||||
|
||||
Get and Build OEI Images
|
||||
--------------------------------------
|
||||
@@ -65,7 +66,7 @@ branch: master
|
||||
$ git clone -b master https://github.com/nxp-imx/imx-oei.git
|
||||
$ cd imx-oei
|
||||
|
||||
i.MX95 A0 silicon version
|
||||
i.MX95 A0 silicon version on 19x19 LPDDR5 EVK
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -75,13 +76,20 @@ i.MX95 A0 silicon version
|
||||
$ make board=mx95lp5 oei=tcm DEBUG=1 r=A0 all
|
||||
$ cp build/mx95lp5/tcm/oei-m33-tcm.bin $(srctree)
|
||||
|
||||
i.MX95 B0 silicon version
|
||||
i.MX95 B0 silicon version on 19x19 LPDDR5 EVK
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make board=mx95lp5 oei=ddr DEBUG=1 r=B0 all
|
||||
$ cp build/mx95lp5/ddr/oei-m33-ddr.bin $(srctree)
|
||||
|
||||
i.MX95 B0 silicon version on 15x15 LPDDR4X EVK
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make board=mx95lp4x-15 oei=ddr DEBUG=1 r=B0 all
|
||||
$ cp build/mx95lp4x-15/ddr/oei-m33-ddr.bin $(srctree)
|
||||
|
||||
Get and Build System Manager Image
|
||||
--------------------------------------
|
||||
|
||||
@@ -120,7 +128,7 @@ branch: lf_v2.12
|
||||
Build the Bootloader Image
|
||||
--------------------------
|
||||
|
||||
i.MX95 A0 silicon version
|
||||
i.MX95 A0 silicon version on 19x19 LPDDR5 EVK
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -128,7 +136,7 @@ i.MX95 A0 silicon version
|
||||
$ make imx95_a0_19x19_evk_defconfig
|
||||
$ make
|
||||
|
||||
i.MX95 B0 silicon version
|
||||
i.MX95 B0 silicon version on 19x19 LPDDR5 EVK
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -136,6 +144,14 @@ i.MX95 B0 silicon version
|
||||
$ make imx95_19x19_evk_defconfig
|
||||
$ make
|
||||
|
||||
i.MX95 B0 silicon version on 15x15 LPDDR4X EVK
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ export CROSS_COMPILE=aarch64-poky-linux-
|
||||
$ make imx95_15x15_evk_defconfig
|
||||
$ make
|
||||
|
||||
Copy imx-boot-imx95.bin to the MicroSD card:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -15,9 +15,13 @@
|
||||
|
||||
#define CFG_SYS_SDRAM_BASE 0x90000000
|
||||
#define PHYS_SDRAM 0x90000000
|
||||
/* Totally 16GB */
|
||||
|
||||
#define PHYS_SDRAM_SIZE 0x70000000 /* 2GB - 256MB DDR */
|
||||
#define PHYS_SDRAM_2_SIZE 0x380000000 /* 14GB */
|
||||
#ifdef CONFIG_TARGET_IMX95_15X15_EVK
|
||||
#define PHYS_SDRAM_2_SIZE 0x180000000 /* 6GB (Totally 8GB) */
|
||||
#else
|
||||
#define PHYS_SDRAM_2_SIZE 0x380000000 /* 14GB (Totally 16GB) */
|
||||
#endif
|
||||
|
||||
#define WDOG_BASE_ADDR WDG3_BASE_ADDR
|
||||
|
||||
|
||||
Reference in New Issue
Block a user