16aff3115Swdenk 26aff3115SwdenkThis is a demo implementation of a Linux command line tool to access 36aff3115Swdenkthe U-Boot's environment variables. 46aff3115Swdenk 5d0fb80c3SwdenkFor the run-time utiltity configuration uncomment the line 6d0fb80c3Swdenk#define CONFIG_FILE "/etc/fw_env.config" 7d0fb80c3Swdenkin fw_env.h. 8d0fb80c3Swdenk 96de66b35SMarkus KlotzbücherFor building against older versions of the MTD headers (meaning before 106de66b35SMarkus Klotzbücherv2.6.8-rc1) it is required to pass the argument "MTD_VERSION=old" to 116de66b35SMarkus Klotzbüchermake. 126de66b35SMarkus Klotzbücher 13d0fb80c3SwdenkSee comments in the fw_env.config file for definitions for the 14d0fb80c3Swdenkparticular board. 15d0fb80c3Swdenk 16d0fb80c3SwdenkConfiguration can also be done via #defines in the fw_env.h file. The 176aff3115Swdenkfollowing lines are relevant: 186aff3115Swdenk 196aff3115Swdenk#define HAVE_REDUND /* For systems with 2 env sectors */ 206aff3115Swdenk#define DEVICE1_NAME "/dev/mtd1" 216aff3115Swdenk#define DEVICE2_NAME "/dev/mtd2" 22d0fb80c3Swdenk#define DEVICE1_OFFSET 0x0000 236aff3115Swdenk#define ENV1_SIZE 0x4000 246aff3115Swdenk#define DEVICE1_ESIZE 0x4000 25*56086921SGuennadi Liakhovetski#define DEVICE1_ENVSECTORS 2 26d0fb80c3Swdenk#define DEVICE2_OFFSET 0x0000 276aff3115Swdenk#define ENV2_SIZE 0x4000 286aff3115Swdenk#define DEVICE2_ESIZE 0x4000 29*56086921SGuennadi Liakhovetski#define DEVICE2_ENVSECTORS 2 306aff3115Swdenk 316aff3115SwdenkCurrent configuration matches the environment layout of the TRAB 326aff3115Swdenkboard. 336aff3115Swdenk 346aff3115SwdenkUn-define HAVE_REDUND, if you want to use the utlities on a system 35d0fb80c3Swdenkthat does not have support for redundant environment enabled. 36d0fb80c3SwdenkIf HAVE_REDUND is undefined, DEVICE2_NAME is ignored, 37d0fb80c3Swdenkas is ENV2_SIZE and DEVICE2_ESIZE. 38d0fb80c3Swdenk 39d0fb80c3SwdenkThe DEVICEx_NAME constants define which MTD character devices are to 40d0fb80c3Swdenkbe used to access the environment. 41d0fb80c3Swdenk 42d0fb80c3SwdenkThe DEVICEx_OFFSET constants define the environment offset within the 43d0fb80c3SwdenkMTD character device. 44d0fb80c3Swdenk 45d0fb80c3SwdenkENVx_SIZE defines the size in bytes taken by the environment, which 46d0fb80c3Swdenkmay be less then flash sector size, if the environment takes less 47d0fb80c3Swdenkthen 1 sector. 48d0fb80c3Swdenk 496aff3115SwdenkDEVICEx_ESIZE defines the size of the first sector in the flash 50d0fb80c3Swdenkpartition where the environment resides. 51*56086921SGuennadi Liakhovetski 52*56086921SGuennadi LiakhovetskiDEVICEx_ENVSECTORS defines the number of sectors that may be used for 53*56086921SGuennadi Liakhovetskithis environment instance. On NAND this is used to limit the range 54*56086921SGuennadi Liakhovetskiwithin which bad blocks are skipped, on NOR it is not used. 55