xref: /rk3399_rockchip-uboot/include/configs/rockchip-common.h (revision aee63dc84c1f5be59ea35ceb209a4ea937bdeb41)
1 /*
2  * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6 
7 #ifndef _ROCKCHIP_COMMON_H_
8 #define _ROCKCHIP_COMMON_H_
9 #include <linux/sizes.h>
10 
11 #ifndef CONFIG_SPL_BUILD
12 #include <config_distro_defaults.h>
13 
14 /* First try to boot from SD (index 0), then eMMC (index 1) */
15 #if CONFIG_IS_ENABLED(CMD_MMC)
16 	#define BOOT_TARGET_MMC(func) \
17 		func(MMC, mmc, 0) \
18 		func(MMC, mmc, 1)
19 #else
20 	#define BOOT_TARGET_MMC(func)
21 #endif
22 
23 #if CONFIG_IS_ENABLED(CMD_USB)
24 	#define BOOT_TARGET_USB(func) func(USB, usb, 0)
25 #else
26 	#define BOOT_TARGET_USB(func)
27 #endif
28 
29 #if CONFIG_IS_ENABLED(CMD_PXE)
30 	#define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
31 #else
32 	#define BOOT_TARGET_PXE(func)
33 #endif
34 
35 #if CONFIG_IS_ENABLED(CMD_DHCP)
36 	#define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
37 #else
38 	#define BOOT_TARGET_DHCP(func)
39 #endif
40 
41 #define BOOT_TARGET_DEVICES(func) \
42 	BOOT_TARGET_MMC(func) \
43 	BOOT_TARGET_USB(func) \
44 	BOOT_TARGET_PXE(func) \
45 	BOOT_TARGET_DHCP(func)
46 
47 #ifdef CONFIG_ARM64
48 #define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0"
49 #else
50 #define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0"
51 #endif
52 #define PARTS_DEFAULT \
53 	"uuid_disk=${uuid_gpt_disk};" \
54 	"name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \
55 	"name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \
56 	"name=trust,size=4M,uuid=${uuid_gpt_atf};" \
57 	"name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \
58 	"name=rootfs,size=-,uuid="ROOT_UUID
59 
60 #define PARTS_RKIMG \
61 	"uuid_disk=${uuid_gpt_disk};" \
62 	"name=uboot,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \
63 	"name=trust,size=4M,uuid=${uuid_gpt_atf};" \
64 	"name=misc,size=4MB,uuid=${uuid_gpt_misc};" \
65 	"name=resource,size=16MB,uuid=${uuid_gpt_resource};" \
66 	"name=kernel,size=32M,uuid=${uuid_gpt_kernel};" \
67 	"name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \
68 	"name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \
69 	"name=backup,size=112M,uuid=${uuid_gpt_backup};" \
70 	"name=cache,size=512M,uuid=${uuid_gpt_cache};" \
71 	"name=system,size=2048M,uuid=${uuid_gpt_system};" \
72 	"name=metadata,size=16M,uuid=${uuid_gpt_metadata};" \
73 	"name=vendor,size=32M,uuid=${uuid_gpt_vendor};" \
74 	"name=oem,size=32M,uuid=${uuid_gpt_oem};" \
75 	"name=frp,size=512K,uuid=${uuid_gpt_frp};" \
76 	"name=security,size=2M,uuid=${uuid_gpt_security};" \
77 	"name=userdata,size=-,uuid=${uuid_gpt_userdata};"
78 
79 #define RKIMG_BOOTCOMMAND \
80 	"if mmc dev 0; then setenv devtype mmc; setenv devnum 0;" \
81 	"else if rknand dev 0; then setenv devtype rknand; setenv devnum 0; fi;" \
82 	"fi; boot_android ${devtype} ${devnum};" \
83 	"bootrkp;"
84 
85 #endif
86 
87 /*
88  * Rockchip SoCs use fixed ENV 32KB@(4MB-32KB)
89  */
90 #define CONFIG_ENV_OFFSET	(SZ_4M - SZ_32K)
91 #define CONFIG_ENV_SIZE		SZ_32K
92 
93 #define CONFIG_DISPLAY_BOARDINFO_LATE
94 
95 #endif /* _ROCKCHIP_COMMON_H_ */
96