Kconfig 10 KB

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