xref: /rk3399_rockchip-uboot/include/configs/rk3576_common.h (revision 093d77bf0c03b9c28a6c67676eec5248aa1ae643)
1bf72c9c9SXuhui Lin /* SPDX-License-Identifier:     GPL-2.0+ */
2bf72c9c9SXuhui Lin /*
3bf72c9c9SXuhui Lin  * (C) Copyright 2023 Rockchip Electronics Co., Ltd
4bf72c9c9SXuhui Lin  *
5bf72c9c9SXuhui Lin  */
6bf72c9c9SXuhui Lin 
7bf72c9c9SXuhui Lin #ifndef __CONFIG_RK3576_COMMON_H
8bf72c9c9SXuhui Lin #define __CONFIG_RK3576_COMMON_H
9bf72c9c9SXuhui Lin 
104ee44385SBinyuan Lan #define CFG_CPUID_OFFSET                0xa
114ee44385SBinyuan Lan 
12bf72c9c9SXuhui Lin #include "rockchip-common.h"
13bf72c9c9SXuhui Lin 
14bf72c9c9SXuhui Lin #define CONFIG_SPL_FRAMEWORK
15bf72c9c9SXuhui Lin #define CONFIG_SPL_TEXT_BASE		0x40000000
16*093d77bfSXuhui Lin #define CONFIG_SPL_MAX_SIZE		0x00060000
17bf72c9c9SXuhui Lin #define CONFIG_SPL_BSS_START_ADDR	0x43fe0000
18bf72c9c9SXuhui Lin #define CONFIG_SPL_BSS_MAX_SIZE		0x00010000
19bf72c9c9SXuhui Lin #define CONFIG_SPL_STACK		0x43fe0000
20bf72c9c9SXuhui Lin #ifdef CONFIG_SPL_LOAD_FIT_ADDRESS
21bf72c9c9SXuhui Lin #undef CONFIG_SPL_LOAD_FIT_ADDRESS
22bf72c9c9SXuhui Lin #endif
23bf72c9c9SXuhui Lin #define CONFIG_SPL_LOAD_FIT_ADDRESS	0x42000000
24bf72c9c9SXuhui Lin 
25bf72c9c9SXuhui Lin #define CONFIG_SYS_MALLOC_LEN		(32 << 20)
26bf72c9c9SXuhui Lin #define CONFIG_SYS_CBSIZE		1024
27bf72c9c9SXuhui Lin 
28bf72c9c9SXuhui Lin #ifdef CONFIG_SUPPORT_USBPLUG
29682a1dd9SXuhui Lin #define CONFIG_SYS_TEXT_BASE		0x40000000
30bf72c9c9SXuhui Lin #else
31bf72c9c9SXuhui Lin #define CONFIG_SYS_TEXT_BASE		0x40200000
32bf72c9c9SXuhui Lin #endif
33bf72c9c9SXuhui Lin 
348e1e8ca5SJoseph Chen #define CONFIG_SYS_INIT_SP_ADDR		0x40600000
35682a1dd9SXuhui Lin #define CONFIG_SYS_LOAD_ADDR		0x40700800
36bf72c9c9SXuhui Lin #define CONFIG_SYS_BOOTM_LEN		(64 << 20)	/* 64M */
3713ceb2afSXuhui Lin #undef COUNTER_FREQUENCY
38bf72c9c9SXuhui Lin 
39682a1dd9SXuhui Lin #define GICD_BASE			0x2a701000
40682a1dd9SXuhui Lin #define GICC_BASE			0x2a702000
41682a1dd9SXuhui Lin 
421a31aec1SXuhui Lin /* secure otp */
431a31aec1SXuhui Lin #define OTP_UBOOT_ROLLBACK_OFFSET	0x610
441a31aec1SXuhui Lin #define OTP_UBOOT_ROLLBACK_WORDS	2	/* 64 bits, 2 words */
451a31aec1SXuhui Lin #define OTP_ALL_ONES_NUM_BITS		32
461a31aec1SXuhui Lin #define OTP_SECURE_BOOT_ENABLE_ADDR	0x20
471a31aec1SXuhui Lin #define OTP_SECURE_BOOT_ENABLE_SIZE	1
481a31aec1SXuhui Lin #define OTP_RSA4096_ENABLE_ADDR		0x21
491a31aec1SXuhui Lin #define OTP_RSA4096_ENABLE_SIZE		1
501a31aec1SXuhui Lin #define OTP_RSA_HASH_ADDR		0x200
511a31aec1SXuhui Lin #define OTP_RSA_HASH_SIZE		32
521a31aec1SXuhui Lin 
53bf72c9c9SXuhui Lin #define CONFIG_BOUNCE_BUFFER
54bf72c9c9SXuhui Lin #define CONFIG_SYS_SDRAM_BASE		0x40000000
55bf72c9c9SXuhui Lin #define SDRAM_MAX_SIZE			(0x100000000 - CONFIG_SYS_SDRAM_BASE)	/* max 4G */
56bf72c9c9SXuhui Lin #define CONFIG_SYS_NONCACHED_MEMORY	(1 << 20)	/* 1M */
57bf72c9c9SXuhui Lin 
58f33373c8SJoseph Chen #if CONFIG_IS_ENABLED(SMP)
59f33373c8SJoseph Chen #define SMP_CPU0			0x0
60f33373c8SJoseph Chen #define SMP_CPU1			0x1
61f33373c8SJoseph Chen #define SMP_CPU2			0x2
62f33373c8SJoseph Chen #define SMP_CORE_ADDR			0x48200000
63f33373c8SJoseph Chen #define SMP_CPU1_STACK			0x48200000
64f33373c8SJoseph Chen #define SMP_CPU2_STACK			0x48180000
65f33373c8SJoseph Chen #endif
66f33373c8SJoseph Chen 
67bf72c9c9SXuhui Lin /* env used only in U-Boot */
68bf72c9c9SXuhui Lin #ifndef CONFIG_SPL_BUILD
69bf72c9c9SXuhui Lin /* usb mass storage */
70bf72c9c9SXuhui Lin #define CONFIG_USB_FUNCTION_MASS_STORAGE
71bf72c9c9SXuhui Lin #define CONFIG_ROCKUSB_G_DNL_PID	0x350e
72bf72c9c9SXuhui Lin 
73bf72c9c9SXuhui Lin /*
74682a1dd9SXuhui Lin  * DDR layout mainly follow rk3588 Soc
75bf72c9c9SXuhui Lin  */
76bf72c9c9SXuhui Lin #define ENV_MEM_LAYOUT_SETTINGS \
77bf72c9c9SXuhui Lin 	"scriptaddr=0x40500000\0" \
78bf72c9c9SXuhui Lin 	"pxefile_addr_r=0x40600000\0" \
79682a1dd9SXuhui Lin 	"fdt_addr_r=0x48300000\0" \
80682a1dd9SXuhui Lin 	"kernel_addr_r=0x40400000\0" \
81682a1dd9SXuhui Lin 	"kernel_addr_c=0x45480000\0" \
82682a1dd9SXuhui Lin 	"ramdisk_addr_r=0x4a200000\0"
83682a1dd9SXuhui Lin 
84bf72c9c9SXuhui Lin #include <config_distro_bootcmd.h>
85bf72c9c9SXuhui Lin 
86bf72c9c9SXuhui Lin #define CONFIG_EXTRA_ENV_SETTINGS \
87bf72c9c9SXuhui Lin 	ENV_MEM_LAYOUT_SETTINGS \
88bf72c9c9SXuhui Lin 	"partitions=" PARTS_RKIMG \
89bf72c9c9SXuhui Lin 	ROCKCHIP_DEVICE_SETTINGS \
90bf72c9c9SXuhui Lin 	RKIMG_DET_BOOTDEV \
91bf72c9c9SXuhui Lin 	BOOTENV
92bf72c9c9SXuhui Lin #endif /* !CONFIG_SPL_BUILD */
93bf72c9c9SXuhui Lin 
94bf72c9c9SXuhui Lin /* rockchip ohci host driver */
95bf72c9c9SXuhui Lin #define CONFIG_USB_OHCI_NEW
96bf72c9c9SXuhui Lin #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	1
97bf72c9c9SXuhui Lin 
98bf72c9c9SXuhui Lin #define CONFIG_PREBOOT
99bf72c9c9SXuhui Lin #define CONFIG_LIB_HW_RAND
100bf72c9c9SXuhui Lin 
101bf72c9c9SXuhui Lin #endif /* __CONFIG_RK3576_COMMON_H */
102