Detecting xM in u-boot

It seems necessary to me given the growing collection of u-boot scripts and how critical a role they will play with the BeagleBoard-xM for us to have some kind of way to detect the amount of RAM available (or board revision) in scripts in u-boot so that we can setup DSP/Link stuff properly. Any ideas on the best way to go about this?

-Jason
http://beagleboard.org/twitter

This is what chase and I came up with a few days ago:

http://gitorious.org/beagleboard-validation/u-boot/commit/c48581ecc0b060e4c1b5fa973d053e81e18f676b
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=c3d41d503c5439e6043bb0b17a4adb038a4a7b3a

I need to read the uboot docs some more, but something like this should work:

diff --git a/recipes/angstrom/angstrom-uboot-scripts/linuxtagdemo.cmd b/recipes/angstrom/angstrom-uboot-scripts/linuxtagdemo.cmd
index b232f79..d115d0b 100755
--- a/recipes/angstrom/angstrom-uboot-scripts/linuxtagdemo.cmd
+++ b/recipes/angstrom/angstrom-uboot-scripts/linuxtagdemo.cmd
@@ -25,7 +25,17 @@ setenv musbfifomode '5'

# mpurate is read from omap registers on omap3530 (which x-load has set to 600mhz?), on xm, uboot sets this to 1GHz
#setenv mpurate '720'
-setenv memmap 'mem=80M mem=128M@0x88000000'

It seems necessary to me given the growing collection of u-boot scripts and how critical a role they will play with the BeagleBoard-xM for us to have some kind of way to detect the amount of RAM available (or board revision) in scripts in u-boot so that we can setup DSP/Link stuff properly. Any ideas on the best way to go about this?

This is what chase and I came up with a few days ago:

http://gitorious.org/beagleboard-validation/u-boot/commit/c48581ecc0b060e4c1b5fa973d053e81e18f676b
openembedded - Classic OpenEmbedded Development Tree

I need to read the uboot docs some more, but something like this should work:

diff --git a/recipes/angstrom/angstrom-uboot-scripts/linuxtagdemo.cmd b/recipes/angstrom/angstrom-uboot-scripts/linuxtagdemo.cmd
index b232f79..d115d0b 100755
--- a/recipes/angstrom/angstrom-uboot-scripts/linuxtagdemo.cmd
+++ b/recipes/angstrom/angstrom-uboot-scripts/linuxtagdemo.cmd
@@ -25,7 +25,17 @@ setenv musbfifomode '5'

# mpurate is read from omap registers on omap3530 (which x-load has set to 600mhz?), on xm, uboot sets this to 1GHz
#setenv mpurate '720'
-setenv memmap 'mem=80M mem=128M@0x88000000'
+
+setenv memmap 'mem=80M mem=384M@0x88000000'
+
+if beaglerev=AxBx ; then

As far as I can tell, the above syntax is invalid. After a bit of
research, I believe the proper syntax is:

if test "${beaglerev}" = "AxBx"; then

Very useful feature. Thanks!