Kconfig 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. if ARCH_ROCKCHIP
  2. config ROCKCHIP_RK3036
  3. bool "Support Rockchip RK3036"
  4. select CPU_V7A
  5. select SUPPORT_SPL
  6. select SPL
  7. imply USB_FUNCTION_ROCKUSB
  8. imply CMD_ROCKUSB
  9. imply ROCKCHIP_COMMON_BOARD
  10. help
  11. The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
  12. including NEON and GPU, Mali-400 graphics, several DDR3 options
  13. and video codec support. Peripherals include Gigabit Ethernet,
  14. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  15. config ROCKCHIP_RK3128
  16. bool "Support Rockchip RK3128"
  17. select CPU_V7A
  18. imply ROCKCHIP_COMMON_BOARD
  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. config ROCKCHIP_RK3188
  25. bool "Support Rockchip RK3188"
  26. select CPU_V7A
  27. select SPL_BOARD_INIT if SPL
  28. select SUPPORT_SPL
  29. select SPL
  30. select SPL_CLK
  31. select SPL_REGMAP
  32. select SPL_SYSCON
  33. select SPL_RAM
  34. select SPL_DRIVERS_MISC_SUPPORT
  35. select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
  36. select SPL_ROCKCHIP_BACK_TO_BROM
  37. select BOARD_LATE_INIT
  38. imply ROCKCHIP_COMMON_BOARD
  39. imply SPL_ROCKCHIP_COMMON_BOARD
  40. help
  41. The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
  42. including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
  43. video interfaces, several memory options and video codec support.
  44. Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
  45. UART, SPI, I2C and PWMs.
  46. config ROCKCHIP_RK322X
  47. bool "Support Rockchip RK3228/RK3229"
  48. select CPU_V7A
  49. select SUPPORT_SPL
  50. select SUPPORT_TPL
  51. select SPL
  52. select SPL_DM
  53. select SPL_OF_LIBFDT
  54. select TPL
  55. select TPL_DM
  56. select TPL_OF_LIBFDT
  57. select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
  58. select TPL_NEEDS_SEPARATE_STACK if TPL
  59. select SPL_DRIVERS_MISC_SUPPORT
  60. imply ROCKCHIP_COMMON_BOARD
  61. imply SPL_SERIAL_SUPPORT
  62. imply SPL_ROCKCHIP_COMMON_BOARD
  63. imply TPL_SERIAL_SUPPORT
  64. imply TPL_ROCKCHIP_COMMON_BOARD
  65. select TPL_LIBCOMMON_SUPPORT
  66. select TPL_LIBGENERIC_SUPPORT
  67. help
  68. The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
  69. including NEON and GPU, Mali-400 graphics, several DDR3 options
  70. and video codec support. Peripherals include Gigabit Ethernet,
  71. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  72. config ROCKCHIP_RK3288
  73. bool "Support Rockchip RK3288"
  74. select CPU_V7A
  75. select SUPPORT_SPL
  76. select SPL
  77. select SUPPORT_TPL
  78. imply ROCKCHIP_COMMON_BOARD
  79. imply SPL_ROCKCHIP_COMMON_BOARD
  80. imply TPL_CLK
  81. imply TPL_DM
  82. imply TPL_DRIVERS_MISC_SUPPORT
  83. imply TPL_LIBCOMMON_SUPPORT
  84. imply TPL_LIBGENERIC_SUPPORT
  85. imply TPL_NEEDS_SEPARATE_TEXT_BASE
  86. imply TPL_NEEDS_SEPARATE_STACK
  87. imply TPL_OF_CONTROL
  88. imply TPL_OF_PLATDATA
  89. imply TPL_RAM
  90. imply TPL_REGMAP
  91. imply TPL_ROCKCHIP_COMMON_BOARD
  92. imply TPL_SERIAL_SUPPORT
  93. imply TPL_SYSCON
  94. imply USB_FUNCTION_ROCKUSB
  95. imply CMD_ROCKUSB
  96. help
  97. The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
  98. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  99. video interfaces supporting HDMI and eDP, several DDR3 options
  100. and video codec support. Peripherals include Gigabit Ethernet,
  101. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  102. config ROCKCHIP_RK3328
  103. bool "Support Rockchip RK3328"
  104. select ARM64
  105. select SUPPORT_SPL
  106. select SPL
  107. imply ROCKCHIP_COMMON_BOARD
  108. imply SPL_ROCKCHIP_COMMON_BOARD
  109. imply SPL_SERIAL_SUPPORT
  110. imply SPL_SEPARATE_BSS
  111. select ENABLE_ARM_SOC_BOOT0_HOOK
  112. select DEBUG_UART_BOARD_INIT
  113. select SYS_NS16550
  114. help
  115. The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
  116. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  117. video interfaces supporting HDMI and eDP, several DDR3 options
  118. and video codec support. Peripherals include Gigabit Ethernet,
  119. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  120. config ROCKCHIP_RK3368
  121. bool "Support Rockchip RK3368"
  122. select ARM64
  123. select SUPPORT_SPL
  124. select SUPPORT_TPL
  125. select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
  126. select TPL_NEEDS_SEPARATE_STACK if TPL
  127. imply ROCKCHIP_COMMON_BOARD
  128. imply SPL_ROCKCHIP_COMMON_BOARD
  129. imply SPL_SEPARATE_BSS
  130. imply SPL_SERIAL_SUPPORT
  131. imply TPL_SERIAL_SUPPORT
  132. imply TPL_ROCKCHIP_COMMON_BOARD
  133. help
  134. The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
  135. into a big and little cluster with 4 cores each) Cortex-A53 including
  136. AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
  137. (for the little cluster), PowerVR G6110 based graphics, one video
  138. output processor supporting LVDS/HDMI/eDP, several DDR3 options and
  139. video codec support.
  140. On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
  141. I2S, UARTs, SPI, I2C and PWMs.
  142. config ROCKCHIP_RK3399
  143. bool "Support Rockchip RK3399"
  144. select ARM64
  145. select SUPPORT_SPL
  146. select SUPPORT_TPL
  147. select SPL
  148. select SPL_ATF
  149. select SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
  150. select SPL_BOARD_INIT if SPL
  151. select SPL_LOAD_FIT
  152. select SPL_CLK if SPL
  153. select SPL_PINCTRL if SPL
  154. select SPL_RAM if SPL
  155. select SPL_REGMAP if SPL
  156. select SPL_SYSCON if SPL
  157. select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
  158. select TPL_NEEDS_SEPARATE_STACK if TPL
  159. select SPL_SEPARATE_BSS
  160. select SPL_SERIAL_SUPPORT
  161. select SPL_DRIVERS_MISC_SUPPORT
  162. select CLK
  163. select FIT
  164. select PINCTRL
  165. select RAM
  166. select REGMAP
  167. select SYSCON
  168. select DM_PMIC
  169. select DM_REGULATOR_FIXED
  170. select BOARD_LATE_INIT
  171. imply SPL_ROCKCHIP_COMMON_BOARD
  172. imply TPL_SERIAL_SUPPORT
  173. imply TPL_LIBCOMMON_SUPPORT
  174. imply TPL_LIBGENERIC_SUPPORT
  175. imply TPL_SYS_MALLOC_SIMPLE
  176. imply TPL_DRIVERS_MISC_SUPPORT
  177. imply TPL_OF_CONTROL
  178. imply TPL_DM
  179. imply TPL_REGMAP
  180. imply TPL_SYSCON
  181. imply TPL_RAM
  182. imply TPL_CLK
  183. imply TPL_TINY_MEMSET
  184. imply TPL_ROCKCHIP_COMMON_BOARD
  185. help
  186. The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
  187. and quad-core Cortex-A53.
  188. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  189. video interfaces supporting HDMI and eDP, several DDR3 options
  190. and video codec support. Peripherals include Gigabit Ethernet,
  191. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  192. config ROCKCHIP_RV1108
  193. bool "Support Rockchip RV1108"
  194. select CPU_V7A
  195. help
  196. The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
  197. and a DSP.
  198. config ROCKCHIP_USB_UART
  199. bool "Route uart output to usb pins"
  200. help
  201. Rockchip SoCs have the ability to route the signals of the debug
  202. uart through the d+ and d- pins of a specific usb phy to enable
  203. some form of closed-case debugging. With this option supported
  204. SoCs will enable this routing as a debug measure.
  205. config SPL_ROCKCHIP_BACK_TO_BROM
  206. bool "SPL returns to bootrom"
  207. default y if ROCKCHIP_RK3036
  208. select ROCKCHIP_BROM_HELPER
  209. select SPL_BOOTROM_SUPPORT
  210. depends on SPL
  211. help
  212. Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
  213. SPL will return to the boot rom, which will then load the U-Boot
  214. binary to keep going on.
  215. config TPL_ROCKCHIP_BACK_TO_BROM
  216. bool "TPL returns to bootrom"
  217. default y
  218. select ROCKCHIP_BROM_HELPER
  219. select TPL_BOOTROM_SUPPORT
  220. depends on TPL
  221. help
  222. Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
  223. SPL will return to the boot rom, which will then load the U-Boot
  224. binary to keep going on.
  225. config ROCKCHIP_COMMON_BOARD
  226. bool "Rockchip common board file"
  227. help
  228. Rockchip SoCs have similar boot process, Common board file is mainly
  229. in charge of common process of board_init() and board_late_init() for
  230. U-Boot proper.
  231. config SPL_ROCKCHIP_COMMON_BOARD
  232. bool "Rockchip SPL common board file"
  233. depends on SPL
  234. help
  235. Rockchip SoCs have similar boot process, SPL is mainly in charge of
  236. load and boot Trust ATF/U-Boot firmware, and DRAM init if there is
  237. no TPL for the board.
  238. config TPL_ROCKCHIP_COMMON_BOARD
  239. bool ""
  240. depends on TPL
  241. help
  242. Rockchip SoCs have similar boot process, prefer to use TPL for DRAM
  243. init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL
  244. common board is a basic TPL board init which can be shared for most
  245. of SoCs to avoid copy-pase for different SoCs.
  246. config ROCKCHIP_BOOT_MODE_REG
  247. hex "Rockchip boot mode flag register address"
  248. help
  249. The Soc will enter to different boot mode(defined in asm/arch-rockchip/boot_mode.h)
  250. according to the value from this register.
  251. config ROCKCHIP_SPL_RESERVE_IRAM
  252. hex "Size of IRAM reserved in SPL"
  253. default 0
  254. help
  255. SPL may need reserve memory for firmware loaded by SPL, whose load
  256. address is in IRAM and may overlay with SPL text area if not
  257. reserved.
  258. config ROCKCHIP_BROM_HELPER
  259. bool
  260. config 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. This enables support code in the BOOT0 hook for the SPL stage
  271. to allow multiple entries.
  272. config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
  273. bool "TPL requires early-return (for RK3188-style BROM) to BROM"
  274. depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
  275. help
  276. Some Rockchip BROM variants (e.g. on the RK3188) load the
  277. first stage in segments and enter multiple times. E.g. on
  278. the RK3188, the first 1KB of the first stage are loaded
  279. first and entered; after returning to the BROM, the
  280. remainder of the first stage is loaded, but the BROM
  281. re-enters at the same address/to the same code as previously.
  282. This enables support code in the BOOT0 hook for the TPL stage
  283. to allow multiple entries.
  284. config SPL_MMC_SUPPORT
  285. default y if !SPL_ROCKCHIP_BACK_TO_BROM
  286. source "arch/arm/mach-rockchip/rk3036/Kconfig"
  287. source "arch/arm/mach-rockchip/rk3128/Kconfig"
  288. source "arch/arm/mach-rockchip/rk3188/Kconfig"
  289. source "arch/arm/mach-rockchip/rk322x/Kconfig"
  290. source "arch/arm/mach-rockchip/rk3288/Kconfig"
  291. source "arch/arm/mach-rockchip/rk3328/Kconfig"
  292. source "arch/arm/mach-rockchip/rk3368/Kconfig"
  293. source "arch/arm/mach-rockchip/rk3399/Kconfig"
  294. source "arch/arm/mach-rockchip/rv1108/Kconfig"
  295. endif