diff mbox

[U-Boot,V3,5/6] omap3_beagle: support findfdt and loadfdt for devicetree support

Message ID 20130715140608.GA24148@kahuna
State Rejected
Delegated to: Tom Rini
Headers show

Commit Message

Nishanth Menon July 15, 2013, 2:06 p.m. UTC
On 15:07-20130715, Koen Kooi wrote:
> Op 15 jul. 2013, om 14:25 heeft Nishanth Menon <nm@ti.com> het volgende geschreven:
> > On 14:16-20130715, Koen Kooi wrote:
> >> Op 15 jul. 2013, om 14:11 heeft Nishanth Menon <nm@ti.com> het volgende geschreven:
> >> 
[..]
> >>> +	"findfdt=" \
> >>> +		"if test $beaglerev = AxBx; then " \
> >>> +			"setenv fdtfile omap3-beagle.dtb; fi; " \
> >>> +		"if test $beaglerev = Cx; then " \
> >>> +			"setenv fdtfile omap3-beagle.dtb; fi; " \
> >>> +		"if test $beaglerev = xMAB; then " \
> >>> +			"setenv fdtfile omap3-beagle-xm.dtb; fi; " \
> >>> +		"if test $beaglerev = xMC; then " \
> >>> +			"setenv fdtfile omap3-beagle-xm.dtb; fi; " \
> >>> +		"if test $fdtfile = undefined; then " \
> >>> +			"echo WARNING: Could not determine device tree to use; fi; \0" \
> >> 
> >> With the remote chance of a future xM rev D, can you make the fallthrough be 'omap3-beagle-xm.dtb' intead of 'undefined'?
> > Lets add the detection of xMD and along with that we add
> > omap3-beagle-xm.dtb detection - makes sense? OR do we assume all
> > un-matched devices default to beagle xMD? what if there was a vanilla
> > beagle rev D?
> 
> The fallthrough case should always be the most recent board rev, any other way will just make the HW guys spoof the ID in the design and we all know how that ends :(
Fair enough. Anyone else has a contrary opinion?

If none, the following is the replacement patch, wont repost unless a new series
is needed:

From 07e1787cc59f4622c764d7da33da2684cf122d41 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Thu, 11 Jul 2013 16:25:09 -0500
Subject: [PATCH V4] omap3_beagle: support findfdt and loadfdt for devicetree
 support

For folks not using concatenated device tree with uImage, having
an handy function to find and load device tree is very handy.

So introduce findfdt and loadfdt and run findfdt by default to make
it easier on user scripts.

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 include/configs/omap3_beagle.h |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
diff mbox

Patch

diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index bdeee17..7e6e38c 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -210,6 +210,8 @@ 
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"loadaddr=0x80200000\0" \
 	"rdaddr=0x81000000\0" \
+	"fdt_high=0xffffffff\0" \
+	"fdtaddr=0x80f80000\0" \
 	"usbtty=cdc_acm\0" \
 	"bootfile=uImage\0" \
 	"ramdisk=ramdisk.gz\0" \
@@ -250,6 +252,20 @@ 
 		"omapdss.def_disp=${defaultdisplay} " \
 		"root=${nandroot} " \
 		"rootfstype=${nandrootfstype}\0" \
+	"findfdt=" \
+		"if test $beaglerev = AxBx; then " \
+			"setenv fdtfile omap3-beagle.dtb; fi; " \
+		"if test $beaglerev = Cx; then " \
+			"setenv fdtfile omap3-beagle.dtb; fi; " \
+		"if test $beaglerev = xMAB; then " \
+			"setenv fdtfile omap3-beagle-xm.dtb; fi; " \
+		"if test $beaglerev = xMC; then " \
+			"setenv fdtfile omap3-beagle-xm.dtb; fi; " \
+		"if test $fdtfile = undefined; then " \
+			"setenv fdtfile omap3-beagle-xm.dtb;" \
+			"echo WARNING: Could not determine device tree to use;" \
+			"echo WARNING: assuming ${fdtfile};" \
+			"fi; \0" \
 	"bootenv=uEnv.txt\0" \
 	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
 	"importbootenv=echo Importing environment from mmc ...; " \
@@ -265,6 +281,7 @@ 
 		"rootfstype=${ramrootfstype}\0" \
 	"loadramdisk=load mmc ${bootpart} ${rdaddr} ${bootdir}/${ramdisk}\0" \
 	"loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
+	"loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs; " \
 		"bootm ${loadaddr}\0" \
@@ -281,6 +298,7 @@ 
 	"userbutton_nonxm=gpio input 7;\0"
 /* "run userbutton" will return 1 (false) if pressed and 0 (true) if not */
 #define CONFIG_BOOTCOMMAND \
+	"run findfdt; " \
 	"mmc dev ${mmcdev}; if mmc rescan; then " \
 		"if run userbutton; then " \
 			"setenv bootenv uEnv.txt;" \