Kconfig 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  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. help
  10. The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
  11. including NEON and GPU, Mali-400 graphics, several DDR3 options
  12. and video codec support. Peripherals include Gigabit Ethernet,
  13. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  14. config ROCKCHIP_RK3128
  15. bool "Support Rockchip RK3128"
  16. select CPU_V7A
  17. help
  18. The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
  19. including NEON and GPU, Mali-400 graphics, several DDR3 options
  20. and video codec support. Peripherals include Gigabit Ethernet,
  21. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  22. config ROCKCHIP_RK3188
  23. bool "Support Rockchip RK3188"
  24. select CPU_V7A
  25. select SPL_BOARD_INIT if SPL
  26. select SUPPORT_SPL
  27. select SPL
  28. select SPL_CLK
  29. select SPL_PINCTRL
  30. select SPL_REGMAP
  31. select SPL_SYSCON
  32. select SPL_RAM
  33. select SPL_DRIVERS_MISC_SUPPORT
  34. select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
  35. select BOARD_LATE_INIT
  36. select ROCKCHIP_BROM_HELPER
  37. help
  38. The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
  39. including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
  40. video interfaces, several memory options and video codec support.
  41. Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
  42. UART, SPI, I2C and PWMs.
  43. config ROCKCHIP_RK322X
  44. bool "Support Rockchip RK3228/RK3229"
  45. select CPU_V7A
  46. select SUPPORT_SPL
  47. select SPL
  48. select ROCKCHIP_BROM_HELPER
  49. select DEBUG_UART_BOARD_INIT
  50. help
  51. The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
  52. including NEON and GPU, Mali-400 graphics, several DDR3 options
  53. and video codec support. Peripherals include Gigabit Ethernet,
  54. USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
  55. config ROCKCHIP_RK3288
  56. bool "Support Rockchip RK3288"
  57. select CPU_V7A
  58. select SPL_BOARD_INIT if SPL
  59. select SUPPORT_SPL
  60. select SPL
  61. imply USB_FUNCTION_ROCKUSB
  62. imply CMD_ROCKUSB
  63. help
  64. The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
  65. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  66. video interfaces supporting HDMI and eDP, several DDR3 options
  67. and video codec support. Peripherals include Gigabit Ethernet,
  68. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  69. if ROCKCHIP_RK3288
  70. config TPL_LDSCRIPT
  71. default "arch/arm/mach-rockchip/rk3288/u-boot-tpl.lds"
  72. config TPL_TEXT_BASE
  73. default 0xff704000
  74. endif
  75. config ROCKCHIP_RK3328
  76. bool "Support Rockchip RK3328"
  77. select ARM64
  78. help
  79. The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
  80. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  81. video interfaces supporting HDMI and eDP, several DDR3 options
  82. and video codec support. Peripherals include Gigabit Ethernet,
  83. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  84. config ROCKCHIP_RK3368
  85. bool "Support Rockchip RK3368"
  86. select ARM64
  87. select SUPPORT_SPL
  88. select SUPPORT_TPL
  89. select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
  90. select TPL_NEEDS_SEPARATE_STACK if TPL
  91. imply SPL_SEPARATE_BSS
  92. imply SPL_SERIAL_SUPPORT
  93. imply TPL_SERIAL_SUPPORT
  94. select DEBUG_UART_BOARD_INIT
  95. help
  96. The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
  97. into a big and little cluster with 4 cores each) Cortex-A53 including
  98. AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
  99. (for the little cluster), PowerVR G6110 based graphics, one video
  100. output processor supporting LVDS/HDMI/eDP, several DDR3 options and
  101. video codec support.
  102. On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
  103. I2S, UARTs, SPI, I2C and PWMs.
  104. if ROCKCHIP_RK3368
  105. config TPL_LDSCRIPT
  106. default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
  107. config TPL_TEXT_BASE
  108. default 0xff8c1000
  109. config TPL_MAX_SIZE
  110. default 28672
  111. config TPL_STACK
  112. default 0xff8cffff
  113. endif
  114. config ROCKCHIP_RK3399
  115. bool "Support Rockchip RK3399"
  116. select ARM64
  117. select SUPPORT_SPL
  118. select SPL
  119. select SPL_SEPARATE_BSS
  120. select SPL_SERIAL_SUPPORT
  121. select SPL_DRIVERS_MISC_SUPPORT
  122. select DEBUG_UART_BOARD_INIT
  123. select BOARD_LATE_INIT
  124. select ROCKCHIP_BROM_HELPER
  125. help
  126. The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
  127. and quad-core Cortex-A53.
  128. including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
  129. video interfaces supporting HDMI and eDP, several DDR3 options
  130. and video codec support. Peripherals include Gigabit Ethernet,
  131. USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
  132. config ROCKCHIP_RV1108
  133. bool "Support Rockchip RV1108"
  134. select CPU_V7A
  135. help
  136. The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
  137. and a DSP.
  138. config SPL_ROCKCHIP_BACK_TO_BROM
  139. bool "SPL returns to bootrom"
  140. default y if ROCKCHIP_RK3036
  141. select ROCKCHIP_BROM_HELPER
  142. depends on SPL
  143. help
  144. Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
  145. SPL will return to the boot rom, which will then load the U-Boot
  146. binary to keep going on.
  147. config TPL_ROCKCHIP_BACK_TO_BROM
  148. bool "TPL returns to bootrom"
  149. default y if ROCKCHIP_RK3368
  150. select ROCKCHIP_BROM_HELPER
  151. depends on TPL
  152. help
  153. Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
  154. SPL will return to the boot rom, which will then load the U-Boot
  155. binary to keep going on.
  156. config ROCKCHIP_BOOT_MODE_REG
  157. hex "Rockchip boot mode flag register address"
  158. default 0x200081c8 if ROCKCHIP_RK3036
  159. default 0x20004040 if ROCKCHIP_RK3188
  160. default 0x110005c8 if ROCKCHIP_RK322X
  161. default 0xff730094 if ROCKCHIP_RK3288
  162. default 0xff738200 if ROCKCHIP_RK3368
  163. default 0xff320300 if ROCKCHIP_RK3399
  164. default 0x10300580 if ROCKCHIP_RV1108
  165. default 0
  166. help
  167. The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
  168. according to the value from this register.
  169. config ROCKCHIP_SPL_RESERVE_IRAM
  170. hex "Size of IRAM reserved in SPL"
  171. default 0
  172. help
  173. SPL may need reserve memory for firmware loaded by SPL, whose load
  174. address is in IRAM and may overlay with SPL text area if not
  175. reserved.
  176. config ROCKCHIP_BROM_HELPER
  177. bool
  178. config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
  179. bool "SPL requires early-return (for RK3188-style BROM) to BROM"
  180. depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
  181. help
  182. Some Rockchip BROM variants (e.g. on the RK3188) load the
  183. first stage in segments and enter multiple times. E.g. on
  184. the RK3188, the first 1KB of the first stage are loaded
  185. first and entered; after returning to the BROM, the
  186. remainder of the first stage is loaded, but the BROM
  187. re-enters at the same address/to the same code as previously.
  188. This enables support code in the BOOT0 hook for the SPL stage
  189. to allow multiple entries.
  190. config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
  191. bool "TPL requires early-return (for RK3188-style BROM) to BROM"
  192. depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
  193. help
  194. Some Rockchip BROM variants (e.g. on the RK3188) load the
  195. first stage in segments and enter multiple times. E.g. on
  196. the RK3188, the first 1KB of the first stage are loaded
  197. first and entered; after returning to the BROM, the
  198. remainder of the first stage is loaded, but the BROM
  199. re-enters at the same address/to the same code as previously.
  200. This enables support code in the BOOT0 hook for the TPL stage
  201. to allow multiple entries.
  202. config SPL_MMC_SUPPORT
  203. default y if !SPL_ROCKCHIP_BACK_TO_BROM
  204. source "arch/arm/mach-rockchip/rk3036/Kconfig"
  205. source "arch/arm/mach-rockchip/rk3128/Kconfig"
  206. source "arch/arm/mach-rockchip/rk3188/Kconfig"
  207. source "arch/arm/mach-rockchip/rk322x/Kconfig"
  208. source "arch/arm/mach-rockchip/rk3288/Kconfig"
  209. source "arch/arm/mach-rockchip/rk3328/Kconfig"
  210. source "arch/arm/mach-rockchip/rk3368/Kconfig"
  211. source "arch/arm/mach-rockchip/rk3399/Kconfig"
  212. source "arch/arm/mach-rockchip/rv1108/Kconfig"
  213. endif