/* 
 | 
 * Copyright (C) 2009 Samsung Electronics 
 | 
 * Minkyu Kang <mk7.kang@samsung.com> 
 | 
 * Kyungmin Park <kyungmin.park@samsung.com> 
 | 
 * 
 | 
 * Configuation settings for the SAMSUNG Universal (s5pc100) board. 
 | 
 * 
 | 
 * SPDX-License-Identifier:    GPL-2.0+ 
 | 
 */ 
 | 
  
 | 
#ifndef __CONFIG_H 
 | 
#define __CONFIG_H 
 | 
  
 | 
/* High Level Configuration Options */ 
 | 
#define CONFIG_SAMSUNG        1    /* in a SAMSUNG core */ 
 | 
#define CONFIG_S5P        1    /* which is in a S5P Family */ 
 | 
#define CONFIG_S5PC110        1    /* which is in a S5PC110 */ 
 | 
#define CONFIG_MACH_GONI    1    /* working with Goni */ 
 | 
  
 | 
#include <linux/sizes.h> 
 | 
#include <asm/arch/cpu.h>        /* get chip and board defs */ 
 | 
  
 | 
#define CONFIG_ARCH_CPU_INIT 
 | 
  
 | 
/* input clock of PLL: has 24MHz input clock at S5PC110 */ 
 | 
#define CONFIG_SYS_CLK_FREQ_C110    24000000 
 | 
  
 | 
/* 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_REVISION_TAG 
 | 
#define CONFIG_INITRD_TAG 
 | 
#define CONFIG_CMDLINE_EDITING 
 | 
  
 | 
/* Size of malloc() pool before and after relocation */ 
 | 
#define CONFIG_SYS_MALLOC_LEN        (CONFIG_ENV_SIZE + (80 << 20)) 
 | 
  
 | 
/* 
 | 
 * select serial console configuration 
 | 
 */ 
 | 
#define CONFIG_SERIAL2            1    /* use SERIAL2 */ 
 | 
  
 | 
/* MMC */ 
 | 
#define SDHCI_MAX_HOSTS        4 
 | 
  
 | 
/* PWM */ 
 | 
#define CONFIG_PWM            1 
 | 
  
 | 
/* USB Composite download gadget - g_dnl */ 
 | 
#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M 
 | 
#define DFU_DEFAULT_POLL_TIMEOUT 300 
 | 
  
 | 
/* TIZEN THOR downloader support */ 
 | 
#define CONFIG_USB_FUNCTION_THOR 
 | 
  
 | 
/* USB Samsung's IDs */ 
 | 
  
 | 
#define CONFIG_G_DNL_THOR_VENDOR_NUM 0x04E8 
 | 
#define CONFIG_G_DNL_THOR_PRODUCT_NUM 0x685D 
 | 
#define CONFIG_G_DNL_UMS_VENDOR_NUM 0x0525 
 | 
#define CONFIG_G_DNL_UMS_PRODUCT_NUM 0xA4A5 
 | 
  
 | 
/* Actual modem binary size is 16MiB. Add 2MiB for bad block handling */ 
 | 
#define MTDIDS_DEFAULT        "onenand0=samsung-onenand" 
 | 
#define MTDPARTS_DEFAULT    "mtdparts=samsung-onenand:1m(bootloader)"\ 
 | 
                ",256k(params)"\ 
 | 
                ",2816k(config)"\ 
 | 
                ",8m(csa)"\ 
 | 
                ",7m(kernel)"\ 
 | 
                ",1m(log)"\ 
 | 
                ",12m(modem)"\ 
 | 
                ",60m(qboot)\0" 
 | 
  
 | 
/* partitions definitions */ 
 | 
#define PARTS_CSA            "csa-mmc" 
 | 
#define PARTS_BOOTLOADER    "u-boot" 
 | 
#define PARTS_BOOT            "boot" 
 | 
#define PARTS_ROOT            "platform" 
 | 
#define PARTS_DATA            "data" 
 | 
#define PARTS_CSC            "csc" 
 | 
#define PARTS_UMS            "ums" 
 | 
  
 | 
