Tom Rini | 83d290c | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 2 | /* |
| 3 | * (C) Copyright 2000-2010 |
| 4 | * Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
| 5 | * |
| 6 | * (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com> |
| 7 | * Andreas Heppel <aheppel@sysgo.de> |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 8 | */ |
| 9 | |
Joe Hershberger | 170ab11 | 2012-12-11 22:16:24 -0600 | [diff] [blame] | 10 | #include <env_callback.h> |
Simon Glass | 1af3c7f | 2020-05-10 11:40:09 -0600 | [diff] [blame] | 11 | #include <linux/stringify.h> |
Joe Hershberger | 170ab11 | 2012-12-11 22:16:24 -0600 | [diff] [blame] | 12 | |
Simon Glass | 86b9c3e | 2021-10-21 21:08:46 -0600 | [diff] [blame] | 13 | #include <generated/environment.h> |
Simon Glass | 86b9c3e | 2021-10-21 21:08:46 -0600 | [diff] [blame] | 14 | |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 15 | #ifdef DEFAULT_ENV_INSTANCE_EMBEDDED |
Simon Glass | be54ec1 | 2019-08-01 09:47:03 -0600 | [diff] [blame] | 16 | env_t embedded_environment __UBOOT_ENV_SECTION__(environment) = { |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 17 | ENV_CRC, /* CRC Sum */ |
| 18 | #ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT |
| 19 | 1, /* Flags: valid */ |
| 20 | #endif |
| 21 | { |
| 22 | #elif defined(DEFAULT_ENV_INSTANCE_STATIC) |
| 23 | static char default_environment[] = { |
Algapally Santosh Sagar | 8819892 | 2023-09-21 16:50:42 +0530 | [diff] [blame] | 24 | #elif defined(CONFIG_DEFAULT_ENV_IS_RW) |
Marek Behún | c5cbbe3 | 2021-10-22 15:47:24 +0200 | [diff] [blame] | 25 | char default_environment[] = { |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 26 | #else |
Marek Behún | c5cbbe3 | 2021-10-22 15:47:24 +0200 | [diff] [blame] | 27 | const char default_environment[] = { |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 28 | #endif |
Rasmus Villemoes | f3d8f7d | 2018-03-20 11:38:45 +0100 | [diff] [blame] | 29 | #ifndef CONFIG_USE_DEFAULT_ENV_FILE |
Joe Hershberger | 170ab11 | 2012-12-11 22:16:24 -0600 | [diff] [blame] | 30 | #ifdef CONFIG_ENV_CALLBACK_LIST_DEFAULT |
| 31 | ENV_CALLBACK_VAR "=" CONFIG_ENV_CALLBACK_LIST_DEFAULT "\0" |
| 32 | #endif |
Joe Hershberger | 2598090 | 2012-12-11 22:16:31 -0600 | [diff] [blame] | 33 | #ifdef CONFIG_ENV_FLAGS_LIST_DEFAULT |
| 34 | ENV_FLAGS_VAR "=" CONFIG_ENV_FLAGS_LIST_DEFAULT "\0" |
| 35 | #endif |
Sam Protsenko | 5abc1a4 | 2017-08-14 20:22:17 +0300 | [diff] [blame] | 36 | #ifdef CONFIG_USE_BOOTARGS |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 37 | "bootargs=" CONFIG_BOOTARGS "\0" |
| 38 | #endif |
| 39 | #ifdef CONFIG_BOOTCOMMAND |
| 40 | "bootcmd=" CONFIG_BOOTCOMMAND "\0" |
| 41 | #endif |
Alex Kiernan | 57aa4d2 | 2018-07-05 12:38:15 +0000 | [diff] [blame] | 42 | #if defined(CONFIG_BOOTDELAY) |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 43 | "bootdelay=" __stringify(CONFIG_BOOTDELAY) "\0" |
| 44 | #endif |
Algapally Santosh Sagar | bd9ff68 | 2023-09-21 16:50:43 +0530 | [diff] [blame] | 45 | #if !defined(CONFIG_OF_SERIAL_BAUD) && defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0) |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 46 | "baudrate=" __stringify(CONFIG_BAUDRATE) "\0" |
| 47 | #endif |
| 48 | #ifdef CONFIG_LOADS_ECHO |
| 49 | "loads_echo=" __stringify(CONFIG_LOADS_ECHO) "\0" |
| 50 | #endif |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 51 | #ifdef CONFIG_ETHPRIME |
| 52 | "ethprime=" CONFIG_ETHPRIME "\0" |
| 53 | #endif |
Tom Rini | 54f80dd | 2022-12-02 16:42:27 -0500 | [diff] [blame] | 54 | #ifdef CONFIG_USE_IPADDR |
| 55 | "ipaddr=" CONFIG_IPADDR "\0" |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 56 | #endif |
Tom Rini | 54f80dd | 2022-12-02 16:42:27 -0500 | [diff] [blame] | 57 | #ifdef CONFIG_USE_SERVERIP |
| 58 | "serverip=" CONFIG_SERVERIP "\0" |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 59 | #endif |
Tom Rini | bf904ea | 2022-06-13 22:57:35 -0400 | [diff] [blame] | 60 | #ifdef CONFIG_SYS_DISABLE_AUTOLOAD |
| 61 | "autoload=0\0" |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 62 | #endif |
Pali Rohár | 2827c2f | 2022-07-10 13:42:55 +0200 | [diff] [blame] | 63 | #ifdef CONFIG_PREBOOT_DEFINED |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 64 | "preboot=" CONFIG_PREBOOT "\0" |
| 65 | #endif |
Tom Rini | 54f80dd | 2022-12-02 16:42:27 -0500 | [diff] [blame] | 66 | #ifdef CONFIG_USE_ROOTPATH |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 67 | "rootpath=" CONFIG_ROOTPATH "\0" |
| 68 | #endif |
Tom Rini | 54f80dd | 2022-12-02 16:42:27 -0500 | [diff] [blame] | 69 | #ifdef CONFIG_USE_GATEWAYIP |
| 70 | "gatewayip=" CONFIG_GATEWAYIP "\0" |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 71 | #endif |
Tom Rini | 54f80dd | 2022-12-02 16:42:27 -0500 | [diff] [blame] | 72 | #ifdef CONFIG_USE_NETMASK |
| 73 | "netmask=" CONFIG_NETMASK "\0" |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 74 | #endif |
Tom Rini | 54f80dd | 2022-12-02 16:42:27 -0500 | [diff] [blame] | 75 | #ifdef CONFIG_USE_HOSTNAME |
| 76 | "hostname=" CONFIG_HOSTNAME "\0" |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 77 | #endif |
Tom Rini | fdfb17b | 2022-02-25 11:19:48 -0500 | [diff] [blame] | 78 | #ifdef CONFIG_USE_BOOTFILE |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 79 | "bootfile=" CONFIG_BOOTFILE "\0" |
| 80 | #endif |
Tom Rini | 72d8136 | 2021-08-23 10:25:30 -0400 | [diff] [blame] | 81 | #ifdef CONFIG_SYS_LOAD_ADDR |
| 82 | "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR)"\0" |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 83 | #endif |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 84 | #if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0) |
| 85 | "pcidelay=" __stringify(CONFIG_PCI_BOOTDELAY)"\0" |
| 86 | #endif |
| 87 | #ifdef CONFIG_ENV_VARS_UBOOT_CONFIG |
| 88 | "arch=" CONFIG_SYS_ARCH "\0" |
Masahiro Yamada | 9604474 | 2016-06-17 14:24:07 +0900 | [diff] [blame] | 89 | #ifdef CONFIG_SYS_CPU |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 90 | "cpu=" CONFIG_SYS_CPU "\0" |
Masahiro Yamada | 9604474 | 2016-06-17 14:24:07 +0900 | [diff] [blame] | 91 | #endif |
| 92 | #ifdef CONFIG_SYS_BOARD |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 93 | "board=" CONFIG_SYS_BOARD "\0" |
Stephen Warren | 418b7f3 | 2012-10-31 11:17:28 +0000 | [diff] [blame] | 94 | "board_name=" CONFIG_SYS_BOARD "\0" |
Masahiro Yamada | 9604474 | 2016-06-17 14:24:07 +0900 | [diff] [blame] | 95 | #endif |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 96 | #ifdef CONFIG_SYS_VENDOR |
| 97 | "vendor=" CONFIG_SYS_VENDOR "\0" |
| 98 | #endif |
| 99 | #ifdef CONFIG_SYS_SOC |
| 100 | "soc=" CONFIG_SYS_SOC "\0" |
| 101 | #endif |
Rasmus Villemoes | 95fd977 | 2021-04-21 11:06:54 +0200 | [diff] [blame] | 102 | #ifdef CONFIG_ENV_IMPORT_FDT |
| 103 | "env_fdt_path=" CONFIG_ENV_FDT_PATH "\0" |
| 104 | #endif |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 105 | #endif |
Alex Kiernan | c9ad6bc | 2018-07-21 20:25:32 +0000 | [diff] [blame] | 106 | #if defined(CONFIG_BOOTCOUNT_BOOTLIMIT) && (CONFIG_BOOTCOUNT_BOOTLIMIT > 0) |
| 107 | "bootlimit=" __stringify(CONFIG_BOOTCOUNT_BOOTLIMIT)"\0" |
| 108 | #endif |
Tom Rini | a331017 | 2022-06-13 22:57:36 -0400 | [diff] [blame] | 109 | #ifdef CONFIG_MTDIDS_DEFAULT |
| 110 | "mtdids=" CONFIG_MTDIDS_DEFAULT "\0" |
| 111 | #endif |
| 112 | #ifdef CONFIG_MTDPARTS_DEFAULT |
| 113 | "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" |
| 114 | #endif |
Simon Glass | 86b9c3e | 2021-10-21 21:08:46 -0600 | [diff] [blame] | 115 | #ifdef CONFIG_EXTRA_ENV_TEXT |
Simon Glass | 86b9c3e | 2021-10-21 21:08:46 -0600 | [diff] [blame] | 116 | /* This is created in the Makefile */ |
| 117 | CONFIG_EXTRA_ENV_TEXT |
| 118 | #endif |
Tom Rini | 0613c36 | 2022-12-04 10:03:50 -0500 | [diff] [blame] | 119 | #ifdef CFG_EXTRA_ENV_SETTINGS |
| 120 | CFG_EXTRA_ENV_SETTINGS |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 121 | #endif |
Algapally Santosh Sagar | bd9ff68 | 2023-09-21 16:50:43 +0530 | [diff] [blame] | 122 | #ifdef CONFIG_OF_SERIAL_BAUD |
| 123 | /* Padding for baudrate at the end when environment is writable */ |
| 124 | "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" |
| 125 | #endif |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 126 | "\0" |
Rasmus Villemoes | f3d8f7d | 2018-03-20 11:38:45 +0100 | [diff] [blame] | 127 | #else /* CONFIG_USE_DEFAULT_ENV_FILE */ |
| 128 | #include "generated/defaultenv_autogenerated.h" |
| 129 | #endif |
Joe Hershberger | ddd8418 | 2012-10-12 08:48:51 +0000 | [diff] [blame] | 130 | #ifdef DEFAULT_ENV_INSTANCE_EMBEDDED |
| 131 | } |
| 132 | #endif |
| 133 | }; |
Marek Behún | 37f3758 | 2021-10-22 15:47:25 +0200 | [diff] [blame] | 134 | |
| 135 | #if !defined(USE_HOSTCC) && !defined(DEFAULT_ENV_INSTANCE_EMBEDDED) |
| 136 | #include <env_internal.h> |
| 137 | static_assert(sizeof(default_environment) <= ENV_SIZE, |
| 138 | "Default environment is too large"); |
| 139 | #endif |