Skip to contentSkip to conversation

env_eeprom: Assign default environment during board_init_f

PATCH New Michal Simek 3 participants 4 messages Apr 25, 2014 – May 13, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 env_eeprom: Assign default environment during board_init_f

From: Siva Durga Prasad Paladugu <[email protected]>

Assign default environment and set env valid during board_init_f before relocation as the actual environment will be read from eeprom later.

---

 common/env_eeprom.c | 5 +++++
 1 file changed, 5 insertions(+)
common/env_eeprom.c +5 -0
index 0db2bb6..a4020bc 100644
@@ -224,6 +224,7 @@ int env_init(void)
 #else
 int env_init(void)
 {
+#ifdef ENV_IS_EMBEDDED
 	ulong crc, len, new;
 	unsigned off;
 	uchar buf[64];
@@ -256,6 +257,10 @@ int env_init(void)
 		gd->env_addr	= 0;
 		gd->env_valid	= 0;
 	}
+#else
+	gd->env_addr = (ulong)&default_environment[0];
+	gd->env_valid = 1;
+#endif
 
 	return 0;
 }

--
1.8.2.3

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140425/838cb3f5/attachment.pgp>

#1 lore raw

PATCH 1/1 env_eeprom: Assign default environment during board_init_f

Hi Tom,

Quoted 37 lines · Michal Simek

From: Siva Durga Prasad Paladugu <[email protected]>

Assign default environment and set env valid during board_init_f before relocation as the actual environment will be read from eeprom later.

---

 common/env_eeprom.c | 5 +++++
 1 file changed, 5 insertions(+)
common/env_eeprom.c +5 -1
index 0db2bb6..a4020bc 100644
@@ -224,6 +224,7 @@ int env_init(void)
 #else
 int env_init(void)
 {
+#ifdef ENV_IS_EMBEDDED
 	ulong crc, len, new;
 	unsigned off;
 	uchar buf[64];
@@ -256,6 +257,10 @@ int env_init(void)
 		gd->env_addr	= 0;
 		gd->env_valid	= 0;
 	}
+#else
+	gd->env_addr = (ulong)&default_environment[0];
+	gd->env_valid = 1;
+#endif
 
 	return 0;
 }
--
Quoted 1 line

1.8.2.3

Any comment on this?

Thanks,
Michal

Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140506/41d3c544/attachment.pgp>
#2 lore raw

PATCH 1/1 env_eeprom: Assign default environment during board_init_f

In reply to Michal Simek
Quoted 26 lines · Michal Simek

From: Siva Durga Prasad Paladugu <[email protected]>

Assign default environment and set env valid during board_init_f before relocation as the actual environment will be read from eeprom later.

---

 common/env_eeprom.c | 5 +++++
 1 file changed, 5 insertions(+)
common/env_eeprom.c +1 -0
index 0db2bb6..a4020bc 100644
@@ -224,6 +224,7 @@ int env_init(void)
 #else
 int env_init(void)
 {
+#ifdef ENV_IS_EMBEDDED
 	ulong crc, len, new;
 	unsigned off;
 	uchar buf[64];

common/env_eeprom.c int env_init(void) · line 266

Quoted 10 lines
common/env_eeprom.c +4 -0
@@ -256,6 +257,10 @@ int env_init(void)
 		gd->env_addr	= 0;
 		gd->env_valid	= 0;
 	}
+#else
+	gd->env_addr = (ulong)&default_environment[0];
+	gd->env_valid = 1;
+#endif
 
 	return 0;
 }

Sorry for the delay. This looks fine but doesn't correct the redundant env case which has the same problem. It would be nice if you had time to first consolidate env_init for both cases (see how env_nand.c does it) as well. Thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140509/e3b1f253/attachment.pgp>
#3 lore raw

PATCH 1/1 env_eeprom: Assign default environment during board_init_f

Hi Tom,

Quoted 36 lines · Tom Rini
Quoted 34 lines · Michal Simek

From: Siva Durga Prasad Paladugu <[email protected]>

Assign default environment and set env valid during board_init_f before relocation as the actual environment will be read from eeprom later.

---

 common/env_eeprom.c | 5 +++++
 1 file changed, 5 insertions(+)
common/env_eeprom.c +5 -0
index 0db2bb6..a4020bc 100644
@@ -224,6 +224,7 @@ int env_init(void)
 #else
 int env_init(void)
 {
+#ifdef ENV_IS_EMBEDDED
 	ulong crc, len, new;
 	unsigned off;
 	uchar buf[64];
@@ -256,6 +257,10 @@ int env_init(void)
 		gd->env_addr	= 0;
 		gd->env_valid	= 0;
 	}
+#else
+	gd->env_addr = (ulong)&default_environment[0];
+	gd->env_valid = 1;
+#endif
 
Quoted 7 lines

common/env_eeprom.c int env_init(void) · line 266

Quoted 2 lines
common/env_eeprom.c +0 -0
 	return 0;
 }

Sorry for the delay. This looks fine but doesn't correct the redundant env case which has the same problem. It would be nice if you had time to first consolidate env_init for both cases (see how env_nand.c does it) as well. Thanks!

I have asked Siva to look at it but anyway if this is the right fix it should be applied because it is fixing problem at least for one case.

Thanks,
Michal

Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140513/2cea9515/attachment.pgp>