|  |  | 
 |  |  | +}; | 
 |  |  | diff --git a/arch/arm/dts/igkboard-imx8mp.dts b/arch/arm/dts/igkboard-imx8mp.dts | 
 |  |  | new file mode 100644 | 
 |  |  | index 00000000..5bb2a64c | 
 |  |  | index 00000000..2cad034a | 
 |  |  | --- /dev/null | 
 |  |  | +++ b/arch/arm/dts/igkboard-imx8mp.dts | 
 |  |  | @@ -0,0 +1,469 @@ | 
 |  |  | 
 |  |  | +    /* MT53D512M32D2DS-053 WT:D, 2GB LPDDR4 */ | 
 |  |  | +    memory@80000000 { | 
 |  |  | +        device_type = "memory"; | 
 |  |  | +        reg = <0x0 0x80000000 0 0x80000000>; | 
 |  |  | +        reg = <0x0 0x80000000 0 0x40000000>; | 
 |  |  | +    }; | 
 |  |  | + | 
 |  |  | +    leds { | 
 |  |  | 
 |  |  | +CONFIG_BMP_32BPP=y | 
 |  |  | +CONFIG_VIDEO_ADV7535=y | 
 |  |  | +CONFIG_OF_LIBFDT_OVERLAY=y | 
 |  |  | diff --git a/diff b/diff | 
 |  |  | new file mode 100644 | 
 |  |  | index 00000000..9e1d6d4f | 
 |  |  | --- /dev/null | 
 |  |  | +++ b/diff | 
 |  |  | @@ -0,0 +1,282 @@ | 
 |  |  | +--- igkboard-imx8mp_defconfig    2023-12-13 21:17:05.014287682 +0800 | 
 |  |  | ++++ configs/igkboard-imx8mp_defconfig    2023-12-13 21:16:32.053328305 +0800 | 
 |  |  | +@@ -1,178 +1,199 @@ | 
 |  |  | + CONFIG_ARM=y | 
 |  |  | + CONFIG_ARCH_IMX8M=y | 
 |  |  | +-CONFIG_SYS_TEXT_BASE=0x40200000 | 
 |  |  | ++CONFIG_TEXT_BASE=0x40200000 | 
 |  |  | + 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_SYS_MEMTEST_START=0x60000000 | 
 |  |  | +-CONFIG_SYS_MEMTEST_END=0xC0000000 | 
 |  |  | ++CONFIG_IMX_BOOTAUX=y | 
 |  |  | + CONFIG_ENV_SIZE=0x4000 | 
 |  |  | +-CONFIG_ENV_OFFSET=0x400000 | 
 |  |  | ++CONFIG_ENV_OFFSET=0x700000 | 
 |  |  | + CONFIG_ENV_SECT_SIZE=0x10000 | 
 |  |  | ++CONFIG_SYS_MEMTEST_START=0x60000000 | 
 |  |  | ++CONFIG_SYS_MEMTEST_END=0xC0000000 | 
 |  |  | ++CONFIG_SYS_I2C_MXC_I2C1=y | 
 |  |  | ++CONFIG_SYS_I2C_MXC_I2C2=y | 
 |  |  | ++CONFIG_SYS_I2C_MXC_I2C3=y | 
 |  |  | + CONFIG_DM_GPIO=y | 
 |  |  | +-CONFIG_DEFAULT_DEVICE_TREE="igkboard-imx8mp" | 
 |  |  | + CONFIG_SPL_TEXT_BASE=0x920000 | 
 |  |  | + CONFIG_TARGET_IGKBOARD_IMX8MP=y | 
 |  |  | ++CONFIG_SYS_PROMPT="u-boot=> " | 
 |  |  | + CONFIG_SPL_SERIAL=y | 
 |  |  | + CONFIG_SPL_DRIVERS_MISC=y | 
 |  |  | + CONFIG_SPL=y | 
 |  |  | + CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000 | 
 |  |  | +-CONFIG_OF_BOARD_FIXUP=y | 
 |  |  | +-CONFIG_DISTRO_DEFAULTS=y | 
 |  |  | + CONFIG_SYS_LOAD_ADDR=0x40400000 | 
 |  |  | ++CONFIG_DISTRO_DEFAULTS=y | 
 |  |  | ++CONFIG_SYS_MONITOR_LEN=524288 | 
 |  |  | ++CONFIG_DEFAULT_DEVICE_TREE="igkboard-imx8mp" | 
 |  |  | ++CONFIG_BOOTCOMMAND="run distro_bootcmd;run bsp_bootcmd" | 
 |  |  | + CONFIG_FIT=y | 
 |  |  | + CONFIG_FIT_EXTERNAL_OFFSET=0x3000 | 
 |  |  | +-CONFIG_FIT_SIGNATURE=y | 
 |  |  | + CONFIG_SPL_LOAD_FIT=y | 
 |  |  | +-CONFIG_LEGACY_IMAGE_FORMAT=y | 
 |  |  | +-CONFIG_OF_BOARD_SETUP=y | 
 |  |  | ++# CONFIG_USE_SPL_FIT_GENERATOR is not set | 
 |  |  | ++CONFIG_REMAKE_ELF=y | 
 |  |  | + CONFIG_OF_SYSTEM_SETUP=y | 
 |  |  | +-CONFIG_BOOTCOMMAND="run distro_bootcmd;run bsp_bootcmd" | 
 |  |  | + CONFIG_DEFAULT_FDT_FILE="igkboard-imx8mp.dtb" | 
 |  |  | ++CONFIG_ARCH_MISC_INIT=y | 
 |  |  | + CONFIG_BOARD_EARLY_INIT_F=y | 
 |  |  | + CONFIG_BOARD_LATE_INIT=y | 
 |  |  | ++CONFIG_SPL_MAX_SIZE=0x26000 | 
 |  |  | ++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y | 
 |  |  | ++CONFIG_SPL_BSS_START_ADDR=0x96e000 | 
 |  |  | ++CONFIG_SPL_BSS_MAX_SIZE=0x2000 | 
 |  |  | + CONFIG_SPL_BOARD_INIT=y | 
 |  |  | + CONFIG_SPL_BOOTROM_SUPPORT=y | 
 |  |  | +-CONFIG_SPL_SEPARATE_BSS=y | 
 |  |  | ++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set | 
 |  |  | ++CONFIG_SPL_STACK=0x96dff0 | 
 |  |  | ++CONFIG_SYS_SPL_MALLOC=y | 
 |  |  | ++CONFIG_HAS_CUSTOM_SPL_MALLOC_START=y | 
 |  |  | ++CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR=0x42200000 | 
 |  |  | ++CONFIG_SYS_SPL_MALLOC_SIZE=0x80000 | 
 |  |  | + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y | 
 |  |  | + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300 | 
 |  |  | + CONFIG_SPL_I2C=y | 
 |  |  | + CONFIG_SPL_POWER=y | 
 |  |  | + CONFIG_SPL_WATCHDOG=y | 
 |  |  | +-CONFIG_SYS_PROMPT="[u-boot@igkboard]# " | 
 |  |  | +-# CONFIG_BOOTM_NETBSD is not set | 
 |  |  | ++CONFIG_SYS_MAXARGS=64 | 
 |  |  | ++CONFIG_SYS_CBSIZE=2048 | 
 |  |  | ++CONFIG_SYS_PBSIZE=2074 | 
 |  |  | ++CONFIG_SYS_BOOTM_LEN=0x2000000 | 
 |  |  | ++CONFIG_NR_DRAM_BANKS=3 | 
 |  |  | ++CONFIG_HUSH_PARSER=y | 
 |  |  | + # CONFIG_CMD_EXPORTENV is not set | 
 |  |  | + # CONFIG_CMD_IMPORTENV is not set | 
 |  |  | + CONFIG_CMD_ERASEENV=y | 
 |  |  | +-CONFIG_CMD_NVEDIT_EFI=y | 
 |  |  | ++CONFIG_CMD_CRC32=y | 
 |  |  | + CONFIG_CRC32_VERIFY=y | 
 |  |  | +-CONFIG_CMD_MEMTEST=y | 
 |  |  | ++# CONFIG_BOOTM_NETBSD is not set | 
 |  |  | + CONFIG_CMD_CLK=y | 
 |  |  | +-CONFIG_CMD_DFU=y | 
 |  |  | + CONFIG_CMD_FUSE=y | 
 |  |  | + CONFIG_CMD_GPIO=y | 
 |  |  | + CONFIG_CMD_I2C=y | 
 |  |  | + CONFIG_CMD_MMC=y | 
 |  |  | +-CONFIG_CMD_OPTEE_RPMB=y | 
 |  |  | +-CONFIG_CMD_POWEROFF=y | 
 |  |  | +-CONFIG_CMD_USB=y | 
 |  |  | +-CONFIG_CMD_USB_MASS_STORAGE=y | 
 |  |  | +-CONFIG_CMD_SNTP=y | 
 |  |  | +-CONFIG_CMD_BMP=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_MEMTEST=y | 
 |  |  | ++CONFIG_CMD_EXT2=y | 
 |  |  | ++CONFIG_CMD_EXT4=y | 
 |  |  | + CONFIG_CMD_EXT4_WRITE=y | 
 |  |  | ++CONFIG_CMD_FAT=y | 
 |  |  | ++CONFIG_CMD_LED=y | 
 |  |  | ++CONFIG_CMD_FS_GENERIC=y | 
 |  |  | ++CONFIG_CMD_USB=y | 
 |  |  | ++CONFIG_CMD_USB_MASS_STORAGE=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_IS_IN_SPI_FLASH=y | 
 |  |  | ++CONFIG_ENV_IS_IN_NAND=y | 
 |  |  | + CONFIG_SYS_RELOC_GD_ENV_ADDR=y | 
 |  |  | + CONFIG_SYS_MMC_ENV_DEV=1 | 
 |  |  | + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y | 
 |  |  | +-CONFIG_NET_RANDOM_ETHADDR=y | 
 |  |  | ++CONFIG_USE_ETHPRIME=y | 
 |  |  | ++CONFIG_ETHPRIME="eth1" | 
 |  |  | + CONFIG_SPL_DM=y | 
 |  |  | +-CONFIG_REGMAP=y | 
 |  |  | +-CONFIG_SYSCON=y | 
 |  |  | + CONFIG_SPL_CLK_COMPOSITE_CCF=y | 
 |  |  | + CONFIG_CLK_COMPOSITE_CCF=y | 
 |  |  | + CONFIG_SPL_CLK_IMX8MP=y | 
 |  |  | + CONFIG_CLK_IMX8MP=y | 
 |  |  | +-CONFIG_DFU_TFTP=y | 
 |  |  | +-CONFIG_DFU_MMC=y | 
 |  |  | +-CONFIG_DFU_RAM=y | 
 |  |  | ++CONFIG_MXC_GPIO=y | 
 |  |  | ++CONFIG_DM_PCA953X=y | 
 |  |  | ++CONFIG_FASTBOOT=y | 
 |  |  | + CONFIG_USB_FUNCTION_FASTBOOT=y | 
 |  |  | +-CONFIG_UDP_FUNCTION_FASTBOOT=y | 
 |  |  | ++CONFIG_CMD_FASTBOOT=y | 
 |  |  | ++CONFIG_ANDROID_BOOT_IMAGE=y | 
 |  |  | ++CONFIG_FASTBOOT_UUU_SUPPORT=y | 
 |  |  | + CONFIG_FASTBOOT_BUF_ADDR=0x42800000 | 
 |  |  | + CONFIG_FASTBOOT_BUF_SIZE=0x40000000 | 
 |  |  | + CONFIG_FASTBOOT_FLASH=y | 
 |  |  | +-CONFIG_MXC_GPIO=y | 
 |  |  | +-CONFIG_DM_PCA953X=y | 
 |  |  | + CONFIG_DM_I2C=y | 
 |  |  | ++CONFIG_SYS_I2C_MXC=y | 
 |  |  | + CONFIG_LED=y | 
 |  |  | + CONFIG_LED_GPIO=y | 
 |  |  | +-CONFIG_SUPPORT_EMMC_RPMB=y | 
 |  |  | ++CONFIG_DM_MMC=y | 
 |  |  | ++CONFIG_EFI_PARTITION=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_DM_SPI_FLASH=y | 
 |  |  | +-CONFIG_SF_DEFAULT_MODE=0 | 
 |  |  | +-CONFIG_SF_DEFAULT_SPEED=40000000 | 
 |  |  | +-CONFIG_SPI_FLASH_BAR=y | 
 |  |  | +-CONFIG_SPI_FLASH_STMICRO=y | 
 |  |  | + CONFIG_PHY_REALTEK=y | 
 |  |  | +-CONFIG_DM_ETH=y | 
 |  |  | + CONFIG_DM_ETH_PHY=y | 
 |  |  | + CONFIG_PHY_GIGE=y | 
 |  |  | ++CONFIG_PHY=y | 
 |  |  | ++CONFIG_PHY_IMX8MQ_USB=y | 
 |  |  | + CONFIG_DWC_ETH_QOS=y | 
 |  |  | + CONFIG_DWC_ETH_QOS_IMX=y | 
 |  |  | + CONFIG_FEC_MXC=y | 
 |  |  | + CONFIG_MII=y | 
 |  |  | +-CONFIG_PHY=y | 
 |  |  | +-CONFIG_PHY_IMX8MQ_USB=y | 
 |  |  | ++ | 
 |  |  | + CONFIG_PINCTRL=y | 
 |  |  | + CONFIG_SPL_PINCTRL=y | 
 |  |  | + CONFIG_PINCTRL_IMX8M=y | 
 |  |  | ++CONFIG_POWER_DOMAIN=y | 
 |  |  | ++CONFIG_IMX8M_POWER_DOMAIN=y | 
 |  |  | ++CONFIG_IMX8MP_HSIOMIX_BLKCTRL=y | 
 |  |  | + CONFIG_DM_PMIC=y | 
 |  |  | + CONFIG_SPL_DM_PMIC_PCA9450=y | 
 |  |  | + CONFIG_DM_REGULATOR=y | 
 |  |  | + CONFIG_DM_REGULATOR_FIXED=y | 
 |  |  | + CONFIG_DM_REGULATOR_GPIO=y | 
 |  |  | +-CONFIG_DM_RTC=y | 
 |  |  | +-CONFIG_RTC_EMULATION=y | 
 |  |  | ++CONFIG_DM_SERIAL=y | 
 |  |  | + CONFIG_MXC_UART=y | 
 |  |  | +-CONFIG_SPI=y | 
 |  |  | +-CONFIG_DM_SPI=y | 
 |  |  | +-CONFIG_NXP_FSPI=y | 
 |  |  | + CONFIG_SYSRESET=y | 
 |  |  | + CONFIG_SYSRESET_PSCI=y | 
 |  |  | +-CONFIG_TEE=y | 
 |  |  | +-CONFIG_OPTEE=y | 
 |  |  | + CONFIG_DM_THERMAL=y | 
 |  |  | + CONFIG_IMX_TMU=y | 
 |  |  | ++CONFIG_USB_TCPC=n | 
 |  |  | + CONFIG_USB=y | 
 |  |  | +-CONFIG_USB_XHCI_HCD=y | 
 |  |  | +-CONFIG_USB_XHCI_DWC3=y | 
 |  |  | +-CONFIG_USB_DWC3=y | 
 |  |  | + CONFIG_USB_GADGET=y | 
 |  |  | ++CONFIG_USB_STORAGE=y | 
 |  |  | ++CONFIG_DM_USB=y | 
 |  |  | ++ | 
 |  |  | ++CONFIG_OF_LIBFDT_OVERLAY=y | 
 |  |  | + CONFIG_USB_GADGET_MANUFACTURER="FSL" | 
 |  |  | + CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9 | 
 |  |  | + CONFIG_USB_GADGET_PRODUCT_NUM=0x0152 | 
 |  |  | +-CONFIG_DM_VIDEO=y | 
 |  |  | +-CONFIG_VIDEO_LOGO=y | 
 |  |  | +-CONFIG_SYS_WHITE_ON_BLACK=y | 
 |  |  | +-CONFIG_VIDEO_LCD_RAYDIUM_RM67191=y | 
 |  |  | +-CONFIG_VIDEO_IMX_SEC_DSI=y | 
 |  |  | ++CONFIG_USB_GADGET_DOWNLOAD=y | 
 |  |  | ++CONFIG_USB_XHCI_HCD=y | 
 |  |  | ++CONFIG_USB_XHCI_IMX8M=y | 
 |  |  | ++CONFIG_USB_XHCI_DWC3=y | 
 |  |  | ++CONFIG_USB_DWC3=y | 
 |  |  | ++CONFIG_USB_DWC3_GADGET=y | 
 |  |  | ++ | 
 |  |  | ++CONFIG_OF_BOARD_FIXUP=y | 
 |  |  | ++CONFIG_OF_BOARD_SETUP=y | 
 |  |  | ++ | 
 |  |  | ++CONFIG_IMX8M_BLK_CTRL=y | 
 |  |  | + CONFIG_VIDEO_IMX_LCDIFV3=y | 
 |  |  | +-CONFIG_SPLASH_SCREEN=y | 
 |  |  | +-CONFIG_SPLASH_SCREEN_ALIGN=y | 
 |  |  | ++CONFIG_VIDEO_IMX_SEC_DSI=y | 
 |  |  | ++CONFIG_VIDEO=y | 
 |  |  | + CONFIG_BMP_16BPP=y | 
 |  |  | + CONFIG_BMP_24BPP=y | 
 |  |  | + CONFIG_BMP_32BPP=y | 
 |  |  | ++CONFIG_VIDEO_LOGO=y | 
 |  |  | ++CONFIG_VIDEO_LCD_RAYDIUM_RM67191=y | 
 |  |  | + CONFIG_VIDEO_ADV7535=y | 
 |  |  | +-CONFIG_SPL_RSA=y | 
 |  |  | +-CONFIG_SHA384=y | 
 |  |  | +-CONFIG_LZO=y | 
 |  |  | +-CONFIG_BZIP2=y | 
 |  |  | +-CONFIG_OF_LIBFDT_OVERLAY=y | 
 |  |  | +-CONFIG_EFI_MM_COMM_TEE=y | 
 |  |  | +-CONFIG_EFI_VAR_BUF_SIZE=139264 | 
 |  |  | +-CONFIG_EFI_SET_TIME=y | 
 |  |  | +-CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y | 
 |  |  | +-CONFIG_EFI_CAPSULE_ON_DISK=y | 
 |  |  | +-CONFIG_EFI_IGNORE_OSINDICATIONS=y | 
 |  |  | +-CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y | 
 |  |  | +-CONFIG_EFI_CAPSULE_AUTHENTICATE=y | 
 |  |  | +-CONFIG_EFI_SECURE_BOOT=y | 
 |  |  | ++CONFIG_SYS_WHITE_ON_BLACK=y | 
 |  |  | ++CONFIG_SPLASH_SCREEN=y | 
 |  |  | ++CONFIG_SPLASH_SCREEN_ALIGN=y | 
 |  |  | ++CONFIG_CMD_BMP=y | 
 |  |  | ++ | 
 |  |  | ++CONFIG_CMD_NAND=y | 
 |  |  | ++CONFIG_CMD_UBI=y | 
 |  |  | ++CONFIG_CMD_NAND_TRIMFFS=y | 
 |  |  | ++CONFIG_MTD_RAW_NAND=y | 
 |  |  | ++CONFIG_MTD=y | 
 |  |  | ++CONFIG_DM_MTD=y | 
 |  |  | ++CONFIG_CMD_MTDPARTS=y | 
 |  |  | ++CONFIG_MTDIDS_DEFAULT="nand0=gpmi-nand" | 
 |  |  | ++CONFIG_MTDPARTS_SKIP_INVALID=y | 
 |  |  | ++CONFIG_NAND=y | 
 |  |  | ++CONFIG_NAND_MXS=y | 
 |  |  | ++CONFIG_NAND_MXS_DT=y | 
 |  |  | ++CONFIG_NAND_MXS_USE_MINIMUM_ECC=y | 
 |  |  | ++CONFIG_SYS_NAND_USE_FLASH_BBT=y | 
 |  |  | ++CONFIG_SYS_NAND_ONFI_DETECTION=y | 
 |  |  | diff --git a/include/configs/igkboard-imx8mp.h b/include/configs/igkboard-imx8mp.h | 
 |  |  | new file mode 100644 | 
 |  |  | index 00000000..6ad220e6 | 
 |  |  | index 00000000..17d20930 | 
 |  |  | --- /dev/null | 
 |  |  | +++ b/include/configs/igkboard-imx8mp.h | 
 |  |  | @@ -0,0 +1,80 @@ | 
 |  |  | @@ -0,0 +1,81 @@ | 
 |  |  | +/* SPDX-License-Identifier: GPL-2.0+ */ | 
 |  |  | +/* | 
 |  |  | + * Copyright (C) 2023 LingYun IoT System Studio | 
 |  |  | 
 |  |  | +    "board=igkboard-imx8mp\0" \ | 
 |  |  | +    "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ | 
 |  |  | +    "bootm_size=0x10000000\0" \ | 
 |  |  | +    "mmcautodetect=yes\0" \ | 
 |  |  | +    "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ | 
 |  |  | +    "mmcpart=1\0" \ | 
 |  |  | +    "mmcroot=/dev/mmcblk1p2 rootwait rw\0" \ | 
 |  |  | +    "mmcargs=setenv bootargs console=${console} root=/dev/mmcblk${mmc_no}p2 rootwait rw net.ifnames=0\0" \ | 
 |  |  | +    "mmcroot=/dev/mmcblk${mmcdev}p2 rootwait rw\0" \ | 
 |  |  | +    "mmcargs=setenv bootargs console=${console} root=${mmcroot} net.ifnames=0\0" \ | 
 |  |  | +    "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ | 
 |  |  | +    "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdtfile}\0" \ | 
 |  |  | +    "bootos=booti ${loadaddr} - ${fdt_addr}\0" \ |