From 6d660e773e2b9370f527e86087239bb78643ccf4 Mon Sep 17 00:00:00 2001
From: Sughosh Ganu <urwithsughosh@gmail.com>
Date: Wed, 13 Jun 2012 08:39:06 +0000
Subject: [PATCH] hawkboard/omapl-138: Add support for generating ais image for
 hawkboard

Parameters used for configuring certain SoC peripherals are parsed
from the cfg file and appended as part of the ais image's header. The
u-boot-spl.ais generated is flashed separately to the nand, so do not
delete the file after generation of u-boot.ais.

Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
---
 .gitignore                                    | 3 +++
 Makefile                                      | 5 +++--
 board/davinci/da8xxevm/hawkboard-ais-nand.cfg | 4 ++++
 include/configs/hawkboard.h                   | 1 +
 4 files changed, 11 insertions(+), 2 deletions(-)
 create mode 100644 board/davinci/da8xxevm/hawkboard-ais-nand.cfg

diff --git a/.gitignore b/.gitignore
index b78e2ac681..2e6fde8161 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,3 +79,6 @@ cscope.*
 /onenand_ipl/onenand-ipl*
 /onenand_ipl/board/*/onenand*
 /onenand_ipl/board/*/*.S
+
+# spl ais files
+/spl/*.ais
diff --git a/Makefile b/Makefile
index a41b987054..42fc5ee63c 100644
--- a/Makefile
+++ b/Makefile
@@ -438,7 +438,8 @@ $(obj)u-boot.ubl:       $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
 		rm $(obj)spl/u-boot-spl-pad.bin
 
 $(obj)u-boot.ais:       $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
-		$(obj)tools/mkimage -s -n /dev/null -T aisimage \
+		$(obj)tools/mkimage -s -n $(if $(CONFIG_AIS_CONFIG_FILE),$(CONFIG_AIS_CONFIG_FILE),"/dev/null") \
+			-T aisimage \
 			-e $(CONFIG_SPL_TEXT_BASE) \
 			-d $(obj)spl/u-boot-spl.bin \
 			$(obj)spl/u-boot-spl.ais
@@ -447,7 +448,6 @@ $(obj)u-boot.ais:       $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
 			$(obj)spl/u-boot-spl.ais $(obj)spl/u-boot-spl-pad.ais
 		cat $(obj)spl/u-boot-spl-pad.ais $(obj)u-boot.bin > \
 			$(obj)u-boot.ais
-		rm $(obj)spl/u-boot-spl{,-pad}.ais
 
 $(obj)u-boot.sb:       $(obj)u-boot.bin $(obj)spl/u-boot-spl.bin
 		elftosb -zdf imx28 -c $(TOPDIR)/board/$(BOARDDIR)/u-boot.bd \
@@ -797,6 +797,7 @@ clobber:	tidy
 	@[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f
 	@[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -name "*" -type l -print | xargs rm -f
 	@rm -f $(obj)dts/*.tmp
+	@rm -f $(obj)spl/u-boot-spl{,-pad}.ais
 
 mrproper \
 distclean:	clobber unconfig
diff --git a/board/davinci/da8xxevm/hawkboard-ais-nand.cfg b/board/davinci/da8xxevm/hawkboard-ais-nand.cfg
new file mode 100644
index 0000000000..2b12b6c08a
--- /dev/null
+++ b/board/davinci/da8xxevm/hawkboard-ais-nand.cfg
@@ -0,0 +1,4 @@
+#	PLL0CFG0	PLL0CFG1
+PLL0	0x00180001	0x00000205
+#	PLL1CFG0	PLL1CFG1	DRPYC1R		SDCR		SDTIMR1		SDTIMR2		SDRCR		CLK2XSRC
+DDR2	0x15010001	0x00000002	0x00000043	0x00134632	0x26492a09	0x7d13c722	0x00000249	0x00000000
diff --git a/include/configs/hawkboard.h b/include/configs/hawkboard.h
index c6e9ce5576..31acd2e3ba 100644
--- a/include/configs/hawkboard.h
+++ b/include/configs/hawkboard.h
@@ -43,6 +43,7 @@
 #define CONFIG_SYS_HZ			1000
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_AIS_CONFIG_FILE		"board/$(BOARDDIR)/hawkboard-ais-nand.cfg"
 
 #define CONFIG_SYS_DA850_SYSCFG_SUSPSRC (	\
 	DAVINCI_SYSCFG_SUSPSRC_EMAC |		\
-- 
2.39.5