From b591e15f362de31f9fba8905347451b3122cff8c Mon Sep 17 00:00:00 2001
From: Luka Perkov <luka@openwrt.org>
Date: Thu, 11 Apr 2013 16:04:31 +0000
Subject: [PATCH] This adds Gateworks Laguna family board support. Note that
 some Laguna boards have SPI flash and others have NOR flash, thus the
 size/erasesize are detected dynamically.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 36313
---
 package/boot/uboot-envtools/Makefile      |  4 ++++
 package/boot/uboot-envtools/files/cns3xxx | 28 +++++++++++++++++++++++
 2 files changed, 32 insertions(+)
 create mode 100644 package/boot/uboot-envtools/files/cns3xxx

diff --git a/package/boot/uboot-envtools/Makefile b/package/boot/uboot-envtools/Makefile
index 55aaf885f1..ded9678be9 100644
--- a/package/boot/uboot-envtools/Makefile
+++ b/package/boot/uboot-envtools/Makefile
@@ -69,6 +69,10 @@ ifneq ($(CONFIG_TARGET_ramips),)
 	$(INSTALL_DIR) $(1)/etc/uci-defaults
 	$(INSTALL_BIN) ./files/ramips $(1)/etc/uci-defaults/uboot-envtools
 endif
+ifneq ($(CONFIG_TARGET_cns3xxx),)
+	$(INSTALL_DIR) $(1)/etc/uci-defaults
+	$(INSTALL_BIN) ./files/cns3xxx $(1)/etc/uci-defaults/uboot-envtools
+endif
 endef
 
 $(eval $(call BuildPackage,uboot-envtools))
diff --git a/package/boot/uboot-envtools/files/cns3xxx b/package/boot/uboot-envtools/files/cns3xxx
new file mode 100644
index 0000000000..a56be15c57
--- /dev/null
+++ b/package/boot/uboot-envtools/files/cns3xxx
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+
+[ -e /etc/config/ubootenv ] && exit 0
+
+touch /etc/config/ubootenv
+
+. /lib/cns3xxx.sh
+. /lib/uboot-envtools.sh
+. /lib/functions.sh
+
+board=$(cns3xxx_board_name)
+
+case "$board" in
+laguna)
+	# Laguna uboot env size/erasesize vary depending on NOR vs SPI FLASH
+	size=$(grep mtd1 /proc/mtd | awk '{print $2}')
+	erasesize=$(grep mtd1 /proc/mtd | awk '{print $3}')
+	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x$size" "0x$erasesize"
+	;;
+esac
+
+config_load ubootenv
+config_foreach ubootenv_add_app_config ubootenv
+
+exit 0
-- 
GitLab