Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 1 | if ARCH_STM32MP |
| 2 | |
| 3 | config SPL |
Patrick Delaunay | 97f7e39 | 2020-07-24 11:13:31 +0200 | [diff] [blame] | 4 | select SPL_BOARD_INIT |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 5 | select SPL_CLK |
| 6 | select SPL_DM |
| 7 | select SPL_DM_SEQ_ALIAS |
Simon Glass | 9ca0068 | 2021-07-10 21:14:31 -0600 | [diff] [blame] | 8 | select SPL_DRIVERS_MISC |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 9 | select SPL_FRAMEWORK |
Simon Glass | 83061db | 2021-07-10 21:14:30 -0600 | [diff] [blame] | 10 | select SPL_GPIO |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 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 |
Ley Foon Tan | bfc6bae | 2018-06-14 18:45:19 +0800 | [diff] [blame] | 17 | select SPL_DM_RESET |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 18 | select SPL_SERIAL_SUPPORT |
| 19 | select SPL_SYSCON |
Simon Glass | 078111b | 2021-07-10 21:14:28 -0600 | [diff] [blame] | 20 | select SPL_WATCHDOG if WATCHDOG |
Patrick Delaunay | 27a986d | 2019-04-18 17:32:47 +0200 | [diff] [blame] | 21 | imply BOOTSTAGE_STASH if SPL_BOOTSTAGE |
| 22 | imply SPL_BOOTSTAGE if BOOTSTAGE |
Patrick Delaunay | 006ea18 | 2019-02-27 17:01:14 +0100 | [diff] [blame] | 23 | imply SPL_DISPLAY_PRINT |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 24 | imply SPL_LIBDISK_SUPPORT |
Jagan Teki | 14dcdc6 | 2021-03-16 21:52:02 +0530 | [diff] [blame] | 25 | imply SPL_SPI_LOAD if SPL_SPI_SUPPORT |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 26 | |
| 27 | config SYS_SOC |
| 28 | default "stm32mp" |
| 29 | |
Patrick Delaunay | ef84ddd | 2019-04-18 17:32:36 +0200 | [diff] [blame] | 30 | config SYS_MALLOC_LEN |
| 31 | default 0x2000000 |
| 32 | |
Patrick Delaunay | 579a3e7 | 2019-04-18 17:32:37 +0200 | [diff] [blame] | 33 | config ENV_SIZE |
Patrice Chotard | 1538e1a | 2019-05-07 18:40:47 +0200 | [diff] [blame] | 34 | default 0x2000 |
Patrick Delaunay | 579a3e7 | 2019-04-18 17:32:37 +0200 | [diff] [blame] | 35 | |
Patrick Delaunay | 8462548 | 2020-01-13 15:17:42 +0100 | [diff] [blame] | 36 | config STM32MP15x |
| 37 | bool "Support STMicroelectronics STM32MP15x Soc" |
Patrick Delaunay | 654706b | 2020-04-01 09:07:33 +0200 | [diff] [blame] | 38 | select ARCH_SUPPORT_PSCI if !TFABOOT |
| 39 | select ARM_SMCCC if TFABOOT |
Lokesh Vutla | acf1500 | 2018-04-26 18:21:26 +0530 | [diff] [blame] | 40 | select CPU_V7A |
Patrick Delaunay | 654706b | 2020-04-01 09:07:33 +0200 | [diff] [blame] | 41 | select CPU_V7_HAS_NONSEC if !TFABOOT |
Patrick Delaunay | 41c7977 | 2018-04-16 10:13:24 +0200 | [diff] [blame] | 42 | select CPU_V7_HAS_VIRT |
Patrick Delaunay | e81f8d1 | 2019-07-02 13:26:07 +0200 | [diff] [blame] | 43 | select OF_BOARD_SETUP |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 44 | select PINCTRL_STM32 |
Patrick Delaunay | d090cba | 2018-07-09 15:17:20 +0200 | [diff] [blame] | 45 | select STM32_RCC |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 46 | select STM32_RESET |
Patrick Delaunay | 16a0722 | 2019-07-30 19:16:25 +0200 | [diff] [blame] | 47 | select STM32_SERIAL |
Andre Przywara | 7842b6a | 2018-04-12 04:24:46 +0300 | [diff] [blame] | 48 | select SYS_ARCH_TIMER |
Patrick Delaunay | c16cba8 | 2020-07-02 17:43:45 +0200 | [diff] [blame] | 49 | imply CMD_NVEDIT_INFO |
Patrick Delaunay | 654706b | 2020-04-01 09:07:33 +0200 | [diff] [blame] | 50 | imply SYSRESET_PSCI if TFABOOT |
| 51 | imply SYSRESET_SYSCON if !TFABOOT |
Patrick Delaunay | 8462548 | 2020-01-13 15:17:42 +0100 | [diff] [blame] | 52 | help |
| 53 | support of STMicroelectronics SOC STM32MP15x family |
| 54 | STM32MP157, STM32MP153 or STM32MP151 |
| 55 | STMicroelectronics MPU with core ARMv7 |
| 56 | dual core A7 for STM32MP157/3, monocore for STM32MP151 |
| 57 | target all the STMicroelectronics board with SOC STM32MP1 family |
| 58 | |
Patrick Delaunay | 6de57b4 | 2021-07-26 11:21:34 +0200 | [diff] [blame] | 59 | config STM32MP15x_STM32IMAGE |
| 60 | bool "Support STM32 image for generated U-Boot image" |
| 61 | depends on STM32MP15x && TFABOOT |
| 62 | help |
| 63 | Support of STM32 image generation for SOC STM32MP15x |
| 64 | for TF-A boot when FIP container is not used |
| 65 | |
Patrick Delaunay | 8462548 | 2020-01-13 15:17:42 +0100 | [diff] [blame] | 66 | choice |
| 67 | prompt "STM32MP15x board select" |
| 68 | optional |
| 69 | |
| 70 | config TARGET_ST_STM32MP15x |
| 71 | bool "STMicroelectronics STM32MP15x boards" |
| 72 | select STM32MP15x |
Patrick Delaunay | 3419982 | 2019-04-18 17:32:45 +0200 | [diff] [blame] | 73 | imply BOOTCOUNT_LIMIT |
Patrick Delaunay | 15ac0c7 | 2020-03-10 10:15:03 +0100 | [diff] [blame] | 74 | imply BOOTSTAGE |
Patrick Delaunay | 3419982 | 2019-04-18 17:32:45 +0200 | [diff] [blame] | 75 | imply CMD_BOOTCOUNT |
Patrick Delaunay | 15ac0c7 | 2020-03-10 10:15:03 +0100 | [diff] [blame] | 76 | imply CMD_BOOTSTAGE |
Patrick Delaunay | eee1580 | 2019-12-03 09:38:58 +0100 | [diff] [blame] | 77 | imply CMD_CLS if CMD_BMP |
Patrick Delaunay | a67d958 | 2019-07-30 19:16:26 +0200 | [diff] [blame] | 78 | imply DISABLE_CONSOLE |
Patrick Delaunay | 6755198 | 2019-07-30 19:16:23 +0200 | [diff] [blame] | 79 | imply PRE_CONSOLE_BUFFER |
Patrick Delaunay | c50c928 | 2019-07-30 19:16:22 +0200 | [diff] [blame] | 80 | imply SILENT_CONSOLE |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 81 | help |
Patrick Delaunay | 8462548 | 2020-01-13 15:17:42 +0100 | [diff] [blame] | 82 | target the STMicroelectronics board with SOC STM32MP15x |
| 83 | managed by board/st/stm32mp1: |
| 84 | Evalulation board (EV1) or Discovery board (DK1 and DK2). |
| 85 | The difference between board are managed with devicetree |
| 86 | |
Jagan Teki | fd4dc09 | 2021-03-16 21:52:06 +0530 | [diff] [blame] | 87 | config TARGET_MICROGEA_STM32MP1 |
| 88 | bool "Engicam MicroGEA STM32MP1 SOM" |
| 89 | select STM32MP15x |
| 90 | imply BOOTCOUNT_LIMIT |
| 91 | imply BOOTSTAGE |
| 92 | imply CMD_BOOTCOUNT |
| 93 | imply CMD_BOOTSTAGE |
| 94 | imply CMD_CLS if CMD_BMP |
| 95 | imply DISABLE_CONSOLE |
| 96 | imply PRE_CONSOLE_BUFFER |
| 97 | imply SILENT_CONSOLE |
| 98 | help |
| 99 | MicroGEA STM32MP1 is a STM32MP157A based Micro SOM. |
| 100 | |
| 101 | MicroGEA STM32MP1 MicroDev 2.0: |
| 102 | * MicroDev 2.0 is a general purpose miniature carrier board with CAN, |
| 103 | LTE and LVDS panel interfaces. |
| 104 | * MicroGEA STM32MP1 needs to mount on top of this MicroDev 2.0 board |
| 105 | for creating complete MicroGEA STM32MP1 MicroDev 2.0 Carrier board. |
| 106 | |
Jagan Teki | 0441b48 | 2021-03-16 21:52:07 +0530 | [diff] [blame] | 107 | MicroGEA STM32MP1 MicroDev 2.0 7" OF: |
| 108 | * 7" OF is a capacitive touch 7" Open Frame panel solutions with LVDS |
| 109 | panel and toucscreen. |
| 110 | * MicroGEA STM32MP1 needs to mount on top of MicroDev 2.0 board with |
| 111 | pluged 7" OF for creating complete MicroGEA STM32MP1 MicroDev 2.0 7" |
| 112 | Open Frame Solution board. |
| 113 | |
Jagan Teki | 30edf40 | 2021-03-16 21:52:03 +0530 | [diff] [blame] | 114 | config TARGET_ICORE_STM32MP1 |
| 115 | bool "Engicam i.Core STM32MP1 SOM" |
| 116 | select STM32MP15x |
| 117 | imply BOOTCOUNT_LIMIT |
| 118 | imply BOOTSTAGE |
| 119 | imply CMD_BOOTCOUNT |
| 120 | imply CMD_BOOTSTAGE |
| 121 | imply CMD_CLS if CMD_BMP |
| 122 | imply DISABLE_CONSOLE |
| 123 | imply PRE_CONSOLE_BUFFER |
| 124 | imply SILENT_CONSOLE |
| 125 | help |
| 126 | i.Core STM32MP1 is an EDIMM SOM based on STM32MP157A. |
| 127 | |
| 128 | i.Core STM32MP1 EDIMM2.2: |
| 129 | * EDIMM2.2 is a Form Factor Capacitive Evaluation Board. |
| 130 | * i.Core STM32MP1 needs to mount on top of EDIMM2.2 for |
| 131 | creating complete i.Core STM32MP1 EDIMM2.2 Starter Kit. |
| 132 | |
Jagan Teki | b594ec8 | 2021-03-16 21:52:04 +0530 | [diff] [blame] | 133 | i.Core STM32MP1 C.TOUCH 2.0 |
| 134 | * C.TOUCH 2.0 is a general purpose Carrier board. |
| 135 | * i.Core STM32MP1 needs to mount on top of this Carrier board |
| 136 | for creating complete i.Core STM32MP1 C.TOUCH 2.0 board. |
| 137 | |
Marek Vasut | 1995373 | 2020-01-24 18:39:16 +0100 | [diff] [blame] | 138 | config TARGET_DH_STM32MP1_PDK2 |
| 139 | bool "DH STM32MP1 PDK2" |
| 140 | select STM32MP15x |
| 141 | imply BOOTCOUNT_LIMIT |
| 142 | imply CMD_BOOTCOUNT |
| 143 | help |
| 144 | Target the DH PDK2 development kit with STM32MP15x SoM. |
| 145 | |
Patrick Delaunay | 8462548 | 2020-01-13 15:17:42 +0100 | [diff] [blame] | 146 | endchoice |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 147 | |
| 148 | config SYS_TEXT_BASE |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 149 | default 0xC0100000 |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 150 | |
Patrick Delaunay | 45ccdb6 | 2019-02-27 17:01:15 +0100 | [diff] [blame] | 151 | config NR_DRAM_BANKS |
| 152 | default 1 |
| 153 | |
Patrick Delaunay | 67f9f11 | 2020-09-04 12:55:19 +0200 | [diff] [blame] | 154 | config DDR_CACHEABLE_SIZE |
| 155 | hex "Size of the DDR marked cacheable in pre-reloc stage" |
| 156 | default 0x10000000 if TFABOOT |
| 157 | default 0x40000000 |
| 158 | help |
| 159 | Define the size of the DDR marked as cacheable in U-Boot |
| 160 | pre-reloc stage. |
| 161 | This option can be useful to avoid speculatif access |
| 162 | to secured area of DDR used by TF-A or OP-TEE before U-Boot |
| 163 | initialization. |
| 164 | The areas marked "no-map" in device tree should be located |
| 165 | before this limit: STM32_DDR_BASE + DDR_CACHEABLE_SIZE. |
| 166 | |
Patrick Delaunay | 11dfd1a | 2018-03-20 10:54:54 +0100 | [diff] [blame] | 167 | config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_MMC2 |
| 168 | hex "Partition on MMC2 to use to load U-Boot from" |
| 169 | depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION |
| 170 | default 1 |
| 171 | help |
| 172 | Partition on the second MMC to load U-Boot from when the MMC is being |
| 173 | used in raw mode |
| 174 | |
Patrick Delaunay | c60f3b3 | 2019-07-05 17:20:15 +0200 | [diff] [blame] | 175 | config STM32_ETZPC |
| 176 | bool "STM32 Extended TrustZone Protection" |
Patrick Delaunay | 7a02e4d | 2020-03-10 16:05:43 +0100 | [diff] [blame] | 177 | depends on STM32MP15x |
Patrick Delaunay | c60f3b3 | 2019-07-05 17:20:15 +0200 | [diff] [blame] | 178 | default y |
| 179 | help |
| 180 | Say y to enable STM32 Extended TrustZone Protection |
| 181 | |
Alexandru Gagniuc | ee87085 | 2021-07-29 11:47:17 -0500 | [diff] [blame^] | 182 | config STM32_ECDSA_VERIFY |
| 183 | bool "STM32 ECDSA verification via the ROM API" |
| 184 | depends on SPL_ECDSA_VERIFY |
| 185 | default y |
| 186 | help |
| 187 | Say y to enable the uclass driver for ECDSA verification using the |
| 188 | ROM API provided on STM32MP. |
| 189 | The ROM API is only available during SPL for now. |
| 190 | |
Patrick Delaunay | f4cb5d6 | 2019-07-05 17:20:17 +0200 | [diff] [blame] | 191 | config CMD_STM32KEY |
| 192 | bool "command stm32key to fuse public key hash" |
Patrick Delaunay | 3a99481 | 2021-06-28 14:55:57 +0200 | [diff] [blame] | 193 | default n |
Patrick Delaunay | f4cb5d6 | 2019-07-05 17:20:17 +0200 | [diff] [blame] | 194 | help |
| 195 | fuse public key hash in corresponding fuse used to authenticate |
| 196 | binary. |
Patrick Delaunay | 3a99481 | 2021-06-28 14:55:57 +0200 | [diff] [blame] | 197 | This command is used to evaluate the secure boot on stm32mp SOC, |
| 198 | it is deactivated by default in real products. |
Patrick Delaunay | f4cb5d6 | 2019-07-05 17:20:17 +0200 | [diff] [blame] | 199 | |
Patrick Delaunay | 6755198 | 2019-07-30 19:16:23 +0200 | [diff] [blame] | 200 | config PRE_CON_BUF_ADDR |
| 201 | default 0xC02FF000 |
| 202 | |
| 203 | config PRE_CON_BUF_SZ |
| 204 | default 4096 |
| 205 | |
Patrick Delaunay | 27a986d | 2019-04-18 17:32:47 +0200 | [diff] [blame] | 206 | config BOOTSTAGE_STASH_ADDR |
| 207 | default 0xC3000000 |
| 208 | |
Patrick Delaunay | 3419982 | 2019-04-18 17:32:45 +0200 | [diff] [blame] | 209 | if BOOTCOUNT_LIMIT |
| 210 | config SYS_BOOTCOUNT_SINGLEWORD |
| 211 | default y |
| 212 | |
| 213 | # TAMP_BOOTCOUNT = TAMP_BACKUP_REGISTER(21) |
| 214 | config SYS_BOOTCOUNT_ADDR |
| 215 | default 0x5C00A154 |
| 216 | endif |
| 217 | |
Patrick Delaunay | 320d266 | 2018-05-17 14:50:46 +0200 | [diff] [blame] | 218 | if DEBUG_UART |
| 219 | |
| 220 | config DEBUG_UART_BOARD_INIT |
| 221 | default y |
| 222 | |
| 223 | # debug on UART4 by default |
| 224 | config DEBUG_UART_BASE |
| 225 | default 0x40010000 |
| 226 | |
| 227 | # clock source is HSI on reset |
| 228 | config DEBUG_UART_CLOCK |
| 229 | default 64000000 |
| 230 | endif |
| 231 | |
Patrick Delaunay | 2dc2216 | 2021-02-25 13:37:00 +0100 | [diff] [blame] | 232 | source "arch/arm/mach-stm32mp/cmd_stm32prog/Kconfig" |
Marek Vasut | 1995373 | 2020-01-24 18:39:16 +0100 | [diff] [blame] | 233 | source "board/dhelectronics/dh_stm32mp1/Kconfig" |
Jagan Teki | 30edf40 | 2021-03-16 21:52:03 +0530 | [diff] [blame] | 234 | source "board/engicam/stm32mp1/Kconfig" |
| 235 | source "board/st/stm32mp1/Kconfig" |
Patrick Delaunay | 45ccdb6 | 2019-02-27 17:01:15 +0100 | [diff] [blame] | 236 | |
Patrick Delaunay | 2514c2d | 2018-03-12 10:46:10 +0100 | [diff] [blame] | 237 | endif |