117aa548cSSimon Glass /* 217aa548cSSimon Glass * (C) Copyright 2015 Google, Inc 317aa548cSSimon Glass * 417aa548cSSimon Glass * SPDX-License-Identifier: GPL-2.0+ 517aa548cSSimon Glass */ 617aa548cSSimon Glass 717aa548cSSimon Glass #ifndef __CONFIG_RK3288_COMMON_H 817aa548cSSimon Glass #define __CONFIG_RK3288_COMMON_H 917aa548cSSimon Glass 103709844fSAlbert ARIBAUD #define CONFIG_SYS_CACHELINE_SIZE 64 113709844fSAlbert ARIBAUD 1217aa548cSSimon Glass #include <asm/arch/hardware.h> 1317aa548cSSimon Glass 1417aa548cSSimon Glass #define CONFIG_SYS_NO_FLASH 1517aa548cSSimon Glass #define CONFIG_NR_DRAM_BANKS 1 1617aa548cSSimon Glass #define CONFIG_ENV_SIZE 0x2000 1717aa548cSSimon Glass #define CONFIG_SYS_MAXARGS 16 1817aa548cSSimon Glass #define CONFIG_BAUDRATE 115200 1917aa548cSSimon Glass #define CONFIG_SYS_MALLOC_LEN (32 << 20) 2017aa548cSSimon Glass #define CONFIG_SYS_CBSIZE 1024 2117aa548cSSimon Glass #define CONFIG_SYS_THUMB_BUILD 2217aa548cSSimon Glass #define CONFIG_DISPLAY_BOARDINFO 2317aa548cSSimon Glass 2417aa548cSSimon Glass #define CONFIG_SYS_TIMER_RATE (24 * 1000 * 1000) 25cc2244b8Shuang lin #define CONFIG_SYS_TIMER_BASE 0xff810020 /* TIMER7 */ 26cc2244b8Shuang lin #define CONFIG_SYS_TIMER_COUNTER (CONFIG_SYS_TIMER_BASE + 8) 2717aa548cSSimon Glass 2817aa548cSSimon Glass #define CONFIG_SPL_FRAMEWORK 2979d020eeSSimon Glass #define CONFIG_SPL_DRIVERS_MISC_SUPPORT 3017aa548cSSimon Glass #define CONFIG_SPL_LIBCOMMON_SUPPORT 3117aa548cSSimon Glass #define CONFIG_SPL_LIBGENERIC_SUPPORT 3217aa548cSSimon Glass #define CONFIG_SPL_SERIAL_SUPPORT 3317aa548cSSimon Glass #define CONFIG_SYS_NS16550_MEM32 3417aa548cSSimon Glass #define CONFIG_SPL_BOARD_INIT 3517aa548cSSimon Glass 36b47ea792SXu Ziyuan #ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM 37b47ea792SXu Ziyuan /* Bootrom will load u-boot binary to 0x0 once return from SPL */ 38b47ea792SXu Ziyuan #define CONFIG_SYS_TEXT_BASE 0x00000000 39b47ea792SXu Ziyuan #else 4017aa548cSSimon Glass #define CONFIG_SYS_TEXT_BASE 0x00100000 41b47ea792SXu Ziyuan #endif 4217aa548cSSimon Glass #define CONFIG_SYS_INIT_SP_ADDR 0x00100000 4317aa548cSSimon Glass #define CONFIG_SYS_LOAD_ADDR 0x00800800 4417aa548cSSimon Glass #define CONFIG_SPL_STACK 0xff718000 4517aa548cSSimon Glass #define CONFIG_SPL_TEXT_BASE 0xff704004 4617aa548cSSimon Glass 47302d1767Shuang lin #define CONFIG_ROCKCHIP_COMMON 48302d1767Shuang lin #define CONFIG_SPL_ROCKCHIP_COMMON 49302d1767Shuang lin 5027a1961dSSimon Glass #define CONFIG_SILENT_CONSOLE 5127a1961dSSimon Glass #ifndef CONFIG_SPL_BUILD 5227a1961dSSimon Glass # define CONFIG_SYS_CONSOLE_IS_IN_ENV 5327a1961dSSimon Glass # define CONFIG_CONSOLE_MUX 5427a1961dSSimon Glass #endif 5527a1961dSSimon Glass 5617aa548cSSimon Glass /* MMC/SD IP block */ 5717aa548cSSimon Glass #define CONFIG_MMC 5817aa548cSSimon Glass #define CONFIG_GENERIC_MMC 5917aa548cSSimon Glass #define CONFIG_DWMMC 6017aa548cSSimon Glass #define CONFIG_BOUNCE_BUFFER 6117aa548cSSimon Glass 6217aa548cSSimon Glass #define CONFIG_DOS_PARTITION 6317aa548cSSimon Glass #define CONFIG_FAT_WRITE 6417aa548cSSimon Glass #define CONFIG_PARTITION_UUIDS 6517aa548cSSimon Glass #define CONFIG_CMD_PART 6617aa548cSSimon Glass 6717aa548cSSimon Glass /* RAW SD card / eMMC locations. */ 6817aa548cSSimon Glass #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 256 6917aa548cSSimon Glass #define CONFIG_SYS_SPI_U_BOOT_OFFS (128 << 10) 7017aa548cSSimon Glass 7117aa548cSSimon Glass /* FAT sd card locations. */ 7217aa548cSSimon Glass #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 7317aa548cSSimon Glass #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img" 7417aa548cSSimon Glass 7517aa548cSSimon Glass #define CONFIG_SPL_PINCTRL_SUPPORT 7617aa548cSSimon Glass #define CONFIG_SPL_RAM_SUPPORT 7717aa548cSSimon Glass #define CONFIG_SPL_DRIVERS_MISC_SUPPORT 7817aa548cSSimon Glass 7917aa548cSSimon Glass #define CONFIG_SYS_SDRAM_BASE 0 8017aa548cSSimon Glass #define CONFIG_NR_DRAM_BANKS 1 8117aa548cSSimon Glass #define SDRAM_BANK_SIZE (2UL << 30) 8217aa548cSSimon Glass 8317aa548cSSimon Glass #define CONFIG_SPI_FLASH 8417aa548cSSimon Glass #define CONFIG_SPI 8517aa548cSSimon Glass #define CONFIG_SF_DEFAULT_SPEED 20000000 8617aa548cSSimon Glass 87*266c8fadSXu Ziyuan /* usb otg */ 88*266c8fadSXu Ziyuan #define CONFIG_USB_GADGET 89*266c8fadSXu Ziyuan #define CONFIG_USB_GADGET_DUALSPEED 90*266c8fadSXu Ziyuan #define CONFIG_USB_GADGET_DWC2_OTG 91*266c8fadSXu Ziyuan #define CONFIG_ROCKCHIP_USB2_PHY 92*266c8fadSXu Ziyuan #define CONFIG_USB_GADGET_VBUS_DRAW 0 93*266c8fadSXu Ziyuan 94*266c8fadSXu Ziyuan /* fastboot */ 95*266c8fadSXu Ziyuan #define CONFIG_CMD_FASTBOOT 96*266c8fadSXu Ziyuan #define CONFIG_USB_FUNCTION_FASTBOOT 97*266c8fadSXu Ziyuan #define CONFIG_FASTBOOT_FLASH 98*266c8fadSXu Ziyuan #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1 /* eMMC */ 99*266c8fadSXu Ziyuan /* stroe safely fastboot buffer data to the middle of bank */ 100*266c8fadSXu Ziyuan #define CONFIG_FASTBOOT_BUF_ADDR (CONFIG_SYS_SDRAM_BASE \ 101*266c8fadSXu Ziyuan + SDRAM_BANK_SIZE / 2) 102*266c8fadSXu Ziyuan #define CONFIG_FASTBOOT_BUF_SIZE 0x08000000 103*266c8fadSXu Ziyuan 104*266c8fadSXu Ziyuan #define CONFIG_USB_GADGET_DOWNLOAD 105*266c8fadSXu Ziyuan #define CONFIG_G_DNL_MANUFACTURER "Rockchip" 106*266c8fadSXu Ziyuan #define CONFIG_G_DNL_VENDOR_NUM 0x2207 107*266c8fadSXu Ziyuan #define CONFIG_G_DNL_PRODUCT_NUM 0x320a 108*266c8fadSXu Ziyuan 109*266c8fadSXu Ziyuan /* Enable gpt partition table */ 110*266c8fadSXu Ziyuan #define CONFIG_CMD_GPT 111*266c8fadSXu Ziyuan #define CONFIG_EFI_PARTITION 112*266c8fadSXu Ziyuan 11317aa548cSSimon Glass #ifndef CONFIG_SPL_BUILD 11417aa548cSSimon Glass #include <config_distro_defaults.h> 1156460fc42SSjoerd Simons 1166460fc42SSjoerd Simons #define ENV_MEM_LAYOUT_SETTINGS \ 1176460fc42SSjoerd Simons "scriptaddr=0x00000000\0" \ 1186460fc42SSjoerd Simons "pxefile_addr_r=0x00100000\0" \ 1196460fc42SSjoerd Simons "fdt_addr_r=0x01f00000\0" \ 1206460fc42SSjoerd Simons "kernel_addr_r=0x02000000\0" \ 1216460fc42SSjoerd Simons "ramdisk_addr_r=0x04000000\0" 1226460fc42SSjoerd Simons 1236460fc42SSjoerd Simons /* First try to boot from SD (index 0), then eMMC (index 1 */ 1246460fc42SSjoerd Simons #define BOOT_TARGET_DEVICES(func) \ 1256460fc42SSjoerd Simons func(MMC, mmc, 0) \ 1266460fc42SSjoerd Simons func(MMC, mmc, 1) 1276460fc42SSjoerd Simons 1286460fc42SSjoerd Simons #include <config_distro_bootcmd.h> 1296460fc42SSjoerd Simons 1306460fc42SSjoerd Simons /* Linux fails to load the fdt if it's loaded above 512M on a Rock 2 board, so 1316460fc42SSjoerd Simons * limit the fdt reallocation to that */ 1326460fc42SSjoerd Simons #define CONFIG_EXTRA_ENV_SETTINGS \ 1336460fc42SSjoerd Simons "fdt_high=0x1fffffff\0" \ 1349550e799SSjoerd Simons "initrd_high=0x1fffffff\0" \ 1356460fc42SSjoerd Simons ENV_MEM_LAYOUT_SETTINGS \ 13627a1961dSSimon Glass ROCKCHIP_DEVICE_SETTINGS \ 1376460fc42SSjoerd Simons BOOTENV 13817aa548cSSimon Glass #endif 13917aa548cSSimon Glass 14017aa548cSSimon Glass #endif 141