#define CONFIG_DFU_ALT \ 
 | 
    "u-boot raw 0x80 0x400;" \ 
 | 
    "uImage ext4 0 2;" \ 
 | 
    "exynos3-goni.dtb ext4 0 2;" \ 
 | 
    ""PARTS_ROOT" part 0 5\0" 
 | 
  
 | 
#define PARTS_DEFAULT \ 
 | 
    "uuid_disk=${uuid_gpt_disk};" \ 
 | 
    "name="PARTS_CSA",size=8MiB,uuid=${uuid_gpt_"PARTS_CSA"};" \ 
 | 
    "name="PARTS_BOOTLOADER",size=60MiB," \ 
 | 
    "uuid=${uuid_gpt_"PARTS_BOOTLOADER"};" \ 
 | 
    "name="PARTS_BOOT",size=100MiB,uuid=${uuid_gpt_"PARTS_BOOT"};" \ 
 | 
    "name="PARTS_ROOT",size=1GiB,uuid=${uuid_gpt_"PARTS_ROOT"};" \ 
 | 
    "name="PARTS_DATA",size=3GiB,uuid=${uuid_gpt_"PARTS_DATA"};" \ 
 | 
    "name="PARTS_CSC",size=150MiB,uuid=${uuid_gpt_"PARTS_CSC"};" \ 
 | 
    "name="PARTS_UMS",size=-,uuid=${uuid_gpt_"PARTS_UMS"}\0" \ 
 | 
  
 | 
#define CONFIG_BOOTCOMMAND    "run mmcboot" 
 | 
  
 | 
#define CONFIG_DEFAULT_CONSOLE    "console=ttySAC2,115200n8\0" 
 | 
  
 | 
#define CONFIG_RAMDISK_BOOT    "root=/dev/ram0 rw rootfstype=ext4" \ 
 | 
        " ${console} ${meminfo}" 
 | 
  
 | 
#define CONFIG_COMMON_BOOT    "${console} ${meminfo} ${mtdparts}" 
 | 
  
 | 
#define CONFIG_UPDATEB    "updateb=onenand erase 0x0 0x100000;" \ 
 | 
            " onenand write 0x32008000 0x0 0x100000\0" 
 | 
  
 | 
#define CONFIG_MISC_COMMON 
 | 
#define CONFIG_MISC_INIT_R 
 | 
  
 | 
#define CONFIG_ENV_OVERWRITE 
 | 
#define CONFIG_ENV_VARS_UBOOT_CONFIG 
 | 
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 
 | 
#define CONFIG_EXTRA_ENV_SETTINGS                    \ 
 | 
    CONFIG_UPDATEB \ 
 | 
    "updatek=" \ 
 | 
        "onenand erase 0xc00000 0x600000;" \ 
 | 
        "onenand write 0x31008000 0xc00000 0x600000\0" \ 
 | 
    "updateu=" \ 
 | 
        "onenand erase 0x01560000 0x1eaa0000;" \ 
 | 
        "onenand write 0x32000000 0x1260000 0x8C0000\0" \ 
 | 
    "bootk=" \ 
 | 
        "run loaduimage;" \ 
 | 
        "bootm 0x30007FC0\0" \ 
 | 
    "flashboot=" \ 
 | 
        "set bootargs root=/dev/mtdblock${bootblock} " \ 
 | 
        "rootfstype=${rootfstype} ${opts} " \ 
 | 
        "${lcdinfo} " CONFIG_COMMON_BOOT "; run bootk\0" \ 
 | 
    "ubifsboot=" \ 
 | 
        "set bootargs root=ubi0!rootfs rootfstype=ubifs " \ 
 | 
        "${opts} ${lcdinfo} " \ 
 | 
        CONFIG_COMMON_BOOT "; run bootk\0" \ 
 | 
    "tftpboot=" \ 
 | 
        "set bootargs root=ubi0!rootfs rootfstype=ubifs " \ 
 | 
        "${opts} ${lcdinfo} " CONFIG_COMMON_BOOT \ 
 | 
        "; tftp 0x30007FC0 uImage; bootm 0x30007FC0\0" \ 
 | 
    "ramboot=" \ 
 | 
        "set bootargs " CONFIG_RAMDISK_BOOT \ 
 | 
        "initrd=0x33000000,8M ramdisk=8192\0" \ 
 | 
    "mmcboot=" \ 
 | 
        "set bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} " \ 
 | 
        "rootfstype=${rootfstype} ${opts} ${lcdinfo} " \ 
 | 
        CONFIG_COMMON_BOOT "; run bootk\0" \ 
 | 
    "boottrace=setenv opts initcall_debug; run bootcmd\0" \ 
 | 
    "bootchart=set opts init=/sbin/bootchartd; run bootcmd\0" \ 
 | 
    "verify=n\0" \ 
 | 
    "rootfstype=ext4\0" \ 
 | 
    "console=" CONFIG_DEFAULT_CONSOLE \ 
 | 
    "meminfo=mem=80M mem=256M@0x40000000 mem=128M@0x50000000\0" \ 
 | 
    "loaduimage=ext4load mmc ${mmcdev}:${mmcbootpart} 0x30007FC0 uImage\0" \ 
 | 
    "mmcdev=0\0" \ 
 | 
    "mmcbootpart=2\0" \ 
 | 
    "mmcrootpart=5\0" \ 
 | 
    "partitions=" PARTS_DEFAULT \ 
 | 
    "bootblock=9\0" \ 
 | 
    "ubiblock=8\0" \ 
 | 
    "ubi=enabled\0" \ 
 | 
    "opts=always_resume=1\0" \ 
 | 
    "dfu_alt_info=" CONFIG_DFU_ALT "\0" 
 | 
  
 | 
