blob: 1a02c466ee9bd68cf5f86b0694c6605a30cedbb8 [file] [log] [blame]
wdenk6aff3112002-12-17 01:51:00 +00001/*
Grant Ericksonbc117562008-05-06 20:16:15 -07002 * (C) Copyright 2002-2008
wdenk6aff3112002-12-17 01:51:00 +00003 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 *
Wolfgang Denk3765b3e2013-10-07 13:07:26 +02005 * SPDX-License-Identifier: GPL-2.0+
wdenk6aff3112002-12-17 01:51:00 +00006 */
7
Tom Rinie3c52f22012-12-20 07:30:27 -07008/* Pull in the current config to define the default environment */
Peter Robinson0b367382015-06-17 16:58:32 +01009#include <linux/kconfig.h>
10
Tom Rinie3c52f22012-12-20 07:30:27 -070011#ifndef __ASSEMBLY__
12#define __ASSEMBLY__ /* get only #defines from config.h */
13#include <config.h>
14#undef __ASSEMBLY__
15#else
16#include <config.h>
17#endif
18
wdenk8bde7f72003-06-27 21:31:46 +000019/*
Frans Meulenbroeks9cbfee62012-01-05 08:09:10 +000020 * To build the utility with the static configuration
21 * comment out the next line.
Wolfgang Denk566e5cf2011-05-01 20:44:23 +020022 * See included "fw_env.config" sample file
wdenkd0fb80c2003-01-11 09:48:40 +000023 * for notes on configuration.
24 */
wdenkd791b1d2003-04-20 14:04:18 +000025#define CONFIG_FILE "/etc/fw_env.config"
wdenkd0fb80c2003-01-11 09:48:40 +000026
Joe Hershberger497f2052012-10-03 09:38:46 +000027#ifndef CONFIG_FILE
wdenk6aff3112002-12-17 01:51:00 +000028#define HAVE_REDUND /* For systems with 2 env sectors */
29#define DEVICE1_NAME "/dev/mtd1"
30#define DEVICE2_NAME "/dev/mtd2"
wdenkd0fb80c2003-01-11 09:48:40 +000031#define DEVICE1_OFFSET 0x0000
wdenk6aff3112002-12-17 01:51:00 +000032#define ENV1_SIZE 0x4000
Frans Meulenbroeks5d5cc382011-12-01 03:30:04 +000033#define DEVICE1_ESIZE 0x4000
34#define DEVICE1_ENVSECTORS 2
wdenkd0fb80c2003-01-11 09:48:40 +000035#define DEVICE2_OFFSET 0x0000
wdenk6aff3112002-12-17 01:51:00 +000036#define ENV2_SIZE 0x4000
Frans Meulenbroeks5d5cc382011-12-01 03:30:04 +000037#define DEVICE2_ESIZE 0x4000
38#define DEVICE2_ENVSECTORS 2
Joe Hershberger497f2052012-10-03 09:38:46 +000039#endif
wdenk6aff3112002-12-17 01:51:00 +000040
Tom Rinie3c52f22012-12-20 07:30:27 -070041#ifndef CONFIG_BAUDRATE
42#define CONFIG_BAUDRATE 115200
43#endif
44
45#ifndef CONFIG_BOOTDELAY
46#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
47#endif
48
49#ifndef CONFIG_BOOTCOMMAND
50#define CONFIG_BOOTCOMMAND \
51 "bootp; " \
52 "setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} " \
53 "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
54 "bootm"
55#endif
56
Andreas Fenkart07ce9442015-12-09 13:13:23 +010057struct printenv_args {
58};
59extern struct printenv_args printenv_args;
60
61struct setenv_args {
62 char *script_file;
63};
64extern struct setenv_args setenv_args;
65
Grant Ericksonbc117562008-05-06 20:16:15 -070066extern int fw_printenv(int argc, char *argv[]);
Markus Klotzbücher6de66b32007-11-27 10:23:20 +010067extern char *fw_getenv (char *name);
68extern int fw_setenv (int argc, char *argv[]);
Stefano Babicbd7b26f2010-05-24 12:08:16 +020069extern int fw_parse_script(char *fname);
70extern int fw_env_open(void);
71extern int fw_env_write(char *name, char *value);
72extern int fw_env_close(void);
wdenk6aff3112002-12-17 01:51:00 +000073
74extern unsigned long crc32 (unsigned long, const unsigned char *, unsigned);