Files
i2som-imx-uboot/include/configs/i2som_6ull_14x14.h
2024-11-29 11:31:18 +08:00

313 lines
8.9 KiB
C

/*
* Copyright (C) 2017 i2SOM Team.
* Copyright (C) 2016 Freescale Semiconductor, Inc.
*
* Configuration settings for the i2SOM i2S-6ULL NAND SoM on i2C-6ULX-B carrier board.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __I2C_6ULXB_14X14_CONFIG_H
#define __I2C_6ULXB_14X14_CONFIG_H
#include "i2s6ull_common.h"
#define CONFIG_HW_WATCHDOG
/* uncomment for PLUGIN mode support */
/* #define CONFIG_USE_PLUGIN */
/* uncomment for SECURE mode support */
/* #define CONFIG_SECURE_BOOT */
#ifdef CONFIG_SECURE_BOOT
#ifndef CONFIG_CSF_SIZE
#define CONFIG_CSF_SIZE 0x4000
#endif
#endif
#define is_mx6ull_9x9_evk() CONFIG_IS_ENABLED(TARGET_MX6ULL_9X9_EVK)
#ifdef CONFIG_TARGET_MX6ULL_9X9_EVK
#define PHYS_SDRAM_SIZE SZ_256M
#define CONFIG_BOOTARGS_CMA_SIZE "cma=96M "
#else
#if (CONFIG_DDR_SIZE == 512)
#define PHYS_SDRAM_SIZE SZ_512M
#elif (CONFIG_DDR_SIZE == 256)
#define PHYS_SDRAM_SIZE SZ_256M
#endif
#define CONFIG_BOOTARGS_CMA_SIZE ""
/* DCDC used on 14x14 EVK, no PMIC */
#undef CONFIG_LDO_BYPASS_CHECK
#endif
/* SPL options */
/* We default not support SPL
* #define CONFIG_SPL_LIBCOMMON_SUPPORT
* #define CONFIG_SPL_MMC_SUPPORT
* #include "imx6_spl.h"
*/
/* RAM memory reserved for U-Boot, stack, malloc pool... */
#define CONFIG_UBOOT_RESERVED (10 * 1024 * 1024)
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
#define CONFIG_MXC_UART
#define CONFIG_MXC_UART_BASE UART1_BASE
#define CONFIG_CONS_INDEX 1
#define CONFIG_CONSOLE_PORT "ttymxc0"
#define CONFIG_BAUDRATE 115200
#ifdef CONFIG_SYS_BOOT_NAND
/* i2S-6ULL NAND Variant */
#define CONFIG_SYS_STORAGE_MEDIA "nand"
#define CONFIG_MFG_NAND_PARTITION "mtdparts=gpmi-nand:" \
"5m(bootloader),1m(env),1m(safe)," \
"16m(linux)," \
"32m(recovery)," \
"150m(rootfs)," \
"-(data) "
#define CONFIG_FDT_FILE "findfdt="\
"if test $fdt_file = undefined; then " \
"if test $board_name = I2S-6ULL-NAND && test $board_rev = 9X9; then " \
"setenv fdt_file imx6ull-9x9-evk.dtb; fi; " \
"if test $board_name = I2S-6ULL-NAND && test $board_rev = 14X14; then " \
"setenv fdt_file zImage-i2c-b6ull-nand.dtb; fi; " \
"if test $fdt_file = undefined; then " \
"echo WARNING: Could not determine dtb to use; fi; " \
"fi;\0"
#elif defined(CONFIG_SYS_BOOT_EMMC)
/* i2S-6ULL eMMC Variant */
#define CONFIG_MFG_NAND_PARTITION ""
#define CONFIG_FDT_FILE "findfdt="\
"if test $fdt_file = undefined; then " \
"if test $board_name = I2S-6ULL-eMMC && test $board_rev = 9X9; then " \
"setenv fdt_file imx6ull-9x9-evk.dtb; fi; " \
"if test $board_name = I2S-6ULL-eMMC && test $board_rev = 14X14; then " \
"setenv fdt_file zImage-i2c-b6ull-emmc.dtb; fi; " \
"if test $fdt_file = undefined; then " \
"echo WARNING: Could not determine dtb to use; fi; " \
"fi;\0"
#endif
#define CONFIG_MFG_ENV_SETTINGS \
"mfgtool_args=setenv bootargs console=${console},${baudrate} " \
CONFIG_BOOTARGS_CMA_SIZE \
"rdinit=/linuxrc " \
"g_mass_storage.stall=0 g_mass_storage.removable=1 " \
"g_mass_storage.file=/fat g_mass_storage.ro=1 " \
"g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF "\
"g_mass_storage.iSerialNumber=\"\" "\
CONFIG_MFG_NAND_PARTITION \
"clk_ignore_unused "\
"\0" \
"initrd_addr=0x83800000\0" \
"initrd_high=0xffffffff\0" \
"bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \
"" /* end line */
#if defined(CONFIG_SYS_BOOT_NAND)
/* i2S-6ULL NAND Variant */
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_MFG_ENV_SETTINGS \
"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
"mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
"fdt_file=zImage-i2c6ulxb-nand.dtb\0" \
"panel=TFT43AB\0" \
"fdt_addr=0x83000000\0" \
"fdt_high=0xffffffff\0" \
"console=ttymxc0\0" \
"mtdids=nand0=gpmi-nand\0" \
"zimage=zImage\0" \
"mtdbootpart=linux\0" \
"script=boot.scr\0" \
"mtdbootpart=" CONFIG_LINUX_PARTITION "\0" \
"mtdrootfspart=" CONFIG_ROOTFS_PARTITION "\0" \
"mtdlinuxidx=" CONFIG_ENV_MTD_LINUX_INDEX "\0" \
"mtdrootfsidx=" CONFIG_ENV_MTD_ROOTFS_INDEX "\0" \
"loadscript=if ubi part ${mtdbootpart}; then " \
"if ubifsmount ubi0:${mtdbootpart}; then " \
"ubifsload ${loadaddr} ${script};" \
"fi;" \
"fi;\0" \
"bootargs_linux=\0" \
"bootargs_recovery=\0" \
"bootargs_nand_linux=setenv bootargs console=ttymxc0,115200 " \
"ubi.mtd=${mtdrootfsidx} " \
"root=ubi0:${mtdrootfspart} rootfstype=ubifs rw " \
"${bootargs_linux} ${bootargs_recovery} " \
CONFIG_MFG_NAND_PARTITION \
CONFIG_BOOTARGS_CMA_SIZE "\0" \
"mtdparts=gpmi-nand:" \
"5m(bootloader),1m(env),1m(safe)," \
"16m(linux)," \
"32m(recovery)," \
"150m(rootfs)," \
"-(data) \0"
#ifdef CONFIG_SDCARD
#define CONFIG_BOOTCOMMAND \
"mmc dev ${mmcdev};" \
"if mmc rescan; then " \
"if fatload mmc 0:1 ${loadaddr} boot.scr; then " \
"source ${loadaddr}; " \
"fi; " \
"fi"
#else
#define CONFIG_BOOTCOMMAND \
"if run loadscript; then " \
"source ${loadaddr};" \
"fi;"
#endif
#elif defined(CONFIG_SYS_BOOT_EMMC)
/* i2S-6ULL eMMC Variant */
/*
* eMMC Partition Table
* bootloader = 2MiB
* linux = 64MiB
* recovery = 64MiB
* rootfs = 1GiB
* safe = 16MiB
* data = -
*/
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_MFG_ENV_SETTINGS \
RANDOM_UUIDS \
"script=boot.scr\0" \
"zimage=zImage\0" \
"console=ttymxc0\0" \
"fdt_high=0xffffffff\0" \
"initrd_high=0xffffffff\0" \
"fdt_file=zImage-i2c6ulxbe.dtb\0" \
"fdt_addr=0x83000000\0" \
"boot_fdt=try\0" \
"ip_dyn=yes\0" \
"panel=TFT43AB\0" \
"bootargs_linux=\0" \
"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
"mmcpart=" CONFIG_BOOT_PARTITION "\0" \
"mmcbootpart=" __stringify(CONFIG_SYS_BOOT_PART_EMMC) "\0" \
"mmcroot=PARTUUID=1c606ef5-f1ac-43b9-9bb5-d5c578580b6b\0" \
"mmcautodetect=yes\0" \
"partition_mmc_linux=mmc rescan;" \
"if mmc dev ${mmcdev} 0; then " \
"gpt write mmc ${mmcdev} ${parts_linux};" \
"mmc rescan;" \
"else " \
"if mmc dev ${mmcdev};then " \
"gpt write mmc ${mmcdev} ${parts_linux};" \
"mmc rescan;" \
"else;" \
"fi;" \
"fi;\0" \
"mmcargs=setenv bootargs console=${console},${baudrate} " \
CONFIG_BOOTARGS_CMA_SIZE \
"root=${mmcroot} ${bootargs_linux}\0" \
"bootargs_mmc_linux=setenv bootargs console=${console},${baudrate} " \
"${bootargs_linux} root=${mmcroot} rootwait rw " \
"${bootargs_once} ${extra_bootargs}\0" \
"loadbootscript=" \
"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
"bootscript=echo Running bootscript from mmc ...; " \
"source\0" \
"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if run loadfdt; then " \
"bootz ${loadaddr} - ${fdt_addr}; " \
"else " \
"if test ${boot_fdt} = try; then " \
"bootz; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi; " \
"else " \
"bootz; " \
"fi;\0" \
"netargs=setenv bootargs console=${console},${baudrate} " \
CONFIG_BOOTARGS_CMA_SIZE \
"root=/dev/nfs " \
"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
"netboot=echo Booting from net ...; " \
"run netargs; " \
"if test ${ip_dyn} = yes; then " \
"setenv get_cmd dhcp; " \
"else " \
"setenv get_cmd tftp; " \
"fi; " \
"${get_cmd} ${image}; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
"bootz ${loadaddr} - ${fdt_addr}; " \
"else " \
"if test ${boot_fdt} = try; then " \
"bootz; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi; " \
"else " \
"bootz; " \
"fi;\0" \
CONFIG_FDT_FILE \
#define CONFIG_BOOTCOMMAND \
"if mmc rescan; then " \
"if run loadbootscript; then " \
"run bootscript; " \
"else " \
"if run loadimage; then " \
"run mmcboot; " \
"else run netboot; " \
"fi; " \
"fi; " \
"else run netboot; fi"
#define CONFIG_SYS_STORAGE_MEDIA "mmc"
#endif /* end of CONFIG_SYS_BOOT_EMMC */
/* Miscellaneous configurable options */
#define CONFIG_CMD_MEMTEST
#define CONFIG_SYS_MEMTEST_START 0x80000000
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x8000000)
#define CONFIG_MMCROOT "/dev/mmcblk1p3" /* USDHC2, part 3 */
#define CONFIG_IMX_THERMAL
#ifndef CONFIG_SPL_BUILD
/* #define CONFIG_VIDEO */
#ifdef CONFIG_VIDEO
#define CONFIG_PWM_IMX
#define CONFIG_IMX6_PWM_PER_CLK 66000000
#define CONFIG_CFB_CONSOLE
#define CONFIG_VIDEO_MXS
#define CONFIG_VIDEO_LOGO
#define CONFIG_VIDEO_SW_CURSOR
#define CONFIG_VGA_AS_SINGLE_DEVICE
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
#define CONFIG_SPLASH_SCREEN
#define CONFIG_SPLASH_SCREEN_ALIGN
#define CONFIG_CMD_BMP
#define CONFIG_BMP_16BPP
#define CONFIG_VIDEO_BMP_RLE8
#define CONFIG_VIDEO_BMP_LOGO
#define CONFIG_IMX_VIDEO_SKIP
#define CONFIG_IMX6_LCD_DAT16
/*#define CONFIG_IMX6_LCD_DAT24*/
#endif /* End of CONFIG_VIDEO */
#endif
#define CONFIG_IOMUX_LPSR
#endif