17f35bbb9SJacob Chen /* 27f35bbb9SJacob Chen * (C) Copyright 2016 Rockchip Electronics Co., Ltd 37f35bbb9SJacob Chen * 47f35bbb9SJacob Chen * SPDX-License-Identifier: GPL-2.0+ 57f35bbb9SJacob Chen */ 67f35bbb9SJacob Chen 77f35bbb9SJacob Chen #ifndef _ROCKCHIP_COMMON_H_ 87f35bbb9SJacob Chen #define _ROCKCHIP_COMMON_H_ 97f35bbb9SJacob Chen #include <linux/sizes.h> 107f35bbb9SJacob Chen 112d2f5f9aSKever Yang #define COUNTER_FREQUENCY 24000000 122d2f5f9aSKever Yang #define CONFIG_SYS_ARCH_TIMER 132d2f5f9aSKever Yang #define CONFIG_SYS_HZ_CLOCK 24000000 142d2f5f9aSKever Yang 1560b9259cSKever Yang #define CONFIG_SYS_NS16550_MEM32 1660b9259cSKever Yang 17839aff50SKever Yang #define CONFIG_NR_DRAM_BANKS 2 18839aff50SKever Yang 197f35bbb9SJacob Chen #ifndef CONFIG_SPL_BUILD 207f35bbb9SJacob Chen #include <config_distro_defaults.h> 217f35bbb9SJacob Chen 22d776bc4bSKever Yang /* First try to boot from SD (index 1), then eMMC (index 0) */ 23d2ba9884SKlaus Goger #if CONFIG_IS_ENABLED(CMD_MMC) 24d2ba9884SKlaus Goger #define BOOT_TARGET_MMC(func) \ 25d776bc4bSKever Yang func(MMC, mmc, 1) \ 26d776bc4bSKever Yang func(MMC, mmc, 0) 271e9d6c15SEddie Cai #else 28d2ba9884SKlaus Goger #define BOOT_TARGET_MMC(func) 291e9d6c15SEddie Cai #endif 307f35bbb9SJacob Chen 31d2ba9884SKlaus Goger #if CONFIG_IS_ENABLED(CMD_USB) 32d2ba9884SKlaus Goger #define BOOT_TARGET_USB(func) func(USB, usb, 0) 33d2ba9884SKlaus Goger #else 34d2ba9884SKlaus Goger #define BOOT_TARGET_USB(func) 35d2ba9884SKlaus Goger #endif 36d2ba9884SKlaus Goger 37d2ba9884SKlaus Goger #if CONFIG_IS_ENABLED(CMD_PXE) 38d2ba9884SKlaus Goger #define BOOT_TARGET_PXE(func) func(PXE, pxe, na) 39d2ba9884SKlaus Goger #else 40d2ba9884SKlaus Goger #define BOOT_TARGET_PXE(func) 41d2ba9884SKlaus Goger #endif 42d2ba9884SKlaus Goger 43d2ba9884SKlaus Goger #if CONFIG_IS_ENABLED(CMD_DHCP) 44d2ba9884SKlaus Goger #define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na) 45d2ba9884SKlaus Goger #else 46d2ba9884SKlaus Goger #define BOOT_TARGET_DHCP(func) 47d2ba9884SKlaus Goger #endif 48d2ba9884SKlaus Goger 49d2ba9884SKlaus Goger #define BOOT_TARGET_DEVICES(func) \ 50d2ba9884SKlaus Goger BOOT_TARGET_MMC(func) \ 51d2ba9884SKlaus Goger BOOT_TARGET_USB(func) \ 52d2ba9884SKlaus Goger BOOT_TARGET_PXE(func) \ 53d2ba9884SKlaus Goger BOOT_TARGET_DHCP(func) 54d2ba9884SKlaus Goger 5542ec247eSKever Yang #ifdef CONFIG_ARM64 5642ec247eSKever Yang #define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0" 5742ec247eSKever Yang #else 5842ec247eSKever Yang #define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0" 5942ec247eSKever Yang #endif 607f35bbb9SJacob Chen #define PARTS_DEFAULT \ 617f35bbb9SJacob Chen "uuid_disk=${uuid_gpt_disk};" \ 627f35bbb9SJacob Chen "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \ 6332040464SKever Yang "name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ 6432040464SKever Yang "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ 656b388f0bSJacob Chen "name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \ 6642ec247eSKever Yang "name=rootfs,size=-,uuid="ROOT_UUID 677f35bbb9SJacob Chen 68b5381a6cSKever Yang #define PARTS_RKIMG \ 69b5381a6cSKever Yang "uuid_disk=${uuid_gpt_disk};" \ 70b5381a6cSKever Yang "name=uboot,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \ 71b5381a6cSKever Yang "name=trust,size=4M,uuid=${uuid_gpt_atf};" \ 72b5381a6cSKever Yang "name=misc,size=4MB,uuid=${uuid_gpt_misc};" \ 73b5381a6cSKever Yang "name=resource,size=16MB,uuid=${uuid_gpt_resource};" \ 74b5381a6cSKever Yang "name=kernel,size=32M,uuid=${uuid_gpt_kernel};" \ 75b5381a6cSKever Yang "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \ 76b5381a6cSKever Yang "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \ 77b5381a6cSKever Yang "name=backup,size=112M,uuid=${uuid_gpt_backup};" \ 78b5381a6cSKever Yang "name=cache,size=512M,uuid=${uuid_gpt_cache};" \ 79b5381a6cSKever Yang "name=system,size=2048M,uuid=${uuid_gpt_system};" \ 80b5381a6cSKever Yang "name=metadata,size=16M,uuid=${uuid_gpt_metadata};" \ 81b5381a6cSKever Yang "name=vendor,size=32M,uuid=${uuid_gpt_vendor};" \ 82b5381a6cSKever Yang "name=oem,size=32M,uuid=${uuid_gpt_oem};" \ 83b5381a6cSKever Yang "name=frp,size=512K,uuid=${uuid_gpt_frp};" \ 84b5381a6cSKever Yang "name=security,size=2M,uuid=${uuid_gpt_security};" \ 85e574a937SKever Yang "name=userdata,size=-,uuid=${uuid_gpt_userdata};\0" 86b5381a6cSKever Yang 87299df30dSKever Yang #define RKIMG_DET_BOOTDEV \ 88299df30dSKever Yang "rkimg_bootdev=" \ 89299df30dSKever Yang "if mmc dev 1; then " \ 90299df30dSKever Yang "if rkimgtest mmc 1; then " \ 91299df30dSKever Yang "setenv devtype mmc; setenv devnum 1; echo Boot from SDcard; fi;" \ 92299df30dSKever Yang "elif mmc dev 0; then " \ 93299df30dSKever Yang "setenv devtype mmc; setenv devnum 0;" \ 94299df30dSKever Yang "elif rknand dev 0; then " \ 95299df30dSKever Yang "setenv devtype rknand; setenv devnum 0;" \ 96*bc0b8cd4SDingqiang Lin "elif rksfc dev 0; then " \ 97*bc0b8cd4SDingqiang Lin "setenv devtype rksfc; setenv devnum 0;" \ 98299df30dSKever Yang "fi; \0" 99299df30dSKever Yang 1005059d297SKever Yang #define RKIMG_BOOTCOMMAND \ 101e0347805SKever Yang "boot_android ${devtype} ${devnum};" \ 102390759edSKever Yang "bootrkp;" \ 103390759edSKever Yang "run distro_bootcmd;" 1045059d297SKever Yang 1057f35bbb9SJacob Chen #endif 1067f35bbb9SJacob Chen 107f8e46897SSimon Glass #define CONFIG_DISPLAY_BOARDINFO_LATE 108f8e46897SSimon Glass 1097f35bbb9SJacob Chen #endif /* _ROCKCHIP_COMMON_H_ */ 110