xref: /OK3568_Linux_fs/u-boot/env/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunmenu "Environment"
2*4882a593Smuzhiyun
3*4882a593Smuzhiyunchoice
4*4882a593Smuzhiyun	prompt "Select the location of the environment"
5*4882a593Smuzhiyun	default ENV_IS_IN_MMC if ARCH_SUNXI
6*4882a593Smuzhiyun	default ENV_IS_IN_MMC if ARCH_UNIPHIER
7*4882a593Smuzhiyun	default ENV_IS_IN_MMC if ARCH_EXYNOS4
8*4882a593Smuzhiyun	default ENV_IS_IN_MMC if MX6SX || MX7D
9*4882a593Smuzhiyun	default ENV_IS_IN_MMC if TEGRA30 || TEGRA124
10*4882a593Smuzhiyun	default ENV_IS_IN_MMC if TEGRA_ARMV8_COMMON
11*4882a593Smuzhiyun	default ENV_IS_IN_FLASH if ARCH_CINTEGRATOR
12*4882a593Smuzhiyun	default ENV_IS_IN_FLASH if ARCH_INTEGRATOR_CP
13*4882a593Smuzhiyun	default ENV_IS_IN_FLASH if M548x || M547x || M5282 || MCF547x_8x
14*4882a593Smuzhiyun	default ENV_IS_IN_FLASH if MCF532x || MCF52x2
15*4882a593Smuzhiyun	default ENV_IS_IN_FLASH if MPC86xx || MPC83xx
16*4882a593Smuzhiyun	default ENV_IS_IN_FLASH if ARCH_MPC8572 || ARCH_MPC8548 || ARCH_MPC8641
17*4882a593Smuzhiyun	default ENV_IS_IN_FLASH if SH && !CPU_SH4
18*4882a593Smuzhiyun	default ENV_IS_IN_SPI_FLASH if ARMADA_XP
19*4882a593Smuzhiyun	default ENV_IS_IN_SPI_FLASH if INTEL_BAYTRAIL
20*4882a593Smuzhiyun	default ENV_IS_IN_SPI_FLASH if INTEL_BROADWELL
21*4882a593Smuzhiyun	default ENV_IS_IN_SPI_FLASH if NORTHBRIDGE_INTEL_IVYBRIDGE
22*4882a593Smuzhiyun	default ENV_IS_IN_SPI_FLASH if INTEL_QUARK
23*4882a593Smuzhiyun	default ENV_IS_IN_SPI_FLASH if INTEL_QUEENSBAY
24*4882a593Smuzhiyun	default ENV_IS_IN_FAT if ARCH_BCM283X
25*4882a593Smuzhiyun	default ENV_IS_IN_FAT if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
26*4882a593Smuzhiyun	default ENV_IS_NOWHERE
27*4882a593Smuzhiyun	help
28*4882a593Smuzhiyun	  At present the environment can be stored in only one place. Use this
29*4882a593Smuzhiyun	  option to select the location. This is either a device (where the
30*4882a593Smuzhiyun	  environemnt information is simply written to a fixed location or
31*4882a593Smuzhiyun	  partition on the device) or a filesystem (where the environment
32*4882a593Smuzhiyun	  information is written to a file).
33*4882a593Smuzhiyun
34*4882a593Smuzhiyunconfig ENV_IS_NOWHERE
35*4882a593Smuzhiyun	bool "Environment is not stored"
36*4882a593Smuzhiyun	help
37*4882a593Smuzhiyun	  Define this if you don't want to or can't have an environment stored
38*4882a593Smuzhiyun	  on a storage medium. In this case the environemnt will still exist
39*4882a593Smuzhiyun	  while U-Boot is running, but once U-Boot exits it will not be
40*4882a593Smuzhiyun	  stored. U-Boot will therefore always start up with a default
41*4882a593Smuzhiyun	  environment.
42*4882a593Smuzhiyun
43*4882a593Smuzhiyunconfig ENVF
44*4882a593Smuzhiyun	bool "Environment fragment is store in envf partition"
45*4882a593Smuzhiyun	depends on ENV_IS_NOWHERE
46*4882a593Smuzhiyun	help
47*4882a593Smuzhiyun	  Use this if you want to add a env fragment partition to overlay/store
48*4882a593Smuzhiyun	  some specific environments.
49*4882a593Smuzhiyun
50*4882a593Smuzhiyunconfig SPL_ENVF
51*4882a593Smuzhiyun	bool "Environment fragment is store in envf partition in SPL"
52*4882a593Smuzhiyun	depends on ENVF && SPL
53*4882a593Smuzhiyun	default y
54*4882a593Smuzhiyun	help
55*4882a593Smuzhiyun	  Use this if you want to add a env fragment partition to overlay/store
56*4882a593Smuzhiyun	  some specific environments in SPL. But now only parse env partition
57*4882a593Smuzhiyun	  table.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyunconfig ENVF_LIST
60*4882a593Smuzhiyun	string "Specific environments white list of env fragment"
61*4882a593Smuzhiyun	depends on ENVF
62*4882a593Smuzhiyun	default "blkdevparts mtdparts sys_bootargs app reserved"
63*4882a593Smuzhiyun	help
64*4882a593Smuzhiyun	  The environment white list.
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunconfig ENV_IS_IN_EEPROM
67*4882a593Smuzhiyun	bool "Environment in EEPROM"
68*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
69*4882a593Smuzhiyun	help
70*4882a593Smuzhiyun	  Use this if you have an EEPROM or similar serial access
71*4882a593Smuzhiyun	  device and a driver for it.
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	  - CONFIG_ENV_OFFSET:
74*4882a593Smuzhiyun	  - CONFIG_ENV_SIZE:
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun	  These two #defines specify the offset and size of the
77*4882a593Smuzhiyun	  environment area within the total memory of your EEPROM.
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	  Note that we consider the length of the address field to
80*4882a593Smuzhiyun	  still be one byte because the extra address bits are hidden
81*4882a593Smuzhiyun	  in the chip address.
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun	  - CONFIG_ENV_EEPROM_IS_ON_I2C
84*4882a593Smuzhiyun	  define this, if you have I2C and SPI activated, and your
85*4882a593Smuzhiyun	  EEPROM, which holds the environment, is on the I2C bus.
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun	  - CONFIG_I2C_ENV_EEPROM_BUS
88*4882a593Smuzhiyun	  if you have an Environment on an EEPROM reached over
89*4882a593Smuzhiyun	  I2C muxes, you can define here, how to reach this
90*4882a593Smuzhiyun	  EEPROM. For example:
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun	  #define CONFIG_I2C_ENV_EEPROM_BUS	  1
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun	  EEPROM which holds the environment, is reached over
95*4882a593Smuzhiyun	  a pca9547 i2c mux with address 0x70, channel 3.
96*4882a593Smuzhiyun
97*4882a593Smuzhiyunconfig ENV_IS_IN_FAT
98*4882a593Smuzhiyun	bool "Environment is in a FAT filesystem"
99*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
100*4882a593Smuzhiyun	select FAT_WRITE
101*4882a593Smuzhiyun	help
102*4882a593Smuzhiyun	  Define this if you want to use the FAT file system for the environment.
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	  - CONFIG_FAT_WRITE:
105*4882a593Smuzhiyun	  This must be enabled. Otherwise it cannot save the environment file.
106*4882a593Smuzhiyun
107*4882a593Smuzhiyunconfig ENV_IS_IN_FLASH
108*4882a593Smuzhiyun	bool "Environment in flash memory"
109*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
110*4882a593Smuzhiyun	help
111*4882a593Smuzhiyun	  Define this if you have a flash device which you want to use for the
112*4882a593Smuzhiyun	  environment.
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun	  a) The environment occupies one whole flash sector, which is
115*4882a593Smuzhiyun	   "embedded" in the text segment with the U-Boot code. This
116*4882a593Smuzhiyun	   happens usually with "bottom boot sector" or "top boot
117*4882a593Smuzhiyun	   sector" type flash chips, which have several smaller
118*4882a593Smuzhiyun	   sectors at the start or the end. For instance, such a
119*4882a593Smuzhiyun	   layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In
120*4882a593Smuzhiyun	   such a case you would place the environment in one of the
121*4882a593Smuzhiyun	   4 kB sectors - with U-Boot code before and after it. With
122*4882a593Smuzhiyun	   "top boot sector" type flash chips, you would put the
123*4882a593Smuzhiyun	   environment in one of the last sectors, leaving a gap
124*4882a593Smuzhiyun	   between U-Boot and the environment.
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun	  CONFIG_ENV_OFFSET:
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun	   Offset of environment data (variable area) to the
129*4882a593Smuzhiyun	   beginning of flash memory; for instance, with bottom boot
130*4882a593Smuzhiyun	   type flash chips the second sector can be used: the offset
131*4882a593Smuzhiyun	   for this sector is given here.
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun	   CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE.
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun	  CONFIG_ENV_ADDR:
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun	   This is just another way to specify the start address of
138*4882a593Smuzhiyun	   the flash sector containing the environment (instead of
139*4882a593Smuzhiyun	   CONFIG_ENV_OFFSET).
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun	  CONFIG_ENV_SECT_SIZE:
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun	   Size of the sector containing the environment.
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun	  b) Sometimes flash chips have few, equal sized, BIG sectors.
147*4882a593Smuzhiyun	   In such a case you don't want to spend a whole sector for
148*4882a593Smuzhiyun	   the environment.
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun	  CONFIG_ENV_SIZE:
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun	   If you use this in combination with CONFIG_ENV_IS_IN_FLASH
153*4882a593Smuzhiyun	   and CONFIG_ENV_SECT_SIZE, you can specify to use only a part
154*4882a593Smuzhiyun	   of this flash sector for the environment. This saves
155*4882a593Smuzhiyun	   memory for the RAM copy of the environment.
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun	   It may also save flash memory if you decide to use this
158*4882a593Smuzhiyun	   when your environment is "embedded" within U-Boot code,
159*4882a593Smuzhiyun	   since then the remainder of the flash sector could be used
160*4882a593Smuzhiyun	   for U-Boot code. It should be pointed out that this is
161*4882a593Smuzhiyun	   STRONGLY DISCOURAGED from a robustness point of view:
162*4882a593Smuzhiyun	   updating the environment in flash makes it always
163*4882a593Smuzhiyun	   necessary to erase the WHOLE sector. If something goes
164*4882a593Smuzhiyun	   wrong before the contents has been restored from a copy in
165*4882a593Smuzhiyun	   RAM, your target system will be dead.
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun	  CONFIG_ENV_ADDR_REDUND
168*4882a593Smuzhiyun	  CONFIG_ENV_SIZE_REDUND
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun	   These settings describe a second storage area used to hold
171*4882a593Smuzhiyun	   a redundant copy of the environment data, so that there is
172*4882a593Smuzhiyun	   a valid backup copy in case there is a power failure during
173*4882a593Smuzhiyun	   a "saveenv" operation.
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun	  BE CAREFUL! Any changes to the flash layout, and some changes to the
176*4882a593Smuzhiyun	  source code will make it necessary to adapt <board>/u-boot.lds*
177*4882a593Smuzhiyun	  accordingly!
178*4882a593Smuzhiyun
179*4882a593Smuzhiyunconfig ENV_IS_IN_MMC
180*4882a593Smuzhiyun	bool "Environment in an MMC device"
181*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
182*4882a593Smuzhiyun	help
183*4882a593Smuzhiyun	  Define this if you have an MMC device which you want to use for the
184*4882a593Smuzhiyun	  environment.
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun	  CONFIG_SYS_MMC_ENV_DEV:
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun	  Specifies which MMC device the environment is stored in.
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun	  CONFIG_SYS_MMC_ENV_PART (optional):
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun	  Specifies which MMC partition the environment is stored in. If not
193*4882a593Smuzhiyun	  set, defaults to partition 0, the user area. Common values might be
194*4882a593Smuzhiyun	  1 (first MMC boot partition), 2 (second MMC boot partition).
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun	  CONFIG_ENV_OFFSET:
197*4882a593Smuzhiyun	  CONFIG_ENV_SIZE:
198*4882a593Smuzhiyun
199*4882a593Smuzhiyun	  These two #defines specify the offset and size of the environment
200*4882a593Smuzhiyun	  area within the specified MMC device.
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun	  If offset is positive (the usual case), it is treated as relative to
203*4882a593Smuzhiyun	  the start of the MMC partition. If offset is negative, it is treated
204*4882a593Smuzhiyun	  as relative to the end of the MMC partition. This can be useful if
205*4882a593Smuzhiyun	  your board may be fitted with different MMC devices, which have
206*4882a593Smuzhiyun	  different sizes for the MMC partitions, and you always want the
207*4882a593Smuzhiyun	  environment placed at the very end of the partition, to leave the
208*4882a593Smuzhiyun	  maximum possible space before it, to store other data.
209*4882a593Smuzhiyun
210*4882a593Smuzhiyun	  These two values are in units of bytes, but must be aligned to an
211*4882a593Smuzhiyun	  MMC sector boundary.
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun	  CONFIG_ENV_OFFSET_REDUND (optional):
214*4882a593Smuzhiyun
215*4882a593Smuzhiyun	  Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
216*4882a593Smuzhiyun	  hold a redundant copy of the environment data. This provides a
217*4882a593Smuzhiyun	  valid backup copy in case the other copy is corrupted, e.g. due
218*4882a593Smuzhiyun	  to a power failure during a "saveenv" operation.
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun	  This value may also be positive or negative; this is handled in the
221*4882a593Smuzhiyun	  same way as CONFIG_ENV_OFFSET.
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun	  This value is also in units of bytes, but must also be aligned to
224*4882a593Smuzhiyun	  an MMC sector boundary.
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun	  CONFIG_ENV_SIZE_REDUND (optional):
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun	  This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is
229*4882a593Smuzhiyun	  set. If this value is set, it must be set to the same value as
230*4882a593Smuzhiyun	  CONFIG_ENV_SIZE.
231*4882a593Smuzhiyun
232*4882a593Smuzhiyunconfig ENV_IS_IN_NAND
233*4882a593Smuzhiyun	bool "Environment in a NAND device"
234*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
235*4882a593Smuzhiyun	help
236*4882a593Smuzhiyun	  Define this if you have a NAND device which you want to use for the
237*4882a593Smuzhiyun	  environment.
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun	  - CONFIG_ENV_OFFSET:
240*4882a593Smuzhiyun	  - CONFIG_ENV_SIZE:
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun	  These two #defines specify the offset and size of the environment
243*4882a593Smuzhiyun	  area within the first NAND device.  CONFIG_ENV_OFFSET must be
244*4882a593Smuzhiyun	  aligned to an erase block boundary.
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun	  - CONFIG_ENV_OFFSET_REDUND (optional):
247*4882a593Smuzhiyun
248*4882a593Smuzhiyun	  This setting describes a second storage area of CONFIG_ENV_SIZE
249*4882a593Smuzhiyun	  size used to hold a redundant copy of the environment data, so
250*4882a593Smuzhiyun	  that there is a valid backup copy in case there is a power failure
251*4882a593Smuzhiyun	  during a "saveenv" operation.	 CONFIG_ENV_OFFSET_REDUND must be
252*4882a593Smuzhiyun	  aligned to an erase block boundary.
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun	  - CONFIG_ENV_RANGE (optional):
255*4882a593Smuzhiyun
256*4882a593Smuzhiyun	  Specifies the length of the region in which the environment
257*4882a593Smuzhiyun	  can be written.  This should be a multiple of the NAND device's
258*4882a593Smuzhiyun	  block size.  Specifying a range with more erase blocks than
259*4882a593Smuzhiyun	  are needed to hold CONFIG_ENV_SIZE allows bad blocks within
260*4882a593Smuzhiyun	  the range to be avoided.
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun	  - CONFIG_ENV_OFFSET_OOB (optional):
263*4882a593Smuzhiyun
264*4882a593Smuzhiyun	  Enables support for dynamically retrieving the offset of the
265*4882a593Smuzhiyun	  environment from block zero's out-of-band data.  The
266*4882a593Smuzhiyun	  "nand env.oob" command can be used to record this offset.
267*4882a593Smuzhiyun	  Currently, CONFIG_ENV_OFFSET_REDUND is not supported when
268*4882a593Smuzhiyun	  using CONFIG_ENV_OFFSET_OOB.
269*4882a593Smuzhiyun
270*4882a593Smuzhiyunconfig ENV_IS_IN_NVRAM
271*4882a593Smuzhiyun	bool "Environment in a non-volatile RAM"
272*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
273*4882a593Smuzhiyun	help
274*4882a593Smuzhiyun	  Define this if you have some non-volatile memory device
275*4882a593Smuzhiyun	  (NVRAM, battery buffered SRAM) which you want to use for the
276*4882a593Smuzhiyun	  environment.
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun	  - CONFIG_ENV_ADDR:
279*4882a593Smuzhiyun	  - CONFIG_ENV_SIZE:
280*4882a593Smuzhiyun
281*4882a593Smuzhiyun	  These two #defines are used to determine the memory area you
282*4882a593Smuzhiyun	  want to use for environment. It is assumed that this memory
283*4882a593Smuzhiyun	  can just be read and written to, without any special
284*4882a593Smuzhiyun	  provision.
285*4882a593Smuzhiyun
286*4882a593Smuzhiyunconfig ENV_IS_IN_ONENAND
287*4882a593Smuzhiyun	bool "Environment is in OneNAND"
288*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
289*4882a593Smuzhiyun	help
290*4882a593Smuzhiyun	  Define this if you want to put your local device's environment in
291*4882a593Smuzhiyun	  OneNAND.
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun	  - CONFIG_ENV_ADDR:
294*4882a593Smuzhiyun	  - CONFIG_ENV_SIZE:
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun	  These two #defines are used to determine the device range you
297*4882a593Smuzhiyun	  want to use for environment. It is assumed that this memory
298*4882a593Smuzhiyun	  can just be read and written to, without any special
299*4882a593Smuzhiyun	  provision.
300*4882a593Smuzhiyun
301*4882a593Smuzhiyunconfig ENV_IS_IN_REMOTE
302*4882a593Smuzhiyun	bool "Environment is in remove memory space"
303*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
304*4882a593Smuzhiyun	help
305*4882a593Smuzhiyun	  Define this if you have a remote memory space which you
306*4882a593Smuzhiyun	  want to use for the local device's environment.
307*4882a593Smuzhiyun
308*4882a593Smuzhiyun	  - CONFIG_ENV_ADDR:
309*4882a593Smuzhiyun	  - CONFIG_ENV_SIZE:
310*4882a593Smuzhiyun
311*4882a593Smuzhiyun	  These two #defines specify the address and size of the
312*4882a593Smuzhiyun	  environment area within the remote memory space. The
313*4882a593Smuzhiyun	  local device can get the environment from remote memory
314*4882a593Smuzhiyun	  space by SRIO or PCIE links.
315*4882a593Smuzhiyun
316*4882a593Smuzhiyunconfig ENV_IS_IN_SPI_FLASH
317*4882a593Smuzhiyun	bool "Environment is in SPI flash"
318*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
319*4882a593Smuzhiyun	help
320*4882a593Smuzhiyun	  Define this if you have a SPI Flash memory device which you
321*4882a593Smuzhiyun	  want to use for the environment.
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun	  - CONFIG_ENV_OFFSET:
324*4882a593Smuzhiyun	  - CONFIG_ENV_SIZE:
325*4882a593Smuzhiyun
326*4882a593Smuzhiyun	  These two #defines specify the offset and size of the
327*4882a593Smuzhiyun	  environment area within the SPI Flash. CONFIG_ENV_OFFSET must be
328*4882a593Smuzhiyun	  aligned to an erase sector boundary.
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun	  - CONFIG_ENV_SECT_SIZE:
331*4882a593Smuzhiyun
332*4882a593Smuzhiyun	  Define the SPI flash's sector size.
333*4882a593Smuzhiyun
334*4882a593Smuzhiyun	  - CONFIG_ENV_OFFSET_REDUND (optional):
335*4882a593Smuzhiyun
336*4882a593Smuzhiyun	  This setting describes a second storage area of CONFIG_ENV_SIZE
337*4882a593Smuzhiyun	  size used to hold a redundant copy of the environment data, so
338*4882a593Smuzhiyun	  that there is a valid backup copy in case there is a power failure
339*4882a593Smuzhiyun	  during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
340*4882a593Smuzhiyun	  aligned to an erase sector boundary.
341*4882a593Smuzhiyun
342*4882a593Smuzhiyun	  - CONFIG_ENV_SPI_BUS (optional):
343*4882a593Smuzhiyun	  - CONFIG_ENV_SPI_CS (optional):
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun	  Define the SPI bus and chip select. If not defined they will be 0.
346*4882a593Smuzhiyun
347*4882a593Smuzhiyun	  - CONFIG_ENV_SPI_MAX_HZ (optional):
348*4882a593Smuzhiyun
349*4882a593Smuzhiyun	  Define the SPI max work clock. If not defined then use 1MHz.
350*4882a593Smuzhiyun
351*4882a593Smuzhiyun	  - CONFIG_ENV_SPI_MODE (optional):
352*4882a593Smuzhiyun
353*4882a593Smuzhiyun	  Define the SPI work mode. If not defined then use SPI_MODE_3.
354*4882a593Smuzhiyun
355*4882a593Smuzhiyunconfig ENV_IS_IN_UBI
356*4882a593Smuzhiyun	bool "Environment in a UBI volume"
357*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST
358*4882a593Smuzhiyun	help
359*4882a593Smuzhiyun	  Define this if you have an UBI volume that you want to use for the
360*4882a593Smuzhiyun	  environment.  This has the benefit of wear-leveling the environment
361*4882a593Smuzhiyun	  accesses, which is important on NAND.
362*4882a593Smuzhiyun
363*4882a593Smuzhiyun	  - CONFIG_ENV_UBI_PART:
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun	  Define this to a string that is the mtd partition containing the UBI.
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun	  - CONFIG_ENV_UBI_VOLUME:
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun	  Define this to the name of the volume that you want to store the
370*4882a593Smuzhiyun	  environment in.
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun	  - CONFIG_ENV_UBI_VOLUME_REDUND:
373*4882a593Smuzhiyun
374*4882a593Smuzhiyun	  Define this to the name of another volume to store a second copy of
375*4882a593Smuzhiyun	  the environment in.  This will enable redundant environments in UBI.
376*4882a593Smuzhiyun	  It is assumed that both volumes are in the same MTD partition.
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun	  - CONFIG_UBI_SILENCE_MSG
379*4882a593Smuzhiyun	  - CONFIG_UBIFS_SILENCE_MSG
380*4882a593Smuzhiyun
381*4882a593Smuzhiyun	  You will probably want to define these to avoid a really noisy system
382*4882a593Smuzhiyun	  when storing the env in UBI.
383*4882a593Smuzhiyun
384*4882a593Smuzhiyunconfig ENV_IS_IN_BLK_DEV
385*4882a593Smuzhiyun	bool "Environment in a block device"
386*4882a593Smuzhiyun	depends on !CHAIN_OF_TRUST && BLK
387*4882a593Smuzhiyun	help
388*4882a593Smuzhiyun	  Define this if you have an Block device which you want to use for the
389*4882a593Smuzhiyun	  environment.
390*4882a593Smuzhiyun
391*4882a593Smuzhiyun	  - CONFIG_ENV_OFFSET:
392*4882a593Smuzhiyun	  - CONFIG_ENV_SIZE:
393*4882a593Smuzhiyun
394*4882a593Smuzhiyun	  These two #defines specify the offset and size of the environment
395*4882a593Smuzhiyun	  area within the specified Block device. These two values are in units
396*4882a593Smuzhiyun	  of bytes, but must be aligned to an Block sector boundary.
397*4882a593Smuzhiyun
398*4882a593Smuzhiyun	  - CONFIG_ENV_OFFSET_REDUND (optional):
399*4882a593Smuzhiyun
400*4882a593Smuzhiyun	  Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
401*4882a593Smuzhiyun	  hold a redundant copy of the environment data. This provides a
402*4882a593Smuzhiyun	  valid backup copy in case the other copy is corrupted, e.g. due
403*4882a593Smuzhiyun	  to a power failure during a "saveenv" operation. This is handled
404*4882a593Smuzhiyun	  in the same way as CONFIG_ENV_OFFSET.
405*4882a593Smuzhiyun
406*4882a593Smuzhiyun	  - CONFIG_ENV_SIZE_REDUND (optional):
407*4882a593Smuzhiyun
408*4882a593Smuzhiyun	  This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is
409*4882a593Smuzhiyun	  set. If this value is set, it must be set to the same value as
410*4882a593Smuzhiyun	  CONFIG_ENV_SIZE.
411*4882a593Smuzhiyun
412*4882a593Smuzhiyun	  - CONFIG_SYS_MMC_ENV_PART (optional):
413*4882a593Smuzhiyun
414*4882a593Smuzhiyun	  Specifies which MMC partition the environment is stored in. If not
415*4882a593Smuzhiyun	  set, defaults to partition 0, the user area. Common values might be
416*4882a593Smuzhiyun	  1 (first MMC boot partition), 2 (second MMC boot partition).
417*4882a593Smuzhiyun
418*4882a593Smuzhiyunendchoice
419*4882a593Smuzhiyun
420*4882a593Smuzhiyunconfig ENV_AES
421*4882a593Smuzhiyun	bool "AES-128 encryption for stored environment (DEPRECATED)"
422*4882a593Smuzhiyun	help
423*4882a593Smuzhiyun	  Enable this to have the on-device stored environment be encrypted
424*4882a593Smuzhiyun	  with AES-128.  The implementation here however has security
425*4882a593Smuzhiyun	  complications and is not recommended for use.  Please see
426*4882a593Smuzhiyun	  CVE-2017-3225 and CVE-2017-3226 for more details.
427*4882a593Smuzhiyun
428*4882a593Smuzhiyunconfig ENV_FAT_INTERFACE
429*4882a593Smuzhiyun	string "Name of the block device for the environment"
430*4882a593Smuzhiyun	depends on ENV_IS_IN_FAT
431*4882a593Smuzhiyun	default "mmc" if TI_COMMON_CMD_OPTIONS || ARCH_ZYNQMP || ARCH_AT91
432*4882a593Smuzhiyun	help
433*4882a593Smuzhiyun	  Define this to a string that is the name of the block device.
434*4882a593Smuzhiyun
435*4882a593Smuzhiyunconfig ENV_FAT_DEVICE_AND_PART
436*4882a593Smuzhiyun	string "Device and partition for where to store the environemt in FAT"
437*4882a593Smuzhiyun	depends on ENV_IS_IN_FAT
438*4882a593Smuzhiyun	default "0:1" if TI_COMMON_CMD_OPTIONS
439*4882a593Smuzhiyun	default "0:auto" if ARCH_ZYNQMP
440*4882a593Smuzhiyun	default "0" if ARCH_AT91
441*4882a593Smuzhiyun	help
442*4882a593Smuzhiyun	  Define this to a string to specify the partition of the device. It can
443*4882a593Smuzhiyun	  be as following:
444*4882a593Smuzhiyun
445*4882a593Smuzhiyun	    "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
446*4882a593Smuzhiyun	       - "D:P": device D partition P. Error occurs if device D has no
447*4882a593Smuzhiyun	                partition table.
448*4882a593Smuzhiyun	       - "D:0": device D.
449*4882a593Smuzhiyun	       - "D" or "D:": device D partition 1 if device D has partition
450*4882a593Smuzhiyun	                      table, or the whole device D if has no partition
451*4882a593Smuzhiyun	                      table.
452*4882a593Smuzhiyun	       - "D:auto": first partition in device D with bootable flag set.
453*4882a593Smuzhiyun	                   If none, first valid partition in device D. If no
454*4882a593Smuzhiyun	                   partition table then means device D.
455*4882a593Smuzhiyun
456*4882a593Smuzhiyunconfig ENV_FAT_FILE
457*4882a593Smuzhiyun	string "Name of the FAT file to use for the environemnt"
458*4882a593Smuzhiyun	depends on ENV_IS_IN_FAT
459*4882a593Smuzhiyun	default "uboot.env"
460*4882a593Smuzhiyun	help
461*4882a593Smuzhiyun	  It's a string of the FAT file name. This file use to store the
462*4882a593Smuzhiyun	  environment.
463*4882a593Smuzhiyun
464*4882a593Smuzhiyunif ARCH_SUNXI
465*4882a593Smuzhiyun
466*4882a593Smuzhiyunconfig ENV_OFFSET
467*4882a593Smuzhiyun	hex "Environment Offset"
468*4882a593Smuzhiyun	depends on !ENV_IS_IN_UBI
469*4882a593Smuzhiyun	depends on !ENV_IS_NOWHERE
470*4882a593Smuzhiyun	default 0x88000 if ARCH_SUNXI
471*4882a593Smuzhiyun	help
472*4882a593Smuzhiyun	  Offset from the start of the device (or partition)
473*4882a593Smuzhiyun
474*4882a593Smuzhiyunconfig ENV_SIZE
475*4882a593Smuzhiyun	hex "Environment Size"
476*4882a593Smuzhiyun	depends on !ENV_IS_NOWHERE
477*4882a593Smuzhiyun	default 0x20000 if ARCH_SUNXI
478*4882a593Smuzhiyun	help
479*4882a593Smuzhiyun	  Size of the environment storage area
480*4882a593Smuzhiyun
481*4882a593Smuzhiyunconfig ENV_UBI_PART
482*4882a593Smuzhiyun	string "UBI partition name"
483*4882a593Smuzhiyun	depends on ENV_IS_IN_UBI
484*4882a593Smuzhiyun	help
485*4882a593Smuzhiyun	  MTD partition containing the UBI device
486*4882a593Smuzhiyun
487*4882a593Smuzhiyunconfig ENV_UBI_VOLUME
488*4882a593Smuzhiyun	string "UBI volume name"
489*4882a593Smuzhiyun	depends on ENV_IS_IN_UBI
490*4882a593Smuzhiyun	help
491*4882a593Smuzhiyun	  Name of the volume that you want to store the environment in.
492*4882a593Smuzhiyun
493*4882a593Smuzhiyunendif
494*4882a593Smuzhiyun
495*4882a593Smuzhiyunif ARCH_ROCKCHIP
496*4882a593Smuzhiyun
497*4882a593Smuzhiyunconfig ENV_OFFSET
498*4882a593Smuzhiyun	hex "Environment offset"
499*4882a593Smuzhiyun	depends on !ENV_IS_IN_UBI
500*4882a593Smuzhiyun	depends on !ENV_IS_NOWHERE || ENVF
501*4882a593Smuzhiyun	default 0x0 if ENVF
502*4882a593Smuzhiyun	default 0x3f8000
503*4882a593Smuzhiyun	help
504*4882a593Smuzhiyun	  Offset from the start of the device (or partition)
505*4882a593Smuzhiyun
506*4882a593Smuzhiyunconfig ENV_SIZE
507*4882a593Smuzhiyun	hex "Environment size"
508*4882a593Smuzhiyun	default 0x8000
509*4882a593Smuzhiyun	help
510*4882a593Smuzhiyun	  Size of the environment storage area
511*4882a593Smuzhiyun
512*4882a593Smuzhiyunif ENVF
513*4882a593Smuzhiyunconfig ENV_OFFSET_REDUND
514*4882a593Smuzhiyun	hex "Environment redundant(backup) offset"
515*4882a593Smuzhiyun	default ENV_OFFSET
516*4882a593Smuzhiyun	help
517*4882a593Smuzhiyun	  Redundant(backup) offset from the start of the device (or partition),
518*4882a593Smuzhiyun	  this size must be ENV_SIZE.
519*4882a593Smuzhiyun
520*4882a593Smuzhiyunif CMD_NAND || MTD_SPI_NAND
521*4882a593Smuzhiyunconfig ENV_NAND_OFFSET
522*4882a593Smuzhiyun	hex "Environment offset in Nand"
523*4882a593Smuzhiyun	default 0x0
524*4882a593Smuzhiyun
525*4882a593Smuzhiyunconfig ENV_NAND_OFFSET_REDUND
526*4882a593Smuzhiyun	hex "Environment redundant(backup) offset in Nand"
527*4882a593Smuzhiyun	default ENV_NAND_OFFSET
528*4882a593Smuzhiyun
529*4882a593Smuzhiyunconfig ENV_NAND_SIZE
530*4882a593Smuzhiyun	hex "Environment size in Nand"
531*4882a593Smuzhiyun	default 0x40000
532*4882a593Smuzhiyunendif
533*4882a593Smuzhiyun
534*4882a593Smuzhiyunif SPI_FLASH
535*4882a593Smuzhiyunconfig ENV_NOR_OFFSET
536*4882a593Smuzhiyun	hex "Environment offset in Nor"
537*4882a593Smuzhiyun	default 0x0
538*4882a593Smuzhiyun
539*4882a593Smuzhiyunconfig ENV_NOR_OFFSET_REDUND
540*4882a593Smuzhiyun	hex "Environment redundant(backup) offset in Nor"
541*4882a593Smuzhiyun	default ENV_NOR_OFFSET
542*4882a593Smuzhiyun
543*4882a593Smuzhiyunconfig ENV_NOR_SIZE
544*4882a593Smuzhiyun	hex "Environment size in Nor"
545*4882a593Smuzhiyun	default 0x10000
546*4882a593Smuzhiyunendif
547*4882a593Smuzhiyun
548*4882a593Smuzhiyunendif
549*4882a593Smuzhiyunendif
550*4882a593Smuzhiyun
551*4882a593Smuzhiyunendmenu
552