All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.