summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2023-01-24 18:06:59 +0100
committerTom Rini <trini@konsulko.com>2023-02-06 13:04:53 -0500
commit9e85d186eaa92fb9d460ed4954eb591c3581bc80 (patch)
tree21e6c8dcec526017a4c005cb4588bfa2caf0f39d
parent5a971a2728eb02d59988d034bde0d3dfa19f442e (diff)
downloadu-boot-9e85d186eaa92fb9d460ed4954eb591c3581bc80.tar.gz
u-boot-9e85d186eaa92fb9d460ed4954eb591c3581bc80.tar.bz2
u-boot-9e85d186eaa92fb9d460ed4954eb591c3581bc80.zip
powerpc/mpc85xx: socrates: enable protected Environment
enable protected Environment on socrates board. Signed-off-by: Heiko Schocher <hs@denx.de>
-rw-r--r--board/socrates/socrates.c17
-rw-r--r--configs/socrates_defconfig4
-rw-r--r--include/configs/socrates.h2
3 files changed, 23 insertions, 0 deletions
diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c
index 1d63c81a9c..02e6afb099 100644
--- a/board/socrates/socrates.c
+++ b/board/socrates/socrates.c
@@ -13,6 +13,7 @@
#include <common.h>
#include <clock_legacy.h>
#include <env.h>
+#include <env_internal.h>
#include <init.h>
#include <pci.h>
#include <uuid.h>
@@ -221,3 +222,19 @@ int get_serial_clock(void)
{
return 333333330;
}
+
+enum env_location env_get_location(enum env_operation op, int prio)
+{
+ if (op == ENVOP_SAVE || op == ENVOP_ERASE)
+ return ENVL_FLASH;
+
+ switch (prio) {
+ case 0:
+ return ENVL_NOWHERE;
+ case 1:
+ return ENVL_FLASH;
+ default:
+ return ENVL_UNKNOWN;
+ }
+ return ENVL_UNKNOWN;
+}
diff --git a/configs/socrates_defconfig b/configs/socrates_defconfig
index 8640dc990a..d4c08f1941 100644
--- a/configs/socrates_defconfig
+++ b/configs/socrates_defconfig
@@ -68,9 +68,13 @@ CONFIG_MTDIDS_DEFAULT="nor0=fe000000.nor_flash,nand0=socrates_nand"
CONFIG_MTDPARTS_DEFAULT="mtdparts=fe000000.nor_flash:13312k(system1),13312k(system2),5120k(data),128k(env),128k(env-red),768k(u-boot);socrates_nand:256M(ubi-data1),-(ubi-data2)"
# CONFIG_CMD_IRQ is not set
CONFIG_OF_CONTROL=y
+CONFIG_ENV_IS_NOWHERE=y
CONFIG_ENV_IS_IN_FLASH=y
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
CONFIG_ENV_ADDR_REDUND=0xFFF00000
+CONFIG_ENV_APPEND=y
+CONFIG_ENV_WRITEABLE_LIST=y
+CONFIG_ENV_ACCESS_IGNORE_FORCE=y
CONFIG_USE_ETHPRIME=y
CONFIG_ETHPRIME="eTSEC0"
CONFIG_SPD_EEPROM=y
diff --git a/include/configs/socrates.h b/include/configs/socrates.h
index e2afba96cd..305914de85 100644
--- a/include/configs/socrates.h
+++ b/include/configs/socrates.h
@@ -171,6 +171,8 @@
SOCRATES_ENV_MTD \
""
+#define CFG_ENV_FLAGS_LIST_STATIC "ethaddr:mw,eth1addr:mw,system1_addr:xw,serial#:sw,ethact:sw,ethprime:sw"
+
/* pass open firmware flat tree */
#endif /* __CONFIG_H */