stm32mp1: add bootcount support
[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_SYSCON
20         imply SPL_DISPLAY_PRINT
21         imply SPL_LIBDISK_SUPPORT
22
23 config SYS_SOC
24         default "stm32mp"
25
26 config SYS_MALLOC_LEN
27         default 0x2000000
28
29 config ENV_SIZE
30         default 0x1000
31
32 config TARGET_STM32MP1
33         bool "Support stm32mp1xx"
34         select ARCH_SUPPORT_PSCI if !STM32MP1_TRUSTED
35         select CPU_V7A
36         select CPU_V7_HAS_NONSEC if !STM32MP1_TRUSTED
37         select CPU_V7_HAS_VIRT
38         select PINCTRL_STM32
39         select STM32_RCC
40         select STM32_RESET
41         select SYS_ARCH_TIMER
42         imply BOOTCOUNT_LIMIT
43         imply CMD_BOOTCOUNT
44         imply SYSRESET_PSCI if STM32MP1_TRUSTED
45         imply SYSRESET_SYSCON if !STM32MP1_TRUSTED
46         help
47                 target STMicroelectronics SOC STM32MP1 family
48                 STM32MP157, STM32MP153 or STM32MP151
49                 STMicroelectronics MPU with core ARMv7
50                 dual core A7 for STM32MP157/3, monocore for STM32MP151
51
52 config STM32MP1_TRUSTED
53         bool "Support trusted boot with TF-A"
54         default y if !SPL
55         select ARM_SMCCC
56         help
57                 Say Y here to enable boot with TF-A
58                 Trusted boot chain is :
59                 BootRom => TF-A.stm32 (clock & DDR) => U-Boot.stm32
60                 TF-A monitor provides proprietary smc to manage secure devices
61
62 config SYS_TEXT_BASE
63         prompt "U-Boot base address"
64         default 0xC0100000
65         help
66                 configure the U-Boot base address
67                 when DDR driver is used:
68                   DDR + 1MB (0xC0100000)
69
70 config NR_DRAM_BANKS
71         default 1
72
73 config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_MMC2
74         hex "Partition on MMC2 to use to load U-Boot from"
75         depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
76         default 1
77         help
78           Partition on the second MMC to load U-Boot from when the MMC is being
79           used in raw mode
80
81 if BOOTCOUNT_LIMIT
82 config SYS_BOOTCOUNT_SINGLEWORD
83         default y
84
85 # TAMP_BOOTCOUNT = TAMP_BACKUP_REGISTER(21)
86 config SYS_BOOTCOUNT_ADDR
87         default 0x5C00A154
88 endif
89
90 if DEBUG_UART
91
92 config DEBUG_UART_BOARD_INIT
93         default y
94
95 # debug on UART4 by default
96 config DEBUG_UART_BASE
97         default 0x40010000
98
99 # clock source is HSI on reset
100 config DEBUG_UART_CLOCK
101         default 64000000
102 endif
103
104 source "board/st/stm32mp1/Kconfig"
105
106 endif