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