xref: /rk3399_rockchip-uboot/include/configs/rockchip-common.h (revision bc0b8cd41bbb4e84adbfd0b75d9df9b56bc8abbb)
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