1if ARCH_ROCKCHIP 2 3config ROCKCHIP_RK3036 4 bool "Support Rockchip RK3036" 5 select CPU_V7 6 select SUPPORT_SPL 7 select SPL 8 help 9 The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7 10 including NEON and GPU, Mali-400 graphics, several DDR3 options 11 and video codec support. Peripherals include Gigabit Ethernet, 12 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 13 14config ROCKCHIP_RK3128 15 bool "Support Rockchip RK3128" 16 select CPU_V7 17 select GICV2 18 select ARM_SMCCC 19 help 20 The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7 21 including NEON and GPU, Mali-400 graphics, several DDR3 options 22 and video codec support. Peripherals include Gigabit Ethernet, 23 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 24 25if ROCKCHIP_RK3128 26 27config ROCKCHIP_RK3126 28 bool "Support Rockchip RK3126 " 29 help 30 RK3126 can use most code from RK3128, but at some situations we have 31 to distinguish between RK3126 and RK3128, so this macro gives help. 32 It is usually selected in rk3126 board defconfig. 33endif 34 35config ROCKCHIP_RK3066 36 bool "Support Rockchip RK3066" 37 select CPU_V7 38 select SUPPORT_SPL 39 select SUPPORT_TPL 40 select SPL 41 select TPL 42 select BOARD_LATE_INIT 43 select ROCKCHIP_BROM_HELPER 44 help 45 The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9 46 including NEON and GPU, Mali-400 graphics, several DDR3 options 47 and video codec support. Peripherals include ethernet, USB2 host 48 and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 49 50config ROCKCHIP_RK3188 51 bool "Support Rockchip RK3188" 52 select CPU_V7 53 select SPL_BOARD_INIT if SPL 54 select SUPPORT_SPL 55 select SPL 56 select SPL_CLK 57 select SPL_PINCTRL 58 select SPL_REGMAP 59 select SPL_SYSCON 60 select SPL_RAM 61 select SPL_DRIVERS_MISC_SUPPORT 62 select SPL_ROCKCHIP_EARLYRETURN_TO_BROM 63 select BOARD_LATE_INIT 64 select ROCKCHIP_BROM_HELPER 65 help 66 The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9 67 including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two 68 video interfaces, several memory options and video codec support. 69 Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S, 70 UART, SPI, I2C and PWMs. 71 72config ROCKCHIP_RK322X 73 bool "Support Rockchip RK3228/RK3229" 74 select CPU_V7 75 select SUPPORT_SPL 76 select SUPPORT_TPL 77 select SPL 78 select TPL 79 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 80 select TPL_NEEDS_SEPARATE_STACK if TPL 81 select SPL_DRIVERS_MISC_SUPPORT 82 imply SPL_SERIAL_SUPPORT 83 imply TPL_SERIAL_SUPPORT 84 select ROCKCHIP_BROM_HELPER 85 select DEBUG_UART_BOARD_INIT 86 select TPL_LIBCOMMON_SUPPORT 87 select TPL_LIBGENERIC_SUPPORT 88 select GICV2 89 help 90 The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7 91 including NEON and GPU, Mali-400 graphics, several DDR3 options 92 and video codec support. Peripherals include Gigabit Ethernet, 93 USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. 94 95config ROCKCHIP_RK3288 96 bool "Support Rockchip RK3288" 97 select CPU_V7 98 select SPL_BOARD_INIT if SPL 99 select SUPPORT_SPL 100 select SPL 101 select GICV2 102 help 103 The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17 104 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 105 video interfaces supporting HDMI and eDP, several DDR3 options 106 and video codec support. Peripherals include Gigabit Ethernet, 107 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 108 109config ROCKCHIP_RK3328 110 bool "Support Rockchip RK3328" 111 select ARM64 112 select GICV2 113 select SUPPORT_SPL 114 select SUPPORT_TPL 115 select SPL 116 select TPL 117 select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL 118 select TPL_NEEDS_SEPARATE_STACK if TPL 119 imply SPL_SERIAL_SUPPORT 120 imply TPL_SERIAL_SUPPORT 121 imply SPL_SEPARATE_BSS 122 select DEBUG_UART_BOARD_INIT 123 select SYS_NS16550 124 help 125 The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53. 126 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 127 video interfaces supporting HDMI and eDP, several DDR3 options 128 and video codec support. Peripherals include Gigabit Ethernet, 129 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 130 131if ROCKCHIP_RK3328 132 133config TPL_LDSCRIPT 134 default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds" 135 136config TPL_TEXT_BASE 137 default 0xff091000 138 139config TPL_MAX_SIZE 140 default 28672 141 142config TPL_STACK 143 default 0xff098000 144 145endif 146 147config ROCKCHIP_RK3368 148 bool "Support Rockchip RK3368" 149 select ARM64 150 select SUPPORT_SPL 151 select SUPPORT_TPL 152 select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL 153 select TPL_NEEDS_SEPARATE_STACK if TPL 154 imply SPL_SEPARATE_BSS 155 imply SPL_SERIAL_SUPPORT 156 imply TPL_SERIAL_SUPPORT 157 select DEBUG_UART_BOARD_INIT 158 select SYS_NS16550 159 select GICV2 160 help 161 The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised 162 into a big and little cluster with 4 cores each) Cortex-A53 including 163 AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache 164 (for the little cluster), PowerVR G6110 based graphics, one video 165 output processor supporting LVDS/HDMI/eDP, several DDR3 options and 166 video codec support. 167 168 On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, 169 I2S, UARTs, SPI, I2C and PWMs. 170 171if ROCKCHIP_RK3368 172 173config TPL_LDSCRIPT 174 default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" 175 176config TPL_TEXT_BASE 177 default 0xff8c1000 178 179config TPL_MAX_SIZE 180 default 28672 181 182config TPL_STACK 183 default 0xff8cffff 184 185endif 186 187config ROCKCHIP_RK3399 188 bool "Support Rockchip RK3399" 189 select ARM64 190 select SUPPORT_SPL 191 select SPL 192 select SPL_SEPARATE_BSS 193 select SPL_SERIAL_SUPPORT 194 select SPL_DRIVERS_MISC_SUPPORT 195 select DEBUG_UART_BOARD_INIT 196 select GICV3 197 select BOARD_LATE_INIT 198 select ROCKCHIP_BROM_HELPER 199 help 200 The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72 201 and quad-core Cortex-A53. 202 including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two 203 video interfaces supporting HDMI and eDP, several DDR3 options 204 and video codec support. Peripherals include Gigabit Ethernet, 205 USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs. 206 207config ROCKCHIP_RV1108 208 bool "Support Rockchip RV1108" 209 select CPU_V7 210 help 211 The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7 212 and a DSP. 213 214config SPL_ROCKCHIP_BACK_TO_BROM 215 bool "SPL returns to bootrom" 216 default y if ROCKCHIP_RK3036 217 select ROCKCHIP_BROM_HELPER 218 depends on SPL 219 help 220 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 221 SPL will return to the boot rom, which will then load the U-Boot 222 binary to keep going on. 223 224config TPL_ROCKCHIP_BACK_TO_BROM 225 bool "TPL returns to bootrom" 226 default y if ROCKCHIP_RK3368 || ROCKCHIP_RK3328 227 select ROCKCHIP_BROM_HELPER 228 depends on TPL 229 help 230 Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled, 231 SPL will return to the boot rom, which will then load the U-Boot 232 binary to keep going on. 233 234config ROCKCHIP_BOOT_MODE_REG 235 hex "Rockchip boot mode flag register address" 236 default 0x200081c8 if ROCKCHIP_RK3036 237 default 0x100a0038 if ROCKCHIP_RK3128 238 default 0x20004040 if ROCKCHIP_RK3188 239 default 0x110005c8 if ROCKCHIP_RK322X 240 default 0xff730094 if ROCKCHIP_RK3288 241 default 0xff738200 if ROCKCHIP_RK3368 242 default 0xff320300 if ROCKCHIP_RK3399 243 default 0x10300580 if ROCKCHIP_RV1108 244 default 0 245 help 246 The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h) 247 according to the value from this register. 248 249config ROCKCHIP_SPL_RESERVE_IRAM 250 hex "Size of IRAM reserved in SPL" 251 default 0x4000 252 help 253 SPL may need reserve memory for firmware loaded by SPL, whose load 254 address is in IRAM and may overlay with SPL text area if not 255 reserved. 256 257config ROCKCHIP_BROM_HELPER 258 bool 259 260config SPL_ROCKCHIP_EARLYRETURN_TO_BROM 261 bool "SPL requires early-return (for RK3188-style BROM) to BROM" 262 depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK 263 help 264 Some Rockchip BROM variants (e.g. on the RK3188) load the 265 first stage in segments and enter multiple times. E.g. on 266 the RK3188, the first 1KB of the first stage are loaded 267 first and entered; after returning to the BROM, the 268 remainder of the first stage is loaded, but the BROM 269 re-enters at the same address/to the same code as previously. 270 271 This enables support code in the BOOT0 hook for the SPL stage 272 to allow multiple entries. 273 274config TPL_ROCKCHIP_EARLYRETURN_TO_BROM 275 bool "TPL requires early-return (for RK3188-style BROM) to BROM" 276 depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK 277 help 278 Some Rockchip BROM variants (e.g. on the RK3188) load the 279 first stage in segments and enter multiple times. E.g. on 280 the RK3188, the first 1KB of the first stage are loaded 281 first and entered; after returning to the BROM, the 282 remainder of the first stage is loaded, but the BROM 283 re-enters at the same address/to the same code as previously. 284 285 This enables support code in the BOOT0 hook for the TPL stage 286 to allow multiple entries. 287 288config SPL_MMC_SUPPORT 289 default y if !SPL_ROCKCHIP_BACK_TO_BROM 290 291config RKIMG_BOOTLOADER 292 bool "Support for Rockchip Image Bootloader boot flow" 293 default n 294 help 295 Rockchip use this to boot Android during development cycle and for 296 other OS, typical content kernel.img with zImage/Image, boot.img and 297 recovery.img with Ramdisk, packed with 'KNRL' header; and resource.img 298 with dtb and uboot/kernel logo bmp, vendor storage for custom info 299 like SN and MAC address. 300 301config ROCKCHIP_RESOURCE_IMAGE 302 bool "Enable support for rockchip resource image" 303 depends on RKIMG_BOOTLOADER 304 help 305 This enables support to get dtb or logo files from 306 rockchip resource image format partition. 307 308config ROCKCHIP_VENDOR_PARTITION 309 bool "Rockchip vendor storage partition support" 310 depends on RKIMG_BOOTLOADER 311 help 312 This enable support to read/write vendor configuration data from/to 313 this partition. 314 315config ROCKCHIP_CRC 316 bool "Rockchip CRC verify images" 317 help 318 This enable support Rockchip CRC verify images. It takes a lot of time, 319 so it is better only used for debug. 320 321config ROCKCHIP_SMCCC 322 bool "Rockchip SMCCC" 323 default y if ARM_SMCCC 324 help 325 This enable support for Rockchip SMC calls 326 327config GICV2 328 bool "ARM GICv2" 329 330config GICV3 331 bool "ARM GICv3" 332 333source "arch/arm/mach-rockchip/rk3036/Kconfig" 334source "arch/arm/mach-rockchip/rk3066/Kconfig" 335source "arch/arm/mach-rockchip/rk3128/Kconfig" 336source "arch/arm/mach-rockchip/rk3188/Kconfig" 337source "arch/arm/mach-rockchip/rk322x/Kconfig" 338source "arch/arm/mach-rockchip/rk3288/Kconfig" 339source "arch/arm/mach-rockchip/rk3328/Kconfig" 340source "arch/arm/mach-rockchip/rk3368/Kconfig" 341source "arch/arm/mach-rockchip/rk3399/Kconfig" 342source "arch/arm/mach-rockchip/rv1108/Kconfig" 343endif 344