/* 
 | 
 * (C) Copyright 2009 Samsung Electronics 
 | 
 * Minkyu Kang <mk7.kang@samsung.com> 
 | 
 * HeungJun Kim <riverful.kim@samsung.com> 
 | 
 * Inki Dae <inki.dae@samsung.com> 
 | 
 * 
 | 
 * Configuation settings for the SAMSUNG SMDKC100 board. 
 | 
 * 
 | 
 * SPDX-License-Identifier:    GPL-2.0+ 
 | 
 */ 
 | 
  
 | 
#ifndef __CONFIG_H 
 | 
#define __CONFIG_H 
 | 
  
 | 
/* 
 | 
 * High Level Configuration Options 
 | 
 * (easy to change) 
 | 
 */ 
 | 
#define CONFIG_SAMSUNG        1    /* in a SAMSUNG core */ 
 | 
#define CONFIG_S5P        1    /* which is in a S5P Family */ 
 | 
#define CONFIG_S5PC100        1    /* which is in a S5PC100 */ 
 | 
#define CONFIG_SMDKC100        1    /* working with SMDKC100 */ 
 | 
  
 | 
#include <asm/arch/cpu.h>        /* get chip and board defs */ 
 | 
  
 | 
#define CONFIG_ARCH_CPU_INIT 
 | 
  
 | 
/* input clock of PLL: SMDKC100 has 12MHz input clock */ 
 | 
#define CONFIG_SYS_CLK_FREQ        12000000 
 | 
  
 | 
/* DRAM Base */ 
 | 
#define CONFIG_SYS_SDRAM_BASE        0x30000000 
 | 
  
 | 
/* Text Base */ 
 | 
#define CONFIG_SYS_TEXT_BASE        0x34800000 
 | 
  
 | 
#define CONFIG_SETUP_MEMORY_TAGS 
 | 
#define CONFIG_CMDLINE_TAG 
 | 
#define CONFIG_INITRD_TAG 
 | 
#define CONFIG_CMDLINE_EDITING 
 | 
  
 | 
/* 
 | 
 * Size of malloc() pool 
 | 
 * 1MB = 0x100000, 0x100000 = 1024 * 1024 
 | 
 */ 
 | 
#define CONFIG_SYS_MALLOC_LEN        (CONFIG_ENV_SIZE + (1 << 20)) 
 | 
  
 | 
/* 
 | 
 * select serial console configuration 
 | 
 */ 
 | 
#define CONFIG_SERIAL0            1    /* use SERIAL 0 on SMDKC100 */ 
 | 
  
 | 
/* PWM */ 
 | 
#define CONFIG_PWM            1 
 | 
  
 | 
/* allow to overwrite serial and ethaddr */ 
 | 
#define CONFIG_ENV_OVERWRITE 
 | 
  
 | 
#define CONFIG_BOOTCOMMAND    "run ubifsboot" 
 | 
  
 | 
#define CONFIG_RAMDISK_BOOT    "root=/dev/ram0 rw rootfstype=ext2" \ 
 | 
                " console=ttySAC0,115200n8" \ 
 | 
                " mem=128M" 
 | 
  
 | 
#define CONFIG_COMMON_BOOT    "console=ttySAC0,115200n8" \ 
 | 
                " mem=128M " \ 
 | 
                " " MTDPARTS_DEFAULT 
 | 
  
 | 
#define CONFIG_UPDATEB    "updateb=onenand erase 0x0 0x40000;" \ 
 | 
            " onenand write 0x32008000 0x0 0x40000\0" 
 | 
  
 | 
#define CONFIG_ENV_OVERWRITE 
 | 
#define CONFIG_EXTRA_ENV_SETTINGS                    \ 
 | 
    CONFIG_UPDATEB \ 
 | 
    "updatek=" \ 
 | 
        "onenand erase 0x60000 0x300000;" \ 
 | 
        "onenand write 0x31008000 0x60000 0x300000\0" \ 
 | 
    "updateu=" \ 
 | 
        "onenand erase block 147-4095;" \ 
 | 
        "onenand write 0x32000000 0x1260000 0x8C0000\0" \ 
 | 
    "bootk=" \ 
 | 
        "onenand read 0x30007FC0 0x60000 0x300000;" \ 
 | 
        "bootm 0x30007FC0\0" \ 
 | 
    "flashboot=" \ 
 | 
        "set bootargs root=/dev/mtdblock${bootblock} " \ 
 | 
        "rootfstype=${rootfstype} " \ 
 | 
        "ubi.mtd=${ubiblock} ${opts} " CONFIG_COMMON_BOOT ";" \ 
 | 
        "run bootk\0" \ 
 | 
    "ubifsboot=" \ 
 | 
        "set bootargs root=ubi0!rootfs rootfstype=ubifs " \ 
 | 
        " ubi.mtd=${ubiblock} ${opts} " CONFIG_COMMON_BOOT "; " \ 
 | 
        "run bootk\0" \ 
 | 
    "boottrace=setenv opts initcall_debug; run bootcmd\0" \ 
 | 
    "android=" \ 
 | 
        "set bootargs root=ubi0!ramdisk ubi.mtd=${ubiblock} " \ 
 | 
        "rootfstype=ubifs init=/init.sh " CONFIG_COMMON_BOOT "; " \ 
 | 
        "run bootk\0" \ 
 | 
    "nfsboot=" \ 
 | 
        "set bootargs root=/dev/nfs ubi.mtd=${ubiblock} " \ 
 | 
        "nfsroot=${nfsroot},nolock " \ 
 | 
        "ip=${ipaddr}:${serverip}:${gatewayip}:" \ 
 | 
        "${netmask}:nowplus:usb0:off " CONFIG_COMMON_BOOT "; " \ 
 | 
        "run bootk\0" \ 
 | 
    "ramboot=" \ 
 | 
        "set bootargs " CONFIG_RAMDISK_BOOT \ 
 | 
        " initrd=0x33000000,8M ramdisk=8192\0" \ 
 | 
    "rootfstype=cramfs\0" \ 
 | 
    "mtdparts=" MTDPARTS_DEFAULT "\0" \ 
 | 
    "meminfo=mem=128M\0" \ 
 | 
    "nfsroot=/nfsroot/arm\0" \ 
 | 
    "bootblock=5\0" \ 
 | 
    "ubiblock=4\0" \ 
 | 
    "ubi=enabled" 
 | 
  
 | 
