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 1017aa548cSSimon Glass #include <asm/arch/hardware.h> 1117aa548cSSimon Glass 125a4a90f6SXu Ziyuan #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY 1317aa548cSSimon Glass #define CONFIG_SYS_NO_FLASH 1417aa548cSSimon Glass #define CONFIG_NR_DRAM_BANKS 1 1517aa548cSSimon Glass #define CONFIG_ENV_SIZE 0x2000 1617aa548cSSimon Glass #define CONFIG_SYS_MAXARGS 16 1717aa548cSSimon Glass #define CONFIG_BAUDRATE 115200 1817aa548cSSimon Glass #define CONFIG_SYS_MALLOC_LEN (32 << 20) 1917aa548cSSimon Glass #define CONFIG_SYS_CBSIZE 1024 2017aa548cSSimon Glass #define CONFIG_SYS_THUMB_BUILD 2117aa548cSSimon Glass 2217aa548cSSimon Glass #define CONFIG_SYS_TIMER_RATE (24 * 1000 * 1000) 23cc2244b8Shuang lin #define CONFIG_SYS_TIMER_BASE 0xff810020 /* TIMER7 */ 24cc2244b8Shuang lin #define CONFIG_SYS_TIMER_COUNTER (CONFIG_SYS_TIMER_BASE + 8) 2517aa548cSSimon Glass 2617aa548cSSimon Glass #define CONFIG_SPL_FRAMEWORK 2717aa548cSSimon Glass #define CONFIG_SYS_NS16550_MEM32 2817aa548cSSimon Glass #define CONFIG_SPL_BOARD_INIT 2917aa548cSSimon Glass 30b47ea792SXu Ziyuan #ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM 31b47ea792SXu Ziyuan /* Bootrom will load u-boot binary to 0x0 once return from SPL */ 32b47ea792SXu Ziyuan #define CONFIG_SYS_TEXT_BASE 0x00000000 33b47ea792SXu Ziyuan #else 3417aa548cSSimon Glass #define CONFIG_SYS_TEXT_BASE 0x00100000 35b47ea792SXu Ziyuan #endif 3617aa548cSSimon Glass #define CONFIG_SYS_INIT_SP_ADDR 0x00100000 3717aa548cSSimon Glass #define CONFIG_SYS_LOAD_ADDR 0x00800800 3817aa548cSSimon Glass #define CONFIG_SPL_STACK 0xff718000 3917aa548cSSimon Glass #define CONFIG_SPL_TEXT_BASE 0xff704004 4017aa548cSSimon Glass 4117aa548cSSimon Glass /* MMC/SD IP block */ 4217aa548cSSimon Glass #define CONFIG_MMC 4317aa548cSSimon Glass #define CONFIG_GENERIC_MMC 4417aa548cSSimon Glass #define CONFIG_DWMMC 4517aa548cSSimon Glass #define CONFIG_BOUNCE_BUFFER 4617aa548cSSimon Glass 4717aa548cSSimon Glass #define CONFIG_FAT_WRITE 4817aa548cSSimon Glass #define CONFIG_PARTITION_UUIDS 4917aa548cSSimon Glass #define CONFIG_CMD_PART 5017aa548cSSimon Glass 5117aa548cSSimon Glass /* RAW SD card / eMMC locations. */ 5217aa548cSSimon Glass #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 256 5317aa548cSSimon Glass #define CONFIG_SYS_SPI_U_BOOT_OFFS (128 << 10) 5417aa548cSSimon Glass 5517aa548cSSimon Glass /* FAT sd card locations. */ 5617aa548cSSimon Glass #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 5717aa548cSSimon Glass #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img" 5817aa548cSSimon Glass 5917aa548cSSimon Glass #define CONFIG_SYS_SDRAM_BASE 0 6017aa548cSSimon Glass #define CONFIG_NR_DRAM_BANKS 1 6117aa548cSSimon Glass #define SDRAM_BANK_SIZE (2UL << 30) 6217aa548cSSimon Glass 6317aa548cSSimon Glass #define CONFIG_SPI_FLASH 6417aa548cSSimon Glass #define CONFIG_SPI 6517aa548cSSimon Glass #define CONFIG_SF_DEFAULT_SPEED 20000000 6617aa548cSSimon Glass 671743d0baSjk.kernel@gmail.com #ifndef CONFIG_SPL_BUILD 68266c8fadSXu Ziyuan /* usb otg */ 69266c8fadSXu Ziyuan #define CONFIG_USB_GADGET 70266c8fadSXu Ziyuan #define CONFIG_USB_GADGET_DUALSPEED 71266c8fadSXu Ziyuan #define CONFIG_USB_GADGET_DWC2_OTG 72266c8fadSXu Ziyuan #define CONFIG_ROCKCHIP_USB2_PHY 73266c8fadSXu Ziyuan #define CONFIG_USB_GADGET_VBUS_DRAW 0 74266c8fadSXu Ziyuan 75266c8fadSXu Ziyuan /* fastboot */ 76266c8fadSXu Ziyuan #define CONFIG_CMD_FASTBOOT 77266c8fadSXu Ziyuan #define CONFIG_USB_FUNCTION_FASTBOOT 78266c8fadSXu Ziyuan #define CONFIG_FASTBOOT_FLASH 79266c8fadSXu Ziyuan #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1 /* eMMC */ 80f75711aaSjk.kernel@gmail.com #define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR 81266c8fadSXu Ziyuan #define CONFIG_FASTBOOT_BUF_SIZE 0x08000000 82266c8fadSXu Ziyuan 83b9f9339bSXu Ziyuan /* usb mass storage */ 84b9f9339bSXu Ziyuan #define CONFIG_USB_FUNCTION_MASS_STORAGE 85b9f9339bSXu Ziyuan #define CONFIG_CMD_USB_MASS_STORAGE 86b9f9339bSXu Ziyuan 87266c8fadSXu Ziyuan #define CONFIG_USB_GADGET_DOWNLOAD 88266c8fadSXu Ziyuan #define CONFIG_G_DNL_MANUFACTURER "Rockchip" 89266c8fadSXu Ziyuan #define CONFIG_G_DNL_VENDOR_NUM 0x2207 90266c8fadSXu Ziyuan #define CONFIG_G_DNL_PRODUCT_NUM 0x320a 91266c8fadSXu Ziyuan 92266c8fadSXu Ziyuan /* Enable gpt partition table */ 93266c8fadSXu Ziyuan #define CONFIG_CMD_GPT 94266c8fadSXu Ziyuan 9517aa548cSSimon Glass #include <config_distro_defaults.h> 966460fc42SSjoerd Simons 976460fc42SSjoerd Simons #define ENV_MEM_LAYOUT_SETTINGS \ 986460fc42SSjoerd Simons "scriptaddr=0x00000000\0" \ 996460fc42SSjoerd Simons "pxefile_addr_r=0x00100000\0" \ 1006460fc42SSjoerd Simons "fdt_addr_r=0x01f00000\0" \ 1016460fc42SSjoerd Simons "kernel_addr_r=0x02000000\0" \ 1026460fc42SSjoerd Simons "ramdisk_addr_r=0x04000000\0" 1036460fc42SSjoerd Simons 1046ead8bd7SXu Ziyuan #define CONFIG_RANDOM_UUID 1056ead8bd7SXu Ziyuan #define PARTS_DEFAULT \ 1066ead8bd7SXu Ziyuan "uuid_disk=${uuid_gpt_disk};" \ 1076ead8bd7SXu Ziyuan "name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \ 1086ead8bd7SXu Ziyuan "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \ 1096ead8bd7SXu Ziyuan 1106460fc42SSjoerd Simons /* First try to boot from SD (index 0), then eMMC (index 1 */ 1116460fc42SSjoerd Simons #define BOOT_TARGET_DEVICES(func) \ 1126460fc42SSjoerd Simons func(MMC, mmc, 0) \ 1136460fc42SSjoerd Simons func(MMC, mmc, 1) 1146460fc42SSjoerd Simons 1156460fc42SSjoerd Simons #include <config_distro_bootcmd.h> 1166460fc42SSjoerd Simons 117*60169826SSandy Patterson /* Linux fails to load the fdt if it's loaded above 256M on a Rock 2 board, so 1186460fc42SSjoerd Simons * limit the fdt reallocation to that */ 1196460fc42SSjoerd Simons #define CONFIG_EXTRA_ENV_SETTINGS \ 120*60169826SSandy Patterson "fdt_high=0x0fffffff\0" \ 121*60169826SSandy Patterson "initrd_high=0x0fffffff\0" \ 1226ead8bd7SXu Ziyuan "partitions=" PARTS_DEFAULT \ 1236460fc42SSjoerd Simons ENV_MEM_LAYOUT_SETTINGS \ 12427a1961dSSimon Glass ROCKCHIP_DEVICE_SETTINGS \ 1256460fc42SSjoerd Simons BOOTENV 12617aa548cSSimon Glass #endif 12717aa548cSSimon Glass 12867171e13SJacob Chen #define CONFIG_BOARD_LATE_INIT 12967171e13SJacob Chen #define CONFIG_PREBOOT 13067171e13SJacob Chen 13117aa548cSSimon Glass #endif 132