powerpc/mpc85xx: socrates: enable protected Environment

enable protected Environment on socrates board.

Signed-off-by: Heiko Schocher <hs@denx.de>
diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c
index 1d63c81..02e6afb 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 @@
 {
 	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 8640dc9..d4c08f1 100644
--- a/configs/socrates_defconfig
+++ b/configs/socrates_defconfig
@@ -68,9 +68,13 @@
 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 e2afba9..305914d 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 */