Merge tag 'u-boot-stm32-20200117' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
[oweals/u-boot.git] / arch / arm / mach-stm32mp / Kconfig
1 if ARCH_STM32MP
2
3 config SPL
4         select SPL_BOARD_INIT
5         select SPL_CLK
6         select SPL_DM
7         select SPL_DM_SEQ_ALIAS
8         select SPL_DRIVERS_MISC_SUPPORT
9         select SPL_FRAMEWORK
10         select SPL_GPIO_SUPPORT
11         select SPL_LIBCOMMON_SUPPORT
12         select SPL_LIBGENERIC_SUPPORT
13         select SPL_OF_CONTROL
14         select SPL_OF_TRANSLATE
15         select SPL_PINCTRL
16         select SPL_REGMAP
17         select SPL_DM_RESET
18         select SPL_SERIAL_SUPPORT
19         select SPL_SPI_LOAD
20         select SPL_SYSCON
21         select SPL_WATCHDOG_SUPPORT if WATCHDOG
22         imply BOOTSTAGE_STASH if SPL_BOOTSTAGE
23         imply SPL_BOOTSTAGE if BOOTSTAGE
24         imply SPL_DISPLAY_PRINT
25         imply SPL_LIBDISK_SUPPORT
26
27 config SYS_SOC
28         default "stm32mp"
29
30 config SYS_MALLOC_LEN
31         default 0x2000000
32
33 config ENV_SIZE
34         default 0x2000
35
36 config STM32MP15x
37         bool "Support STMicroelectronics STM32MP15x Soc"
38         select ARCH_SUPPORT_PSCI if !STM32MP1_TRUSTED
39         select CPU_V7A
40         select CPU_V7_HAS_NONSEC if !STM32MP1_TRUSTED
41         select CPU_V7_HAS_VIRT
42         select OF_BOARD_SETUP
43         select PINCTRL_STM32
44         select STM32_RCC
45         select STM32_RESET
46         select STM32_SERIAL
47         select SYS_ARCH_TIMER
48         imply SYSRESET_PSCI if STM32MP1_TRUSTED
49         imply SYSRESET_SYSCON if !STM32MP1_TRUSTED
50         help
51                 support of STMicroelectronics SOC STM32MP15x family
52                 STM32MP157, STM32MP153 or STM32MP151
53                 STMicroelectronics MPU with core ARMv7
54                 dual core A7 for STM32MP157/3, monocore for STM32MP151
55                 target all the STMicroelectronics board with SOC STM32MP1 family
56
57 choice
58         prompt "STM32MP15x board select"
59         optional
60
61 config TARGET_ST_STM32MP15x
62         bool "STMicroelectronics STM32MP15x boards"
63         select STM32MP15x
64         imply BOOTCOUNT_LIMIT
65         imply CMD_BOOTCOUNT
66         imply CMD_CLS if CMD_BMP
67         imply DISABLE_CONSOLE
68         imply PRE_CONSOLE_BUFFER
69         imply SILENT_CONSOLE
70         help
71                 target the STMicroelectronics board with SOC STM32MP15x
72                 managed by board/st/stm32mp1:
73                 Evalulation board (EV1) or Discovery board (DK1 and DK2).
74                 The difference between board are managed with devicetree
75
76 endchoice
77
78 config STM32MP1_TRUSTED
79         bool "Support trusted boot with TF-A"
80         default y if !SPL
81         select ARM_SMCCC
82         help
83                 Say Y here to enable boot with TF-A
84                 Trusted boot chain is :
85                 BootRom => TF-A.stm32 (clock & DDR) => U-Boot.stm32
86                 TF-A monitor provides proprietary SMC to manage secure devices
87
88 config STM32MP1_OPTEE
89         bool "Support trusted boot with TF-A and OP-TEE"
90         depends on STM32MP1_TRUSTED
91         default n
92         help
93                 Say Y here to enable boot with TF-A and OP-TEE
94                 Trusted boot chain is :
95                 BootRom => TF-A.stm32 (clock & DDR) => OP-TEE => U-Boot.stm32
96                 OP-TEE monitor provides ST SMC to access to secure resources
97
98 config SYS_TEXT_BASE
99         default 0xC0100000
100
101 config NR_DRAM_BANKS
102         default 1
103
104 config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_MMC2
105         hex "Partition on MMC2 to use to load U-Boot from"
106         depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
107         default 1
108         help
109           Partition on the second MMC to load U-Boot from when the MMC is being
110           used in raw mode
111
112 config STM32_ETZPC
113         bool "STM32 Extended TrustZone Protection"
114         depends on TARGET_STM32MP1
115         default y
116         help
117           Say y to enable STM32 Extended TrustZone Protection
118
119 config CMD_STM32KEY
120         bool "command stm32key to fuse public key hash"
121         default y
122         depends on CMD_FUSE
123         help
124                 fuse public key hash in corresponding fuse used to authenticate
125                 binary.
126
127
128 config PRE_CON_BUF_ADDR
129         default 0xC02FF000
130
131 config PRE_CON_BUF_SZ
132         default 4096
133
134 config BOOTSTAGE_STASH_ADDR
135         default 0xC3000000
136
137 if BOOTCOUNT_LIMIT
138 config SYS_BOOTCOUNT_SINGLEWORD
139         default y
140
141 # TAMP_BOOTCOUNT = TAMP_BACKUP_REGISTER(21)
142 config SYS_BOOTCOUNT_ADDR
143         default 0x5C00A154
144 endif
145
146 if DEBUG_UART
147
148 config DEBUG_UART_BOARD_INIT
149         default y
150
151 # debug on UART4 by default
152 config DEBUG_UART_BASE
153         default 0x40010000
154
155 # clock source is HSI on reset
156 config DEBUG_UART_CLOCK
157         default 64000000
158 endif
159
160 source "board/st/stm32mp1/Kconfig"
161
162 endif