1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 2009 Samsung Electronics 3*4882a593Smuzhiyun * Minkyu Kang <mk7.kang@samsung.com> 4*4882a593Smuzhiyun * HeungJun Kim <riverful.kim@samsung.com> 5*4882a593Smuzhiyun * Inki Dae <inki.dae@samsung.com> 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Configuation settings for the SAMSUNG SMDKC100 board. 8*4882a593Smuzhiyun * 9*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #ifndef __CONFIG_H 13*4882a593Smuzhiyun #define __CONFIG_H 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun /* 16*4882a593Smuzhiyun * High Level Configuration Options 17*4882a593Smuzhiyun * (easy to change) 18*4882a593Smuzhiyun */ 19*4882a593Smuzhiyun #define CONFIG_SAMSUNG 1 /* in a SAMSUNG core */ 20*4882a593Smuzhiyun #define CONFIG_S5P 1 /* which is in a S5P Family */ 21*4882a593Smuzhiyun #define CONFIG_S5PC100 1 /* which is in a S5PC100 */ 22*4882a593Smuzhiyun #define CONFIG_SMDKC100 1 /* working with SMDKC100 */ 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #include <asm/arch/cpu.h> /* get chip and board defs */ 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #define CONFIG_ARCH_CPU_INIT 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun /* input clock of PLL: SMDKC100 has 12MHz input clock */ 29*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ 12000000 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun /* DRAM Base */ 32*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE 0x30000000 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun /* Text Base */ 35*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x34800000 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun #define CONFIG_SETUP_MEMORY_TAGS 38*4882a593Smuzhiyun #define CONFIG_CMDLINE_TAG 39*4882a593Smuzhiyun #define CONFIG_INITRD_TAG 40*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun /* 43*4882a593Smuzhiyun * Size of malloc() pool 44*4882a593Smuzhiyun * 1MB = 0x100000, 0x100000 = 1024 * 1024 45*4882a593Smuzhiyun */ 46*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (1 << 20)) 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* 49*4882a593Smuzhiyun * select serial console configuration 50*4882a593Smuzhiyun */ 51*4882a593Smuzhiyun #define CONFIG_SERIAL0 1 /* use SERIAL 0 on SMDKC100 */ 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun /* PWM */ 54*4882a593Smuzhiyun #define CONFIG_PWM 1 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun /* allow to overwrite serial and ethaddr */ 57*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run ubifsboot" 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun #define CONFIG_RAMDISK_BOOT "root=/dev/ram0 rw rootfstype=ext2" \ 62*4882a593Smuzhiyun " console=ttySAC0,115200n8" \ 63*4882a593Smuzhiyun " mem=128M" 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun #define CONFIG_COMMON_BOOT "console=ttySAC0,115200n8" \ 66*4882a593Smuzhiyun " mem=128M " \ 67*4882a593Smuzhiyun " " MTDPARTS_DEFAULT 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun #define CONFIG_UPDATEB "updateb=onenand erase 0x0 0x40000;" \ 70*4882a593Smuzhiyun " onenand write 0x32008000 0x0 0x40000\0" 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 73*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 74*4882a593Smuzhiyun CONFIG_UPDATEB \ 75*4882a593Smuzhiyun "updatek=" \ 76*4882a593Smuzhiyun "onenand erase 0x60000 0x300000;" \ 77*4882a593Smuzhiyun "onenand write 0x31008000 0x60000 0x300000\0" \ 78*4882a593Smuzhiyun "updateu=" \ 79*4882a593Smuzhiyun "onenand erase block 147-4095;" \ 80*4882a593Smuzhiyun "onenand write 0x32000000 0x1260000 0x8C0000\0" \ 81*4882a593Smuzhiyun "bootk=" \ 82*4882a593Smuzhiyun "onenand read 0x30007FC0 0x60000 0x300000;" \ 83*4882a593Smuzhiyun "bootm 0x30007FC0\0" \ 84*4882a593Smuzhiyun "flashboot=" \ 85*4882a593Smuzhiyun "set bootargs root=/dev/mtdblock${bootblock} " \ 86*4882a593Smuzhiyun "rootfstype=${rootfstype} " \ 87*4882a593Smuzhiyun "ubi.mtd=${ubiblock} ${opts} " CONFIG_COMMON_BOOT ";" \ 88*4882a593Smuzhiyun "run bootk\0" \ 89*4882a593Smuzhiyun "ubifsboot=" \ 90*4882a593Smuzhiyun "set bootargs root=ubi0!rootfs rootfstype=ubifs " \ 91*4882a593Smuzhiyun " ubi.mtd=${ubiblock} ${opts} " CONFIG_COMMON_BOOT "; " \ 92*4882a593Smuzhiyun "run bootk\0" \ 93*4882a593Smuzhiyun "boottrace=setenv opts initcall_debug; run bootcmd\0" \ 94*4882a593Smuzhiyun "android=" \ 95*4882a593Smuzhiyun "set bootargs root=ubi0!ramdisk ubi.mtd=${ubiblock} " \ 96*4882a593Smuzhiyun "rootfstype=ubifs init=/init.sh " CONFIG_COMMON_BOOT "; " \ 97*4882a593Smuzhiyun "run bootk\0" \ 98*4882a593Smuzhiyun "nfsboot=" \ 99*4882a593Smuzhiyun "set bootargs root=/dev/nfs ubi.mtd=${ubiblock} " \ 100*4882a593Smuzhiyun "nfsroot=${nfsroot},nolock " \ 101*4882a593Smuzhiyun "ip=${ipaddr}:${serverip}:${gatewayip}:" \ 102*4882a593Smuzhiyun "${netmask}:nowplus:usb0:off " CONFIG_COMMON_BOOT "; " \ 103*4882a593Smuzhiyun "run bootk\0" \ 104*4882a593Smuzhiyun "ramboot=" \ 105*4882a593Smuzhiyun "set bootargs " CONFIG_RAMDISK_BOOT \ 106*4882a593Smuzhiyun " initrd=0x33000000,8M ramdisk=8192\0" \ 107*4882a593Smuzhiyun "rootfstype=cramfs\0" \ 108*4882a593Smuzhiyun "mtdparts=" MTDPARTS_DEFAULT "\0" \ 109*4882a593Smuzhiyun "meminfo=mem=128M\0" \ 110*4882a593Smuzhiyun "nfsroot=/nfsroot/arm\0" \ 111*4882a593Smuzhiyun "bootblock=5\0" \ 112*4882a593Smuzhiyun "ubiblock=4\0" \ 113*4882a593Smuzhiyun "ubi=enabled" 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun /* 116*4882a593Smuzhiyun * Miscellaneous configurable options 117*4882a593Smuzhiyun */ 118*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 119*4882a593Smuzhiyun #define CONFIG_SYS_PBSIZE 384 /* Print Buffer Size */ 120*4882a593Smuzhiyun /* memtest works on */ 121*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE 122*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + 0x5e00000) 123*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun /* SMDKC100 has 1 banks of DRAM, we use only one in U-Boot */ 126*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 1 127*4882a593Smuzhiyun #define PHYS_SDRAM_1 CONFIG_SYS_SDRAM_BASE /* SDRAM Bank #1 */ 128*4882a593Smuzhiyun #define PHYS_SDRAM_1_SIZE (128 << 20) /* 0x8000000, 128 MB Bank #1 */ 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE 0x00000000 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun /*----------------------------------------------------------------------- 133*4882a593Smuzhiyun * FLASH and environment organization 134*4882a593Smuzhiyun */ 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (256 << 10) /* 256 KiB */ 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun #if !defined(CONFIG_NAND_SPL) && (CONFIG_SYS_TEXT_BASE >= 0xc0000000) 139*4882a593Smuzhiyun #define CONFIG_ENABLE_MMU 140*4882a593Smuzhiyun #endif 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun #ifdef CONFIG_ENABLE_MMU 143*4882a593Smuzhiyun #define CONFIG_SYS_MAPPED_RAM_BASE 0xc0000000 144*4882a593Smuzhiyun #else 145*4882a593Smuzhiyun #define CONFIG_SYS_MAPPED_RAM_BASE CONFIG_SYS_SDRAM_BASE 146*4882a593Smuzhiyun #endif 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun /*----------------------------------------------------------------------- 149*4882a593Smuzhiyun * Boot configuration 150*4882a593Smuzhiyun */ 151*4882a593Smuzhiyun #define CONFIG_ENV_SIZE (128 << 10) /* 128KiB, 0x20000 */ 152*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (256 << 10) /* 256KiB, 0x40000 */ 153*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (256 << 10) /* 256KiB, 0x40000 */ 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun #define CONFIG_USE_ONENAND_BOARD_INIT 156*4882a593Smuzhiyun #define CONFIG_SAMSUNG_ONENAND 1 157*4882a593Smuzhiyun #define CONFIG_SYS_ONENAND_BASE 0xE7100000 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000) 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun /* 162*4882a593Smuzhiyun * Ethernet Contoller driver 163*4882a593Smuzhiyun */ 164*4882a593Smuzhiyun #ifdef CONFIG_CMD_NET 165*4882a593Smuzhiyun #define CONFIG_SMC911X 1 /* we have a SMC9115 on-board */ 166*4882a593Smuzhiyun #define CONFIG_SMC911X_16_BIT 1 /* SMC911X_16_BIT Mode */ 167*4882a593Smuzhiyun #define CONFIG_SMC911X_BASE 0x98800300 /* SMC911X Drive Base */ 168*4882a593Smuzhiyun #define CONFIG_ENV_SROM_BANK 3 /* Select SROM Bank-3 for Ethernet*/ 169*4882a593Smuzhiyun #endif /* CONFIG_CMD_NET */ 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun #endif /* __CONFIG_H */ 172