xref: /rk3399_rockchip-uboot/include/configs/rv1106_common.h (revision 4a715642411aaa0f2cf964eb956af65f4cbfdb56)
104e2aa7fSJoseph Chen /*
204e2aa7fSJoseph Chen  * (C) Copyright 2022 Rockchip Electronics Co., Ltd
304e2aa7fSJoseph Chen  *
404e2aa7fSJoseph Chen  * SPDX-License-Identifier:     GPL-2.0+
504e2aa7fSJoseph Chen  */
604e2aa7fSJoseph Chen 
704e2aa7fSJoseph Chen #ifndef __CONFIG_RV1106_COMMON_H
804e2aa7fSJoseph Chen #define __CONFIG_RV1106_COMMON_H
904e2aa7fSJoseph Chen 
10f7cc982cSSugar Zhang #define CFG_CPUID_OFFSET		0xa
11f7cc982cSSugar Zhang 
1204e2aa7fSJoseph Chen #include "rockchip-common.h"
1304e2aa7fSJoseph Chen 
1404e2aa7fSJoseph Chen #define COUNTER_FREQUENCY		24000000
15197c3ff1SJoseph Chen #define CONFIG_SYS_MALLOC_LEN		(16 << 20)
1604e2aa7fSJoseph Chen #define CONFIG_SYS_CBSIZE		1024
1704e2aa7fSJoseph Chen #define CONFIG_SYS_NS16550_MEM32
1804e2aa7fSJoseph Chen 
196c92d3a9SYifeng Zhao #ifdef CONFIG_SUPPORT_USBPLUG
206c92d3a9SYifeng Zhao #define CONFIG_SYS_TEXT_BASE		0x00000000
216c92d3a9SYifeng Zhao #else
22d8396f6fSJason Zhu #define CONFIG_SYS_TEXT_BASE		0x00200000
236c92d3a9SYifeng Zhao #endif
24d8396f6fSJason Zhu #define CONFIG_SYS_INIT_SP_ADDR		0x00400000
2504e2aa7fSJoseph Chen #define CONFIG_SYS_LOAD_ADDR		0x00e00800
2604e2aa7fSJoseph Chen #define CONFIG_SYS_BOOTM_LEN		(64 << 20)
2704e2aa7fSJoseph Chen #define GICD_BASE			0xff1f1000
2804e2aa7fSJoseph Chen #define GICC_BASE			0xff1f2000
2904e2aa7fSJoseph Chen #define CONFIG_SYS_SDRAM_BASE		0
30731db449SJason Zhu #define SDRAM_MAX_SIZE			0xff000000
3104e2aa7fSJoseph Chen #define CONFIG_SYS_NONCACHED_MEMORY    (1 << 20)       /* 1 MiB */
32731db449SJason Zhu #define CONFIG_PERIPH_DEVICE_START_ADDR	(CONFIG_SYS_SDRAM_BASE + SDRAM_MAX_SIZE)
33731db449SJason Zhu #define CONFIG_PERIPH_DEVICE_END_ADDR	SZ_4G
3404e2aa7fSJoseph Chen 
3504e2aa7fSJoseph Chen /* SPL */
3604e2aa7fSJoseph Chen #define CONFIG_SPL_FRAMEWORK
3704e2aa7fSJoseph Chen #define CONFIG_SPL_TEXT_BASE		0x00000000
38423b089aSXuhui Lin #define CONFIG_SPL_MAX_SIZE		0x28000
39d8396f6fSJason Zhu #define CONFIG_SPL_BSS_START_ADDR	0x001fe000
4004e2aa7fSJoseph Chen #define CONFIG_SPL_BSS_MAX_SIZE		0x20000
41d8396f6fSJason Zhu #define CONFIG_SPL_STACK		0x001fe000
4204e2aa7fSJoseph Chen 
4319b0168aSJason Zhu /* secure otp */
4419b0168aSJason Zhu #define OTP_UBOOT_ROLLBACK_OFFSET	0xe0
4519b0168aSJason Zhu #define OTP_UBOOT_ROLLBACK_WORDS	2	/* 64 bits, 2 words */
4619b0168aSJason Zhu #define OTP_ALL_ONES_NUM_BITS		32
4719b0168aSJason Zhu #define OTP_SECURE_BOOT_ENABLE_ADDR	0x80
4819b0168aSJason Zhu #define OTP_SECURE_BOOT_ENABLE_SIZE	2
4919b0168aSJason Zhu #define OTP_RSA_HASH_ADDR		0x90
5019b0168aSJason Zhu #define OTP_RSA_HASH_SIZE		32
5119b0168aSJason Zhu 
5204e2aa7fSJoseph Chen /* MMC/SD IP block */
5304e2aa7fSJoseph Chen #define CONFIG_BOUNCE_BUFFER
5404e2aa7fSJoseph Chen 
5504e2aa7fSJoseph Chen #ifndef CONFIG_SPL_BUILD
56*4a715642SXuhui Lin #ifdef CONFIG_OPTEE_CLIENT
57*4a715642SXuhui Lin #define CONFIG_PRAM			3072
58*4a715642SXuhui Lin #endif
5904e2aa7fSJoseph Chen /* usb mass storage */
6004e2aa7fSJoseph Chen #define CONFIG_USB_FUNCTION_MASS_STORAGE
6104e2aa7fSJoseph Chen #define CONFIG_ROCKUSB_G_DNL_PID	0x110c
6204e2aa7fSJoseph Chen 
63392b70deSJoseph Chen #define CONFIG_LIB_HW_RAND
6405a547d2SJoseph Chen #define CONFIG_PREBOOT
6505a547d2SJoseph Chen 
667a93cfc7SJoseph Chen #if CONFIG_USB_FUNCTION_DFU
677a93cfc7SJoseph Chen #define CONFIG_SET_DFU_ALT_INFO
687a93cfc7SJoseph Chen #endif
697a93cfc7SJoseph Chen 
7010283f05SJoseph Chen #ifdef CONFIG_ENV_MEM_LAYOUT
7110283f05SJoseph Chen #define ENV_MEM_LAYOUT_SETTINGS		CONFIG_ENV_MEM_LAYOUT_SETTINGS
7210283f05SJoseph Chen #else
73197c3ff1SJoseph Chen /*
74197c3ff1SJoseph Chen  *   Image:  0 - 8M
75197c3ff1SJoseph Chen  *  zImage:  8 - 12M
76197c3ff1SJoseph Chen  *     fdt: 12 - 13M
77197c3ff1SJoseph Chen  * ramdisk: 14 ...
78197c3ff1SJoseph Chen  */
7904e2aa7fSJoseph Chen #define ENV_MEM_LAYOUT_SETTINGS		\
8004e2aa7fSJoseph Chen 	"scriptaddr=0x00b00000\0"	\
8104e2aa7fSJoseph Chen 	"pxefile_addr_r=0x00c00000\0"	\
82197c3ff1SJoseph Chen 	"fdt_addr_r=0x00c00000\0"	\
8304e2aa7fSJoseph Chen 	"kernel_addr_c=0x00808000\0"	\
8404e2aa7fSJoseph Chen 	"kernel_addr_r=0x00008000\0"	\
85197c3ff1SJoseph Chen 	"ramdisk_addr_r=0x000e00000\0"
8610283f05SJoseph Chen #endif
8704e2aa7fSJoseph Chen 
8804e2aa7fSJoseph Chen #define CONFIG_EXTRA_ENV_SETTINGS	\
8904e2aa7fSJoseph Chen 	ENV_MEM_LAYOUT_SETTINGS		\
9004e2aa7fSJoseph Chen 	ROCKCHIP_DEVICE_SETTINGS	\
9104e2aa7fSJoseph Chen 	RKIMG_DET_BOOTDEV
9204e2aa7fSJoseph Chen 
9304e2aa7fSJoseph Chen #undef RKIMG_BOOTCOMMAND
9404e2aa7fSJoseph Chen #ifdef CONFIG_FIT_SIGNATURE
9504e2aa7fSJoseph Chen #define RKIMG_BOOTCOMMAND		\
9604e2aa7fSJoseph Chen 	"boot_fit;"
9704e2aa7fSJoseph Chen #else
9804e2aa7fSJoseph Chen #define RKIMG_BOOTCOMMAND		\
9904e2aa7fSJoseph Chen 	"boot_fit;"			\
10004e2aa7fSJoseph Chen 	"boot_android ${devtype} ${devnum};"
10104e2aa7fSJoseph Chen #endif
10205a547d2SJoseph Chen 
10305a547d2SJoseph Chen /* Update define for tiny image */
10405a547d2SJoseph Chen #ifdef CONFIG_ROCKCHIP_IMAGE_TINY
10505a547d2SJoseph Chen #undef RKIMG_BOOTCOMMAND
10605a547d2SJoseph Chen #undef RKIMG_DET_BOOTDEV
10705a547d2SJoseph Chen #undef CONFIG_EXTRA_ENV_SETTINGS
10805a547d2SJoseph Chen #undef CONFIG_AUTO_COMPLETE
10905a547d2SJoseph Chen #undef CONFIG_SYS_LONGHELP
11005a547d2SJoseph Chen #undef CONFIG_ZLIB
11105a547d2SJoseph Chen #undef CONFIG_GZIP
11205a547d2SJoseph Chen /* TODO: #define CONFIG_LIB_HW_RAND */
11305a547d2SJoseph Chen 
11405a547d2SJoseph Chen #define RKIMG_BOOTCOMMAND		"boot_fit;"
11505a547d2SJoseph Chen #define CONFIG_EXTRA_ENV_SETTINGS	ENV_MEM_LAYOUT_SETTINGS
11604e2aa7fSJoseph Chen #endif
11705a547d2SJoseph Chen #endif	/* !CONFIG_SPL_BUILD */
11804e2aa7fSJoseph Chen 
11904e2aa7fSJoseph Chen #endif
120