hc
2024-08-12 233ab1bd4c5697f5cdec94e60206e8c6ac609b4c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
/*
 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
 *
 * SPDX-License-Identifier:     GPL-2.0+
 */
 
#ifndef _ROCKCHIP_COMMON_H_
#define _ROCKCHIP_COMMON_H_
#include <linux/sizes.h>
 
#ifndef CFG_CPUID_OFFSET
#define CFG_CPUID_OFFSET        0x7
#endif
 
#define COUNTER_FREQUENCY               24000000
 
#if CONFIG_IS_ENABLED(TINY_FRAMEWORK) && !defined(CONFIG_ARM64)
#undef CONFIG_SYS_ARCH_TIMER
#else
#define CONFIG_SYS_ARCH_TIMER
#endif
 
#define CONFIG_SYS_HZ_CLOCK    24000000
 
#define CONFIG_SYS_NS16550_MEM32
 
#ifdef CONFIG_SPL_BUILD
#define CONFIG_NR_DRAM_BANKS        2
#else
#define CONFIG_NR_DRAM_BANKS        12
#endif
 
#ifndef CONFIG_SPL_BUILD
#include <config_distro_defaults.h>
 
#ifdef CONFIG_CMD_RKNAND
#define BOOTENV_SHARED_RKNAND    BOOTENV_SHARED_BLKDEV(rknand)
#define BOOTENV_DEV_RKNAND        BOOTENV_DEV_BLKDEV
#define BOOTENV_DEV_NAME_RKNAND    BOOTENV_DEV_NAME_BLKDEV
#else
#define BOOTENV_SHARED_RKNAND
#define BOOTENV_DEV_RKNAND \
   BOOT_TARGET_DEVICES_references_RKNAND_without_CONFIG_CMD_RKNAND
#define BOOTENV_DEV_NAME_RKNAND \
   BOOT_TARGET_DEVICES_references_RKNAND_without_CONFIG_CMD_RKNAND
#endif
 
#ifdef CONFIG_CMD_MTD_BLK
#define BOOTENV_SHARED_MTD                \
   "mtd_boot="                    \
       "if mtd_blk dev ${devnum}; then "    \
           "setenv devtype mtd; "        \
           "run scan_dev_for_boot_part; "    \
       "fi\0"
#define BOOTENV_DEV_MTD        BOOTENV_DEV_BLKDEV
#define BOOTENV_DEV_NAME_MTD    BOOTENV_DEV_NAME_BLKDEV
#else
#define BOOTENV_SHARED_MTD
#define BOOTENV_DEV_MTD        \
   BOOT_TARGET_DEVICES_references_MTD_without_CONFIG_CMD_MTD_BLK
#define BOOTENV_DEV_NAME_MTD    \
   BOOT_TARGET_DEVICES_references_MTD_without_CONFIG_CMD_MTD_BLK
#endif
 
/* First try to boot from SD (index 1), then eMMC (index 0) */
#if CONFIG_IS_ENABLED(CMD_MMC)
   #define BOOT_TARGET_MMC(func) \
       func(MMC, mmc, 1) \
       func(MMC, mmc, 0)
#else
   #define BOOT_TARGET_MMC(func)
#endif
 
#if CONFIG_IS_ENABLED(CMD_MTD_BLK)
   #define BOOT_TARGET_MTD(func)    \
       func(MTD, mtd, 2)    \
       func(MTD, mtd, 1)    \
       func(MTD, mtd, 0)
#else
   #define BOOT_TARGET_MTD(func)
#endif
 
#if CONFIG_IS_ENABLED(CMD_RKNAND)
   #define BOOT_TARGET_RKNAND(func) func(RKNAND, rknand, 0)
#else
   #define BOOT_TARGET_RKNAND(func)
#endif
 
#if CONFIG_IS_ENABLED(CMD_USB)
   #define BOOT_TARGET_USB(func) func(USB, usb, 0)
#else
   #define BOOT_TARGET_USB(func)
#endif
 
#if CONFIG_IS_ENABLED(CMD_PXE)
   #define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
#else
   #define BOOT_TARGET_PXE(func)
