1*be1d5e03Shuang lin /* 2*be1d5e03Shuang lin * (C) Copyright 2015 Rockchip Electronics Co., Ltd 3*be1d5e03Shuang lin * 4*be1d5e03Shuang lin * SPDX-License-Identifier: GPL-2.0+ 5*be1d5e03Shuang lin */ 6*be1d5e03Shuang lin #ifndef __CONFIG_RK3036_COMMON_H 7*be1d5e03Shuang lin #define __CONFIG_RK3036_COMMON_H 8*be1d5e03Shuang lin 9*be1d5e03Shuang lin #include <asm/arch/hardware.h> 10*be1d5e03Shuang lin 11*be1d5e03Shuang lin #define CONFIG_SYS_NO_FLASH 12*be1d5e03Shuang lin #define CONFIG_NR_DRAM_BANKS 1 13*be1d5e03Shuang lin #define CONFIG_ENV_IS_NOWHERE 14*be1d5e03Shuang lin #define CONFIG_ENV_SIZE 0x2000 15*be1d5e03Shuang lin #define CONFIG_SYS_MAXARGS 16 16*be1d5e03Shuang lin #define CONFIG_BAUDRATE 115200 17*be1d5e03Shuang lin #define CONFIG_SYS_MALLOC_LEN (32 << 20) 18*be1d5e03Shuang lin #define CONFIG_SYS_CBSIZE 1024 19*be1d5e03Shuang lin #define CONFIG_SKIP_LOWLEVEL_INIT 20*be1d5e03Shuang lin #define CONFIG_SYS_THUMB_BUILD 21*be1d5e03Shuang lin #define CONFIG_DISPLAY_BOARDINFO 22*be1d5e03Shuang lin 23*be1d5e03Shuang lin #define CONFIG_SYS_TIMER_RATE (24 * 1000 * 1000) 24*be1d5e03Shuang lin #define CONFIG_SYS_TIMER_BASE 0x200440a0 /* TIMER5 */ 25*be1d5e03Shuang lin #define CONFIG_SYS_TIMER_COUNTER (CONFIG_SYS_TIMER_BASE + 8) 26*be1d5e03Shuang lin 27*be1d5e03Shuang lin #define CONFIG_SYS_NS16550 28*be1d5e03Shuang lin #define CONFIG_SYS_NS16550_MEM32 29*be1d5e03Shuang lin 30*be1d5e03Shuang lin #ifdef CONFIG_SPL_BUILD 31*be1d5e03Shuang lin #define CONFIG_SYS_MALLOC_SIMPLE 32*be1d5e03Shuang lin #endif 33*be1d5e03Shuang lin 34*be1d5e03Shuang lin #define CONFIG_SYS_TEXT_BASE 0x60000000 35*be1d5e03Shuang lin #define CONFIG_SYS_INIT_SP_ADDR 0x60100000 36*be1d5e03Shuang lin #define CONFIG_SYS_LOAD_ADDR 0x60800800 37*be1d5e03Shuang lin #define CONFIG_SPL_STACK 0x10081fff 38*be1d5e03Shuang lin #define CONFIG_SPL_TEXT_BASE 0x10081004 39*be1d5e03Shuang lin 40*be1d5e03Shuang lin #define CONFIG_ROCKCHIP_MAX_INIT_SIZE (4 << 10) 41*be1d5e03Shuang lin #define CONFIG_ROCKCHIP_CHIP_TAG "RK30" 42*be1d5e03Shuang lin 43*be1d5e03Shuang lin #define CONFIG_ROCKCHIP_COMMON 44*be1d5e03Shuang lin 45*be1d5e03Shuang lin /* MMC/SD IP block */ 46*be1d5e03Shuang lin #define CONFIG_MMC 47*be1d5e03Shuang lin #define CONFIG_GENERIC_MMC 48*be1d5e03Shuang lin #define CONFIG_CMD_MMC 49*be1d5e03Shuang lin #define CONFIG_SDHCI 50*be1d5e03Shuang lin #define CONFIG_DWMMC 51*be1d5e03Shuang lin #define CONFIG_BOUNCE_BUFFER 52*be1d5e03Shuang lin 53*be1d5e03Shuang lin #define CONFIG_DOS_PARTITION 54*be1d5e03Shuang lin #define CONFIG_CMD_FAT 55*be1d5e03Shuang lin #define CONFIG_FAT_WRITE 56*be1d5e03Shuang lin #define CONFIG_CMD_EXT2 57*be1d5e03Shuang lin #define CONFIG_CMD_EXT4 58*be1d5e03Shuang lin #define CONFIG_CMD_FS_GENERIC 59*be1d5e03Shuang lin #define CONFIG_PARTITION_UUIDS 60*be1d5e03Shuang lin #define CONFIG_CMD_PART 61*be1d5e03Shuang lin 62*be1d5e03Shuang lin #define CONFIG_CMD_CACHE 63*be1d5e03Shuang lin #define CONFIG_CMD_TIME 64*be1d5e03Shuang lin 65*be1d5e03Shuang lin #define CONFIG_SYS_SDRAM_BASE 0x60000000 66*be1d5e03Shuang lin #define CONFIG_NR_DRAM_BANKS 1 67*be1d5e03Shuang lin #define SDRAM_BANK_SIZE (512UL << 20UL) 68*be1d5e03Shuang lin 69*be1d5e03Shuang lin #define CONFIG_SPI_FLASH 70*be1d5e03Shuang lin #define CONFIG_SPI 71*be1d5e03Shuang lin #define CONFIG_CMD_SF 72*be1d5e03Shuang lin #define CONFIG_CMD_SPI 73*be1d5e03Shuang lin #define CONFIG_SPI_FLASH_GIGADEVICE 74*be1d5e03Shuang lin #define CONFIG_SF_DEFAULT_SPEED 20000000 75*be1d5e03Shuang lin 76*be1d5e03Shuang lin #define CONFIG_CMD_I2C 77*be1d5e03Shuang lin 78*be1d5e03Shuang lin #ifndef CONFIG_SPL_BUILD 79*be1d5e03Shuang lin #include <config_distro_defaults.h> 80*be1d5e03Shuang lin 81*be1d5e03Shuang lin #define ENV_MEM_LAYOUT_SETTINGS \ 82*be1d5e03Shuang lin "scriptaddr=0x60000000\0" \ 83*be1d5e03Shuang lin "pxefile_addr_r=0x60100000\0" \ 84*be1d5e03Shuang lin "fdt_addr_r=0x61f00000\0" \ 85*be1d5e03Shuang lin "kernel_addr_r=0x62000000\0" \ 86*be1d5e03Shuang lin "ramdisk_addr_r=0x64000000\0" 87*be1d5e03Shuang lin 88*be1d5e03Shuang lin /* First try to boot from SD (index 0), then eMMC (index 1 */ 89*be1d5e03Shuang lin #define BOOT_TARGET_DEVICES(func) \ 90*be1d5e03Shuang lin func(MMC, mmc, 0) \ 91*be1d5e03Shuang lin func(MMC, mmc, 1) 92*be1d5e03Shuang lin 93*be1d5e03Shuang lin #include <config_distro_bootcmd.h> 94*be1d5e03Shuang lin 95*be1d5e03Shuang lin /* Linux fails to load the fdt if it's loaded above 512M on a evb-rk3036 board, 96*be1d5e03Shuang lin * so limit the fdt reallocation to that */ 97*be1d5e03Shuang lin #define CONFIG_EXTRA_ENV_SETTINGS \ 98*be1d5e03Shuang lin "fdt_high=0x7fffffff\0" \ 99*be1d5e03Shuang lin ENV_MEM_LAYOUT_SETTINGS \ 100*be1d5e03Shuang lin BOOTENV 101*be1d5e03Shuang lin #endif 102*be1d5e03Shuang lin 103*be1d5e03Shuang lin #endif 104