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