Kconfig 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  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_SUPPORT
  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_SUPPORT
  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 SUPPORT_SPL
  97. select SPL
  98. select SUPPORT_TPL
  99. imply ROCKCHIP_COMMON_BOARD
  100. imply SPL_ROCKCHIP_COMMON_BOARD
  101. imply TPL_CLK
  102. imply TPL_DM
  103. imply TPL_DRIVERS_MISC_SUPPORT
  104. imply TPL_LIBCOMMON_SUPPORT
  105. imply TPL_LIBGENERIC_SUPPORT
  106. imply TPL_NEEDS_SEPARATE_TEXT_BASE
  107. imply TPL_NEEDS_SEPARATE_STACK
  108. imply TPL_OF_CONTROL
  109. imply TPL_OF_PLATDATA
  110. imply TPL_RAM
  111. imply TPL_REGMAP
  112. imply TPL_ROCKCHIP_COMMON_BOARD
  113. imply TPL_SERIAL_SUPPORT
  114. imply TPL_SYSCON
  115. imply USB_FUNCTION_ROCKUSB
  116. imply CMD_ROCKUSB
  117. help
  118. The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
  119. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  120. video interfaces supporting HDMI and eDP, several DDR3 options
  121. and video codec support. Peripherals include Gigabit Ethernet,
  122. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  123. config ROCKCHIP_RK3308
  124. bool "Support Rockchip RK3308"
  125. select ARM64
  126. select DEBUG_UART_BOARD_INIT
  127. select SUPPORT_SPL
  128. select SUPPORT_TPL
  129. select SPL
  130. select SPL_ATF
  131. select SPL_ATF_NO_PLATFORM_PARAM
  132. select SPL_LOAD_FIT
  133. imply ROCKCHIP_COMMON_BOARD
  134. imply SPL_ROCKCHIP_COMMON_BOARD
  135. imply SPL_CLK
  136. imply SPL_REGMAP
  137. imply SPL_SYSCON
  138. imply SPL_RAM
  139. imply SPL_SERIAL_SUPPORT
  140. imply TPL_SERIAL_SUPPORT
  141. imply SPL_SEPARATE_BSS
  142. help
  143. The Rockchip RK3308 is a ARM-based Soc which embedded with quad
  144. Cortex-A35 and highly integrated audio interfaces.
  145. config ROCKCHIP_RK3328
  146. bool "Support Rockchip RK3328"
  147. select ARM64
  148. select SUPPORT_SPL
  149. select SPL
  150. select SUPPORT_TPL
  151. select TPL
  152. select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
  153. select TPL_NEEDS_SEPARATE_STACK if TPL
  154. imply ROCKCHIP_COMMON_BOARD
  155. imply ROCKCHIP_SDRAM_COMMON
  156. imply SPL_ROCKCHIP_COMMON_BOARD
  157. imply SPL_SERIAL_SUPPORT
  158. imply TPL_SERIAL_SUPPORT
  159. imply SPL_SEPARATE_BSS
  160. select ENABLE_ARM_SOC_BOOT0_HOOK
  161. select DEBUG_UART_BOARD_INIT
  162. select SYS_NS16550
  163. help
  164. The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
  165. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  166. video interfaces supporting HDMI and eDP, several DDR3 options
  167. and video codec support. Peripherals include Gigabit Ethernet,
  168. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  169. config ROCKCHIP_RK3368
  170. bool "Support Rockchip RK3368"
  171. select ARM64
  172. select SUPPORT_SPL
  173. select SUPPORT_TPL
  174. select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
  175. select TPL_NEEDS_SEPARATE_STACK if TPL
  176. imply ROCKCHIP_COMMON_BOARD
  177. imply SPL_ROCKCHIP_COMMON_BOARD
  178. imply SPL_SEPARATE_BSS
  179. imply SPL_SERIAL_SUPPORT
  180. imply TPL_SERIAL_SUPPORT
  181. imply TPL_ROCKCHIP_COMMON_BOARD
  182. help
  183. The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
  184. into a big and little cluster with 4 cores each) Cortex-A53 including
  185. AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
  186. (for the little cluster), PowerVR G6110 based graphics, one video
  187. output processor supporting LVDS/HDMI/eDP, several DDR3 options and
  188. video codec support.
  189. On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
  190. I2S, UARTs, SPI, I2C and PWMs.
  191. config ROCKCHIP_RK3399
  192. bool "Support Rockchip RK3399"
  193. select ARM64
  194. select SUPPORT_SPL
  195. select SUPPORT_TPL
  196. select SPL
  197. select SPL_ATF
  198. select SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
  199. select SPL_BOARD_INIT if SPL
  200. select SPL_LOAD_FIT
  201. select SPL_CLK if SPL
  202. select SPL_PINCTRL if SPL
  203. select SPL_RAM if SPL
  204. select SPL_REGMAP if SPL
  205. select SPL_SYSCON if SPL
  206. select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
  207. select TPL_NEEDS_SEPARATE_STACK if TPL
  208. select SPL_SEPARATE_BSS
  209. select SPL_SERIAL_SUPPORT
  210. select SPL_DRIVERS_MISC_SUPPORT
  211. select CLK
  212. select FIT
  213. select PINCTRL
  214. select RAM
  215. select REGMAP
  216. select SYSCON
  217. select DM_PMIC
  218. select DM_REGULATOR_FIXED
  219. select BOARD_LATE_INIT
  220. imply ROCKCHIP_COMMON_BOARD
  221. imply ROCKCHIP_SDRAM_COMMON
  222. imply SPL_ROCKCHIP_COMMON_BOARD
  223. imply TPL_SERIAL_SUPPORT
  224. imply TPL_LIBCOMMON_SUPPORT
  225. imply TPL_LIBGENERIC_SUPPORT
  226. imply TPL_SYS_MALLOC_SIMPLE
  227. imply TPL_DRIVERS_MISC_SUPPORT
  228. imply TPL_OF_CONTROL
  229. imply TPL_DM
  230. imply TPL_REGMAP
  231. imply TPL_SYSCON
  232. imply TPL_RAM
  233. imply TPL_CLK
  234. imply TPL_TINY_MEMSET
  235. imply TPL_ROCKCHIP_COMMON_BOARD
  236. help
  237. The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
  238. and quad-core Cortex-A53.
  239. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  240. video interfaces supporting HDMI and eDP, several DDR3 options
  241. and video codec support. Peripherals include Gigabit Ethernet,
  242. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  243. config ROCKCHIP_RV1108
  244. bool "Support Rockchip RV1108"
  245. select CPU_V7A
  246. imply ROCKCHIP_COMMON_BOARD
  247. help
  248. The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
  249. and a DSP.
  250. config ROCKCHIP_USB_UART
  251. bool "Route uart output to usb pins"
  252. help
  253. Rockchip SoCs have the ability to route the signals of the debug
  254. uart through the d+ and d- pins of a specific usb phy to enable
  255. some form of closed-case debugging. With this option supported
  256. SoCs will enable this routing as a debug measure.
  257. config SPL_ROCKCHIP_BACK_TO_BROM
  258. bool "SPL returns to bootrom"
  259. default y if ROCKCHIP_RK3036
  260. select ROCKCHIP_BROM_HELPER
  261. select SPL_BOOTROM_SUPPORT
  262. depends on SPL
  263. help
  264. Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
  265. SPL will return to the boot rom, which will then load the U-Boot
  266. binary to keep going on.
  267. config TPL_ROCKCHIP_BACK_TO_BROM
  268. bool "TPL returns to bootrom"
  269. default y
  270. select ROCKCHIP_BROM_HELPER
  271. select TPL_BOOTROM_SUPPORT
  272. depends on TPL
  273. help
  274. Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
  275. SPL will return to the boot rom, which will then load the U-Boot
  276. binary to keep going on.
  277. config ROCKCHIP_COMMON_BOARD
  278. bool "Rockchip common board file"
  279. help
  280. Rockchip SoCs have similar boot process, Common board file is mainly
  281. in charge of common process of board_init() and board_late_init() for
  282. U-Boot proper.
  283. config SPL_ROCKCHIP_COMMON_BOARD
  284. bool "Rockchip SPL common board file"
  285. depends on SPL
  286. help
  287. Rockchip SoCs have similar boot process, SPL is mainly in charge of
  288. load and boot Trust ATF/U-Boot firmware, and DRAM init if there is
  289. no TPL for the board.
  290. config TPL_ROCKCHIP_COMMON_BOARD
  291. bool ""
  292. depends on TPL
  293. help
  294. Rockchip SoCs have similar boot process, prefer to use TPL for DRAM
  295. init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL
  296. common board is a basic TPL board init which can be shared for most
  297. of SoCs to avoid copy-paste for different SoCs.
  298. config ROCKCHIP_BOOT_MODE_REG
  299. hex "Rockchip boot mode flag register address"
  300. help
  301. The Soc will enter to different boot mode(defined in asm/arch-rockchip/boot_mode.h)
  302. according to the value from this register.
  303. config ROCKCHIP_SPL_RESERVE_IRAM
  304. hex "Size of IRAM reserved in SPL"
  305. default 0
  306. help
  307. SPL may need reserve memory for firmware loaded by SPL, whose load
  308. address is in IRAM and may overlay with SPL text area if not
  309. reserved.
  310. config ROCKCHIP_BROM_HELPER
  311. bool
  312. config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
  313. bool "SPL requires early-return (for RK3188-style BROM) to BROM"
  314. depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
  315. help
  316. Some Rockchip BROM variants (e.g. on the RK3188) load the
  317. first stage in segments and enter multiple times. E.g. on
  318. the RK3188, the first 1KB of the first stage are loaded
  319. first and entered; after returning to the BROM, the
  320. remainder of the first stage is loaded, but the BROM
  321. re-enters at the same address/to the same code as previously.
  322. This enables support code in the BOOT0 hook for the SPL stage
  323. to allow multiple entries.
  324. config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
  325. bool "TPL requires early-return (for RK3188-style BROM) to BROM"
  326. depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
  327. help
  328. Some Rockchip BROM variants (e.g. on the RK3188) load the
  329. first stage in segments and enter multiple times. E.g. on
  330. the RK3188, the first 1KB of the first stage are loaded
  331. first and entered; after returning to the BROM, the
  332. remainder of the first stage is loaded, but the BROM
  333. re-enters at the same address/to the same code as previously.
  334. This enables support code in the BOOT0 hook for the TPL stage
  335. to allow multiple entries.
  336. config SPL_MMC_SUPPORT
  337. default y if !SPL_ROCKCHIP_BACK_TO_BROM
  338. source "arch/arm/mach-rockchip/px30/Kconfig"
  339. source "arch/arm/mach-rockchip/rk3036/Kconfig"
  340. source "arch/arm/mach-rockchip/rk3128/Kconfig"
  341. source "arch/arm/mach-rockchip/rk3188/Kconfig"
  342. source "arch/arm/mach-rockchip/rk322x/Kconfig"
  343. source "arch/arm/mach-rockchip/rk3288/Kconfig"
  344. source "arch/arm/mach-rockchip/rk3308/Kconfig"
  345. source "arch/arm/mach-rockchip/rk3328/Kconfig"
  346. source "arch/arm/mach-rockchip/rk3368/Kconfig"
  347. source "arch/arm/mach-rockchip/rk3399/Kconfig"
  348. source "arch/arm/mach-rockchip/rv1108/Kconfig"
  349. endif