blob: d3ebbff43be18bee3c48c6d2b253d813297b8c89 [file] [log] [blame]
Tom Rini65461122022-06-17 16:24:31 -04001config 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
7menu "Chain of trust / secure boot options"
Udit Agarwal22ec2382019-11-07 16:11:32 +00008 depends on !FIT_SIGNATURE && NXP_ESBC
Tom Rini65461122022-06-17 16:24:31 -04009
10config CHAIN_OF_TRUST
Tom Rinia5c4d402017-03-01 16:51:58 -050011 select FSL_CAAM
Gaurav Jainbd50fd12022-06-09 16:32:15 +053012 select ARCH_MISC_INIT
Tom Rini0b58c2e2022-06-16 14:04:39 -040013 select FSL_SEC_MON
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +080014 select SPL_BOARD_INIT if (ARM && SPL)
Alexandru Gagniuc97464ff2021-09-02 19:54:19 -050015 select SPL_HASH if (ARM && SPL)
Tom Rini5bdd9192017-05-15 12:17:49 -040016 select SHA_HW_ACCEL
17 select SHA_PROG_HW_ACCEL
Simon Glass73c18b42017-07-23 21:19:39 -060018 select ENV_IS_NOWHERE
Tom Rinifc2dcd92022-06-25 11:02:45 -040019 select SYS_CPC_REINIT_F if MPC85xx && !SYS_RAMBOOT
Sumit Garg13ad2902018-01-09 01:27:46 +053020 select CMD_EXT4 if ARM
21 select CMD_EXT4_WRITE if ARM
Tom Rini65461122022-06-17 16:24:31 -040022 imply CMD_BLOB
23 imply CMD_HASH if ARM
24 def_bool y
Simon Glassa6a9ea42017-05-17 03:25:16 -060025
26config CMD_ESBC_VALIDATE
27 bool "Enable the 'esbc_validate' and 'esbc_halt' commands"
Tom Riniaac187d2022-06-16 14:04:35 -040028 default y
Simon Glassa6a9ea42017-05-17 03:25:16 -060029 help
30 This option enables two commands used for secure booting:
31
32 esbc_validate - validate signature using RSA verification
33 esbc_halt - put the core in spin loop (Secure Boot Only)
Rajesh Bhagat241a3cc2018-01-17 16:13:04 +053034
Tom Rinieb56a392022-06-16 14:04:37 -040035config ESBC_HDR_LS
36 bool
37
38config ESBC_ADDR_64BIT
39 def_bool y
40 depends on ESBC_HDR_LS && FSL_LAYERSCAPE
41 help
42 For Layerscape based platforms, ESBC image Address in Header is 64bit.
43
Tom Rinia1663992022-06-16 14:04:40 -040044config SYS_FSL_SFP_BE
45 def_bool y
Tom Rini65461122022-06-17 16:24:31 -040046 depends on PPC || FSL_LSCH2 || ARCH_LS1021A
Tom Rinia1663992022-06-16 14:04:40 -040047
48config SYS_FSL_SFP_LE
49 def_bool y
Tom Rini65461122022-06-17 16:24:31 -040050 depends on !SYS_FSL_SFP_BE
Tom Rinia1663992022-06-16 14:04:40 -040051
52choice
53 prompt "SFP IP revision"
Tom Rinia1663992022-06-16 14:04:40 -040054 default SYS_FSL_SFP_VER_3_0 if PPC
55 default SYS_FSL_SFP_VER_3_4
56
57config SYS_FSL_SFP_VER_3_0
58 bool "SFP version 3.0"
59
60config SYS_FSL_SFP_VER_3_2
61 bool "SFP version 3.2"
62
63config SYS_FSL_SFP_VER_3_4
64 bool "SFP version 3.4"
65
66endchoice
67
Tom Rini27fcd312022-06-17 16:24:32 -040068config SPL_UBOOT_KEY_HASH
69 string "Non-SRK key hash for U-Boot public/private key pair"
70 depends on SPL
71 default ""
72 help
73 Set the key hash for U-Boot here if public/private key pair used to
74 sign U-boot are different from the SRK hash put in the fuse. Example
75 of a key hash is
76 41066b564c6ffcef40ccbc1e0a5d0d519604000c785d97bbefd25e4d288d1c8b.
77 Otherwise leave this empty.
78
Tom Rinibf1dfd82022-06-17 16:24:34 -040079if PPC
80
81config BOOTSCRIPT_COPY_RAM
82 bool "Secure boot copies boot script to RAM"
83 help
84 On systems that support chain of trust booting, a number of addresses
85 are required to set variables that are used in the copying and then
86 verification of different parts of the system. If enabled, the subsequent
87 options are for what location to use in each step.
88
89config BS_ADDR_DEVICE
90 hex "Address in RAM for bs_device"
91 depends on BOOTSCRIPT_COPY_RAM
92
93config BS_SIZE
94 hex "The size of bs_size which is the amount read from bs_device"
95 depends on BOOTSCRIPT_COPY_RAM
96
97config BS_ADDR_RAM
98 hex "Address in RAM for bs_ram"
99 depends on BOOTSCRIPT_COPY_RAM
100
101config BS_HDR_ADDR_DEVICE
102 hex "Address in RAM for bs_hdr_device"
103 depends on BOOTSCRIPT_COPY_RAM
104
105config BS_HDR_SIZE
106 hex "The size of bs_hdr_size which is the amount read from bs_hdr_device"
107 depends on BOOTSCRIPT_COPY_RAM
108
109config BS_HDR_ADDR_RAM
110 hex "Address in RAM for bs_hdr_ram"
111 depends on BOOTSCRIPT_COPY_RAM
112
113config BOOTSCRIPT_HDR_ADDR
114 hex "CONFIG_BOOTSCRIPT_HDR_ADDR"
115 default BS_ADDR_RAM if BOOTSCRIPT_COPY_RAM
116
117endif
118
Tom Rinia1663992022-06-16 14:04:40 -0400119config SYS_FSL_SRK_LE
120 def_bool y
Tom Rini65461122022-06-17 16:24:31 -0400121 depends on ARM
Tom Rinia1663992022-06-16 14:04:40 -0400122
123config KEY_REVOCATION
124 def_bool y
Tom Rini65461122022-06-17 16:24:31 -0400125
126endmenu
127
128comment "Other functionality shared between NXP SoCs"
Tom Rinia1663992022-06-16 14:04:40 -0400129
Tom Rinib643ebd2022-03-24 17:17:58 -0400130config DEEP_SLEEP
131 bool "Enable SoC deep sleep feature"
Tom Riniaac187d2022-06-16 14:04:35 -0400132 depends on ARCH_T1024 || ARCH_T1040 || ARCH_T1042 || ARCH_LS1021A
133 default y
Tom Rinib643ebd2022-03-24 17:17:58 -0400134 help
135 Indicates this SoC supports deep sleep feature. If deep sleep is
136 supported, core will start to execute uboot when wakes up.
137
Tom Rini9d291f42022-06-20 08:07:44 -0400138config LAYERSCAPE_NS_ACCESS
139 bool "Layerscape non-secure access support"
140 depends on ARCH_LS1021A || FSL_LSCH2
141
Tom Rini7485ebf62022-06-20 08:07:45 -0400142config PCIE1
143 bool "PCIe controller #1"
144 depends on LAYERSCAPE_NS_ACCESS || PPC
145
146config PCIE2
147 bool "PCIe controller #2"
148 depends on LAYERSCAPE_NS_ACCESS || PPC
149
150config PCIE3
151 bool "PCIe controller #3"
152 depends on LAYERSCAPE_NS_ACCESS || PPC
153
154config PCIE4
155 bool "PCIe controller #4"
156 depends on LAYERSCAPE_NS_ACCESS || PPC
157
Stephen Carlsone36d49c2021-06-22 16:35:20 -0700158config FSL_USE_PCA9547_MUX
159 bool "Enable PCA9547 I2C Mux on Freescale boards"
Tom Riniaac187d2022-06-16 14:04:35 -0400160 depends on PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
Stephen Carlsone36d49c2021-06-22 16:35:20 -0700161 help
162 This option enables the PCA9547 I2C mux on Freescale boards.
163
Stephen Carlsonc3301a22021-02-08 11:11:29 +0100164config VID
Stephen Carlsonc3301a22021-02-08 11:11:29 +0100165 bool "Enable Freescale VID"
Tom Riniaac187d2022-06-16 14:04:35 -0400166 depends on (PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3) && (I2C || DM_I2C)
Stephen Carlsonc3301a22021-02-08 11:11:29 +0100167 help
168 This option enables setting core voltage based on individual
169 values saved in SoC fuses.
170
Tom Rini89cdcab2021-12-12 22:12:31 -0500171config SPL_VID
172 bool "Enable Freescale VID in SPL"
Tom Riniaac187d2022-06-16 14:04:35 -0400173 depends on (PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3) && (SPL_I2C || DM_SPL_I2C)
Tom Rini89cdcab2021-12-12 22:12:31 -0500174 help
175 This option enables setting core voltage based on individual
176 values saved in SoC fuses, in SPL.
177
178if VID || SPL_VID
179
180config VID_FLS_ENV
181 string "Environment variable for overriding VDD"
182 help
183 This option allows for specifying the environment variable
184 to check to override VDD information.
185
186config VOL_MONITOR_INA220
187 bool "Enable the INA220 voltage monitor read"
188 help
189 This option enables INA220 voltage monitor read
190 functionality. It is used by the common VID driver.
191
192config VOL_MONITOR_IR36021_READ
193 bool "Enable the IR36021 voltage monitor read"
194 help
195 This option enables IR36021 voltage monitor read
196 functionality. It is used by the common VID driver.
197
198config VOL_MONITOR_IR36021_SET
199 bool "Enable the IR36021 voltage monitor set"
200 help
201 This option enables IR36021 voltage monitor set
202 functionality. It is used by the common VID driver.
203
Rajesh Bhagat241a3cc2018-01-17 16:13:04 +0530204config VOL_MONITOR_LTC3882_READ
Rajesh Bhagat241a3cc2018-01-17 16:13:04 +0530205 bool "Enable the LTC3882 voltage monitor read"
Rajesh Bhagat241a3cc2018-01-17 16:13:04 +0530206 help
207 This option enables LTC3882 voltage monitor read
Stephen Carlsonc3301a22021-02-08 11:11:29 +0100208 functionality. It is used by the common VID driver.
Rajesh Bhagat241a3cc2018-01-17 16:13:04 +0530209
210config VOL_MONITOR_LTC3882_SET
Rajesh Bhagat241a3cc2018-01-17 16:13:04 +0530211 bool "Enable the LTC3882 voltage monitor set"
Rajesh Bhagat241a3cc2018-01-17 16:13:04 +0530212 help
213 This option enables LTC3882 voltage monitor set
Stephen Carlsonc3301a22021-02-08 11:11:29 +0100214 functionality. It is used by the common VID driver.
215
216config VOL_MONITOR_ISL68233_READ
Stephen Carlsonc3301a22021-02-08 11:11:29 +0100217 bool "Enable the ISL68233 voltage monitor read"
218 help
219 This option enables ISL68233 voltage monitor read
220 functionality. It is used by the common VID driver.
221
222config VOL_MONITOR_ISL68233_SET
Stephen Carlsonc3301a22021-02-08 11:11:29 +0100223 bool "Enable the ISL68233 voltage monitor set"
224 help
225 This option enables ISL68233 voltage monitor set
226 functionality. It is used by the common VID driver.
Tom Rini89cdcab2021-12-12 22:12:31 -0500227
228endif
Tom Rinie24547a2022-03-30 18:07:32 -0400229
230config FSL_QIXIS
231 bool "Enable QIXIS support"
Tom Riniaac187d2022-06-16 14:04:35 -0400232 depends on PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
Tom Rinie24547a2022-03-30 18:07:32 -0400233
234config QIXIS_I2C_ACCESS
235 bool "Access to QIXIS is over i2c"
236 depends on FSL_QIXIS
237 default y
Tom Rini41713012022-06-08 08:24:28 -0400238
239config HAS_FSL_DR_USB
240 def_bool y
241 depends on USB_EHCI_HCD && PPC