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

login
register
mail settings
Submitter Nishanth Menon
Date July 11, 2013, 9:52 p.m.
Message ID <1373579559-5697-5-git-send-email-nm@ti.com>
Download mbox | patch
Permalink /patch/258624/
State Superseded
Delegated to: Tom Rini
Headers show

Comments

Nishanth Menon - July 11, 2013, 9:52 p.m.
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 |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)
robertcnelson@gmail.com - July 11, 2013, 10:02 p.m.
On Thu, Jul 11, 2013 at 4:52 PM, Nishanth Menon <nm@ti.com> wrote:
> 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 |   17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
> index bdeee17..7833208 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,19 @@
>                 "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 = xMA; then " \
> +                       "setenv fdtfile omap3-beagle-xm.dtb; fi; " \
> +               "if test $beaglerev = xMB; then " \
> +                       "setenv fdtfile omap3-beagle-xm.dtb; fi; " \

There is no need for the "xMB" variant, as the gpio pins used for
identification where never changed from the xMA when the newer silcon
was used for the xMB (i guess if we look at the omap's es revision, we
could figure out which are xMB's, but right now that isn't done in
u-boot....)


> +               "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" \
>         "bootenv=uEnv.txt\0" \
>         "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
>         "importbootenv=echo Importing environment from mmc ...; " \
> @@ -265,6 +280,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 +297,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;" \
> --

Regards,

Patch

diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index bdeee17..7833208 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,19 @@ 
 		"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 = xMA; then " \
+			"setenv fdtfile omap3-beagle-xm.dtb; fi; " \
+		"if test $beaglerev = xMB; 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" \
 	"bootenv=uEnv.txt\0" \
 	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
 	"importbootenv=echo Importing environment from mmc ...; " \
@@ -265,6 +280,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 +297,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;" \