public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 5/5] Add env var giving the board revision
Date: Fri, 10 Aug 2012 19:46:08 +0200 (CEST)	[thread overview]
Message-ID: <2028294275.2280404.1344620768178.JavaMail.root@advansee.com> (raw)
In-Reply-To: <1334481525.2280373.1344620691713.JavaMail.root@advansee.com>

The board revision can be a useful env var, like its serial number.

Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
Cc: Wolfgang Denk <wd@denx.de>
---
 {u-boot-4d3c95f.orig => u-boot-4d3c95f}/README     |   21 ++++++++++----------
 .../common/cmd_nvedit.c                            |    5 +++--
 .../tools/env/fw_env.c                             |    5 +++--
 3 files changed, 17 insertions(+), 14 deletions(-)

diff --git u-boot-4d3c95f.orig/README u-boot-4d3c95f/README
index 369ea9c..2ea48cf 100644
--- u-boot-4d3c95f.orig/README
+++ u-boot-4d3c95f/README
@@ -2073,13 +2073,13 @@ The following options need to be configured:
 - Vendor Parameter Protection:
 
 		U-Boot considers the values of the environment
-		variables "serial#" (Board Serial Number) and
-		"ethaddr" (Ethernet Address) to be parameters that
-		are set once by the board vendor / manufacturer, and
-		protects these variables from casual modification by
-		the user. Once set, these variables are read-only,
-		and write or delete attempts are rejected. You can
-		change this behaviour:
+		variables "serial#" (Board Serial Number), "rev"
+		(Board Revision) and "ethaddr" (Ethernet Address)
+		to be parameters that are set once by the board
+		vendor / manufacturer, and protects these variables
+		from casual modification by the user. Once set,
+		these variables are read-only, and write or delete
+		attempts are rejected. You can change this behaviour:
 
 		If CONFIG_ENV_OVERWRITE is #defined in your config
 		file, the write protection for vendor parameters is
@@ -2090,8 +2090,8 @@ The following options need to be configured:
 		_and_ CONFIG_OVERWRITE_ETHADDR_ONCE, a default
 		Ethernet address is installed in the environment,
 		which can be changed exactly ONCE by the user. [The
-		serial# is unaffected by this, i. e. it remains
-		read-only.]
+		serial# and rev are unaffected by this, i. e. they
+		remain read-only.]
 
 - Protected RAM:
 		CONFIG_PRAM
@@ -3968,10 +3968,11 @@ depending the information provided by your boot server:
   serverip	- see above
 
 
-There are two special Environment Variables:
+There are three special Environment Variables:
 
   serial#	- contains hardware identification information such
 		  as type string and/or serial number