#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 + 0x5000000) 
 | 
#define CONFIG_SYS_LOAD_ADDR        (CONFIG_SYS_SDRAM_BASE + 0x4000000) 
 | 
  
 | 
/* Goni has 3 banks of DRAM, but swap the bank */ 
 | 
#define CONFIG_NR_DRAM_BANKS    3 
 | 
#define PHYS_SDRAM_1        CONFIG_SYS_SDRAM_BASE    /* OneDRAM Bank #0 */ 
 | 
#define PHYS_SDRAM_1_SIZE    (80 << 20)        /* 80 MB in Bank #0 */ 
 | 
#define PHYS_SDRAM_2        0x40000000        /* mDDR DMC1 Bank #1 */ 
 | 
#define PHYS_SDRAM_2_SIZE    (256 << 20)        /* 256 MB in Bank #1 */ 
 | 
#define PHYS_SDRAM_3        0x50000000        /* mDDR DMC2 Bank #2 */ 
 | 
#define PHYS_SDRAM_3_SIZE    (128 << 20)        /* 128 MB in Bank #2 */ 
 | 
  
 | 
#define CONFIG_SYS_MONITOR_BASE        0x00000000 
 | 
#define CONFIG_SYS_MONITOR_LEN        (256 << 10)    /* 256 KiB */ 
 | 
  
 | 
/* FLASH and environment organization */ 
 | 
#define CONFIG_MMC_DEFAULT_DEV    0 
 | 
#define CONFIG_SYS_MMC_ENV_DEV        CONFIG_MMC_DEFAULT_DEV 
 | 
#define CONFIG_ENV_SIZE            4096 
 | 
#define CONFIG_ENV_OFFSET        ((32 - 4) << 10) /* 32KiB - 4KiB */ 
 | 
#define CONFIG_ENV_OVERWRITE 
 | 
  
 | 
#define CONFIG_USE_ONENAND_BOARD_INIT 
 | 
#define CONFIG_SAMSUNG_ONENAND        1 
 | 
#define CONFIG_SYS_ONENAND_BASE        0xB0000000 
 | 
  
 | 
/* write support for filesystems */ 
 | 
#define CONFIG_EXT4_WRITE 
 | 
  
 | 
/* GPT */ 
 | 
  
 | 
#define CONFIG_SYS_INIT_SP_ADDR    (CONFIG_SYS_LOAD_ADDR - 0x1000000) 
 | 
  
 | 
#define CONFIG_USB_GADGET_DWC2_OTG_PHY 
 | 
#define CONFIG_USB_FUNCTION_MASS_STORAGE 
 | 
  
 | 
#endif    /* __CONFIG_H */ 
 |