rockchip: rk3368: mark TPL as not inheriting its stack, text-base and size from SPL
[oweals/u-boot.git] / arch / arm / mach-rockchip / Kconfig
1 if ARCH_ROCKCHIP
2
3 config ROCKCHIP_RK3036
4         bool "Support Rockchip RK3036"
5         select CPU_V7
6         select SUPPORT_SPL
7         select SPL
8         help
9           The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
10           including NEON and GPU, Mali-400 graphics, several DDR3 options
11           and video codec support. Peripherals include Gigabit Ethernet,
12           USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
13
14 config ROCKCHIP_RK3188
15         bool "Support Rockchip RK3188"
16         select CPU_V7
17         select SPL_BOARD_INIT if SPL
18         select SUPPORT_SPL
19         select SUPPORT_TPL
20         select SPL
21         select TPL
22         select BOARD_LATE_INIT
23         select ROCKCHIP_BROM_HELPER
24         help
25           The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
26           including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
27           video interfaces, several memory options and video codec support.
28           Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
29           UART, SPI, I2C and PWMs.
30
31 config ROCKCHIP_RK322X
32         bool "Support Rockchip RK3228/RK3229"
33         select CPU_V7
34         select SUPPORT_SPL
35         select SPL
36         select ROCKCHIP_BROM_HELPER
37         select DEBUG_UART_BOARD_INIT
38         help
39           The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
40           including NEON and GPU, Mali-400 graphics, several DDR3 options
41           and video codec support. Peripherals include Gigabit Ethernet,
42           USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
43
44 config ROCKCHIP_RK3288
45         bool "Support Rockchip RK3288"
46         select CPU_V7
47         select SPL_BOARD_INIT if SPL
48         select SUPPORT_SPL
49         select SPL
50         help
51           The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
52           including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
53           video interfaces supporting HDMI and eDP, several DDR3 options
54           and video codec support. Peripherals include Gigabit Ethernet,
55           USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
56
57 config ROCKCHIP_RK3328
58         bool "Support Rockchip RK3328"
59         select ARM64
60         help
61           The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
62           including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
63           video interfaces supporting HDMI and eDP, several DDR3 options
64           and video codec support. Peripherals include Gigabit Ethernet,
65           USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
66
67 config ROCKCHIP_RK3368
68         bool "Support Rockchip RK3368"
69         select ARM64
70         select SUPPORT_SPL
71         select SUPPORT_TPL
72         select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
73         select TPL_NEEDS_SEPARATE_STACK if TPL
74         imply SPL_SEPARATE_BSS
75         imply SPL_SERIAL_SUPPORT
76         imply TPL_SERIAL_SUPPORT
77         select ENABLE_ARM_SOC_BOOT0_HOOK
78         select DEBUG_UART_BOARD_INIT
79         select SYS_NS16550
80         help
81           The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
82           into a big and little cluster with 4 cores each) Cortex-A53 including
83           AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
84           (for the little cluster), PowerVR G6110 based graphics, one video
85           output processor supporting LVDS/HDMI/eDP, several DDR3 options and
86           video codec support.
87
88           On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
89           I2S, UARTs, SPI, I2C and PWMs.
90
91 if ROCKCHIP_RK3368
92
93 config TPL_LDSCRIPT
94         default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
95
96 endif
97
98 config ROCKCHIP_RK3399
99         bool "Support Rockchip RK3399"
100         select ARM64
101         select SUPPORT_SPL
102         select SPL
103         select SPL_SEPARATE_BSS
104         select SPL_SERIAL_SUPPORT
105         select SPL_DRIVERS_MISC_SUPPORT
106         select ENABLE_ARM_SOC_BOOT0_HOOK
107         select DEBUG_UART_BOARD_INIT
108         help
109           The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
110           and quad-core Cortex-A53.
111           including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
112           video interfaces supporting HDMI and eDP, several DDR3 options
113           and video codec support. Peripherals include Gigabit Ethernet,
114           USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
115
116 config ROCKCHIP_RV1108
117         bool "Support Rockchip RV1108"
118         select CPU_V7
119         help
120           The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
121           and a DSP.
122
123 config SPL_ROCKCHIP_BACK_TO_BROM
124         bool "SPL returns to bootrom"
125         default y if ROCKCHIP_RK3036
126         select ROCKCHIP_BROM_HELPER
127         depends on SPL
128         help
129           Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
130           SPL will return to the boot rom, which will then load the U-Boot
131           binary to keep going on.
132
133 config TPL_ROCKCHIP_BACK_TO_BROM
134         bool "TPL returns to bootrom"
135         default y if ROCKCHIP_RK3368
136         select ROCKCHIP_BROM_HELPER
137         depends on TPL
138         help
139           Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
140           SPL will return to the boot rom, which will then load the U-Boot
141           binary to keep going on.
142
143 config ROCKCHIP_SPL_RESERVE_IRAM
144         hex "Size of IRAM reserved in SPL"
145         default 0x4000
146         help
147           SPL may need reserve memory for firmware loaded by SPL, whose load
148           address is in IRAM and may overlay with SPL text area if not
149           reserved.
150
151 config ROCKCHIP_BROM_HELPER
152         bool
153
154 config SPL_MMC_SUPPORT
155         default y if !SPL_ROCKCHIP_BACK_TO_BROM
156
157 source "arch/arm/mach-rockchip/rk3036/Kconfig"
158 source "arch/arm/mach-rockchip/rk3188/Kconfig"
159 source "arch/arm/mach-rockchip/rk322x/Kconfig"
160 source "arch/arm/mach-rockchip/rk3288/Kconfig"
161 source "arch/arm/mach-rockchip/rk3328/Kconfig"
162 source "arch/arm/mach-rockchip/rk3368/Kconfig"
163 source "arch/arm/mach-rockchip/rk3399/Kconfig"
164 source "arch/arm/mach-rockchip/rv1108/Kconfig"
165 endif