Kconfig 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. if ARCH_ROCKCHIP
  2. config ROCKCHIP_PX30
  3. bool "Support Rockchip PX30"
  4. select ARM64
  5. select SUPPORT_SPL
  6. select SUPPORT_TPL
  7. select SPL
  8. select TPL
  9. select TPL_TINY_FRAMEWORK if TPL
  10. select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
  11. select TPL_NEEDS_SEPARATE_STACK if TPL
  12. imply SPL_SEPARATE_BSS
  13. select SPL_SERIAL_SUPPORT
  14. select TPL_SERIAL_SUPPORT
  15. select DEBUG_UART_BOARD_INIT
  16. imply ROCKCHIP_COMMON_BOARD
  17. imply SPL_ROCKCHIP_COMMON_BOARD
  18. help
  19. The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35
  20. including NEON and GPU, Mali-400 graphics, several DDR3 options
  21. and video codec support. Peripherals include Gigabit Ethernet,
  22. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  23. config ROCKCHIP_RK3036
  24. bool "Support Rockchip RK3036"
  25. select CPU_V7A
  26. select SUPPORT_SPL
  27. select SPL
  28. imply USB_FUNCTION_ROCKUSB
  29. imply CMD_ROCKUSB
  30. imply ROCKCHIP_COMMON_BOARD
  31. help
  32. The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
  33. including NEON and GPU, Mali-400 graphics, several DDR3 options
  34. and video codec support. Peripherals include Gigabit Ethernet,
  35. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  36. config ROCKCHIP_RK3128
  37. bool "Support Rockchip RK3128"
  38. select CPU_V7A
  39. imply ROCKCHIP_COMMON_BOARD
  40. help
  41. The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
  42. including NEON and GPU, Mali-400 graphics, several DDR3 options
  43. and video codec support. Peripherals include Gigabit Ethernet,
  44. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  45. config ROCKCHIP_RK3188
  46. bool "Support Rockchip RK3188"
  47. select CPU_V7A
  48. select SPL_BOARD_INIT if SPL
  49. select SUPPORT_SPL
  50. select SPL
  51. select SPL_CLK
  52. select SPL_REGMAP
  53. select SPL_SYSCON
  54. select SPL_RAM
  55. select SPL_DRIVERS_MISC
  56. select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
  57. select SPL_ROCKCHIP_BACK_TO_BROM
  58. select BOARD_LATE_INIT
  59. imply ROCKCHIP_COMMON_BOARD
  60. imply SPL_ROCKCHIP_COMMON_BOARD
  61. help
  62. The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
  63. including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
  64. video interfaces, several memory options and video codec support.
  65. Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
  66. UART, SPI, I2C and PWMs.
  67. config ROCKCHIP_RK322X
  68. bool "Support Rockchip RK3228/RK3229"
  69. select CPU_V7A
  70. select SUPPORT_SPL
  71. select SUPPORT_TPL
  72. select SPL
  73. select SPL_DM
  74. select SPL_OF_LIBFDT
  75. select TPL
  76. select TPL_DM
  77. select TPL_OF_LIBFDT
  78. select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
  79. select TPL_NEEDS_SEPARATE_STACK if TPL
  80. select SPL_DRIVERS_MISC
  81. imply ROCKCHIP_COMMON_BOARD
  82. imply SPL_SERIAL_SUPPORT
  83. imply SPL_ROCKCHIP_COMMON_BOARD
  84. imply TPL_SERIAL_SUPPORT
  85. imply TPL_ROCKCHIP_COMMON_BOARD
  86. select TPL_LIBCOMMON_SUPPORT
  87. select TPL_LIBGENERIC_SUPPORT
  88. help
  89. The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
  90. including NEON and GPU, Mali-400 graphics, several DDR3 options
  91. and video codec support. Peripherals include Gigabit Ethernet,
  92. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  93. config ROCKCHIP_RK3288
  94. bool "Support Rockchip RK3288"
  95. select CPU_V7A
  96. select OF_BOARD_SETUP
  97. select SUPPORT_SPL
  98. select SPL
  99. select SUPPORT_TPL
  100. imply PRE_CONSOLE_BUFFER
  101. imply ROCKCHIP_COMMON_BOARD
  102. imply SPL_ROCKCHIP_COMMON_BOARD
  103. imply TPL_CLK
  104. imply TPL_DM
  105. imply TPL_DRIVERS_MISC
  106. imply TPL_LIBCOMMON_SUPPORT
  107. imply TPL_LIBGENERIC_SUPPORT
  108. imply TPL_NEEDS_SEPARATE_TEXT_BASE
  109. imply TPL_NEEDS_SEPARATE_STACK
  110. imply TPL_OF_CONTROL
  111. imply TPL_OF_PLATDATA
  112. imply TPL_RAM
  113. imply TPL_REGMAP
  114. imply TPL_ROCKCHIP_COMMON_BOARD
  115. imply TPL_SERIAL_SUPPORT
  116. imply TPL_SYSCON
  117. imply USB_FUNCTION_ROCKUSB
  118. imply CMD_ROCKUSB
  119. help
  120. The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
  121. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  122. video interfaces supporting HDMI and eDP, several DDR3 options
  123. and video codec support. Peripherals include Gigabit Ethernet,
  124. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  125. config ROCKCHIP_RK3308
  126. bool "Support Rockchip RK3308"
  127. select ARM64
  128. select DEBUG_UART_BOARD_INIT
  129. select SUPPORT_SPL
  130. select SUPPORT_TPL
  131. select SPL
  132. select SPL_ATF
  133. select SPL_ATF_NO_PLATFORM_PARAM
  134. select SPL_LOAD_FIT
  135. imply ROCKCHIP_COMMON_BOARD
  136. imply SPL_ROCKCHIP_COMMON_BOARD
  137. imply SPL_CLK
  138. imply SPL_REGMAP
  139. imply SPL_SYSCON
  140. imply SPL_RAM
  141. imply SPL_SERIAL_SUPPORT
  142. imply TPL_SERIAL_SUPPORT
  143. imply SPL_SEPARATE_BSS
  144. help
  145. The Rockchip RK3308 is a ARM-based Soc which embedded with quad
  146. Cortex-A35 and highly integrated audio interfaces.
  147. config ROCKCHIP_RK3328
  148. bool "Support Rockchip RK3328"
  149. select ARM64
  150. select SUPPORT_SPL
  151. select SPL
  152. select SUPPORT_TPL
  153. select TPL
  154. select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
  155. select TPL_NEEDS_SEPARATE_STACK if TPL
  156. imply ROCKCHIP_COMMON_BOARD
  157. imply ROCKCHIP_SDRAM_COMMON
  158. imply SPL_ROCKCHIP_COMMON_BOARD
  159. imply SPL_SERIAL_SUPPORT
  160. imply TPL_SERIAL_SUPPORT
  161. imply SPL_SEPARATE_BSS
  162. select ENABLE_ARM_SOC_BOOT0_HOOK
  163. select DEBUG_UART_BOARD_INIT
  164. select SYS_NS16550
  165. help
  166. The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
  167. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  168. video interfaces supporting HDMI and eDP, several DDR3 options
  169. and video codec support. Peripherals include Gigabit Ethernet,
  170. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  171. config ROCKCHIP_RK3368
  172. bool "Support Rockchip RK3368"
  173. select ARM64
  174. select SUPPORT_SPL
  175. select SUPPORT_TPL
  176. select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
  177. select TPL_NEEDS_SEPARATE_STACK if TPL
  178. imply ROCKCHIP_COMMON_BOARD
  179. imply SPL_ROCKCHIP_COMMON_BOARD
  180. imply SPL_SEPARATE_BSS
  181. imply SPL_SERIAL_SUPPORT
  182. imply TPL_SERIAL_SUPPORT
  183. imply TPL_ROCKCHIP_COMMON_BOARD
  184. help
  185. The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
  186. into a big and little cluster with 4 cores each) Cortex-A53 including
  187. AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
  188. (for the little cluster), PowerVR G6110 based graphics, one video
  189. output processor supporting LVDS/HDMI/eDP, several DDR3 options and
  190. video codec support.
  191. On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
  192. I2S, UARTs, SPI, I2C and PWMs.
  193. config ROCKCHIP_RK3399
  194. bool "Support Rockchip RK3399"
  195. select ARM64
  196. select SUPPORT_SPL
  197. select SUPPORT_TPL
  198. select SPL
  199. select SPL_ATF
  200. select SPL_BOARD_INIT if SPL
  201. select SPL_LOAD_FIT
  202. select SPL_CLK if SPL
  203. select SPL_PINCTRL if SPL
  204. select SPL_RAM if SPL
  205. select SPL_REGMAP if SPL
  206. select SPL_SYSCON if SPL
  207. select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
  208. select TPL_NEEDS_SEPARATE_STACK if TPL
  209. select SPL_SEPARATE_BSS
  210. select SPL_SERIAL_SUPPORT
  211. select SPL_DRIVERS_MISC
  212. select CLK
  213. select FIT
  214. select PINCTRL
  215. select RAM
  216. select REGMAP
  217. select SYSCON
  218. select DM_PMIC
  219. select DM_REGULATOR_FIXED
  220. select BOARD_LATE_INIT
  221. imply PRE_CONSOLE_BUFFER
  222. imply ROCKCHIP_COMMON_BOARD
  223. imply ROCKCHIP_SDRAM_COMMON
  224. imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
  225. imply SPL_ROCKCHIP_COMMON_BOARD
  226. imply TPL_SERIAL_SUPPORT
  227. imply TPL_LIBCOMMON_SUPPORT
  228. imply TPL_LIBGENERIC_SUPPORT
  229. imply TPL_SYS_MALLOC_SIMPLE
  230. imply TPL_DRIVERS_MISC
  231. imply TPL_OF_CONTROL
  232. imply TPL_DM
  233. imply TPL_REGMAP
  234. imply TPL_SYSCON
  235. imply TPL_RAM
  236. imply TPL_CLK
  237. imply TPL_TINY_MEMSET
  238. imply TPL_ROCKCHIP_COMMON_BOARD
  239. imply SYS_BOOTCOUNT_SINGLEWORD if BOOTCOUNT_LIMIT
  240. imply CMD_BOOTCOUNT if BOOTCOUNT_LIMIT
  241. help
  242. The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
  243. and quad-core Cortex-A53.
  244. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  245. video interfaces supporting HDMI and eDP, several DDR3 options
  246. and video codec support. Peripherals include Gigabit Ethernet,
  247. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  248. config ROCKCHIP_RK3568
  249. bool "Support Rockchip RK3568"
  250. select ARM64
  251. select CLK
  252. select PINCTRL
  253. select RAM
  254. select REGMAP
  255. select SYSCON
  256. select BOARD_LATE_INIT
  257. imply ROCKCHIP_COMMON_BOARD
  258. help
  259. The Rockchip RK3568 is a ARM-based SoC with quad-core Cortex-A55,
  260. including NEON and GPU, 512K L3 cache, Mali-G52 based graphics,
  261. two video interfaces supporting HDMI and eDP, several DDR3 options
  262. and video codec support. Peripherals include Gigabit Ethernet,
  263. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  264. config ROCKCHIP_RV1108
  265. bool "Support Rockchip RV1108"
  266. select CPU_V7A
  267. imply ROCKCHIP_COMMON_BOARD
  268. help
  269. The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
  270. and a DSP.
  271. config ROCKCHIP_USB_UART
  272. bool "Route uart output to usb pins"
  273. help
  274. Rockchip SoCs have the ability to route the signals of the debug
  275. uart through the d+ and d- pins of a specific usb phy to enable
  276. some form of closed-case debugging. With this option supported
  277. SoCs will enable this routing as a debug measure.
  278. config SPL_ROCKCHIP_BACK_TO_BROM
  279. bool "SPL returns to bootrom"
  280. default y if ROCKCHIP_RK3036
  281. select ROCKCHIP_BROM_HELPER
  282. select SPL_BOOTROM_SUPPORT
  283. depends on SPL
  284. help
  285. Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
  286. SPL will return to the boot rom, which will then load the U-Boot
  287. binary to keep going on.
  288. config TPL_ROCKCHIP_BACK_TO_BROM
  289. bool "TPL returns to bootrom"
  290. default y
  291. select ROCKCHIP_BROM_HELPER
  292. select TPL_BOOTROM_SUPPORT
  293. depends on TPL
  294. help
  295. Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
  296. SPL will return to the boot rom, which will then load the U-Boot
  297. binary to keep going on.
  298. config ROCKCHIP_COMMON_BOARD
  299. bool "Rockchip common board file"
  300. help
  301. Rockchip SoCs have similar boot process, Common board file is mainly
  302. in charge of common process of board_init() and board_late_init() for
  303. U-Boot proper.
  304. config SPL_ROCKCHIP_COMMON_BOARD
  305. bool "Rockchip SPL common board file"
  306. depends on SPL
  307. help
  308. Rockchip SoCs have similar boot process, SPL is mainly in charge of
  309. load and boot Trust ATF/U-Boot firmware, and DRAM init if there is
  310. no TPL for the board.
  311. config TPL_ROCKCHIP_COMMON_BOARD
  312. bool "Rockchip TPL common board file"
  313. depends on TPL
  314. help
  315. Rockchip SoCs have similar boot process, prefer to use TPL for DRAM
  316. init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL
  317. common board is a basic TPL board init which can be shared for most
  318. of SoCs to avoid copy-paste for different SoCs.
  319. config ROCKCHIP_BOOT_MODE_REG
  320. hex "Rockchip boot mode flag register address"
  321. help
  322. The Soc will enter to different boot mode(defined in asm/arch-rockchip/boot_mode.h)
  323. according to the value from this register.
  324. config ROCKCHIP_SPL_RESERVE_IRAM
  325. hex "Size of IRAM reserved in SPL"
  326. default 0
  327. help
  328. SPL may need reserve memory for firmware loaded by SPL, whose load
  329. address is in IRAM and may overlay with SPL text area if not
  330. reserved.
  331. config ROCKCHIP_BROM_HELPER
  332. bool
  333. config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
  334. bool "SPL requires early-return (for RK3188-style BROM) to BROM"
  335. depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
  336. help
  337. Some Rockchip BROM variants (e.g. on the RK3188) load the
  338. first stage in segments and enter multiple times. E.g. on
  339. the RK3188, the first 1KB of the first stage are loaded
  340. first and entered; after returning to the BROM, the
  341. remainder of the first stage is loaded, but the BROM
  342. re-enters at the same address/to the same code as previously.
  343. This enables support code in the BOOT0 hook for the SPL stage
  344. to allow multiple entries.
  345. config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
  346. bool "TPL requires early-return (for RK3188-style BROM) to BROM"
  347. depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
  348. help
  349. Some Rockchip BROM variants (e.g. on the RK3188) load the
  350. first stage in segments and enter multiple times. E.g. on
  351. the RK3188, the first 1KB of the first stage are loaded
  352. first and entered; after returning to the BROM, the
  353. remainder of the first stage is loaded, but the BROM
  354. re-enters at the same address/to the same code as previously.
  355. This enables support code in the BOOT0 hook for the TPL stage
  356. to allow multiple entries.
  357. config SPL_MMC_SUPPORT
  358. default y if !SPL_ROCKCHIP_BACK_TO_BROM
  359. config ROCKCHIP_SPI_IMAGE
  360. bool "Build a SPI image for rockchip"
  361. depends on HAS_ROM
  362. help
  363. Some Rockchip SoCs support booting from SPI flash. Enable this
  364. option to produce a 4MB SPI-flash image (called u-boot.rom)
  365. containing U-Boot. The image is built by binman. U-Boot sits near
  366. the start of the image.
  367. source "arch/arm/mach-rockchip/px30/Kconfig"
  368. source "arch/arm/mach-rockchip/rk3036/Kconfig"
  369. source "arch/arm/mach-rockchip/rk3128/Kconfig"
  370. source "arch/arm/mach-rockchip/rk3188/Kconfig"
  371. source "arch/arm/mach-rockchip/rk322x/Kconfig"
  372. source "arch/arm/mach-rockchip/rk3288/Kconfig"
  373. source "arch/arm/mach-rockchip/rk3308/Kconfig"
  374. source "arch/arm/mach-rockchip/rk3328/Kconfig"
  375. source "arch/arm/mach-rockchip/rk3368/Kconfig"
  376. source "arch/arm/mach-rockchip/rk3399/Kconfig"
  377. source "arch/arm/mach-rockchip/rk3568/Kconfig"
  378. source "arch/arm/mach-rockchip/rv1108/Kconfig"
  379. endif