xref: /rk3399_rockchip-uboot/include/configs/rv1106_common.h (revision feb2c9de35d4e803e1d4ed5314a37440ec175e24)
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 
43*feb2c9deSXuhui Lin #define CONFIG_SPL_CHECK_SIZE
44*feb2c9deSXuhui Lin 
4519b0168aSJason Zhu /* secure otp */
4619b0168aSJason Zhu #define OTP_UBOOT_ROLLBACK_OFFSET	0xe0
4719b0168aSJason Zhu #define OTP_UBOOT_ROLLBACK_WORDS	2	/* 64 bits, 2 words */
4819b0168aSJason Zhu #define OTP_ALL_ONES_NUM_BITS		32
4919b0168aSJason Zhu #define OTP_SECURE_BOOT_ENABLE_ADDR	0x80
5019b0168aSJason Zhu #define OTP_SECURE_BOOT_ENABLE_SIZE	2
5119b0168aSJason Zhu #define OTP_RSA_HASH_ADDR		0x90
5219b0168aSJason Zhu #define OTP_RSA_HASH_SIZE		32
5319b0168aSJason Zhu 
5404e2aa7fSJoseph Chen /* MMC/SD IP block */
5504e2aa7fSJoseph Chen #define CONFIG_BOUNCE_BUFFER
5604e2aa7fSJoseph Chen 
5704e2aa7fSJoseph Chen #ifndef CONFIG_SPL_BUILD
584a715642SXuhui Lin #ifdef CONFIG_OPTEE_CLIENT
594a715642SXuhui Lin #define CONFIG_PRAM			3072
604a715642SXuhui Lin #endif
6104e2aa7fSJoseph Chen /* usb mass storage */
6204e2aa7fSJoseph Chen #define CONFIG_USB_FUNCTION_MASS_STORAGE
6304e2aa7fSJoseph Chen #define CONFIG_ROCKUSB_G_DNL_PID	0x110c
6404e2aa7fSJoseph Chen 
65392b70deSJoseph Chen #define CONFIG_LIB_HW_RAND
6605a547d2SJoseph Chen #define CONFIG_PREBOOT
6705a547d2SJoseph Chen 
687a93cfc7SJoseph Chen #if CONFIG_USB_FUNCTION_DFU
697a93cfc7SJoseph Chen #define CONFIG_SET_DFU_ALT_INFO
707a93cfc7SJoseph Chen #endif
717a93cfc7SJoseph Chen 
7210283f05SJoseph Chen #ifdef CONFIG_ENV_MEM_LAYOUT
7310283f05SJoseph Chen #define ENV_MEM_LAYOUT_SETTINGS		CONFIG_ENV_MEM_LAYOUT_SETTINGS
7410283f05SJoseph Chen #else
75197c3ff1SJoseph Chen /*
76197c3ff1SJoseph Chen  *   Image:  0 - 8M
77197c3ff1SJoseph Chen  *  zImage:  8 - 12M
78197c3ff1SJoseph Chen  *     fdt: 12 - 13M
79197c3ff1SJoseph Chen  * ramdisk: 14 ...
80197c3ff1SJoseph Chen  */
8104e2aa7fSJoseph Chen #define ENV_MEM_LAYOUT_SETTINGS		\
8204e2aa7fSJoseph Chen 	"scriptaddr=0x00b00000\0"	\
8304e2aa7fSJoseph Chen 	"pxefile_addr_r=0x00c00000\0"	\
84197c3ff1SJoseph Chen 	"fdt_addr_r=0x00c00000\0"	\
8504e2aa7fSJoseph Chen 	"kernel_addr_c=0x00808000\0"	\
8604e2aa7fSJoseph Chen 	"kernel_addr_r=0x00008000\0"	\
87197c3ff1SJoseph Chen 	"ramdisk_addr_r=0x000e00000\0"
8810283f05SJoseph Chen #endif
8904e2aa7fSJoseph Chen 
9004e2aa7fSJoseph Chen #define CONFIG_EXTRA_ENV_SETTINGS	\
9104e2aa7fSJoseph Chen 	ENV_MEM_LAYOUT_SETTINGS		\
9204e2aa7fSJoseph Chen 	ROCKCHIP_DEVICE_SETTINGS	\
9304e2aa7fSJoseph Chen 	RKIMG_DET_BOOTDEV
9404e2aa7fSJoseph Chen 
9504e2aa7fSJoseph Chen #undef RKIMG_BOOTCOMMAND
9604e2aa7fSJoseph Chen #ifdef CONFIG_FIT_SIGNATURE
9704e2aa7fSJoseph Chen #define RKIMG_BOOTCOMMAND		\
9804e2aa7fSJoseph Chen 	"boot_fit;"
9904e2aa7fSJoseph Chen #else
10004e2aa7fSJoseph Chen #define RKIMG_BOOTCOMMAND		\
10104e2aa7fSJoseph Chen 	"boot_fit;"			\
10204e2aa7fSJoseph Chen 	"boot_android ${devtype} ${devnum};"
10304e2aa7fSJoseph Chen #endif
10405a547d2SJoseph Chen 
10505a547d2SJoseph Chen /* Update define for tiny image */
10605a547d2SJoseph Chen #ifdef CONFIG_ROCKCHIP_IMAGE_TINY
10705a547d2SJoseph Chen #undef RKIMG_BOOTCOMMAND
10805a547d2SJoseph Chen #undef RKIMG_DET_BOOTDEV
10905a547d2SJoseph Chen #undef CONFIG_EXTRA_ENV_SETTINGS
11005a547d2SJoseph Chen #undef CONFIG_AUTO_COMPLETE
11105a547d2SJoseph Chen #undef CONFIG_SYS_LONGHELP
11205a547d2SJoseph Chen #undef CONFIG_ZLIB
11305a547d2SJoseph Chen #undef CONFIG_GZIP
11405a547d2SJoseph Chen /* TODO: #define CONFIG_LIB_HW_RAND */
11505a547d2SJoseph Chen 
11605a547d2SJoseph Chen #define RKIMG_BOOTCOMMAND		"boot_fit;"
11705a547d2SJoseph Chen #define CONFIG_EXTRA_ENV_SETTINGS	ENV_MEM_LAYOUT_SETTINGS
11804e2aa7fSJoseph Chen #endif
11905a547d2SJoseph Chen #endif	/* !CONFIG_SPL_BUILD */
12004e2aa7fSJoseph Chen 
12104e2aa7fSJoseph Chen #endif
122