Kconfig 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854
  1. menu "Environment"
  2. config ENV_SUPPORT
  3. def_bool y
  4. config ENV_SOURCE_FILE
  5. string "Environment file to use"
  6. default ""
  7. help
  8. This sets the basename to use to generate the default environment.
  9. This a text file as described in doc/usage/environment.rst
  10. The file must be in the board directory and have a .env extension, so
  11. the resulting filename is typically
  12. board/<vendor>/<board>/<CONFIG_ENV_SOURCE_FILE>.env
  13. If the file is not present, an error is produced.
  14. If this CONFIG is empty, U-Boot uses CONFIG SYS_BOARD as a default, if
  15. the file board/<vendor>/<board>/<SYS_BOARD>.env exists. Otherwise the
  16. environment is assumed to come from the ad-hoc
  17. CONFIG_EXTRA_ENV_SETTINGS #define
  18. config SAVEENV
  19. def_bool y if CMD_SAVEENV
  20. config ENV_OVERWRITE
  21. bool "Enable overwriting environment"
  22. help
  23. Use this to permit overriding of certain environmental variables
  24. like Ethernet and Serial
  25. config ENV_IS_NOWHERE
  26. bool "Environment is not stored"
  27. default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
  28. !ENV_IS_IN_FAT && !ENV_IS_IN_FLASH && \
  29. !ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \
  30. !ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \
  31. !ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \
  32. !ENV_IS_IN_UBI
  33. help
  34. Define this if you don't want to or can't have an environment stored
  35. on a storage medium. In this case the environment will still exist
  36. while U-Boot is running, but once U-Boot exits it will not be
  37. stored. U-Boot will therefore always start up with a default
  38. environment.
  39. config ENV_IS_IN_EEPROM
  40. bool "Environment in EEPROM"
  41. depends on !CHAIN_OF_TRUST
  42. help
  43. Use this if you have an EEPROM or similar serial access
  44. device and a driver for it.
  45. - CONFIG_ENV_OFFSET:
  46. - CONFIG_ENV_SIZE:
  47. These two #defines specify the offset and size of the
  48. environment area within the total memory of your EEPROM.
  49. Note that we consider the length of the address field to
  50. still be one byte because the extra address bits are hidden
  51. in the chip address.
  52. - CONFIG_I2C_ENV_EEPROM_BUS
  53. if you have an Environment on an EEPROM reached over
  54. I2C muxes, you can define here, how to reach this
  55. EEPROM. For example:
  56. #define CONFIG_I2C_ENV_EEPROM_BUS 1
  57. EEPROM which holds the environment, is reached over
  58. a pca9547 i2c mux with address 0x70, channel 3.
  59. config ENV_IS_IN_FAT
  60. bool "Environment is in a FAT filesystem"
  61. depends on !CHAIN_OF_TRUST
  62. default y if ARCH_BCM283X
  63. default y if ARCH_SUNXI && MMC
  64. default y if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
  65. select FS_FAT
  66. select FAT_WRITE
  67. help
  68. Define this if you want to use the FAT file system for the environment.
  69. config ENV_IS_IN_EXT4
  70. bool "Environment is in a EXT4 filesystem"
  71. depends on !CHAIN_OF_TRUST
  72. select FS_EXT4
  73. select EXT4_WRITE
  74. help
  75. Define this if you want to use the EXT4 file system for the environment.
  76. config ENV_IS_IN_FLASH
  77. bool "Environment in flash memory"
  78. depends on !CHAIN_OF_TRUST
  79. default y if ARCH_CINTEGRATOR
  80. default y if ARCH_INTEGRATOR_CP
  81. default y if M548x || M547x || M5282
  82. default y if MCF532x || MCF52x2
  83. default y if MPC86xx || MPC83xx
  84. default y if ARCH_MPC8548
  85. default y if SH && !CPU_SH4
  86. help
  87. Define this if you have a flash device which you want to use for the
  88. environment.
  89. a) The environment occupies one whole flash sector, which is
  90. "embedded" in the text segment with the U-Boot code. This
  91. happens usually with "bottom boot sector" or "top boot
  92. sector" type flash chips, which have several smaller
  93. sectors at the start or the end. For instance, such a
  94. layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In
  95. such a case you would place the environment in one of the
  96. 4 kB sectors - with U-Boot code before and after it. With
  97. "top boot sector" type flash chips, you would put the
  98. environment in one of the last sectors, leaving a gap
  99. between U-Boot and the environment.
  100. CONFIG_ENV_OFFSET:
  101. Offset of environment data (variable area) to the
  102. beginning of flash memory; for instance, with bottom boot
  103. type flash chips the second sector can be used: the offset
  104. for this sector is given here.
  105. CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE.
  106. CONFIG_ENV_ADDR:
  107. This is just another way to specify the start address of
  108. the flash sector containing the environment (instead of
  109. CONFIG_ENV_OFFSET).
  110. CONFIG_ENV_SECT_SIZE:
  111. Size of the sector containing the environment.
  112. b) Sometimes flash chips have few, equal sized, BIG sectors.
  113. In such a case you don't want to spend a whole sector for
  114. the environment.
  115. CONFIG_ENV_SIZE:
  116. If you use this in combination with CONFIG_ENV_IS_IN_FLASH
  117. and CONFIG_ENV_SECT_SIZE, you can specify to use only a part
  118. of this flash sector for the environment. This saves
  119. memory for the RAM copy of the environment.
  120. It may also save flash memory if you decide to use this
  121. when your environment is "embedded" within U-Boot code,
  122. since then the remainder of the flash sector could be used
  123. for U-Boot code. It should be pointed out that this is
  124. STRONGLY DISCOURAGED from a robustness point of view:
  125. updating the environment in flash makes it always
  126. necessary to erase the WHOLE sector. If something goes
  127. wrong before the contents has been restored from a copy in
  128. RAM, your target system will be dead.
  129. CONFIG_ENV_ADDR_REDUND
  130. These settings describe a second storage area used to hold
  131. a redundant copy of the environment data, so that there is
  132. a valid backup copy in case there is a power failure during
  133. a "saveenv" operation.
  134. BE CAREFUL! Any changes to the flash layout, and some changes to the
  135. source code will make it necessary to adapt <board>/u-boot.lds*
  136. accordingly!
  137. config ENV_IS_IN_MMC
  138. bool "Environment in an MMC device"
  139. depends on !CHAIN_OF_TRUST
  140. depends on MMC
  141. default y if ARCH_EXYNOS4
  142. default y if MX6SX || MX7D
  143. default y if TEGRA30 || TEGRA124
  144. default y if TEGRA_ARMV8_COMMON
  145. help
  146. Define this if you have an MMC device which you want to use for the
  147. environment.
  148. CONFIG_SYS_MMC_ENV_DEV:
  149. Specifies which MMC device the environment is stored in.
  150. CONFIG_SYS_MMC_ENV_PART (optional):
  151. Specifies which MMC partition the environment is stored in. If not
  152. set, defaults to partition 0, the user area. Common values might be
  153. 1 (first MMC boot partition), 2 (second MMC boot partition).
  154. CONFIG_ENV_OFFSET:
  155. CONFIG_ENV_SIZE:
  156. These two #defines specify the offset and size of the environment
  157. area within the specified MMC device.
  158. If offset is positive (the usual case), it is treated as relative to
  159. the start of the MMC partition. If offset is negative, it is treated
  160. as relative to the end of the MMC partition. This can be useful if
  161. your board may be fitted with different MMC devices, which have
  162. different sizes for the MMC partitions, and you always want the
  163. environment placed at the very end of the partition, to leave the
  164. maximum possible space before it, to store other data.
  165. These two values are in units of bytes, but must be aligned to an
  166. MMC sector boundary.
  167. CONFIG_ENV_OFFSET_REDUND (optional):
  168. Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
  169. hold a redundant copy of the environment data. This provides a
  170. valid backup copy in case the other copy is corrupted, e.g. due
  171. to a power failure during a "saveenv" operation.
  172. This value may also be positive or negative; this is handled in the
  173. same way as CONFIG_ENV_OFFSET.
  174. In case CONFIG_SYS_MMC_ENV_PART is 1 (i.e. environment in eMMC boot
  175. partition) then setting CONFIG_ENV_OFFSET_REDUND to the same value
  176. as CONFIG_ENV_OFFSET makes use of the second eMMC boot partition for
  177. the redundant environment copy.
  178. This value is also in units of bytes, but must also be aligned to
  179. an MMC sector boundary.
  180. config ENV_IS_IN_NAND
  181. bool "Environment in a NAND device"
  182. depends on !CHAIN_OF_TRUST
  183. help
  184. Define this if you have a NAND device which you want to use for the
  185. environment.
  186. - CONFIG_ENV_OFFSET:
  187. - CONFIG_ENV_SIZE:
  188. These two #defines specify the offset and size of the environment
  189. area within the first NAND device. CONFIG_ENV_OFFSET must be
  190. aligned to an erase block boundary.
  191. - CONFIG_ENV_OFFSET_REDUND (optional):
  192. This setting describes a second storage area of CONFIG_ENV_SIZE
  193. size used to hold a redundant copy of the environment data, so
  194. that there is a valid backup copy in case there is a power failure
  195. during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
  196. aligned to an erase block boundary.
  197. - CONFIG_ENV_RANGE (optional):
  198. Specifies the length of the region in which the environment
  199. can be written. This should be a multiple of the NAND device's
  200. block size. Specifying a range with more erase blocks than
  201. are needed to hold CONFIG_ENV_SIZE allows bad blocks within
  202. the range to be avoided.
  203. - CONFIG_ENV_OFFSET_OOB (optional):
  204. Enables support for dynamically retrieving the offset of the
  205. environment from block zero's out-of-band data. The
  206. "nand env.oob" command can be used to record this offset.
  207. Currently, CONFIG_ENV_OFFSET_REDUND is not supported when
  208. using CONFIG_ENV_OFFSET_OOB.
  209. config ENV_IS_IN_NVRAM
  210. bool "Environment in a non-volatile RAM"
  211. depends on !CHAIN_OF_TRUST
  212. help
  213. Define this if you have some non-volatile memory device
  214. (NVRAM, battery buffered SRAM) which you want to use for the
  215. environment.
  216. - CONFIG_ENV_ADDR:
  217. - CONFIG_ENV_SIZE:
  218. These two #defines are used to determine the memory area you
  219. want to use for environment. It is assumed that this memory
  220. can just be read and written to, without any special
  221. provision.
  222. config ENV_IS_IN_ONENAND
  223. bool "Environment is in OneNAND"
  224. depends on !CHAIN_OF_TRUST
  225. help
  226. Define this if you want to put your local device's environment in
  227. OneNAND.
  228. - CONFIG_ENV_ADDR:
  229. - CONFIG_ENV_SIZE:
  230. These two #defines are used to determine the device range you
  231. want to use for environment. It is assumed that this memory
  232. can just be read and written to, without any special
  233. provision.
  234. config ENV_IS_IN_REMOTE
  235. bool "Environment is in remote memory space"
  236. depends on !CHAIN_OF_TRUST
  237. help
  238. Define this if you have a remote memory space which you
  239. want to use for the local device's environment.
  240. - CONFIG_ENV_ADDR:
  241. - CONFIG_ENV_SIZE:
  242. These two #defines specify the address and size of the
  243. environment area within the remote memory space. The
  244. local device can get the environment from remote memory
  245. space by SRIO or PCIE links.
  246. config ENV_IS_IN_SPI_FLASH
  247. bool "Environment is in SPI flash"
  248. depends on !CHAIN_OF_TRUST && SPI
  249. default y if ARMADA_XP
  250. default y if INTEL_BAYTRAIL
  251. default y if INTEL_BRASWELL
  252. default y if INTEL_BROADWELL
  253. default y if NORTHBRIDGE_INTEL_IVYBRIDGE
  254. default y if INTEL_QUARK
  255. default y if INTEL_QUEENSBAY
  256. help
  257. Define this if you have a SPI Flash memory device which you
  258. want to use for the environment.
  259. - CONFIG_ENV_OFFSET:
  260. - CONFIG_ENV_SIZE:
  261. These two #defines specify the offset and size of the
  262. environment area within the SPI Flash. CONFIG_ENV_OFFSET must be
  263. aligned to an erase sector boundary.
  264. - CONFIG_ENV_SECT_SIZE:
  265. Define the SPI flash's sector size.
  266. - CONFIG_ENV_OFFSET_REDUND (optional):
  267. This setting describes a second storage area of CONFIG_ENV_SIZE
  268. size used to hold a redundant copy of the environment data, so
  269. that there is a valid backup copy in case there is a power failure
  270. during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be
  271. aligned to an erase sector boundary.
  272. config ENV_SECT_SIZE_AUTO
  273. bool "Use automatically detected sector size"
  274. depends on ENV_IS_IN_SPI_FLASH
  275. help
  276. Some boards exist in multiple variants, with different
  277. flashes having different sector sizes. In such cases, you
  278. can select this option to make U-Boot use the actual sector
  279. size when figuring out how much to erase, which can thus be
  280. more efficient on the flashes with smaller erase size. Since
  281. the environment must always be aligned on a sector boundary,
  282. CONFIG_ENV_OFFSET must be aligned to the largest of the
  283. different sector sizes, and CONFIG_ENV_SECT_SIZE should be
  284. set to that value.
  285. config USE_ENV_SPI_BUS
  286. bool "SPI flash bus for environment"
  287. depends on ENV_IS_IN_SPI_FLASH
  288. help
  289. Force the SPI bus for environment.
  290. If not defined, use CONFIG_SF_DEFAULT_BUS.
  291. config ENV_SPI_BUS
  292. int "Value of SPI flash bus for environment"
  293. depends on USE_ENV_SPI_BUS
  294. help
  295. Value the SPI bus and chip select for environment.
  296. config USE_ENV_SPI_CS
  297. bool "SPI flash chip select for environment"
  298. depends on ENV_IS_IN_SPI_FLASH
  299. help
  300. Force the SPI chip select for environment.
  301. If not defined, use CONFIG_SF_DEFAULT_CS.
  302. config ENV_SPI_CS
  303. int "Value of SPI flash chip select for environment"
  304. depends on USE_ENV_SPI_CS
  305. help
  306. Value of the SPI chip select for environment.
  307. config USE_ENV_SPI_MAX_HZ
  308. bool "SPI flash max frequency for environment"
  309. depends on ENV_IS_IN_SPI_FLASH
  310. help
  311. Force the SPI max work clock for environment.
  312. If not defined, use CONFIG_SF_DEFAULT_SPEED.
  313. config ENV_SPI_MAX_HZ
  314. int "Value of SPI flash max frequency for environment"
  315. depends on USE_ENV_SPI_MAX_HZ
  316. help
  317. Value of the SPI max work clock for environment.
  318. config USE_ENV_SPI_MODE
  319. bool "SPI flash mode for environment"
  320. depends on ENV_IS_IN_SPI_FLASH
  321. help
  322. Force the SPI work mode for environment.
  323. config ENV_SPI_MODE
  324. hex "Value of SPI flash work mode for environment"
  325. depends on USE_ENV_SPI_MODE
  326. help
  327. Value of the SPI work mode for environment.
  328. See include/spi.h for value.
  329. config ENV_SPI_EARLY
  330. bool "Access Environment in SPI flashes before relocation"
  331. depends on ENV_IS_IN_SPI_FLASH
  332. help
  333. Enable this if you want to use Environment in SPI flash
  334. before relocation. Call env_init() and than you can use
  335. env_get_f() for accessing Environment variables.
  336. config ENV_IS_IN_UBI
  337. bool "Environment in a UBI volume"
  338. depends on !CHAIN_OF_TRUST
  339. depends on MTD_UBI
  340. depends on CMD_UBI
  341. help
  342. Define this if you have an UBI volume that you want to use for the
  343. environment. This has the benefit of wear-leveling the environment
  344. accesses, which is important on NAND.
  345. - CONFIG_ENV_UBI_PART:
  346. Define this to a string that is the mtd partition containing the UBI.
  347. - CONFIG_ENV_UBI_VOLUME:
  348. Define this to the name of the volume that you want to store the
  349. environment in.
  350. - CONFIG_ENV_UBI_VOLUME_REDUND:
  351. Define this to the name of another volume to store a second copy of
  352. the environment in. This will enable redundant environments in UBI.
  353. It is assumed that both volumes are in the same MTD partition.
  354. config SYS_REDUNDAND_ENVIRONMENT
  355. bool "Enable redundant environment support"
  356. help
  357. Normally, the environemt is stored in a single location. By
  358. selecting this option, you can then define where to hold a redundant
  359. copy of the environment data, so that there is a valid backup copy in
  360. case there is a power failure during a "saveenv" operation.
  361. Also this config changes the binary environment structure handling
  362. which is used by env import/export commands which are independent of
  363. storing variables to redundant location on a non volatile device.
  364. config ENV_FAT_INTERFACE
  365. string "Name of the block device for the environment"
  366. depends on ENV_IS_IN_FAT
  367. default "mmc"
  368. help
  369. Define this to a string that is the name of the block device.
  370. config ENV_FAT_DEVICE_AND_PART
  371. string "Device and partition for where to store the environemt in FAT"
  372. depends on ENV_IS_IN_FAT
  373. default "0:1" if TI_COMMON_CMD_OPTIONS
  374. default "0:auto" if ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
  375. default ":auto" if ARCH_SUNXI
  376. default "0" if ARCH_AT91
  377. help
  378. Define this to a string to specify the partition of the device. It can
  379. be as following:
  380. "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
  381. - "D:P": device D partition P. Error occurs if device D has no
  382. partition table.
  383. - "D:0": device D.
  384. - "D" or "D:": device D partition 1 if device D has partition
  385. table, or the whole device D if has no partition
  386. table.
  387. - "D:auto": first partition in device D with bootable flag set.
  388. If none, first valid partition in device D. If no
  389. partition table then means device D.
  390. If ENV_FAT_INTERFACE is set to "mmc" then device 'D' can be omitted,
  391. leaving the string starting with a colon, and the boot device will
  392. be used.
  393. config ENV_FAT_FILE
  394. string "Name of the FAT file to use for the environment"
  395. depends on ENV_IS_IN_FAT
  396. default "uboot.env"
  397. help
  398. It's a string of the FAT file name. This file use to store the
  399. environment.
  400. config ENV_FAT_FILE_REDUND
  401. string "Name of the FAT file to use for the environment"
  402. depends on ENV_IS_IN_FAT && SYS_REDUNDAND_ENVIRONMENT
  403. default "uboot-redund.env"
  404. help
  405. It's a string of the FAT file name. This file use to store the
  406. redundant environment.
  407. config ENV_EXT4_INTERFACE
  408. string "Name of the block device for the environment"
  409. depends on ENV_IS_IN_EXT4
  410. help
  411. Define this to a string that is the name of the block device.
  412. config ENV_EXT4_DEVICE_AND_PART
  413. string "Device and partition for where to store the environemt in EXT4"
  414. depends on ENV_IS_IN_EXT4
  415. help
  416. Define this to a string to specify the partition of the device. It can
  417. be as following:
  418. "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1)
  419. - "D:P": device D partition P. Error occurs if device D has no
  420. partition table.
  421. - "D:0": device D.
  422. - "D" or "D:": device D partition 1 if device D has partition
  423. table, or the whole device D if has no partition
  424. table.
  425. - "D:auto": first partition in device D with bootable flag set.
  426. If none, first valid partition in device D. If no
  427. partition table then means device D.
  428. If ENV_EXT4_INTERFACE is set to "mmc" then device 'D' can be omitted,
  429. leaving the string starting with a colon, and the boot device will
  430. be used.
  431. config ENV_EXT4_FILE
  432. string "Name of the EXT4 file to use for the environment"
  433. depends on ENV_IS_IN_EXT4
  434. default "/uboot.env"
  435. help
  436. It's a string of the EXT4 file name. This file use to store the
  437. environment (explicit path to the file)
  438. config ENV_ADDR
  439. hex "Environment address"
  440. depends on ENV_IS_IN_FLASH || ENV_IS_IN_NVRAM || ENV_IS_IN_ONENAND || \
  441. ENV_IS_IN_REMOTE || ENV_IS_IN_SPI_FLASH
  442. default 0x0 if ENV_IS_IN_SPI_FLASH
  443. help
  444. Offset from the start of the device (or partition)
  445. config ENV_ADDR_REDUND
  446. hex "Redundant environment address"
  447. depends on ENV_IS_IN_FLASH && SYS_REDUNDAND_ENVIRONMENT
  448. help
  449. Offset from the start of the device (or partition) of the redundant
  450. environment location.
  451. config ENV_OFFSET
  452. hex "Environment offset"
  453. depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
  454. ENV_IS_IN_SPI_FLASH
  455. default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
  456. default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
  457. default 0x88000 if ARCH_SUNXI
  458. default 0xE0000 if ARCH_ZYNQ
  459. default 0x1E00000 if ARCH_ZYNQMP
  460. default 0x7F40000 if ARCH_VERSAL
  461. default 0 if ARC
  462. default 0x140000 if ARCH_AT91
  463. default 0x260000 if ARCH_OMAP2PLUS
  464. default 0x1080000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
  465. help
  466. Offset from the start of the device (or partition)
  467. config ENV_OFFSET_REDUND
  468. hex "Redundant environment offset"
  469. depends on (ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
  470. ENV_IS_IN_SPI_FLASH) && SYS_REDUNDAND_ENVIRONMENT
  471. default 0
  472. help
  473. Offset from the start of the device (or partition) of the redundant
  474. environment location.
  475. config ENV_SIZE
  476. hex "Environment Size"
  477. default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
  478. default 0x20000 if ARCH_SUNXI || ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
  479. default 0x8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
  480. default 0x2000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
  481. default 0x8000 if ARCH_ZYNQMP || ARCH_VERSAL
  482. default 0x4000 if ARC
  483. default 0x1f000
  484. help
  485. Size of the environment storage area
  486. config ENV_SECT_SIZE
  487. hex "Environment Sector-Size"
  488. depends on ENV_IS_IN_FLASH || ENV_IS_IN_SPI_FLASH
  489. default 0x2000 if ARCH_ROCKCHIP
  490. default 0x40000 if ARCH_ZYNQMP || ARCH_VERSAL
  491. default 0x20000 if ARCH_ZYNQ || ARCH_OMAP2PLUS || ARCH_AT91
  492. default 0x20000 if MICROBLAZE && ENV_IS_IN_SPI_FLASH
  493. help
  494. Size of the sector containing the environment.
  495. config ENV_UBI_PART
  496. string "UBI partition name"
  497. depends on ENV_IS_IN_UBI
  498. help
  499. MTD partition containing the UBI device
  500. config ENV_UBI_VOLUME
  501. string "UBI volume name"
  502. depends on ENV_IS_IN_UBI
  503. help
  504. Name of the volume that you want to store the environment in.
  505. config ENV_UBI_VOLUME_REDUND
  506. string "UBI redundant volume name"
  507. depends on ENV_IS_IN_UBI && SYS_REDUNDAND_ENVIRONMENT
  508. help
  509. Name of the redundant volume that you want to store the environment in.
  510. config ENV_UBI_VID_OFFSET
  511. int "ubi environment VID offset"
  512. depends on ENV_IS_IN_UBI
  513. default 0
  514. help
  515. UBI VID offset for environment. If 0, no custom VID offset is used.
  516. config SYS_RELOC_GD_ENV_ADDR
  517. bool "Relocate gd->env_addr"
  518. help
  519. Relocate the early env_addr pointer so we know it is not inside
  520. the binary. Some systems need this and for the rest, it doesn't hurt.
  521. config SYS_MMC_ENV_DEV
  522. int "mmc device number"
  523. depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT || SYS_LS_PPA_FW_IN_MMC || \
  524. CMD_MVEBU_BUBT || FMAN_ENET || QE || PHY_CORTINA
  525. default 0
  526. help
  527. MMC device number on the platform where the environment is stored.
  528. config SYS_MMC_ENV_PART
  529. int "mmc partition number"
  530. depends on ENV_IS_IN_MMC || ENV_IS_IN_FAT
  531. default 0
  532. help
  533. MMC hardware partition device number on the platform where the
  534. environment is stored. Note that this is not related to any software
  535. defined partition table but instead if we are in the user area, which is
  536. partition 0 or the first boot partition, which is 1 or some other defined
  537. partition.
  538. config USE_DEFAULT_ENV_FILE
  539. bool "Create default environment from file"
  540. help
  541. Normally, the default environment is automatically generated
  542. based on the settings of various CONFIG_* options, as well
  543. as the CONFIG_EXTRA_ENV_SETTINGS. By selecting this option,
  544. you can instead define the entire default environment in an
  545. external file.
  546. config DEFAULT_ENV_FILE
  547. string "Path to default environment file"
  548. depends on USE_DEFAULT_ENV_FILE
  549. help
  550. The path containing the default environment. The format is
  551. the same as accepted by the mkenvimage tool: lines
  552. containing key=value pairs, blank lines and lines beginning
  553. with # are ignored.
  554. config ENV_VARS_UBOOT_RUNTIME_CONFIG
  555. bool "Add run-time information to the environment"
  556. help
  557. Enable this in order to add variables describing certain
  558. run-time determined information about the hardware to the
  559. environment. These will be named board_name, board_rev.
  560. config DELAY_ENVIRONMENT
  561. bool "Delay environment loading"
  562. depends on !OF_CONTROL
  563. help
  564. Enable this to inhibit loading the environment during board
  565. initialization. This can address the security risk of untrusted data
  566. being used during boot. Normally the environment is loaded when the
  567. board is initialised so that it is available to U-Boot. This inhibits
  568. that so that the environment is not available until explicitly loaded
  569. later by U-Boot code. With CONFIG_OF_CONTROL this is instead
  570. controlled by the value of /config/load-environment.
  571. config ENV_IMPORT_FDT
  572. bool "Amend environment by FDT properties"
  573. depends on OF_CONTROL
  574. help
  575. If selected, after the environment has been loaded from its
  576. persistent location, the "env_fdt_path" variable is looked
  577. up and used as a path to a node in the control DTB. The
  578. property/value pairs in that node is then used to update the
  579. run-time environment. This can be useful to use the same
  580. U-Boot binary with different board variants.
  581. config ENV_FDT_PATH
  582. string "Default value for env_fdt_path variable"
  583. depends on ENV_IMPORT_FDT
  584. default "/config/environment"
  585. help
  586. The initial value of the env_fdt_path variable.
  587. config ENV_APPEND
  588. bool "Always append the environment with new data"
  589. help
  590. If defined, the environment hash table is only ever appended with new
  591. data, but the existing hash table can never be dropped and reloaded
  592. with newly imported data. This may be used in combination with static
  593. flags to e.g. to protect variables which must not be modified.
  594. config ENV_WRITEABLE_LIST
  595. bool "Permit write access only to listed variables"
  596. help
  597. If defined, only environment variables which explicitly set the 'w'
  598. writeable flag can be written and modified at runtime. No variables
  599. can be otherwise created, written or imported into the environment.
  600. config ENV_ACCESS_IGNORE_FORCE
  601. bool "Block forced environment operations"
  602. help
  603. If defined, don't allow the -f switch to env set override variable
  604. access flags.
  605. if SPL_ENV_SUPPORT
  606. config SPL_ENV_IS_NOWHERE
  607. bool "SPL Environment is not stored"
  608. default y if ENV_IS_NOWHERE
  609. help
  610. Similar to ENV_IS_NOWHERE, used for SPL environment.
  611. config SPL_ENV_IS_IN_MMC
  612. bool "SPL Environment in an MMC device"
  613. depends on !SPL_ENV_IS_NOWHERE
  614. depends on ENV_IS_IN_MMC
  615. default y
  616. help
  617. Similar to ENV_IS_IN_MMC, used for SPL environment.
  618. config SPL_ENV_IS_IN_FAT
  619. bool "SPL Environment is in a FAT filesystem"
  620. depends on !SPL_ENV_IS_NOWHERE
  621. depends on ENV_IS_IN_FAT
  622. default y
  623. help
  624. Similar to ENV_IS_IN_FAT, used for SPL environment.
  625. config SPL_ENV_IS_IN_EXT4
  626. bool "SPL Environment is in a EXT4 filesystem"
  627. depends on !SPL_ENV_IS_NOWHERE
  628. depends on ENV_IS_IN_EXT4
  629. default y
  630. help
  631. Similar to ENV_IS_IN_EXT4, used for SPL environment.
  632. config SPL_ENV_IS_IN_NAND
  633. bool "SPL Environment in a NAND device"
  634. depends on !SPL_ENV_IS_NOWHERE
  635. depends on ENV_IS_IN_NAND
  636. default y
  637. help
  638. Similar to ENV_IS_IN_NAND, used for SPL environment.
  639. config SPL_ENV_IS_IN_SPI_FLASH
  640. bool "SPL Environment is in SPI flash"
  641. depends on !SPL_ENV_IS_NOWHERE
  642. depends on ENV_IS_IN_SPI_FLASH
  643. default y
  644. help
  645. Similar to ENV_IS_IN_SPI_FLASH, used for SPL environment.
  646. config SPL_ENV_IS_IN_FLASH
  647. bool "SPL Environment in flash memory"
  648. depends on !SPL_ENV_IS_NOWHERE
  649. depends on ENV_IS_IN_FLASH
  650. default y
  651. help
  652. Similar to ENV_IS_IN_FLASH, used for SPL environment.
  653. endif
  654. if TPL_ENV_SUPPORT
  655. config TPL_ENV_IS_NOWHERE
  656. bool "TPL Environment is not stored"
  657. default y if ENV_IS_NOWHERE
  658. help
  659. Similar to ENV_IS_NOWHERE, used for TPL environment.
  660. config TPL_ENV_IS_IN_MMC
  661. bool "TPL Environment in an MMC device"
  662. depends on !TPL_ENV_IS_NOWHERE
  663. depends on ENV_IS_IN_MMC
  664. default y
  665. help
  666. Similar to ENV_IS_IN_MMC, used for TPL environment.
  667. config TPL_ENV_IS_IN_FAT
  668. bool "TPL Environment is in a FAT filesystem"
  669. depends on !TPL_ENV_IS_NOWHERE
  670. depends on ENV_IS_IN_FAT
  671. default y
  672. help
  673. Similar to ENV_IS_IN_FAT, used for TPL environment.
  674. config TPL_ENV_IS_IN_EXT4
  675. bool "TPL Environment is in a EXT4 filesystem"
  676. depends on !TPL_ENV_IS_NOWHERE
  677. depends on ENV_IS_IN_EXT4
  678. default y
  679. help
  680. Similar to ENV_IS_IN_EXT4, used for TPL environment.
  681. config TPL_ENV_IS_IN_NAND
  682. bool "TPL Environment in a NAND device"
  683. depends on !TPL_ENV_IS_NOWHERE
  684. depends on ENV_IS_IN_NAND
  685. default y
  686. help
  687. Similar to ENV_IS_IN_NAND, used for TPL environment.
  688. config TPL_ENV_IS_IN_SPI_FLASH
  689. bool "TPL Environment is in SPI flash"
  690. depends on !TPL_ENV_IS_NOWHERE
  691. depends on ENV_IS_IN_SPI_FLASH
  692. default y
  693. help
  694. Similar to ENV_IS_IN_SPI_FLASH, used for TPL environment.
  695. config TPL_ENV_IS_IN_FLASH
  696. bool "TPL Environment in flash memory"
  697. depends on !TPL_ENV_IS_NOWHERE
  698. depends on ENV_IS_IN_FLASH
  699. default y
  700. help
  701. Similar to ENV_IS_IN_FLASH, used for TPL environment.
  702. endif
  703. config VERSION_VARIABLE
  704. bool "Add a 'ver' environment variable with the U-Boot version"
  705. help
  706. If this variable is defined, an environment variable
  707. named "ver" is created by U-Boot showing the U-Boot
  708. version as printed by the "version" command.
  709. Any change to this variable will be reverted at the
  710. next reset.
  711. endmenu