/* 
 | 
 * Miscellaneous configurable options 
 | 
 */ 
 | 
#define CONFIG_SYS_LONGHELP        /* undef to save memory */ 
 | 
#define CONFIG_SYS_PBSIZE    384    /* Print Buffer Size */ 
 | 
/* memtest works on */ 
 | 
#define CONFIG_SYS_MEMTEST_START    CONFIG_SYS_SDRAM_BASE 
 | 
#define CONFIG_SYS_MEMTEST_END        (CONFIG_SYS_SDRAM_BASE + 0x5e00000) 
 | 
#define CONFIG_SYS_LOAD_ADDR        CONFIG_SYS_SDRAM_BASE 
 | 
  
 | 
/* SMDKC100 has 1 banks of DRAM, we use only one in U-Boot */ 
 | 
#define CONFIG_NR_DRAM_BANKS    1 
 | 
#define PHYS_SDRAM_1        CONFIG_SYS_SDRAM_BASE    /* SDRAM Bank #1 */ 
 | 
#define PHYS_SDRAM_1_SIZE    (128 << 20)    /* 0x8000000, 128 MB Bank #1 */ 
 | 
  
 | 
#define CONFIG_SYS_MONITOR_BASE    0x00000000 
 | 
  
 | 
/*----------------------------------------------------------------------- 
 | 
 * FLASH and environment organization 
 | 
 */ 
 | 
  
 | 
#define CONFIG_SYS_MONITOR_LEN        (256 << 10)    /* 256 KiB */ 
 | 
  
 | 
#if !defined(CONFIG_NAND_SPL) && (CONFIG_SYS_TEXT_BASE >= 0xc0000000) 
 | 
#define CONFIG_ENABLE_MMU 
 | 
#endif 
 | 
  
 | 
#ifdef CONFIG_ENABLE_MMU 
 | 
#define CONFIG_SYS_MAPPED_RAM_BASE    0xc0000000 
 | 
#else 
 | 
#define CONFIG_SYS_MAPPED_RAM_BASE    CONFIG_SYS_SDRAM_BASE 
 | 
#endif 
 | 
  
 | 
/*----------------------------------------------------------------------- 
 | 
 * Boot configuration 
 | 
 */ 
 | 
#define CONFIG_ENV_SIZE            (128 << 10)    /* 128KiB, 0x20000 */ 
 | 
#define CONFIG_ENV_ADDR            (256 << 10)    /* 256KiB, 0x40000 */ 
 | 
#define CONFIG_ENV_OFFSET        (256 << 10)    /* 256KiB, 0x40000 */ 
 | 
  
 | 
#define CONFIG_USE_ONENAND_BOARD_INIT 
 | 
#define CONFIG_SAMSUNG_ONENAND        1 
 | 
#define CONFIG_SYS_ONENAND_BASE        0xE7100000 
 | 
  
 | 
#define CONFIG_SYS_INIT_SP_ADDR    (CONFIG_SYS_LOAD_ADDR - 0x1000000) 
 | 
  
 | 
/* 
 | 
 * Ethernet Contoller driver 
 | 
 */ 
 | 
#ifdef CONFIG_CMD_NET 
 | 
#define CONFIG_SMC911X         1       /* we have a SMC9115 on-board   */ 
 | 
#define CONFIG_SMC911X_16_BIT  1       /* SMC911X_16_BIT Mode          */ 
 | 
#define CONFIG_SMC911X_BASE    0x98800300      /* SMC911X Drive Base   */ 
 | 
#define CONFIG_ENV_SROM_BANK   3       /* Select SROM Bank-3 for Ethernet*/ 
 | 
#endif /* CONFIG_CMD_NET */ 
 | 
  
 | 
#endif    /* __CONFIG_H */ 
 |