]>
Commit | Line | Data |
---|---|---|
6aff3115 | 1 | /* |
bc11756d | 2 | * (C) Copyright 2002-2008 |
6aff3115 WD |
3 | * Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
4 | * | |
3765b3e7 | 5 | * SPDX-License-Identifier: GPL-2.0+ |
6aff3115 WD |
6 | */ |
7 | ||
371ee137 AF |
8 | #include <aes.h> |
9 | #include <stdint.h> | |
10 | ||
e3c52f2b | 11 | /* Pull in the current config to define the default environment */ |
0b367380 PR |
12 | #include <linux/kconfig.h> |
13 | ||
e3c52f2b TR |
14 | #ifndef __ASSEMBLY__ |
15 | #define __ASSEMBLY__ /* get only #defines from config.h */ | |
16 | #include <config.h> | |
17 | #undef __ASSEMBLY__ | |
18 | #else | |
19 | #include <config.h> | |
20 | #endif | |
21 | ||
8bde7f77 | 22 | /* |
9cbfee6d FM |
23 | * To build the utility with the static configuration |
24 | * comment out the next line. | |
566e5cf4 | 25 | * See included "fw_env.config" sample file |
d0fb80c3 WD |
26 | * for notes on configuration. |
27 | */ | |
d791b1dc | 28 | #define CONFIG_FILE "/etc/fw_env.config" |
d0fb80c3 | 29 | |
497f2053 | 30 | #ifndef CONFIG_FILE |
6aff3115 WD |
31 | #define HAVE_REDUND /* For systems with 2 env sectors */ |
32 | #define DEVICE1_NAME "/dev/mtd1" | |
33 | #define DEVICE2_NAME "/dev/mtd2" | |
d0fb80c3 | 34 | #define DEVICE1_OFFSET 0x0000 |
6aff3115 | 35 | #define ENV1_SIZE 0x4000 |
5d5cc384 FM |
36 | #define DEVICE1_ESIZE 0x4000 |
37 | #define DEVICE1_ENVSECTORS 2 | |
d0fb80c3 | 38 | #define DEVICE2_OFFSET 0x0000 |
6aff3115 | 39 | #define ENV2_SIZE 0x4000 |
5d5cc384 FM |
40 | #define DEVICE2_ESIZE 0x4000 |
41 | #define DEVICE2_ENVSECTORS 2 | |
497f2053 | 42 | #endif |
6aff3115 | 43 | |
e3c52f2b TR |
44 | #ifndef CONFIG_BAUDRATE |
45 | #define CONFIG_BAUDRATE 115200 | |
46 | #endif | |
47 | ||
48 | #ifndef CONFIG_BOOTDELAY | |
49 | #define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */ | |
50 | #endif | |
51 | ||
52 | #ifndef CONFIG_BOOTCOMMAND | |
53 | #define CONFIG_BOOTCOMMAND \ | |
54 | "bootp; " \ | |
55 | "setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} " \ | |
56 | "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \ | |
57 | "bootm" | |
58 | #endif | |
59 | ||
371ee137 AF |
60 | struct common_args { |
61 | #ifdef CONFIG_FILE | |
62 | char *config_file; | |
63 | #endif | |
64 | uint8_t aes_key[AES_KEY_LENGTH]; | |
65 | int aes_flag; /* Is AES encryption used? */ | |
66 | }; | |
67 | extern struct common_args common_args; | |
68 | ||
07ce9440 | 69 | struct printenv_args { |
371ee137 | 70 | int name_suppress; |
07ce9440 AF |
71 | }; |
72 | extern struct printenv_args printenv_args; | |
73 | ||
74 | struct setenv_args { | |
75 | char *script_file; | |
76 | }; | |
77 | extern struct setenv_args setenv_args; | |
78 | ||
371ee137 AF |
79 | int parse_aes_key(char *key, uint8_t *bin_key); |
80 | ||
bc11756d | 81 | extern int fw_printenv(int argc, char *argv[]); |
6de66b35 MK |
82 | extern char *fw_getenv (char *name); |
83 | extern int fw_setenv (int argc, char *argv[]); | |
bd7b26f8 SB |
84 | extern int fw_parse_script(char *fname); |
85 | extern int fw_env_open(void); | |
86 | extern int fw_env_write(char *name, char *value); | |
87 | extern int fw_env_close(void); | |
6aff3115 WD |
88 | |
89 | extern unsigned long crc32 (unsigned long, const unsigned char *, unsigned); |