Convert CONFIG_PCIE1 et al to Kconfig
[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 LAYERSCAPE_NS_ACCESS
138         bool "Layerscape non-secure access support"
139         depends on ARCH_LS1021A || FSL_LSCH2
140
141 config PCIE1
142         bool "PCIe controller #1"
143         depends on LAYERSCAPE_NS_ACCESS || PPC
144
145 config PCIE2
146         bool "PCIe controller #2"
147         depends on LAYERSCAPE_NS_ACCESS || PPC
148
149 config PCIE3
150         bool "PCIe controller #3"
151         depends on LAYERSCAPE_NS_ACCESS || PPC
152
153 config PCIE4
154         bool "PCIe controller #4"
155         depends on LAYERSCAPE_NS_ACCESS || PPC
156
157 config FSL_USE_PCA9547_MUX
158         bool "Enable PCA9547 I2C Mux on Freescale boards"
159         depends on PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
160         help
161          This option enables the PCA9547 I2C mux on Freescale boards.
162
163 config VID
164         bool "Enable Freescale VID"
165         depends on (PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3) && (I2C || DM_I2C)
166         help
167          This option enables setting core voltage based on individual
168          values saved in SoC fuses.
169
170 config SPL_VID
171         bool "Enable Freescale VID in SPL"
172         depends on (PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3) && (SPL_I2C || DM_SPL_I2C)
173         help
174          This option enables setting core voltage based on individual
175          values saved in SoC fuses, in SPL.
176
177 if VID || SPL_VID
178
179 config VID_FLS_ENV
180         string "Environment variable for overriding VDD"
181         help
182           This option allows for specifying the environment variable
183           to check to override VDD information.
184
185 config VOL_MONITOR_INA220
186         bool "Enable the INA220 voltage monitor read"
187         help
188           This option enables INA220 voltage monitor read
189           functionality. It is used by the common VID driver.
190
191 config VOL_MONITOR_IR36021_READ
192         bool "Enable the IR36021 voltage monitor read"
193         help
194          This option enables IR36021 voltage monitor read
195          functionality. It is used by the common VID driver.
196
197 config VOL_MONITOR_IR36021_SET
198         bool "Enable the IR36021 voltage monitor set"
199         help
200          This option enables IR36021 voltage monitor set
201          functionality. It is used by the common VID driver.
202
203 config VOL_MONITOR_LTC3882_READ
204         bool "Enable the LTC3882 voltage monitor read"
205         help
206          This option enables LTC3882 voltage monitor read
207          functionality. It is used by the common VID driver.
208
209 config VOL_MONITOR_LTC3882_SET
210         bool "Enable the LTC3882 voltage monitor set"
211         help
212          This option enables LTC3882 voltage monitor set
213          functionality. It is used by the common VID driver.
214
215 config VOL_MONITOR_ISL68233_READ
216         bool "Enable the ISL68233 voltage monitor read"
217         help
218          This option enables ISL68233 voltage monitor read
219          functionality. It is used by the common VID driver.
220
221 config VOL_MONITOR_ISL68233_SET
222         bool "Enable the ISL68233 voltage monitor set"
223         help
224          This option enables ISL68233 voltage monitor set
225          functionality. It is used by the common VID driver.
226
227 endif
228
229 config FSL_QIXIS
230         bool "Enable QIXIS support"
231         depends on PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
232
233 config QIXIS_I2C_ACCESS
234         bool "Access to QIXIS is over i2c"
235         depends on FSL_QIXIS
236         default y
237
238 config HAS_FSL_DR_USB
239         def_bool y
240         depends on USB_EHCI_HCD && PPC