xref: /rk3399_rockchip-uboot/include/configs/rk3588_common.h (revision 2c3c84fc7fd0ab439baf1e634c8b5504daa40db4)
1 /* SPDX-License-Identifier:     GPL-2.0+ */
2 /*
3  * (C) Copyright 2021 Rockchip Electronics Co., Ltd
4  *
5  */
6 
7 #ifndef __CONFIG_RK3588_COMMON_H
8 #define __CONFIG_RK3588_COMMON_H
9 
10 #include "rockchip-common.h"
11 
12 #define CONFIG_SPL_FRAMEWORK
13 #define CONFIG_SPL_TEXT_BASE		0x00000000
14 #define CONFIG_SPL_MAX_SIZE		0x00040000
15 #define CONFIG_SPL_BSS_START_ADDR	0x03fe0000
16 #define CONFIG_SPL_BSS_MAX_SIZE		0x00010000
17 #define CONFIG_SPL_STACK		0x03fe0000
18 #ifdef CONFIG_SPL_LOAD_FIT_ADDRESS
19 #undef CONFIG_SPL_LOAD_FIT_ADDRESS
20 #endif
21 #define CONFIG_SPL_LOAD_FIT_ADDRESS	0x10000000
22 
23 #define CONFIG_SYS_MALLOC_LEN		(32 << 20)
24 #define CONFIG_SYS_CBSIZE		1024
25 #define CONFIG_SKIP_LOWLEVEL_INIT
26 
27 #ifdef CONFIG_SUPPORT_USBPLUG
28 #define CONFIG_SYS_TEXT_BASE		0x00000000
29 #else
30 #define CONFIG_SYS_TEXT_BASE		0x00200000
31 #endif
32 
33 #define CONFIG_SYS_INIT_SP_ADDR		0x00600000
34 #define CONFIG_SYS_LOAD_ADDR		0x00600800
35 #define CONFIG_SYS_BOOTM_LEN		(64 << 20)	/* 64M */
36 #define COUNTER_FREQUENCY		24000000
37 
38 #define GICD_BASE			0xfe600000
39 #define GICR_BASE			0xfe680000
40 #define GICC_BASE			0xfe600000
41 
42 /* secure otp */
43 #define OTP_UBOOT_ROLLBACK_OFFSET	0x150
44 #define OTP_UBOOT_ROLLBACK_WORDS	2	/* 64 bits, 2 words */
45 #define OTP_ALL_ONES_NUM_BITS		32
46 #define OTP_SECURE_BOOT_ENABLE_ADDR	0x20
47 #define OTP_SECURE_BOOT_ENABLE_SIZE	1
48 #define OTP_RSA_HASH_ADDR		0x9c0
49 #define OTP_RSA_HASH_SIZE		32
50 
51 /* MMC/SD IP block */
52 #define CONFIG_BOUNCE_BUFFER
53 
54 #define CONFIG_SYS_SDRAM_BASE		0
55 #define SDRAM_MAX_SIZE			0xf0000000
56 #define CONFIG_SYS_NONCACHED_MEMORY	(1 << 20)	/* 1 MiB */
57 
58 #ifndef CONFIG_SPL_BUILD
59 /* usb mass storage */
60 #define CONFIG_USB_FUNCTION_MASS_STORAGE
61 #define CONFIG_ROCKUSB_G_DNL_PID	0x350b
62 
63 /*
64  * decompressed kernel:  4M ~ 84M
65  *	Why not start from 2M ? if kernel < 5.10 in Android image,
66  *	the image header will use the 0x180000~0x200000, which is
67  *	overlap with share memory region 0x100000~0x200000.
68  *
69  * compressed kernel:   84M ~ 130M
70  */
71 #define ENV_MEM_LAYOUT_SETTINGS \
72 	"scriptaddr=0x00500000\0" \
73 	"pxefile_addr_r=0x00600000\0" \
74 	"fdt_addr_r=0x08300000\0" \
75 	"kernel_addr_r=0x00400000\0" \
76 	"kernel_addr_c=0x05480000\0" \
77 	"ramdisk_addr_r=0x0a200000\0"
78 
79 #include <config_distro_bootcmd.h>
80 
81 #define CONFIG_EXTRA_ENV_SETTINGS \
82 	BOOTENV_SHARED_MTD	\
83 	ENV_MEM_LAYOUT_SETTINGS \
84 	"partitions=" PARTS_RKIMG \
85 	ROCKCHIP_DEVICE_SETTINGS \
86 	RKIMG_DET_BOOTDEV \
87 	BOOTENV
88 #endif
89 
90 /* rockchip ohci host driver */
91 #define CONFIG_USB_OHCI_NEW
92 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	1
93 
94 #define CONFIG_PREBOOT
95 #define CONFIG_LIB_HW_RAND
96 
97 #endif
98