+  rev		- hardware revision
   ethaddr	- Ethernet address
 
 These variables can be set only once (usually during manufacturing of
diff --git u-boot-4d3c95f.orig/common/cmd_nvedit.c u-boot-4d3c95f/common/cmd_nvedit.c
index 0f320cc..d16aeb6 100644
--- u-boot-4d3c95f.orig/common/cmd_nvedit.c
+++ u-boot-4d3c95f/common/cmd_nvedit.c
@@ -255,12 +255,13 @@ int _do_env_set(int flag, int argc, char * const argv[])
 	}
 
 	/*
-	 * Some variables like "ethaddr" and "serial#" can be set only
-	 * once and cannot be deleted; also, "ver" is readonly.
+	 * Some variables like "ethaddr", "serial#" and "rev" can be set only
+	 * once and cannot be deleted.
 	 */
 	if (ep) {		/* variable exists */
 #ifndef CONFIG_ENV_OVERWRITE
 		if (strcmp(name, "serial#") == 0 ||
+		    strcmp(name, "rev") == 0 ||
 		    (strcmp(name, "ethaddr") == 0
 #if defined(CONFIG_OVERWRITE_ETHADDR_ONCE) && defined(CONFIG_ETHADDR)
 		     && strcmp(ep->data, MK_STR(CONFIG_ETHADDR)) != 0
diff --git u-boot-4d3c95f.orig/tools/env/fw_env.c u-boot-4d3c95f/tools/env/fw_env.c
index 1a2c227..b5aa3aa 100644
--- u-boot-4d3c95f.orig/tools/env/fw_env.c
+++ u-boot-4d3c95f/tools/env/fw_env.c
@@ -405,10 +405,11 @@ int fw_env_write(char *name, char *value)
 	if (oldval) {
 #ifndef CONFIG_ENV_OVERWRITE
 		/*
-		 * Ethernet Address and serial# can be set only once
+		 * Ethernet Address, serial# and rev can be set only once
 		 */
 		if (
 		    (strcmp(name, "serial#") == 0) ||
+		    (strcmp (name, "rev") == 0) ||
 		    ((strcmp(name, "ethaddr") == 0)
 #if defined(CONFIG_OVERWRITE_ETHADDR_ONCE) && defined(CONFIG_ETHADDR)
 		    && (strcmp(oldval, MK_STR(CONFIG_ETHADDR)) != 0)
@@ -474,7 +475,7 @@ int fw_env_write(char *name, char *value)
  * Deletes or sets environment variables. Returns -1 and sets errno error codes:
  * 0	  - OK
  * EINVAL - need at least 1 argument
- * EROFS  - certain variables ("ethaddr", "serial#") cannot be
+ * EROFS  - certain variables ("ethaddr", "serial#", "rev") cannot be
  *	    modified or deleted
  *
  */

  parent reply	other threads:[~2012-08-10 17:46 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-10 17:44 [U-Boot] [PATCH 0/5] Cleanup and extend env vars Benoît Thébaudeau
2012-08-10 17:45 ` [U-Boot] [PATCH 1/5] fw_env: Add env vars describing U-Boot target board Benoît Thébaudeau
2012-09-18 19:04   ` [U-Boot] [U-Boot, " Tom Rini
2012-08-10 17:45 ` [U-Boot] [PATCH 2/5] env_common: Add missing ethprime Benoît Thébaudeau
2012-09-18 19:05   ` [U-Boot] [U-Boot,2/5] " Tom Rini
2012-08-10 17:45 ` [U-Boot] [PATCH 3/5] env import/export: Remove from help if disabled Benoît Thébaudeau
2012-08-11 17:48   ` Mike Frysinger
2012-09-18 19:05   ` [U-Boot] [U-Boot, " Tom Rini
2012-08-10 17:45 ` [U-Boot] [PATCH 4/5] README: The ver env var is not read-only Benoît Thébaudeau
2012-08-11 17:48   ` Mike Frysinger
2012-08-11 18:07     ` Benoît Thébaudeau
2012-08-12 11:54       ` Wolfgang Denk
2012-08-12 13:58         ` Benoît Thébaudeau
2012-08-12 14:49           ` Mike Frysinger
2012-08-13 13:01             ` [U-Boot] [PATCH] README: Update ver env var description Benoît Thébaudeau
2012-08-17  4:20               ` Mike Frysinger
2012-09-02 16:56               ` Wolfgang Denk
2012-08-12 11:49     ` [U-Boot] [PATCH 4/5] README: The ver env var is not read-only Wolfgang Denk
2012-08-10 17:46 ` Benoît Thébaudeau [this message]
2012-08-11 17:48   ` [U-Boot] [PATCH 5/5] Add env var giving the board revision Mike Frysinger
2012-08-11 19:11     ` Benoît Thébaudeau
2012-08-12 11:58       ` Wolfgang Denk
2012-08-12 14:02         ` Benoît Thébaudeau
2012-08-12 14:09           ` Benoît Thébaudeau
2012-08-12 21:06             ` Wolfgang Denk
2012-08-12 21:21               ` Jeroen Hofstee
2012-08-12 14:54           ` Mike Frysinger
2012-08-12 17:11             ` Benoît Thébaudeau
2012-08-12 21:20               ` Wolfgang Denk
2012-08-12 21:35                 ` Benoît Thébaudeau
2012-08-13  9:59                   ` Wolfgang Denk
2012-08-13  0:28               ` Mike Frysinger
2012-08-12 21:05           ` Wolfgang Denk
2012-08-12 11:51   ` Wolfgang Denk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2028294275.2280404.1344620768178.JavaMail.root@advansee.com \
    --to=benoit.thebaudeau@advansee.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox