uboot/include/configs/odroid.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2014 Samsung Electronics
   3 * Sanghee Kim <sh0130.kim@samsung.com>
   4 * Piotr Wilczek <p.wilczek@samsung.com>
   5 * Przemyslaw Marczak <p.marczak@samsung.com>
   6 *
   7 * Configuation settings for the Odroid-U3 (EXYNOS4412) board.
   8 *
   9 * SPDX-License-Identifier:     GPL-2.0+
  10 */
  11
  12#ifndef __CONFIG_ODROID_U3_H
  13#define __CONFIG_ODROID_U3_H
  14
  15#include <configs/exynos4-common.h>
  16
  17#define CONFIG_SYS_L2CACHE_OFF
  18#ifndef CONFIG_SYS_L2CACHE_OFF
  19#define CONFIG_SYS_L2_PL310
  20#define CONFIG_SYS_PL310_BASE   0x10502000
  21#endif
  22
  23#define CONFIG_MACH_TYPE        4289
  24
  25#define CONFIG_NR_DRAM_BANKS    8
  26#define CONFIG_SYS_SDRAM_BASE   0x40000000
  27#define SDRAM_BANK_SIZE         (256 << 20)     /* 256 MB */
  28#define PHYS_SDRAM_1            CONFIG_SYS_SDRAM_BASE
  29/* Reserve the last 1 MiB for the secure firmware */
  30#define CONFIG_SYS_MEM_TOP_HIDE         (1UL << 20UL)
  31#define CONFIG_TZSW_RESERVED_DRAM_SIZE  CONFIG_SYS_MEM_TOP_HIDE
  32
  33/* memtest works on */
  34#define CONFIG_SYS_MEMTEST_START        CONFIG_SYS_SDRAM_BASE
  35#define CONFIG_SYS_MEMTEST_END          (CONFIG_SYS_SDRAM_BASE + 0x5E00000)
  36#define CONFIG_SYS_LOAD_ADDR            (CONFIG_SYS_SDRAM_BASE + 0x3E00000)
  37#define CONFIG_SYS_TEXT_BASE            0x43e00000
  38
  39#include <linux/sizes.h>
  40
  41/* select serial console configuration */
  42#define CONFIG_SERIAL1
  43#define CONFIG_BAUDRATE                 115200
  44
  45/* Console configuration */
  46#define CONFIG_SYS_CONSOLE_INFO_QUIET
  47#define CONFIG_SYS_CONSOLE_IS_IN_ENV
  48
  49#define CONFIG_BOOTARGS                 "Please use defined boot"
  50#define CONFIG_BOOTCOMMAND              "run autoboot"
  51#define CONFIG_DEFAULT_CONSOLE          "console=ttySAC1,115200n8\0"
  52
  53#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR \
  54                                        - GENERATED_GBL_DATA_SIZE)
  55
  56#define CONFIG_SYS_MONITOR_BASE 0x00000000
  57
  58#define CONFIG_ENV_IS_IN_MMC
  59#define CONFIG_SYS_MMC_ENV_DEV          CONFIG_MMC_DEFAULT_DEV
  60#define CONFIG_ENV_SIZE                 4096
  61#define CONFIG_ENV_OFFSET               (SZ_1K * 1280) /* 1.25 MiB offset */
  62#define CONFIG_ENV_OVERWRITE
  63
  64/* Partitions name */
  65#define PARTS_BOOT              "boot"
  66#define PARTS_ROOT              "platform"
  67
  68#define CONFIG_DFU_ALT \
  69        "uImage fat 0 1;" \
  70        "zImage fat 0 1;" \
  71        "Image.itb fat 0 1;" \
  72        "uInitrd fat 0 1;" \
  73        "exynos4412-odroidu3.dtb fat 0 1;" \
  74        "exynos4412-odroidx2.dtb fat 0 1;" \
  75        ""PARTS_BOOT" part 0 1;" \
  76        ""PARTS_ROOT" part 0 2\0" \
  77
  78#define CONFIG_SET_DFU_ALT_INFO
  79#define CONFIG_SET_DFU_ALT_BUF_LEN      (SZ_1K)
  80
  81#define CONFIG_DFU_ALT_BOOT_EMMC \
  82        "u-boot raw 0x3e 0x800 mmcpart 1;" \
  83        "bl1 raw 0x0 0x1e mmcpart 1;" \
  84        "bl2 raw 0x1e 0x1d mmcpart 1;" \
  85        "tzsw raw 0x83e 0x138 mmcpart 1\0"
  86
  87#define CONFIG_DFU_ALT_BOOT_SD \
  88        "u-boot raw 0x3f 0x800;" \
  89        "bl1 raw 0x1 0x1e;" \
  90        "bl2 raw 0x1f 0x1d;" \
  91        "tzsw raw 0x83f 0x138\0"
  92
  93/*
  94 * Bootable media layout:
  95 * dev:    SD   eMMC(part boot)
  96 * BL1      1    0
  97 * BL2     31   30
  98 * UBOOT   63   62
  99 * TZSW  2111 2110
 100 * ENV   2560 2560(part user)
 101 *
 102 * MBR Primary partiions:
 103 * Num Name   Size  Offset
 104 * 1.  BOOT:  100MiB 2MiB
 105 * 2.  ROOT:  -
 106*/
 107#define CONFIG_EXTRA_ENV_SETTINGS \
 108        "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} " \
 109                "boot.scr\0" \
 110        "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \
 111                "${kernelname}\0" \
 112        "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
 113                "${initrdname}\0" \
 114        "loaddtb=load mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} " \
 115                "${fdtfile}\0" \
 116        "check_ramdisk=" \
 117                "if run loadinitrd; then " \
 118                        "setenv initrd_addr ${initrdaddr};" \
 119                "else " \
 120                        "setenv initrd_addr -;" \
 121                "fi;\0" \
 122        "check_dtb=" \
 123                "if run loaddtb; then " \
 124                        "setenv fdt_addr ${fdtaddr};" \
 125                "else " \
 126                        "setenv fdt_addr;" \
 127                "fi;\0" \
 128        "kernel_args=" \
 129                "setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \
 130                " rootwait ${console} ${opts}\0" \
 131        "boot_script=" \
 132                "run loadbootscript;" \
 133                "source ${scriptaddr}\0" \
 134        "boot_fit=" \
 135                "setenv kerneladdr 0x42000000;" \
 136                "setenv kernelname Image.itb;" \
 137                "run loadkernel;" \
 138                "run kernel_args;" \
 139                "bootm ${kerneladdr}#${boardname}\0" \
 140        "boot_uimg=" \
 141                "setenv kerneladdr 0x40007FC0;" \
 142                "setenv kernelname uImage;" \
 143                "run check_dtb;" \
 144                "run check_ramdisk;" \
 145                "run loadkernel;" \
 146                "run kernel_args;" \
 147                "bootm ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \
 148        "boot_zimg=" \
 149                "setenv kerneladdr 0x40007FC0;" \
 150                "setenv kernelname zImage;" \
 151                "run check_dtb;" \
 152                "run check_ramdisk;" \
 153                "run loadkernel;" \
 154                "run kernel_args;" \
 155                "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \
 156        "autoboot=" \
 157                "if test -e mmc 0 boot.scr; then; " \
 158                        "run boot_script; " \
 159                "elif test -e mmc 0 Image.itb; then; " \
 160                        "run boot_fit;" \
 161                "elif test -e mmc 0 zImage; then; " \
 162                        "run boot_zimg;" \
 163                "elif test -e mmc 0 uImage; then; " \
 164                        "run boot_uimg;" \
 165                "fi;\0" \
 166        "console=" CONFIG_DEFAULT_CONSOLE \
 167        "mmcbootdev=0\0" \
 168        "mmcbootpart=1\0" \
 169        "mmcrootdev=0\0" \
 170        "mmcrootpart=2\0" \
 171        "bootdelay=0\0" \
 172        "dfu_alt_system="CONFIG_DFU_ALT \
 173        "dfu_alt_info=Please reset the board\0" \
 174        "consoleon=set console console=ttySAC1,115200n8; save; reset\0" \
 175        "consoleoff=set console console=ram; save; reset\0" \
 176        "initrdname=uInitrd\0" \
 177        "initrdaddr=42000000\0" \
 178        "scriptaddr=0x42000000\0" \
 179        "fdtaddr=40800000\0"
 180
 181/* I2C */
 182#define CONFIG_SYS_I2C_S3C24X0
 183#define CONFIG_SYS_I2C_S3C24X0_SPEED    100000
 184#define CONFIG_SYS_I2C_S3C24X0_SLAVE    0
 185
 186/* GPT */
 187#define CONFIG_RANDOM_UUID
 188
 189/* Security subsystem - enable hw_rand() */
 190#define CONFIG_EXYNOS_ACE_SHA
 191#define CONFIG_LIB_HW_RAND
 192
 193/* USB */
 194#define CONFIG_USB_EHCI
 195#define CONFIG_USB_EHCI_EXYNOS
 196#define CONFIG_USB_STORAGE
 197
 198#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS      3
 199#define CONFIG_USB_HOST_ETHER
 200#define CONFIG_USB_ETHER_SMSC95XX
 201
 202/*
 203 * Supported Odroid boards: X3, U3
 204 * TODO: Add Odroid X support
 205 */
 206#define CONFIG_MISC_COMMON
 207#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 208#define CONFIG_BOARD_TYPES
 209#define CONFIG_MISC_INIT_R
 210
 211#undef CONFIG_REVISION_TAG
 212
 213#endif  /* __CONFIG_H */
 214