mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-12 06:12:58 +00:00
5434caf5ba
Pull all the duplicate configuration options into configs/mxs.h from the board configuration files. This reduces the files greatly and makes them somewhat more readable. Besides, we do no longer have such a horrible duplication of code. Note that the mx23evk grew in size slightly. This is due to the CONFIG_SYS_CBSIZE now being set to 1024 as it is on the rest of MXS systems. This patch also fixes the OCRAM size for i.MX23. The i.MX23 has only 32kB of OCRAM, while i.MX28 has 128kB of OCRAM. I verified the configuration didn't change for each of the boards, but I didn't boot-test it on the boards I do not have. I configured U-Boot for each board using the "make ... <board>_config" command and then ran "cpp -I include -dM include/config.h" , which dumped all the configuration options. I did this both before and after this patch and finally compared the results for each MXS board. Actually, the results do differ slightly, since the configs/mxs.h file now properly includes the correct iomux-mx23.h or iomux-mx28.h , so while comparing, I had to ignore these new defines. These have no impact on U-Boot configuration though. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Lauri Hintsala <lauri.hintsala@bluegiga.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Stefano Babic <sbabic@denx.de>
148 lines
4.2 KiB
C
148 lines
4.2 KiB
C
/*
|
|
* Freescale i.MX23 EVK board config
|
|
*
|
|
* Copyright (C) 2013 Otavio Salvador <otavio@ossystems.com.br>
|
|
* on behalf of O.S. Systems Software LTDA.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
*/
|
|
#ifndef __CONFIGS_MX23EVK_H__
|
|
#define __CONFIGS_MX23EVK_H__
|
|
|
|
/* System configurations */
|
|
#define CONFIG_MX23 /* i.MX23 SoC */
|
|
#define CONFIG_MACH_TYPE MACH_TYPE_MX23EVK
|
|
|
|
/* U-Boot Commands */
|
|
#define CONFIG_SYS_NO_FLASH
|
|
#include <config_cmd_default.h>
|
|
#undef CONFIG_CMD_NET
|
|
#undef CONFIG_CMD_NFS
|
|
|
|
#define CONFIG_DISPLAY_CPUINFO
|
|
#define CONFIG_DOS_PARTITION
|
|
|
|
#define CONFIG_CMD_CACHE
|
|
#define CONFIG_CMD_EXT2
|
|
#define CONFIG_CMD_FAT
|
|
#define CONFIG_CMD_GPIO
|
|
#define CONFIG_CMD_MMC
|
|
#define CONFIG_CMD_USB
|
|
#define CONFIG_CMD_BOOTZ
|
|
#define CONFIG_VIDEO
|
|
|
|
/* Memory configuration */
|
|
#define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */
|
|
#define PHYS_SDRAM_1 0x40000000 /* Base address */
|
|
#define PHYS_SDRAM_1_SIZE 0x08000000 /* Max 128 MB RAM */
|
|
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
|
|
|
|
/* Environment */
|
|
#define CONFIG_ENV_OVERWRITE
|
|
#define CONFIG_ENV_IS_IN_MMC
|
|
|
|
/* Environment is in MMC */
|
|
#if defined(CONFIG_CMD_MMC) && defined(CONFIG_ENV_IS_IN_MMC)
|
|
#define CONFIG_ENV_OFFSET (256 * 1024)
|
|
#define CONFIG_ENV_SIZE (16 * 1024)
|
|
#define CONFIG_SYS_MMC_ENV_DEV 0
|
|
#endif
|
|
|
|
/* USB */
|
|
#ifdef CONFIG_CMD_USB
|
|
#define CONFIG_EHCI_MXS_PORT0
|
|
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
|
#define CONFIG_USB_STORAGE
|
|
#endif
|
|
|
|
/* Framebuffer support */
|
|
#ifdef CONFIG_VIDEO
|
|
#define CONFIG_VIDEO_LOGO
|
|
#define CONFIG_SPLASH_SCREEN
|
|
#define CONFIG_CMD_BMP
|
|
#define CONFIG_BMP_16BPP
|
|
#define CONFIG_VIDEO_BMP_RLE8
|
|
#define CONFIG_VIDEO_BMP_GZIP
|
|
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10)
|
|
#endif
|
|
|
|
/* Boot Linux */
|
|
#define CONFIG_BOOTDELAY 1
|
|
#define CONFIG_BOOTFILE "uImage"
|
|
#define CONFIG_LOADADDR 0x42000000
|
|
#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
|
|
|
|
/* Extra Environments */
|
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
"update_sd_firmware_filename=u-boot.sd\0" \
|
|
"update_sd_firmware=" /* Update the SD firmware partition */ \
|
|
"if mmc rescan ; then " \
|
|
"if tftp ${update_sd_firmware_filename} ; then " \
|
|
"setexpr fw_sz ${filesize} / 0x200 ; " /* SD block size */ \
|
|
"setexpr fw_sz ${fw_sz} + 1 ; " \
|
|
"mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
|
|
"fi ; " \
|
|
"fi\0" \
|
|
"script=boot.scr\0" \
|
|
"uimage=uImage\0" \
|
|
"console=ttyAMA0\0" \
|
|
"fdt_file=imx23-evk.dtb\0" \
|
|
"fdt_addr=0x41000000\0" \
|
|
"boot_fdt=try\0" \
|
|
"mmcdev=0\0" \
|
|
"mmcpart=2\0" \
|
|
"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
|
|
"mmcargs=setenv bootargs console=${console},${baudrate} " \
|
|
"root=${mmcroot}\0" \
|
|
"loadbootscript=" \
|
|
"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
|
|
"bootscript=echo Running bootscript from mmc ...; " \
|
|
"source\0" \
|
|
"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\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 " \
|
|
"bootm ${loadaddr} - ${fdt_addr}; " \
|
|
"else " \
|
|
"if test ${boot_fdt} = try; then " \
|
|
"bootm; " \
|
|
"else " \
|
|
"echo WARN: Cannot load the DT; " \
|
|
"fi; " \
|
|
"fi; " \
|
|
"else " \
|
|
"bootm; " \
|
|
"fi;\0"
|
|
|
|
#define CONFIG_BOOTCOMMAND \
|
|
"mmc dev ${mmcdev}; if mmc rescan; then " \
|
|
"if run loadbootscript; then " \
|
|
"run bootscript; " \
|
|
"else " \
|
|
"if run loaduimage; then " \
|
|
"run mmcboot; " \
|
|
"else " \
|
|
"echo ERR: Fail to boot from MMC; " \
|
|
"fi; " \
|
|
"fi; " \
|
|
"else exit; fi"
|
|
|
|
/* The rest of the configuration is shared */
|
|
#include <configs/mxs.h>
|
|
|
|
#endif /* __CONFIGS_MX23EVK_H__ */
|