#endif
 
#if CONFIG_IS_ENABLED(CMD_DHCP)
   #define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
#else
   #define BOOT_TARGET_DHCP(func)
#endif
 
#define BOOT_TARGET_DEVICES(func) \
   BOOT_TARGET_MMC(func) \
   BOOT_TARGET_MTD(func) \
   BOOT_TARGET_RKNAND(func) \
   BOOT_TARGET_USB(func) \
   BOOT_TARGET_PXE(func) \
   BOOT_TARGET_DHCP(func)
 
#ifdef CONFIG_ARM64
#define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0"
#else
#define ROOT_UUID "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3;\0"
#endif
#define PARTS_DEFAULT \
   "uuid_disk=${uuid_gpt_disk};" \
   "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \
   "name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \
   "name=trust,size=4M,uuid=${uuid_gpt_atf};" \
   "name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \
   "name=rootfs,size=-,uuid="ROOT_UUID
 
#define PARTS_RKIMG \
   "uuid_disk=${uuid_gpt_disk};" \
   "name=uboot,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \
   "name=trust,size=4M,uuid=${uuid_gpt_atf};" \
   "name=misc,size=4MB,uuid=${uuid_gpt_misc};" \
   "name=resource,size=16MB,uuid=${uuid_gpt_resource};" \
   "name=kernel,size=32M,uuid=${uuid_gpt_kernel};" \
   "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \
   "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \
   "name=backup,size=112M,uuid=${uuid_gpt_backup};" \
   "name=cache,size=512M,uuid=${uuid_gpt_cache};" \
   "name=system,size=2048M,uuid=${uuid_gpt_system};" \
   "name=metadata,size=16M,uuid=${uuid_gpt_metadata};" \
   "name=vendor,size=32M,uuid=${uuid_gpt_vendor};" \
   "name=oem,size=32M,uuid=${uuid_gpt_oem};" \
   "name=frp,size=512K,uuid=${uuid_gpt_frp};" \
   "name=security,size=2M,uuid=${uuid_gpt_security};" \
   "name=userdata,size=-,uuid=${uuid_gpt_userdata};\0"
 
#define RKIMG_DET_BOOTDEV \
   "rkimg_bootdev=" \
   "if mmc dev 1 && rkimgtest mmc 1; then " \
       "setenv devtype mmc; setenv devnum 1; echo Boot from SDcard;" \
   "elif mmc dev 0; then " \
       "setenv devtype mmc; setenv devnum 0;" \
   "elif mtd_blk dev 0; then " \
       "setenv devtype mtd; setenv devnum 0;" \
   "elif mtd_blk dev 1; then " \
       "setenv devtype mtd; setenv devnum 1;" \
   "elif mtd_blk dev 2; then " \
       "setenv devtype mtd; setenv devnum 2;" \
   "elif rknand dev 0; then " \
       "setenv devtype rknand; setenv devnum 0;" \
   "elif rksfc dev 0; then " \
       "setenv devtype spinand; setenv devnum 0;" \
   "elif rksfc dev 1; then " \
       "setenv devtype spinor; setenv devnum 1;" \
   "else;" \
       "setenv devtype ramdisk; setenv devnum 0;" \
   "fi; \0"
 
#if defined(CONFIG_AVB_VBMETA_PUBLIC_KEY_VALIDATE)
#define RKIMG_BOOTCOMMAND            \
   "boot_android ${devtype} ${devnum};"
#elif defined(CONFIG_FIT_SIGNATURE)
#define RKIMG_BOOTCOMMAND            \
   "boot_fit;"
#else
#define RKIMG_BOOTCOMMAND            \
   "boot_android ${devtype} ${devnum};"    \
   "boot_fit;"                \
   "bootrkp;"                \
   "run distro_bootcmd;"
#endif
 
#endif /* CONFIG_SPL_BUILD */
 
#define CONFIG_DISPLAY_BOARDINFO_LATE
#define CONFIG_SYS_AUTOLOAD    "no"
#define CONFIG_SPL_LOAD_FIT_ADDRESS        0x2000000
 
#endif /* _ROCKCHIP_COMMON_H_ */