blob: eb0a14839a9d23996a9aa83d4e1d375b380607fa [file] [log] [blame]
/*
* Copyright (C) 2011 Samsung Electronics
*
* Configuration settings for the SAMSUNG SMDK5250 (EXYNOS5250) board.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* 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 __CONFIG_H
#define __CONFIG_H
/* Enable Serial Flash Support */
#define CONFIG_SPI_FLASH
#define CONFIG_ENV_IS_IN_SPI_FLASH
#include "exynos5-common.h" /* Common Exynos5 based board configurations */
/* High Level Configuration Options */
#define CONFIG_SMDK5250
#define USE_MMC0 1
#define USE_MMC2 1
/* Choose DDR Type below: Uncomment the type of DDR present on your board */
#define CONFIG_DDR3
/* #define CONFIG_LPDDR2 */
/**
* Enabling this will clock DDR3 at 800MHz.
* Disbleing this will clock DDR3 at 667MHz.
* Only supported when CONFIG_DDR3 is enabled.
*/
#ifdef CONFIG_DDR3
#define CDREX_800
#endif
/* Enable fdt support for SMDK5250 */
#define CONFIG_DEFAULT_DEVICE_TREE exynos5250-smdk5250
#define CONFIG_OF_CONTROL
#define CONFIG_OF_SEPARATE
#define CONFIG_ARCH_DEVICE_TREE exynos5250
/* Enable booting of fitImage format */
#define CONFIG_FIT
/* input clock of PLL: SMDK5250 has 24MHz input clock */
#define CONFIG_SYS_CLK_FREQ 24000000
#ifndef CONFIG_OF_CONTROL
/* MACH_TYPE_SMDK5250 macro will be removed once added to mach-types */
#define MACH_TYPE_SMDK5250 3774
#define CONFIG_MACH_TYPE MACH_TYPE_SMDK5250
#endif
/* select serial console configuration */
#define EXYNOS_UART PERIPH_ID_UART3
#define CONFIG_SERIAL3
/* SD/MMC configuration */
#define CONFIG_GENERIC_MMC
#define CONFIG_MMC
#define CONFIG_S5P_MMC
/* Command definition*/
#include <config_cmd_default.h>
#define CONFIG_CMD_PING
#define CONFIG_CMD_ELF
#define CONFIG_CMD_MMC
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_FAT
#define CONFIG_CMD_NET
#define CONFIG_CMD_TIME
/* So our flasher can verify that all is well */
#define CONFIG_CRC32_VERIFY
#define CONFIG_CMD_SPI
#define CONFIG_BOOTDELAY 0
#define CONFIG_ZERO_BOOTDELAY_CHECK
/* USB */
#define CONFIG_CMD_USB
#define CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_EXYNOS
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
#define CONFIG_USB_STORAGE
/* I2C */
#define CONFIG_HARD_I2C
#define CONFIG_CMD_I2C
#define CONFIG_SYS_I2C_SPEED 100000 /* 100 Kbps */
#define CONFIG_DRIVER_S3C24X0_I2C
#define CONFIG_I2C_MULTI_BUS
#define CONFIG_SYS_I2C_SLAVE 0x0
#define CONFIG_MAX77686_POWER
#define CONFIG_TPS65090_POWER
#define CONFIG_TPS65090_I2C_BUS 0x4
#ifdef CONFIG_CPU_EXYNOS5250_EVT1
#define CONFIG_VDD_ARM 1300
#define CONFIG_VDD_INT 10125 /* 1.0125v */
#define CONFIG_VDD_MIF 1000
#define CONFIG_VDD_LDO21 1350
#else
#define CONFIG_VDD_ARM 1150 /* 1.15v */
#define CONFIG_VDD_INT 1100 /* 1.1v */
#define CONFIG_VDD_MIF 1200 /* 1.2v */
#endif
#define CONFIG_VDD_G3D 1200 /* 1.2 v */
#define CONFIG_VDD_LDO2 1500 /* 1.5v */
#define CONFIG_VDD_LDO3 1800 /* 1.8v */
#define CONFIG_VDD_LDO5 1800 /* 1.8v */
#define CONFIG_VDD_LDO10 1800 /* 1.8v */
/* Miscellaneous configurable options */
#define CONFIG_SYS_PROMPT "SMDK5250 # "
#define CONFIG_DEFAULT_CONSOLE "console=ttySAC3,115200n8\0"
#define CONFIG_RD_LVL
#define CONFIG_NR_DRAM_BANKS 1
/* Select SPI boot mode support */
#define CONFIG_EXYNOS_SPI_BOOT
#define CONFIG_IDENT_STRING " for SMDK5250"
/* #define CONFIG_ENV_IS_IN_MMC */
#define CONFIG_SYS_MMC_ENV_DEV 0
/* Ethernet Controllor Driver */
#ifdef CONFIG_CMD_NET
#define CONFIG_SMC911X
#define CONFIG_SMC911X_16_BIT
#endif /*CONFIG_CMD_NET*/
#ifndef CONFIG_OF_CONTROL
#define CONFIG_SMC911X_BASE 0x5000000
#define CONFIG_ENV_SROM_BANK 1
#endif
/* Don't load kernel at the very bottom of ram so that it has room when
* it relocates down. */
#define CONFIG_LOADADDR 0x42000000
/* Keep kernel-passed data below 512MB (i.e. in lowmem with some margin) */
#define CONFIG_SYS_BOOTMAPSZ (512 << 20)
#define SCRIPT_GENERATE_BOOTARGS "script_generate_bootargs=" \
"setenv bootargs " \
"root=/dev/mmcblk${boot_kdevnum}p3 " \
"rootwait " \
"ro " \
"console=ttySAC3,${baudrate} " \
"cros_legacy " \
"debug " \
"earlyprintk " \
"" \
"\0"
/* Default boot commands for ChromeOS booting. */
#define CONFIG_BOOTCOMMAND \
"run script_generate_bootargs; " \
"mmc rescan ${boot_udevnum}; " \
"fatload mmc ${boot_udevnum}:c ${loadaddr} ${boot_kernelname}; " \
"bootm ${loadaddr}; " \
""
/* Will get defined by the script script_generate_bootargs */
#define CONFIG_BOOTARGS "*** please edit script_generate_bootargs ***"
#define CONFIG_EXTRA_ENV_SETTINGS \
SCRIPT_GENERATE_BOOTARGS \
\
"boot_udevnum=0\0" \
"boot_kdevnum=1\0" \
"boot_kernelname=vmlinuz.uimg.a\0" \
""
#endif /* __CONFIG_H */