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