blob: c2f23e608cd9782b101583540ef7220a677c23e9 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Joe Hershbergerddd84182012-10-12 08:48:51 +00002/*
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 Hershbergerddd84182012-10-12 08:48:51 +00008 */
9
Joe Hershberger170ab112012-12-11 22:16:24 -060010#include <env_callback.h>
Simon Glass1af3c7f2020-05-10 11:40:09 -060011#include <linux/stringify.h>
Joe Hershberger170ab112012-12-11 22:16:24 -060012
Simon Glass86b9c3e2021-10-21 21:08:46 -060013#ifndef USE_HOSTCC
14#include <generated/environment.h>
15#endif
16
Joe Hershbergerddd84182012-10-12 08:48:51 +000017#ifdef DEFAULT_ENV_INSTANCE_EMBEDDED
Simon Glassbe54ec12019-08-01 09:47:03 -060018env_t embedded_environment __UBOOT_ENV_SECTION__(environment) = {
Joe Hershbergerddd84182012-10-12 08:48:51 +000019 ENV_CRC, /* CRC Sum */
20#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
21 1, /* Flags: valid */
22#endif
23 {
24#elif defined(DEFAULT_ENV_INSTANCE_STATIC)
25static char default_environment[] = {
Pali Rohár93f40482020-12-23 12:21:28 +010026#elif defined(DEFAULT_ENV_IS_RW)
Marek Behúnc5cbbe32021-10-22 15:47:24 +020027char default_environment[] = {
Joe Hershbergerddd84182012-10-12 08:48:51 +000028#else
Marek Behúnc5cbbe32021-10-22 15:47:24 +020029const char default_environment[] = {
Joe Hershbergerddd84182012-10-12 08:48:51 +000030#endif
Rasmus Villemoesf3d8f7d2018-03-20 11:38:45 +010031#ifndef CONFIG_USE_DEFAULT_ENV_FILE
Joe Hershberger170ab112012-12-11 22:16:24 -060032#ifdef CONFIG_ENV_CALLBACK_LIST_DEFAULT
33 ENV_CALLBACK_VAR "=" CONFIG_ENV_CALLBACK_LIST_DEFAULT "\0"
34#endif
Joe Hershberger25980902012-12-11 22:16:31 -060035#ifdef CONFIG_ENV_FLAGS_LIST_DEFAULT
36 ENV_FLAGS_VAR "=" CONFIG_ENV_FLAGS_LIST_DEFAULT "\0"
37#endif
Bo Lv4a465022023-02-28 05:51:47 +000038#ifdef CONFIG_AMLOGIC_MODIFY
39#ifdef CONFIG_BOOTARGS
Joe Hershbergerddd84182012-10-12 08:48:51 +000040 "bootargs=" CONFIG_BOOTARGS "\0"
41#endif
Bo Lv4a465022023-02-28 05:51:47 +000042#else
43#ifdef CONFIG_USE_BOOTARGS
44 "bootargs=" CONFIG_BOOTARGS "\0"
45#endif
46#endif
Joe Hershbergerddd84182012-10-12 08:48:51 +000047#ifdef CONFIG_BOOTCOMMAND
48 "bootcmd=" CONFIG_BOOTCOMMAND "\0"
49#endif
Alex Kiernan57aa4d22018-07-05 12:38:15 +000050#if defined(CONFIG_BOOTDELAY)
Joe Hershbergerddd84182012-10-12 08:48:51 +000051 "bootdelay=" __stringify(CONFIG_BOOTDELAY) "\0"
52#endif
53#if defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0)
54 "baudrate=" __stringify(CONFIG_BAUDRATE) "\0"
55#endif
56#ifdef CONFIG_LOADS_ECHO
57 "loads_echo=" __stringify(CONFIG_LOADS_ECHO) "\0"
58#endif
Joe Hershbergerddd84182012-10-12 08:48:51 +000059#ifdef CONFIG_ETHPRIME
60 "ethprime=" CONFIG_ETHPRIME "\0"
61#endif
62#ifdef CONFIG_IPADDR
63 "ipaddr=" __stringify(CONFIG_IPADDR) "\0"
64#endif
65#ifdef CONFIG_SERVERIP
66 "serverip=" __stringify(CONFIG_SERVERIP) "\0"
67#endif
Tom Rinibf904ea2022-06-13 22:57:35 -040068#ifdef CONFIG_SYS_DISABLE_AUTOLOAD
69 "autoload=0\0"
Joe Hershbergerddd84182012-10-12 08:48:51 +000070#endif
Pali Rohár2827c2f2022-07-10 13:42:55 +020071#ifdef CONFIG_PREBOOT_DEFINED
Joe Hershbergerddd84182012-10-12 08:48:51 +000072 "preboot=" CONFIG_PREBOOT "\0"
73#endif
74#ifdef CONFIG_ROOTPATH
75 "rootpath=" CONFIG_ROOTPATH "\0"
76#endif
77#ifdef CONFIG_GATEWAYIP
78 "gatewayip=" __stringify(CONFIG_GATEWAYIP) "\0"
79#endif
80#ifdef CONFIG_NETMASK
81 "netmask=" __stringify(CONFIG_NETMASK) "\0"
82#endif
83#ifdef CONFIG_HOSTNAME
Mario Six5bc05432018-03-28 14:38:20 +020084 "hostname=" CONFIG_HOSTNAME "\0"
Joe Hershbergerddd84182012-10-12 08:48:51 +000085#endif
Tom Rinifdfb17b2022-02-25 11:19:48 -050086#ifdef CONFIG_USE_BOOTFILE
Joe Hershbergerddd84182012-10-12 08:48:51 +000087 "bootfile=" CONFIG_BOOTFILE "\0"
88#endif
Tom Rini72d81362021-08-23 10:25:30 -040089#ifdef CONFIG_SYS_LOAD_ADDR
90 "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR)"\0"
Joe Hershbergerddd84182012-10-12 08:48:51 +000091#endif
Joe Hershbergerddd84182012-10-12 08:48:51 +000092#if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0)
93 "pcidelay=" __stringify(CONFIG_PCI_BOOTDELAY)"\0"
94#endif
95#ifdef CONFIG_ENV_VARS_UBOOT_CONFIG
96 "arch=" CONFIG_SYS_ARCH "\0"
Masahiro Yamada96044742016-06-17 14:24:07 +090097#ifdef CONFIG_SYS_CPU
Joe Hershbergerddd84182012-10-12 08:48:51 +000098 "cpu=" CONFIG_SYS_CPU "\0"
Masahiro Yamada96044742016-06-17 14:24:07 +090099#endif
100#ifdef CONFIG_SYS_BOARD
Joe Hershbergerddd84182012-10-12 08:48:51 +0000101 "board=" CONFIG_SYS_BOARD "\0"
Stephen Warren418b7f32012-10-31 11:17:28 +0000102 "board_name=" CONFIG_SYS_BOARD "\0"
Masahiro Yamada96044742016-06-17 14:24:07 +0900103#endif
Joe Hershbergerddd84182012-10-12 08:48:51 +0000104#ifdef CONFIG_SYS_VENDOR
105 "vendor=" CONFIG_SYS_VENDOR "\0"
106#endif
107#ifdef CONFIG_SYS_SOC
108 "soc=" CONFIG_SYS_SOC "\0"
109#endif
Rasmus Villemoes95fd9772021-04-21 11:06:54 +0200110#ifdef CONFIG_ENV_IMPORT_FDT
111 "env_fdt_path=" CONFIG_ENV_FDT_PATH "\0"
112#endif
Joe Hershbergerddd84182012-10-12 08:48:51 +0000113#endif
Alex Kiernanc9ad6bc2018-07-21 20:25:32 +0000114#if defined(CONFIG_BOOTCOUNT_BOOTLIMIT) && (CONFIG_BOOTCOUNT_BOOTLIMIT > 0)
115 "bootlimit=" __stringify(CONFIG_BOOTCOUNT_BOOTLIMIT)"\0"
116#endif
Tom Rinia3310172022-06-13 22:57:36 -0400117#ifdef CONFIG_MTDIDS_DEFAULT
118 "mtdids=" CONFIG_MTDIDS_DEFAULT "\0"
119#endif
120#ifdef CONFIG_MTDPARTS_DEFAULT
121 "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0"
122#endif
Simon Glass86b9c3e2021-10-21 21:08:46 -0600123#ifdef CONFIG_EXTRA_ENV_TEXT
Simon Glass86b9c3e2021-10-21 21:08:46 -0600124 /* This is created in the Makefile */
125 CONFIG_EXTRA_ENV_TEXT
126#endif
Joe Hershbergerddd84182012-10-12 08:48:51 +0000127#ifdef CONFIG_EXTRA_ENV_SETTINGS
128 CONFIG_EXTRA_ENV_SETTINGS
129#endif
130 "\0"
Rasmus Villemoesf3d8f7d2018-03-20 11:38:45 +0100131#else /* CONFIG_USE_DEFAULT_ENV_FILE */
132#include "generated/defaultenv_autogenerated.h"
133#endif
Joe Hershbergerddd84182012-10-12 08:48:51 +0000134#ifdef DEFAULT_ENV_INSTANCE_EMBEDDED
135 }
136#endif
137};
Marek Behún37f37582021-10-22 15:47:25 +0200138
139#if !defined(USE_HOSTCC) && !defined(DEFAULT_ENV_INSTANCE_EMBEDDED)
140#include <env_internal.h>
141static_assert(sizeof(default_environment) <= ENV_SIZE,
142 "Default environment is too large");
143#endif