powerpc: Clean up CHAIN_OF_TRUST related options
[platform/kernel/u-boot.git] / arch / Kconfig.nxp
1 config NXP_ESBC
2         bool "NXP ESBC (secure boot) functionality"
3         help
4           Enable Freescale Secure Boot feature. Normally selected by defconfig.
5           If unsure, do not change.
6
7 menu "Chain of trust / secure boot options"
8         depends on !FIT_SIGNATURE && NXP_ESBC
9
10 config CHAIN_OF_TRUST
11         select FSL_CAAM
12         select ARCH_MISC_INIT
13         select FSL_SEC_MON
14         select SPL_BOARD_INIT if (ARM && SPL)
15         select SPL_HASH if (ARM && SPL)
16         select SHA_HW_ACCEL
17         select SHA_PROG_HW_ACCEL
18         select ENV_IS_NOWHERE
19         select CMD_EXT4 if ARM
20         select CMD_EXT4_WRITE if ARM
21         imply CMD_BLOB
22         imply CMD_HASH if ARM
23         def_bool y
24
25 config CMD_ESBC_VALIDATE
26         bool "Enable the 'esbc_validate' and 'esbc_halt' commands"
27         default y
28         help
29           This option enables two commands used for secure booting:
30
31             esbc_validate - validate signature using RSA verification
32             esbc_halt - put the core in spin loop (Secure Boot Only)
33
34 config ESBC_HDR_LS
35         bool
36
37 config ESBC_ADDR_64BIT
38         def_bool y
39         depends on ESBC_HDR_LS && FSL_LAYERSCAPE
40         help
41           For Layerscape based platforms, ESBC image Address in Header is 64bit.
42
43 config SYS_FSL_SFP_BE
44         def_bool y
45         depends on PPC || FSL_LSCH2 || ARCH_LS1021A
46
47 config SYS_FSL_SFP_LE
48         def_bool y
49         depends on !SYS_FSL_SFP_BE
50
51 choice
52         prompt "SFP IP revision"
53         default SYS_FSL_SFP_VER_3_0 if PPC
54         default SYS_FSL_SFP_VER_3_4
55
56 config SYS_FSL_SFP_VER_3_0
57         bool "SFP version 3.0"
58
59 config SYS_FSL_SFP_VER_3_2
60         bool "SFP version 3.2"
61
62 config SYS_FSL_SFP_VER_3_4
63         bool "SFP version 3.4"
64
65 endchoice
66
67 config SPL_UBOOT_KEY_HASH
68         string "Non-SRK key hash for U-Boot public/private key pair"
69         depends on SPL
70         default ""
71         help
72           Set the key hash for U-Boot here if public/private key pair used to
73           sign U-boot are different from the SRK hash put in the fuse.  Example
74           of a key hash is
75           41066b564c6ffcef40ccbc1e0a5d0d519604000c785d97bbefd25e4d288d1c8b.
76           Otherwise leave this empty.
77
78 if PPC
79
80 config BOOTSCRIPT_COPY_RAM
81         bool "Secure boot copies boot script to RAM"
82         help
83           On systems that support chain of trust booting, a number of addresses
84           are required to set variables that are used in the copying and then
85           verification of different parts of the system.  If enabled, the subsequent
86           options are for what location to use in each step.
87
88 config BS_ADDR_DEVICE
89         hex "Address in RAM for bs_device"
90         depends on BOOTSCRIPT_COPY_RAM
91
92 config BS_SIZE
93         hex "The size of bs_size which is the amount read from bs_device"
94         depends on BOOTSCRIPT_COPY_RAM
95
96 config BS_ADDR_RAM
97         hex "Address in RAM for bs_ram"
98         depends on BOOTSCRIPT_COPY_RAM
99
100 config BS_HDR_ADDR_DEVICE
101         hex "Address in RAM for bs_hdr_device"
102         depends on BOOTSCRIPT_COPY_RAM
103
104 config BS_HDR_SIZE
105         hex "The size of bs_hdr_size which is the amount read from bs_hdr_device"
106         depends on BOOTSCRIPT_COPY_RAM
107
108 config BS_HDR_ADDR_RAM
109         hex "Address in RAM for bs_hdr_ram"
110         depends on BOOTSCRIPT_COPY_RAM
111
112 config BOOTSCRIPT_HDR_ADDR
113         hex "CONFIG_BOOTSCRIPT_HDR_ADDR"
114         default BS_ADDR_RAM if BOOTSCRIPT_COPY_RAM
115
116 endif
117
118 config SYS_FSL_SRK_LE
119         def_bool y
120         depends on ARM
121
122 config KEY_REVOCATION
123         def_bool y
124
125 endmenu
126
127 comment "Other functionality shared between NXP SoCs"
128
129 config DEEP_SLEEP
130         bool "Enable SoC deep sleep feature"
131         depends on ARCH_T1024 || ARCH_T1040 || ARCH_T1042 || ARCH_LS1021A
132         default y
133         help
134           Indicates this SoC supports deep sleep feature. If deep sleep is
135           supported, core will start to execute uboot when wakes up.
136
137 config FSL_USE_PCA9547_MUX
138         bool "Enable PCA9547 I2C Mux on Freescale boards"
139         depends on PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
140         help
141          This option enables the PCA9547 I2C mux on Freescale boards.
142
143 config VID
144         bool "Enable Freescale VID"
145         depends on (PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3) && (I2C || DM_I2C)
146         help
147          This option enables setting core voltage based on individual
148          values saved in SoC fuses.
149
150 config SPL_VID
151         bool "Enable Freescale VID in SPL"
152         depends on (PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3) && (SPL_I2C || DM_SPL_I2C)
153         help
154          This option enables setting core voltage based on individual
155          values saved in SoC fuses, in SPL.
156
157 if VID || SPL_VID
158
159 config VID_FLS_ENV
160         string "Environment variable for overriding VDD"
161         help
162           This option allows for specifying the environment variable
163           to check to override VDD information.
164
165 config VOL_MONITOR_INA220
166         bool "Enable the INA220 voltage monitor read"
167         help
168           This option enables INA220 voltage monitor read
169           functionality. It is used by the common VID driver.
170
171 config VOL_MONITOR_IR36021_READ
172         bool "Enable the IR36021 voltage monitor read"
173         help
174          This option enables IR36021 voltage monitor read
175          functionality. It is used by the common VID driver.
176
177 config VOL_MONITOR_IR36021_SET
178         bool "Enable the IR36021 voltage monitor set"
179         help
180          This option enables IR36021 voltage monitor set
181          functionality. It is used by the common VID driver.
182
183 config VOL_MONITOR_LTC3882_READ
184         bool "Enable the LTC3882 voltage monitor read"
185         help
186          This option enables LTC3882 voltage monitor read
187          functionality. It is used by the common VID driver.
188
189 config VOL_MONITOR_LTC3882_SET
190         bool "Enable the LTC3882 voltage monitor set"
191         help
192          This option enables LTC3882 voltage monitor set
193          functionality. It is used by the common VID driver.
194
195 config VOL_MONITOR_ISL68233_READ
196         bool "Enable the ISL68233 voltage monitor read"
197         help
198          This option enables ISL68233 voltage monitor read
199          functionality. It is used by the common VID driver.
200
201 config VOL_MONITOR_ISL68233_SET
202         bool "Enable the ISL68233 voltage monitor set"
203         help
204          This option enables ISL68233 voltage monitor set
205          functionality. It is used by the common VID driver.
206
207 endif
208
209 config FSL_QIXIS
210         bool "Enable QIXIS support"
211         depends on PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
212
213 config QIXIS_I2C_ACCESS
214         bool "Access to QIXIS is over i2c"
215         depends on FSL_QIXIS
216         default y
217
218 config HAS_FSL_DR_USB
219         def_bool y
220         depends on USB_EHCI_HCD && PPC