1419adbfbSFabio Estevam /* 2419adbfbSFabio Estevam * (C) Copyright 2011 Freescale Semiconductor, Inc. 3419adbfbSFabio Estevam * 41a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 5419adbfbSFabio Estevam */ 6419adbfbSFabio Estevam 7419adbfbSFabio Estevam #ifndef __CONFIG_H 8419adbfbSFabio Estevam #define __CONFIG_H 9419adbfbSFabio Estevam 100208a53fSFabio Estevam #include <asm/arch/imx-regs.h> 110208a53fSFabio Estevam 12419adbfbSFabio Estevam /* High Level Configuration Options */ 13419adbfbSFabio Estevam 14d6d94e73SFabio Estevam #define CONFIG_MX25 15419adbfbSFabio Estevam #define CONFIG_SYS_TEXT_BASE 0x81200000 16af2a4093SFabio Estevam #define CONFIG_MXC_GPIO 174f797c4cSFabio Estevam #define CONFIG_SYS_GENERIC_BOARD 18419adbfbSFabio Estevam 193dae5b51SRob Herring #define CONFIG_SYS_TIMER_RATE 32768 203dae5b51SRob Herring #define CONFIG_SYS_TIMER_COUNTER \ 213dae5b51SRob Herring (&((struct gpt_regs *)IMX_GPT1_BASE)->counter) 223dae5b51SRob Herring 23419adbfbSFabio Estevam #define CONFIG_DISPLAY_CPUINFO 24419adbfbSFabio Estevam #define CONFIG_DISPLAY_BOARDINFO 25419adbfbSFabio Estevam 26419adbfbSFabio Estevam #define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ 27419adbfbSFabio Estevam #define CONFIG_SETUP_MEMORY_TAGS 28419adbfbSFabio Estevam #define CONFIG_INITRD_TAG 29419adbfbSFabio Estevam 30f39c008eSFabio Estevam #define CONFIG_MACH_TYPE MACH_TYPE_MX25_3DS 31f39c008eSFabio Estevam 32419adbfbSFabio Estevam /* Size of malloc() pool */ 33419adbfbSFabio Estevam #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2 * 1024 * 1024) 34419adbfbSFabio Estevam 35419adbfbSFabio Estevam /* Physical Memory Map */ 36419adbfbSFabio Estevam 37419adbfbSFabio Estevam #define CONFIG_NR_DRAM_BANKS 1 38419adbfbSFabio Estevam #define PHYS_SDRAM_1 0x80000000 39419adbfbSFabio Estevam #define PHYS_SDRAM_1_SIZE (64 * 1024 * 1024) 40419adbfbSFabio Estevam 41419adbfbSFabio Estevam #define CONFIG_BOARD_EARLY_INIT_F 42e00c89dfSFabio Estevam #define CONFIG_BOARD_LATE_INIT 43419adbfbSFabio Estevam 44419adbfbSFabio Estevam #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 450208a53fSFabio Estevam #define CONFIG_SYS_INIT_RAM_ADDR IMX_RAM_BASE 460208a53fSFabio Estevam #define CONFIG_SYS_INIT_RAM_SIZE IMX_RAM_SIZE 470208a53fSFabio Estevam 480208a53fSFabio Estevam #define CONFIG_SYS_INIT_SP_OFFSET \ 490208a53fSFabio Estevam (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 500208a53fSFabio Estevam #define CONFIG_SYS_INIT_SP_ADDR \ 510208a53fSFabio Estevam (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 52419adbfbSFabio Estevam 53419adbfbSFabio Estevam /* Memory Test */ 54419adbfbSFabio Estevam #define CONFIG_SYS_MEMTEST_START (PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE/2) 55419adbfbSFabio Estevam #define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE) 56419adbfbSFabio Estevam 57419adbfbSFabio Estevam /* Serial Info */ 58419adbfbSFabio Estevam #define CONFIG_MXC_UART 5940f6fffeSStefano Babic #define CONFIG_MXC_UART_BASE UART1_BASE 60419adbfbSFabio Estevam #define CONFIG_CONS_INDEX 1 /* use UART0 for console */ 61419adbfbSFabio Estevam #define CONFIG_BAUDRATE 115200 /* Default baud rate */ 62419adbfbSFabio Estevam 63419adbfbSFabio Estevam /* No NOR flash present */ 64419adbfbSFabio Estevam #define CONFIG_ENV_OFFSET (6 * 64 * 1024) 65419adbfbSFabio Estevam #define CONFIG_ENV_SIZE (8 * 1024) 6681a1d617SFabio Estevam #define CONFIG_SYS_MMC_ENV_DEV 0 67419adbfbSFabio Estevam 68419adbfbSFabio Estevam #define CONFIG_SYS_NO_FLASH 69af2a4093SFabio Estevam #define CONFIG_ENV_IS_IN_MMC 70af2a4093SFabio Estevam #define CONFIG_SYS_MMC_ENV_DEV 0 71419adbfbSFabio Estevam 72419adbfbSFabio Estevam /* U-Boot general configuration */ 73419adbfbSFabio Estevam #define CONFIG_AUTO_COMPLETE 7481a1d617SFabio Estevam #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 75419adbfbSFabio Estevam /* Print buffer sz */ 76419adbfbSFabio Estevam #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 77419adbfbSFabio Estevam sizeof(CONFIG_SYS_PROMPT) + 16) 78419adbfbSFabio Estevam #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 79419adbfbSFabio Estevam /* Boot Argument Buffer Size */ 80419adbfbSFabio Estevam #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 81419adbfbSFabio Estevam #define CONFIG_CMDLINE_EDITING 82419adbfbSFabio Estevam #define CONFIG_SYS_LONGHELP 83419adbfbSFabio Estevam 84419adbfbSFabio Estevam /* U-Boot commands */ 85b874df74SFabio Estevam #define CONFIG_OF_LIBFDT 862dc0fe9eSFabio Estevam #define CONFIG_CMD_BOOTZ 87419adbfbSFabio Estevam #define CONFIG_CMD_CACHE 88af2a4093SFabio Estevam #define CONFIG_CMD_MMC 89af2a4093SFabio Estevam #define CONFIG_CMD_EXT2 90af2a4093SFabio Estevam #define CONFIG_CMD_FAT 91419adbfbSFabio Estevam 92419adbfbSFabio Estevam /* Ethernet */ 93419adbfbSFabio Estevam #define CONFIG_FEC_MXC 94419adbfbSFabio Estevam #define CONFIG_FEC_MXC_PHYADDR 0x1f 95419adbfbSFabio Estevam #define CONFIG_MII 96419adbfbSFabio Estevam #define CONFIG_ENV_OVERWRITE 97419adbfbSFabio Estevam 98af2a4093SFabio Estevam /* ESDHC driver */ 99af2a4093SFabio Estevam #define CONFIG_MMC 100af2a4093SFabio Estevam #define CONFIG_GENERIC_MMC 101af2a4093SFabio Estevam #define CONFIG_FSL_ESDHC 1023098ef42SFabio Estevam #define CONFIG_SYS_FSL_ESDHC_ADDR IMX_MMC_SDHC1_BASE 103af2a4093SFabio Estevam #define CONFIG_SYS_FSL_ESDHC_NUM 1 104af2a4093SFabio Estevam 105e00c89dfSFabio Estevam /* PMIC Configs */ 106cabe240bSFabio Estevam #define CONFIG_POWER 107cabe240bSFabio Estevam #define CONFIG_POWER_I2C 108cabe240bSFabio Estevam #define CONFIG_POWER_FSL 109913702caSSimon Glass #define CONFIG_POWER_FSL_MC34704 110e00c89dfSFabio Estevam #define CONFIG_SYS_FSL_PMIC_I2C_ADDR 0x54 111e00c89dfSFabio Estevam 112af2a4093SFabio Estevam #define CONFIG_DOS_PARTITION 113af2a4093SFabio Estevam 114e00c89dfSFabio Estevam /* I2C Configs */ 115e00c89dfSFabio Estevam #define CONFIG_CMD_I2C 116b089d039Strem #define CONFIG_SYS_I2C 117b089d039Strem #define CONFIG_SYS_I2C_MXC 118*03544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 119*03544c66SAlbert ARIBAUD \\(3ADEV\\) #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 120e00c89dfSFabio Estevam 121d37b3348SBenoît Thébaudeau /* RTC */ 122d37b3348SBenoît Thébaudeau #define CONFIG_RTC_IMXDI 123d37b3348SBenoît Thébaudeau #define CONFIG_CMD_DATE 124d37b3348SBenoît Thébaudeau 125e00c89dfSFabio Estevam /* Ethernet Configs */ 126e00c89dfSFabio Estevam 127e00c89dfSFabio Estevam #define CONFIG_CMD_PING 128e00c89dfSFabio Estevam #define CONFIG_CMD_DHCP 129e00c89dfSFabio Estevam #define CONFIG_CMD_MII 130e00c89dfSFabio Estevam 131d941e6b6SFabio Estevam #define CONFIG_BOOTDELAY 1 132419adbfbSFabio Estevam 133419adbfbSFabio Estevam #define CONFIG_LOADADDR 0x81000000 /* loadaddr env var */ 134419adbfbSFabio Estevam #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 135419adbfbSFabio Estevam 13681a1d617SFabio Estevam #define CONFIG_DEFAULT_FDT_FILE "imx25-pdk.dtb" 13781a1d617SFabio Estevam 138419adbfbSFabio Estevam #define CONFIG_EXTRA_ENV_SETTINGS \ 139419adbfbSFabio Estevam "script=boot.scr\0" \ 14081a1d617SFabio Estevam "image=zImage\0" \ 14181a1d617SFabio Estevam "console=ttymxc0\0" \ 14281a1d617SFabio Estevam "splashpos=m,m\0" \ 14381a1d617SFabio Estevam "fdt_high=0xffffffff\0" \ 14481a1d617SFabio Estevam "initrd_high=0xffffffff\0" \ 14581a1d617SFabio Estevam "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ 14681a1d617SFabio Estevam "fdt_addr=0x82000000\0" \ 14781a1d617SFabio Estevam "boot_fdt=try\0" \ 14881a1d617SFabio Estevam "ip_dyn=yes\0" \ 14981a1d617SFabio Estevam "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ 15081a1d617SFabio Estevam "mmcpart=1\0" \ 15181a1d617SFabio Estevam "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ 15281a1d617SFabio Estevam "update_sd_firmware_filename=u-boot.imx\0" \ 15381a1d617SFabio Estevam "update_sd_firmware=" \ 15481a1d617SFabio Estevam "if test ${ip_dyn} = yes; then " \ 15581a1d617SFabio Estevam "setenv get_cmd dhcp; " \ 15681a1d617SFabio Estevam "else " \ 15781a1d617SFabio Estevam "setenv get_cmd tftp; " \ 15881a1d617SFabio Estevam "fi; " \ 15981a1d617SFabio Estevam "if mmc dev ${mmcdev}; then " \ 16081a1d617SFabio Estevam "if ${get_cmd} ${update_sd_firmware_filename}; then " \ 16181a1d617SFabio Estevam "setexpr fw_sz ${filesize} / 0x200; " \ 16281a1d617SFabio Estevam "setexpr fw_sz ${fw_sz} + 1; " \ 16381a1d617SFabio Estevam "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ 16481a1d617SFabio Estevam "fi; " \ 16581a1d617SFabio Estevam "fi\0" \ 16681a1d617SFabio Estevam "mmcargs=setenv bootargs console=${console},${baudrate} " \ 16781a1d617SFabio Estevam "root=${mmcroot}\0" \ 16881a1d617SFabio Estevam "loadbootscript=" \ 16981a1d617SFabio Estevam "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ 17081a1d617SFabio Estevam "bootscript=echo Running bootscript from mmc ...; " \ 17181a1d617SFabio Estevam "source\0" \ 17281a1d617SFabio Estevam "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ 17381a1d617SFabio Estevam "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ 17481a1d617SFabio Estevam "mmcboot=echo Booting from mmc ...; " \ 17581a1d617SFabio Estevam "run mmcargs; " \ 17681a1d617SFabio Estevam "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 17781a1d617SFabio Estevam "if run loadfdt; then " \ 17881a1d617SFabio Estevam "bootz ${loadaddr} - ${fdt_addr}; " \ 17981a1d617SFabio Estevam "else " \ 18081a1d617SFabio Estevam "if test ${boot_fdt} = try; then " \ 18181a1d617SFabio Estevam "bootz; " \ 18281a1d617SFabio Estevam "else " \ 18381a1d617SFabio Estevam "echo WARN: Cannot load the DT; " \ 18481a1d617SFabio Estevam "fi; " \ 18581a1d617SFabio Estevam "fi; " \ 18681a1d617SFabio Estevam "else " \ 18781a1d617SFabio Estevam "bootz; " \ 18881a1d617SFabio Estevam "fi;\0" \ 18981a1d617SFabio Estevam "netargs=setenv bootargs console=${console},${baudrate} " \ 190419adbfbSFabio Estevam "root=/dev/nfs " \ 191419adbfbSFabio Estevam "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 19281a1d617SFabio Estevam "netboot=echo Booting from net ...; " \ 19381a1d617SFabio Estevam "run netargs; " \ 19481a1d617SFabio Estevam "if test ${ip_dyn} = yes; then " \ 19581a1d617SFabio Estevam "setenv get_cmd dhcp; " \ 19681a1d617SFabio Estevam "else " \ 19781a1d617SFabio Estevam "setenv get_cmd tftp; " \ 19881a1d617SFabio Estevam "fi; " \ 19981a1d617SFabio Estevam "${get_cmd} ${image}; " \ 20081a1d617SFabio Estevam "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 20181a1d617SFabio Estevam "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 20281a1d617SFabio Estevam "bootz ${loadaddr} - ${fdt_addr}; " \ 20381a1d617SFabio Estevam "else " \ 20481a1d617SFabio Estevam "if test ${boot_fdt} = try; then " \ 20581a1d617SFabio Estevam "bootz; " \ 20681a1d617SFabio Estevam "else " \ 20781a1d617SFabio Estevam "echo WARN: Cannot load the DT; " \ 20881a1d617SFabio Estevam "fi; " \ 20981a1d617SFabio Estevam "fi; " \ 21081a1d617SFabio Estevam "else " \ 21181a1d617SFabio Estevam "bootz; " \ 21281a1d617SFabio Estevam "fi;\0" 21381a1d617SFabio Estevam 21481a1d617SFabio Estevam #define CONFIG_BOOTCOMMAND \ 21581a1d617SFabio Estevam "mmc dev ${mmcdev}; if mmc rescan; then " \ 21681a1d617SFabio Estevam "if run loadbootscript; then " \ 21781a1d617SFabio Estevam "run bootscript; " \ 21881a1d617SFabio Estevam "else " \ 21981a1d617SFabio Estevam "if run loadimage; then " \ 22081a1d617SFabio Estevam "run mmcboot; " \ 22181a1d617SFabio Estevam "else run netboot; " \ 22281a1d617SFabio Estevam "fi; " \ 22381a1d617SFabio Estevam "fi; " \ 22481a1d617SFabio Estevam "else run netboot; fi" 22581a1d617SFabio Estevam 22681a1d617SFabio Estevam /* Miscellaneous configurable options */ 22781a1d617SFabio Estevam #define CONFIG_SYS_LONGHELP 22881a1d617SFabio Estevam #define CONFIG_SYS_HUSH_PARSER 22981a1d617SFabio Estevam #define CONFIG_AUTO_COMPLETE 23081a1d617SFabio Estevam 23181a1d617SFabio Estevam #define CONFIG_SYS_MAXARGS 16 23281a1d617SFabio Estevam #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 233419adbfbSFabio Estevam 234419adbfbSFabio Estevam #endif /* __CONFIG_H */ 235