u-boot-brain/include/configs/brain_mx28_common.h

162 lines
4.4 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* (C) Copyright 2011 Takumi Sueda.
* Author: Takumi Sueda <puhitaku@gmail.com>
*
* (C) Copyright 2011 Freescale Semiconductor, Inc.
* Author: Fabio Estevam <fabio.estevam@freescale.com>
*
* Based on m28evk.h:
* Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
* on behalf of DENX Software Engineering GmbH
*/
#ifndef __BRAIN_MX28_COMMON_H__
#define __BRAIN_MX28_COMMON_H__
/* System configurations */
#define CONFIG_MACH_TYPE MACH_TYPE_MX28EVK
/* Memory configuration */
#define PHYS_SDRAM_1 0x40000000 /* Base address */
#define PHYS_SDRAM_1_SIZE 0x8000000 /* Max 128 MB RAM */
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
/* Environment */
/* Environment is in MMC */
#if defined(CONFIG_CMD_MMC) && defined(CONFIG_ENV_IS_IN_MMC)
#define CONFIG_SYS_MMC_ENV_DEV 0
#endif
/* USB */
#ifdef CONFIG_CMD_USB
#define CONFIG_EHCI_MXS_PORT1
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
#endif
/* Framebuffer support */
#ifdef CONFIG_VIDEO
#define CONFIG_VIDEO_MXS
#define CONFIG_VIDEO_MXS_MODE_SYSTEM
#define CONFIG_VIDEO_LOGO
#define CONFIG_VIDEO_BMP_LOGO
#define CONFIG_HIDE_LOGO_VERSION
#define CONFIG_BMP_16BPP
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10)
#define CONFIG_VIDEO_FONT_6X11
#define LCD_BPP LCD_COLOR16
#endif
/* Boot Linux */
#define CONFIG_BOOTFILE "uImage"
#define CONFIG_LOADADDR 0x42000000
#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
/* Extra Environment */
#define CONFIG_EXTRA_ENV_SETTINGS \
"stdin=serial\0" \
"stdout=serial,vga\0" \
"stderr=serial,vga\0" \
"bootdelay=0\0" \
"videomode=video=ctfb:x:" CONFIG_LCD_X ",y:" CONFIG_LCD_Y ",depth:16,pclk:30857,le:0,ri:0,up:0,lo:0,hs:0,vs:0,sync:0,vmode:0\0" \
"image=zImage\0" \
"console_mainline=ttyAMA0\0" \
"bootargs_custom=fbcon=font:ProFont6x11\0" \
"bootorder=emmc sd\0" \
"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
"fdt_addr=0x41000000\0" \
"verbose=no\0" \
"printfail=echo failed to ${fail}\0" \
"quiet=" \
"if test $verbose = no; then " \
"setenv stdout_orig ${stdout}; " \
"setenv stdout nulldev; " \
"fi\0" \
"unquiet=" \
"setenv returncode $?; " \
"if test -n $stdout_orig; then " \
"setenv stdout ${stdout_orig}; " \
"fi; " \
"exit $returncode\0" \
"sddev=1\0" \
"sdpart=1\0" \
"sdroot=/dev/mmcblk1p2 rw rootwait\0" \
"selectsd=" \
"setenv dev ${sddev}; " \
"setenv part ${sdpart}; " \
"setenv root ${sdroot}; " \
"setenv devname SD; " \
"run quiet; " \
"mmc dev ${dev}; " \
"run unquiet\0" \
"emmcdev=0\0" \
"emmcpart=1\0" \
"emmcroot=/dev/mmcblk0p3 rw rootwait\0" \
"selectemmc=" \
"setenv dev ${emmcdev}; " \
"setenv part ${emmcpart}; " \
"setenv root ${emmcroot}; " \
"setenv devname eMMC; " \
"run quiet; " \
"mmc dev ${dev}; " \
"run unquiet\0" \
"loadimage=" \
"run quiet; " \
"fatload mmc ${dev}:${part} ${loadaddr} ${image}; " \
"run unquiet\0" \
"loadfdt=" \
"run quiet; " \
"fatload mmc ${dev}:${part} ${fdt_addr} ${fdt_file}; " \
"run unquiet\0" \
"checkenvexists=" \
"run quiet; " \
"test -e mmc ${dev}:${part} uEnv.txt; " \
"run unquiet\0" \
"loadenv=" \
"run quiet; " \
"fatload mmc ${dev}:${part} ${loadaddr} uEnv.txt; " \
"run unquiet\0" \
"importenv=" \
"run quiet; " \
"env import -t ${loadaddr} ${filesize}; " \
"run unquiet\0" \
"loadandimportenv=" \
"if run checkenvexists; then " \
"echo -n \"Loading environment from ${devname} ... \"; " \
"if setenv fail load && run loadenv && setenv fail parse && run importenv; then " \
"echo OK; " \
"else " \
"run printfail; " \
"fi; " \
"fi\0" \
"setargs=setenv bootargs console=${console_mainline},${baudrate} console=tty1 " \
"root=${root} ${bootargs_custom}\0" \
"mmcboot=" \
"echo -n \"Loading kernel and device tree from ${devname} ... \"; " \
"if setenv fail load image && run loadimage && setenv fail load DT && run loadfdt; then " \
"echo OK; " \
"echo \"Booting from ${devname} ... \"; " \
"setenv fail bootz; " \
"run setargs; " \
"bootz ${loadaddr} - ${fdt_addr}; " \
"fi; " \
"run printfail\0" \
"preboot=" \
"for choice in emmc sd; do " /* Env in SD must have higher priority */ \
"if run select$choice; then " \
"run loadandimportenv; " \
"fi; " \
"done\0" \
"bootcmd=" \
"for choice in $bootorder; do " \
"if run select$choice; then " \
"run mmcboot; " \
"fi; " \
"done; " \
"echo Failed to boot (X_X)"
/* The rest of the configuration is shared */
#include <configs/mxs.h>
#endif /* __BRAIN_MX28_COMMON_H__ */