[U-Boot] [PATCH] board/ti/am335x: add support for BeagleBone Green

Robert Nelson robertcnelson at gmail.com
Wed Nov 11 16:10:52 CET 2015


SeeedStudio BeagleBone Green (BBG) is clone of the BeagleBone Black (BBB) minus
the HDMI port and addition of two Grove connectors (i2c2 and usart2).

This board can be identified by the 1A value after A335BNLT (BBB) in the at24 eeprom:
1A: [aa 55 33 ee 41 33 33 35  42 4e 4c 54 1a 00 00 00 |.U3.A335BNLT....|]

http://beagleboard.org/green
http://www.seeedstudio.com/wiki/Beaglebone_green

In Mainline Kernel as of:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=79a4e64c679d8a0b1037da174e4aea578c80c4e6

Patch tested on BeagleBone Black (rev C) and BeagleBone Green (production model)

Signed-off-by: Robert Nelson <robertcnelson at gmail.com>
CC: Tom Rini <trini at konsulko.com>
CC: Jason Kridner <jkridner at gmail.com>
---
 board/ti/am335x/board.c      | 12 +++++++++---
 include/configs/am335x_evm.h |  7 ++++++-
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
index f0cb1e2..f56d17e 100644
--- a/board/ti/am335x/board.c
+++ b/board/ti/am335x/board.c
@@ -507,9 +507,15 @@ int board_late_init(void)
 	safe_string[sizeof(header.name)] = 0;
 	setenv("board_name", safe_string);
 
-	strncpy(safe_string, (char *)header.version, sizeof(header.version));
-	safe_string[sizeof(header.version)] = 0;
-	setenv("board_rev", safe_string);
+	/* BeagleBone Green eeprom, board_rev: 0x1a 0x00 0x00 0x00 */
+	if ( (header.version[0] == 0x1a) && (header.version[1] == 0x00) &&
+	     (header.version[2] == 0x00) && (header.version[3] == 0x00) ) {
+		setenv("board_rev", "BBG1");
+	} else {
+		strncpy(safe_string, (char *)header.version, sizeof(header.version));
+		safe_string[sizeof(header.version)] = 0;
+		setenv("board_rev", safe_string);
+	}
 #endif
 
 	return 0;
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index d58816d..ed3fd34 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -186,7 +186,12 @@
 		"if test $board_name = A335BONE; then " \
 			"setenv fdtfile am335x-bone.dtb; fi; " \
 		"if test $board_name = A335BNLT; then " \
-			"setenv fdtfile am335x-boneblack.dtb; fi; " \
+			"if test $board_rev = BBG1; then " \
+				"setenv fdtfile am335x-bonegreen.dtb; " \
+			"else " \
+				"setenv fdtfile am335x-boneblack.dtb; " \
+			"fi; " \
+		"fi; " \
 		"if test $board_name = A33515BB; then " \
 			"setenv fdtfile am335x-evm.dtb; fi; " \
 		"if test $board_name = A335X_SK; then " \
-- 
2.6.2



More information about the U-Boot mailing list