summaryrefslogtreecommitdiff
path: root/recipes/u-boot
diff options
context:
space:
mode:
authorSergey Lapin <slapin@ossfans.org>2010-03-22 18:13:56 +0300
committerSergey Lapin <slapin@ossfans.org>2010-03-22 18:13:56 +0300
commit3937c88166a493900a694ea8fe53b860f4099d83 (patch)
tree57597245b6efd4cf27c1f4c9ff21c0515e530c15 /recipes/u-boot
parentdf2ace6d59e22b42e50bcf4e8a9c92b580602c2e (diff)
parent3510d2ed15a4b477aa7af802a839e11a87b981ed (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
Diffstat (limited to 'recipes/u-boot')
-rw-r--r--recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch40
-rw-r--r--recipes/u-boot/u-boot-git/0001-cmd_i2c.c-reduced-subaddress-length-to-3-bytes.patch66
-rw-r--r--recipes/u-boot/u-boot-git/0002-cmd_bootm.c-made-subcommand-array-static.patch26
-rw-r--r--recipes/u-boot/u-boot-git/0002-cmd_itest.c-fix-pointer-dereferencing.patch40
-rw-r--r--recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch109
-rw-r--r--recipes/u-boot/u-boot-git/0004-cmd_i2c.c-sorted-commands-alphabetically.patch48
-rw-r--r--recipes/u-boot/u-boot-git/0005-cmd_i2c.c-added-i2c-read-to-memory-function.patch107
-rw-r--r--recipes/u-boot/u-boot-git/0007-cmd_setexpr-allow-memory-addresses-and-env-vars-in-e.patch89
-rw-r--r--recipes/u-boot/u-boot-git/Cortex-A8-erratum-725233.diff45
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0001-omap3-clock.c-don-t-reprogram-clocks-when-trying-to-.patch50
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0002-beagleboard-add-pinmuxing-for-beagleboard-XM.patch69
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0003-beagleboard-move-muxing-into-revision-print-switch.patch53
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/720MHz.patch98
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/revision-detection.patch105
-rw-r--r--recipes/u-boot/u-boot_git.bb56
15 files changed, 797 insertions, 204 deletions
diff --git a/recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch b/recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch
new file mode 100644
index 0000000000..84822a717c
--- /dev/null
+++ b/recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch
@@ -0,0 +1,40 @@
+From fe048d0b6db98744888ba79b6b6551d822e19edd Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 25 Jan 2010 14:31:01 +0100
+Subject: [PATCH] OMAP3: set L1NEON bit in aux control register
+
+This is required to work around ARM erratum 621766, affecting
+Cortex-A8 r1p0-3:
+
+ When a sequence of Neon load instructions is intermixed with several
+ branches, some of which are mispredicted, it is possible for the
+ processor to deadlock due to Neon loads on the speculative path not
+ being properly flushed from the Neon load queue.
+
+Also enable ASA like recent upstream u-boots do.
+
+Based on a patch from Mans Rullgard: http://www.mail-archive.com/u-boot@lists.denx.de/msg04879.html
+---
+ cpu/omap3/cpu.c | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/cpu/omap3/cpu.c b/cpu/omap3/cpu.c
+index 54c0ecf..0f3882a 100644
+--- a/cpu/omap3/cpu.c
++++ b/cpu/omap3/cpu.c
+@@ -252,8 +252,10 @@ void setup_auxcr(int device_type, int boot_type)
+ /* r12 = AUXCR Write function and r0 value */
+ __asm__ __volatile__("mov r12, #0x3");
+ __asm__ __volatile__("mrc p15, 0, r0, c1, c0, 1");
+- /* Enabling IBE. ASA is disabled following recommendation from ARM */
+- __asm__ __volatile__("orr r0, r0, #0x40");
++ /* Enabling ASA */
++ __asm__ __volatile__("orr r0, r0, #0x10");
++ /* Enable L1NEON */
++ __asm__ __volatile__("orr r0, r0, #1<<5");
+ /* SMI instruction to call ROM Code API */
+ __asm__ __volatile__(".word 0xE1600070");
+
+--
+1.6.5
+
diff --git a/recipes/u-boot/u-boot-git/0001-cmd_i2c.c-reduced-subaddress-length-to-3-bytes.patch b/recipes/u-boot/u-boot-git/0001-cmd_i2c.c-reduced-subaddress-length-to-3-bytes.patch
new file mode 100644
index 0000000000..afaee11c5d
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/0001-cmd_i2c.c-reduced-subaddress-length-to-3-bytes.patch
@@ -0,0 +1,66 @@
+From 609d8536cd125793fe52b393e854dd7df238c954 Mon Sep 17 00:00:00 2001
+From: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+Date: Wed, 24 Feb 2010 09:23:00 +0100
+Subject: [PATCH 1/5] cmd_i2c.c: reduced subaddress length to 3 bytes
+
+according to some of the comments the subaddress length is 1 or 2, but we are being
+prepared for the case it becomes 3. However the code also accepted 4.
+This repairs this by changing the constand 4 to 3.
+
+Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+---
+ common/cmd_i2c.c | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c
+index 62cbd33..7531702 100644
+--- a/common/cmd_i2c.c
++++ b/common/cmd_i2c.c
+@@ -193,7 +193,7 @@ int do_i2c_md ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+ for (j = 0; j < 8; j++) {
+ if (argv[2][j] == '.') {
+ alen = argv[2][j+1] - '0';
+- if (alen > 4) {
++ if (alen > 3) {
+ cmd_usage(cmdtp);
+ return 1;
+ }
+@@ -287,7 +287,7 @@ int do_i2c_mw ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+ for (j = 0; j < 8; j++) {
+ if (argv[2][j] == '.') {
+ alen = argv[2][j+1] - '0';
+- if (alen > 4) {
++ if (alen > 3) {
+ cmd_usage(cmdtp);
+ return 1;
+ }
+@@ -361,7 +361,7 @@ int do_i2c_crc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+ for (j = 0; j < 8; j++) {
+ if (argv[2][j] == '.') {
+ alen = argv[2][j+1] - '0';
+- if (alen > 4) {
++ if (alen > 3) {
+ cmd_usage(cmdtp);
+ return 1;
+ }
+@@ -451,7 +451,7 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[])
+ for (j = 0; j < 8; j++) {
+ if (argv[2][j] == '.') {
+ alen = argv[2][j+1] - '0';
+- if (alen > 4) {
++ if (alen > 3) {
+ cmd_usage(cmdtp);
+ return 1;
+ }
+@@ -607,7 +607,7 @@ int do_i2c_loop(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+ for (j = 0; j < 8; j++) {
+ if (argv[2][j] == '.') {
+ alen = argv[2][j+1] - '0';
+- if (alen > 4) {
++ if (alen > 3) {
+ cmd_usage(cmdtp);
+ return 1;
+ }
+--
+1.7.0
+
diff --git a/recipes/u-boot/u-boot-git/0002-cmd_bootm.c-made-subcommand-array-static.patch b/recipes/u-boot/u-boot-git/0002-cmd_bootm.c-made-subcommand-array-static.patch
new file mode 100644
index 0000000000..9bf471e347
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/0002-cmd_bootm.c-made-subcommand-array-static.patch
@@ -0,0 +1,26 @@
+From bdf849874fdb53e9b58adedec3bb54e19d06792c Mon Sep 17 00:00:00 2001
+From: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+Date: Wed, 24 Feb 2010 10:28:34 +0100
+Subject: [PATCH 2/5] cmd_bootm.c: made subcommand array static
+
+Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+---
+ common/cmd_bootm.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
+index 23ab0c4..827d542 100644
+--- a/common/cmd_bootm.c
++++ b/common/cmd_bootm.c
+@@ -462,7 +462,7 @@ static int bootm_start_standalone(ulong iflag, int argc, char *argv[])
+
+ /* we overload the cmd field with our state machine info instead of a
+ * function pointer */
+-cmd_tbl_t cmd_bootm_sub[] = {
++static cmd_tbl_t cmd_bootm_sub[] = {
+ U_BOOT_CMD_MKENT(start, 0, 1, (void *)BOOTM_STATE_START, "", ""),
+ U_BOOT_CMD_MKENT(loados, 0, 1, (void *)BOOTM_STATE_LOADOS, "", ""),
+ #if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
+--
+1.7.0
+
diff --git a/recipes/u-boot/u-boot-git/0002-cmd_itest.c-fix-pointer-dereferencing.patch b/recipes/u-boot/u-boot-git/0002-cmd_itest.c-fix-pointer-dereferencing.patch
new file mode 100644
index 0000000000..1b423b9195
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/0002-cmd_itest.c-fix-pointer-dereferencing.patch
@@ -0,0 +1,40 @@
+Subject: [PATCH 2/2] cmd_itest.c: fix pointer dereferencing
+Date: Mon, 22 Feb 2010 22:49:06 +0100
+Message-Id: <1266875346-17025-1-git-send-email-fransmeulenbroeks@gmail.com>
+X-Mailer: git-send-email 1.6.4.2
+
+fix pointer dereferencing
+if the size is .b and .w an 8 or 16 bit access is done.
+
+Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+---
+ common/cmd_itest.c | 9 +++++++--
+ 1 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/common/cmd_itest.c b/common/cmd_itest.c
+index 5b301bf..58c5e7b 100644
+--- a/common/cmd_itest.c
++++ b/common/cmd_itest.c
+@@ -66,12 +66,17 @@ op_tbl_t op_table [] = {
+
+ static long evalexp(char *s, int w)
+ {
+- long l, *p;
++ long l = 0;
++ long *p;
+
+ /* if the parameter starts with a * then assume is a pointer to the value we want */
+ if (s[0] == '*') {
+ p = (long *)simple_strtoul(&s[1], NULL, 16);
+- l = *p;
++ switch (w) {
++ case 1: return((long)(*(unsigned char *)p));
++ case 2: return((long)(*(unsigned short *)p));
++ case 4: return(*p);
++ }
+ } else {
+ l = simple_strtoul(s, NULL, 16);
+ }
+--
+1.6.4.2
+
diff --git a/recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch b/recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch
new file mode 100644
index 0000000000..d681bc2a98
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch
@@ -0,0 +1,109 @@
+From 75ed15eae925d6e9c8078c8fb013d344d7f3d50f Mon Sep 17 00:00:00 2001
+From: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+Date: Wed, 24 Feb 2010 12:24:34 +0100
+Subject: [PATCH 3/5] cmd_i2c.c: reworked subcommand handling
+
+Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+---
+ common/cmd_i2c.c | 77 +++++++++++++++++++++++++++++++----------------------
+ 1 files changed, 45 insertions(+), 32 deletions(-)
+
+diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c
+index 7531702..e54fc20 100644
+--- a/common/cmd_i2c.c
++++ b/common/cmd_i2c.c
+@@ -1242,46 +1242,59 @@ int do_i2c_bus_speed(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+ return ret;
+ }
+
+-int do_i2c(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
++int do_i2c_mm(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+ {
+- /* Strip off leading 'i2c' command argument */
+- argc--;
+- argv++;
++ return mod_i2c_mem (cmdtp, 1, flag, argc, argv);
++}
++
++int do_i2c_nm(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
++{
++ return mod_i2c_mem (cmdtp, 0, flag, argc, argv);
++}
+
++int do_i2c_reset(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
++{
++ i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
++ return 0;
++}
++
++static cmd_tbl_t cmd_i2c_sub[] = {
+ #if defined(CONFIG_I2C_MUX)
+- if (!strncmp(argv[0], "bu", 2))
+- return do_i2c_add_bus(cmdtp, flag, argc, argv);
++ U_BOOT_CMD_MKENT(bus, 1, 1, do_i2c_add_bus, "", ""),
+ #endif /* CONFIG_I2C_MUX */
+- if (!strncmp(argv[0], "sp", 2))
+- return do_i2c_bus_speed(cmdtp, flag, argc, argv);
++ U_BOOT_CMD_MKENT(crc32, 3, 1, do_i2c_crc, "", ""),
+ #if defined(CONFIG_I2C_MULTI_BUS)
+- if (!strncmp(argv[0], "de", 2))
+- return do_i2c_bus_num(cmdtp, flag, argc, argv);
++ U_BOOT_CMD_MKENT(dev, 1, 1, do_i2c_bus_num, "", ""),
+ #endif /* CONFIG_I2C_MULTI_BUS */
+- if (!strncmp(argv[0], "md", 2))
+- return do_i2c_md(cmdtp, flag, argc, argv);
+- if (!strncmp(argv[0], "mm", 2))
+- return mod_i2c_mem (cmdtp, 1, flag, argc, argv);
+- if (!strncmp(argv[0], "mw", 2))
+- return do_i2c_mw(cmdtp, flag, argc, argv);
+- if (!strncmp(argv[0], "nm", 2))
+- return mod_i2c_mem (cmdtp, 0, flag, argc, argv);
+- if (!strncmp(argv[0], "cr", 2))
+- return do_i2c_crc(cmdtp, flag, argc, argv);
+- if (!strncmp(argv[0], "pr", 2))
+- return do_i2c_probe(cmdtp, flag, argc, argv);
+- if (!strncmp(argv[0], "re", 2)) {
+- i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+- return 0;
+- }
+- if (!strncmp(argv[0], "lo", 2))
+- return do_i2c_loop(cmdtp, flag, argc, argv);
++ U_BOOT_CMD_MKENT(loop, 3, 1, do_i2c_loop, "", ""),
++ U_BOOT_CMD_MKENT(md, 3, 1, do_i2c_md, "", ""),
++ U_BOOT_CMD_MKENT(mm, 2, 1, do_i2c_mm, "", ""),
++ U_BOOT_CMD_MKENT(mw, 3, 1, do_i2c_mw, "", ""),
++ U_BOOT_CMD_MKENT(nm, 2, 1, do_i2c_nm, "", ""),
++ U_BOOT_CMD_MKENT(probe, 0, 1, do_i2c_probe, "", ""),
++ U_BOOT_CMD_MKENT(reset, 0, 1, do_i2c_reset, "", ""),
+ #if defined(CONFIG_CMD_SDRAM)
+- if (!strncmp(argv[0], "sd", 2))
+- return do_sdram(cmdtp, flag, argc, argv);
++ U_BOOT_CMD_MKENT(sdram, 1, 1, do_i2c_sdram, "", ""),
+ #endif
+- cmd_usage(cmdtp);
+- return 0;
++ U_BOOT_CMD_MKENT(speed, 1, 1, do_i2c_bus_speed, "", ""),
++};
++
++int do_i2c(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
++{
++ cmd_tbl_t *c;
++
++ /* Strip off leading 'i2c' command argument */
++ argc--;
++ argv++;
++
++ c = find_cmd_tbl(argv[0], &cmd_i2c_sub[0], ARRAY_SIZE(cmd_i2c_sub));
++
++ if (c) {
++ return c->cmd(cmdtp, flag, argc, argv);
++ } else {
++ cmd_usage(cmdtp);
++ return 1;
++ }
+ }
+
+ /***************************************************/
+--
+1.7.0
+
diff --git a/recipes/u-boot/u-boot-git/0004-cmd_i2c.c-sorted-commands-alphabetically.patch b/recipes/u-boot/u-boot-git/0004-cmd_i2c.c-sorted-commands-alphabetically.patch
new file mode 100644
index 0000000000..b433d6a582
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/0004-cmd_i2c.c-sorted-commands-alphabetically.patch
@@ -0,0 +1,48 @@
+From 5ed358a930d5bb79510dadf4e22b8ed9f972f454 Mon Sep 17 00:00:00 2001
+From: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+Date: Thu, 25 Feb 2010 09:58:24 +0100
+Subject: [PATCH 4/5] cmd_i2c.c: sorted commands alphabetically
+
+Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+---
+ common/cmd_i2c.c | 11 +++++------
+ 1 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c
+index e54fc20..b51e3f4 100644
+--- a/common/cmd_i2c.c
++++ b/common/cmd_i2c.c
+@@ -1302,25 +1302,24 @@ int do_i2c(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+ U_BOOT_CMD(
+ i2c, 6, 1, do_i2c,
+ "I2C sub-system",
+- "speed [speed] - show or set I2C bus speed\n"
+ #if defined(CONFIG_I2C_MUX)
+- "i2c bus [muxtype:muxaddr:muxchannel] - add a new bus reached over muxes\n"
++ "bus [muxtype:muxaddr:muxchannel] - add a new bus reached over muxes\ni2c "
+ #endif /* CONFIG_I2C_MUX */
++ "crc32 chip address[.0, .1, .2] count - compute CRC32 checksum\n"
+ #if defined(CONFIG_I2C_MULTI_BUS)
+ "i2c dev [dev] - show or set current I2C bus\n"
+ #endif /* CONFIG_I2C_MULTI_BUS */
++ "i2c loop chip address[.0, .1, .2] [# of objects] - looping read of device\n"
+ "i2c md chip address[.0, .1, .2] [# of objects] - read from I2C device\n"
+ "i2c mm chip address[.0, .1, .2] - write to I2C device (auto-incrementing)\n"
+ "i2c mw chip address[.0, .1, .2] value [count] - write to I2C device (fill)\n"
+ "i2c nm chip address[.0, .1, .2] - write to I2C device (constant address)\n"
+- "i2c crc32 chip address[.0, .1, .2] count - compute CRC32 checksum\n"
+ "i2c probe - show devices on the I2C bus\n"
+ "i2c reset - re-init the I2C Controller\n"
+- "i2c loop chip address[.0, .1, .2] [# of objects] - looping read of device"
+ #if defined(CONFIG_CMD_SDRAM)
+- "\n"
+- "i2c sdram chip - print SDRAM configuration information"
++ "i2c sdram chip - print SDRAM configuration information\n"
+ #endif
++ "i2c speed [speed] - show or set I2C bus speed"
+ );
+
+ #if defined(CONFIG_I2C_MUX)
+--
+1.7.0
+
diff --git a/recipes/u-boot/u-boot-git/0005-cmd_i2c.c-added-i2c-read-to-memory-function.patch b/recipes/u-boot/u-boot-git/0005-cmd_i2c.c-added-i2c-read-to-memory-function.patch
new file mode 100644
index 0000000000..01d88548f5
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/0005-cmd_i2c.c-added-i2c-read-to-memory-function.patch
@@ -0,0 +1,107 @@
+From cac3d6cd05cc89a4c1495f7198218ef2ae8088ec Mon Sep 17 00:00:00 2001
+From: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+Date: Thu, 25 Feb 2010 10:05:37 +0100
+Subject: [PATCH 5/5] cmd_i2c.c: added i2c read to memory function
+
+Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+---
+ common/cmd_i2c.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 60 insertions(+), 2 deletions(-)
+
+diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c
+index b51e3f4..9e7143a 100644
+--- a/common/cmd_i2c.c
++++ b/common/cmd_i2c.c
+@@ -154,6 +154,63 @@ int i2c_set_bus_speed(unsigned int)
+ */
+ #define DISP_LINE_LEN 16
+
++/*
++ * Syntax:
++ * i2c read {i2c_chip} {devaddr}{.0, .1, .2} {len} {memaddr}
++ */
++
++int do_i2c_read ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
++{
++ u_char chip;
++ uint devaddr, alen, length;
++ u_char *memaddr;
++ int j;
++
++ if (argc != 5) {
++ cmd_usage(cmdtp);
++ return 1;
++ }
++
++ /*
++ * I2C chip address
++ */
++ chip = simple_strtoul(argv[1], NULL, 16);
++
++ /*
++ * I2C data address within the chip. This can be 1 or
++ * 2 bytes long. Some day it might be 3 bytes long :-).
++ */
++ devaddr = simple_strtoul(argv[2], NULL, 16);
++ alen = 1;
++ for (j = 0; j < 8; j++) {
++ if (argv[2][j] == '.') {
++ alen = argv[2][j+1] - '0';
++ if (alen > 3) {
++ cmd_usage(cmdtp);
++ return 1;
++ }
++ break;
++ } else if (argv[2][j] == '\0')
++ break;
++ }
++
++ /*
++ * Length is the number of objects, not number of bytes.
++ */
++ length = simple_strtoul(argv[3], NULL, 16);
++
++ /*
++ * memaddr is the address where to store things in memory
++ */
++ memaddr = (u_char *)simple_strtoul(argv[4], NULL, 16);
++
++ if (i2c_read(chip, devaddr, alen, memaddr, length) != 0) {
++ puts ("Error reading the chip.\n");
++ return 1;
++ }
++ return 0;
++}
++
+ int do_i2c_md ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+ {
+ u_char chip;
+@@ -1272,6 +1329,7 @@ static cmd_tbl_t cmd_i2c_sub[] = {
+ U_BOOT_CMD_MKENT(mw, 3, 1, do_i2c_mw, "", ""),
+ U_BOOT_CMD_MKENT(nm, 2, 1, do_i2c_nm, "", ""),
+ U_BOOT_CMD_MKENT(probe, 0, 1, do_i2c_probe, "", ""),
++ U_BOOT_CMD_MKENT(read, 5, 1, do_i2c_read, "", ""),
+ U_BOOT_CMD_MKENT(reset, 0, 1, do_i2c_reset, "", ""),
+ #if defined(CONFIG_CMD_SDRAM)
+ U_BOOT_CMD_MKENT(sdram, 1, 1, do_i2c_sdram, "", ""),
+@@ -1315,6 +1373,7 @@ U_BOOT_CMD(
+ "i2c mw chip address[.0, .1, .2] value [count] - write to I2C device (fill)\n"
+ "i2c nm chip address[.0, .1, .2] - write to I2C device (constant address)\n"
+ "i2c probe - show devices on the I2C bus\n"
++ "i2c read chip address[.0, .1, .2] length memaddress - read to memory \n"
+ "i2c reset - re-init the I2C Controller\n"
+ #if defined(CONFIG_CMD_SDRAM)
+ "i2c sdram chip - print SDRAM configuration information\n"
+@@ -1322,8 +1381,7 @@ U_BOOT_CMD(
+ "i2c speed [speed] - show or set I2C bus speed"
+ );
+
+-#if defined(CONFIG_I2C_MUX)
+-
++#if defined(CONFIG_I2C_MUX)
+ int i2c_mux_add_device(I2C_MUX_DEVICE *dev)
+ {
+ I2C_MUX_DEVICE *devtmp = i2c_mux_devices;
+--
+1.7.0
+
diff --git a/recipes/u-boot/u-boot-git/0007-cmd_setexpr-allow-memory-addresses-and-env-vars-in-e.patch b/recipes/u-boot/u-boot-git/0007-cmd_setexpr-allow-memory-addresses-and-env-vars-in-e.patch
new file mode 100644
index 0000000000..13408657b4
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/0007-cmd_setexpr-allow-memory-addresses-and-env-vars-in-e.patch
@@ -0,0 +1,89 @@
+From 0d685fe90ab92ccb9f15b7d79b1063f5b79b2dd5 Mon Sep 17 00:00:00 2001
+From: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+Date: Thu, 25 Feb 2010 11:05:31 +0100
+Subject: [PATCH 7/7] cmd_setexpr: allow memory addresses and env vars in expressions
+
+This patch add functionality to use memory addresses and environment variables in
+expressions. This increases the power of expressions substantially
+
+It adheres to the standard convemtions: memory addresses can be given in the format
+*address (e.g. *1000), environment variables as $this_var.
+environment variables are not processed recursively but can contain both constants
+and memory addresses.
+
+Rationale for this change is that it allows masking off bits from a byte that is
+obtained by reading data from e.g. i2c.
+
+Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+
+---
+
+If recursive environment vars is desired: this can be added easily by changing the
+if statement into a while statement.
+I figured that would be somewhat over the top though (and, unless you take
+special precautions you can run into an endless loop if an env var contains
+its own name.
+If it is desired, please let me know and I happily will add it.
+---
+ common/cmd_setexpr.c | 31 ++++++++++++++++++++++++++++---
+ 1 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/common/cmd_setexpr.c b/common/cmd_setexpr.c
+index f8b5d4d..a7c6f53 100644
+--- a/common/cmd_setexpr.c
++++ b/common/cmd_setexpr.c
+@@ -28,10 +28,28 @@
+ #include <config.h>
+ #include <command.h>
+
++static ulong get_arg(char *s, int w)
++{
++ ulong *p;
++
++ /* if the parameter starts with a * then assume is a pointer to the value we want */
++ if (s[0] == '*') {
++ p = (ulong *)simple_strtoul(&s[1], NULL, 16);
++ switch (w) {
++ case 1: return((ulong)(*(uchar *)p));
++ case 2: return((ulong)(*(ushort *)p));
++ case 4: return(*p);
++ }
++ } else {
++ return simple_strtoul(s, NULL, 16);
++ }
++}
++
+ int do_setexpr(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+ {
+ ulong a, b;
+ char buf[16];
++ int w;
+
+ /* Validate arguments */
+ if ((argc != 5) || (strlen(argv[3]) != 1)) {
+@@ -39,8 +61,10 @@ int do_setexpr(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+ return 1;
+ }
+
+- a = simple_strtoul(argv[2], NULL, 16);
+- b = simple_strtoul(argv[4], NULL, 16);
++ w = cmd_get_data_size(argv[0], 4);
++
++ a = get_arg(argv[2], w);
++ b = get_arg(argv[4], w);
+
+ switch (argv[3][0]) {
+ case '|': sprintf(buf, "%lx", (a | b)); break;
+@@ -64,7 +88,8 @@ int do_setexpr(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+ U_BOOT_CMD(
+ setexpr, 5, 0, do_setexpr,
+ "set environment variable as the result of eval expression",
+- "name value1 <op> value2\n"
++ "[.b, .w, .l] name value1 <op> value2\n"
+ " - set environment variable 'name' to the result of the evaluated\n"
+ " express specified by <op>. <op> can be &, |, ^, +, -, *, /, %"
++ " size argument is only meaningful if value1 and/or value2 are memory addresses"
+ );
+--
+1.7.0
+
diff --git a/recipes/u-boot/u-boot-git/Cortex-A8-erratum-725233.diff b/recipes/u-boot/u-boot-git/Cortex-A8-erratum-725233.diff
new file mode 100644
index 0000000000..73f955b69a
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/Cortex-A8-erratum-725233.diff
@@ -0,0 +1,45 @@
+From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
+Date: Wed, 24 Feb 2010 04:56:36 +0000 (-0500)
+Subject: OMAP3: workaround for ARM Cortex-A8 erratum 725233
+X-Git-Url: http://git.denx.de/?p=u-boot%2Fu-boot-arm.git;a=commitdiff_plain;h=42d97d08838d4e010d80c92ad1300c426320dd18
+
+OMAP3: workaround for ARM Cortex-A8 erratum 725233
+
+725233: PLD instructions executed with PLD data forwarding
+enabled can result in a processor deadlock
+
+This deadlock can happen when NEON load instructions are used together
+with cache preload instructions (PLD). The problematic conditions
+can be triggered in-the-wild by NEON optimized functions from pixman
+library (http://cgit.freedesktop.org/pixman), which perform dynamic
+adjustment of prefetch distance.
+
+The workaround disables PLD data forwarding by setting PLD_FWD bit
+in L2 Cache Auxiliary Control Register as recommended in ARM Cortex-A8
+errata list.
+
+The deadlock can only happen on r1pX revisions of Cortex-A8 (used in
+OMAP34xx/OMAP35xx). Performance impact of the workaround is practically
+non-existant.
+
+Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
+Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
+---
+
+diff --git a/cpu/arm_cortexa8/omap3/board.c b/cpu/arm_cortexa8/omap3/board.c
+index 2aa69b3..7b78fa4 100644
+--- a/cpu/arm_cortexa8/omap3/board.c
++++ b/cpu/arm_cortexa8/omap3/board.c
+@@ -146,6 +146,12 @@ void setup_auxcr()
+ __asm__ __volatile__("orr r0, r0, #1 << 5");
+ /* SMI instruction to call ROM Code API */
+ __asm__ __volatile__(".word 0xE1600070");
++ /* Set PLD_FWD bit in L2AUXCR (Cortex-A8 erratum 725233 workaround) */
++ __asm__ __volatile__("mov r12, #0x2");
++ __asm__ __volatile__("mrc p15, 1, r0, c9, c0, 2");
++ __asm__ __volatile__("orr r0, r0, #1 << 27");
++ /* SMI instruction to call ROM Code API */
++ __asm__ __volatile__(".word 0xE1600070");
+ __asm__ __volatile__("mov r0, %0":"=r"(i));
+ __asm__ __volatile__("mov r12, %0":"=r"(j));
+ }
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0001-omap3-clock.c-don-t-reprogram-clocks-when-trying-to-.patch b/recipes/u-boot/u-boot-git/beagleboard/0001-omap3-clock.c-don-t-reprogram-clocks-when-trying-to-.patch
new file mode 100644
index 0000000000..eead4b9d7c
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0001-omap3-clock.c-don-t-reprogram-clocks-when-trying-to-.patch
@@ -0,0 +1,50 @@
+From 0c597fe20bab64deca7d71e7da6c0a7e553a2a7b Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 18 Feb 2010 11:05:49 +0100
+Subject: [PATCH 1/2] omap3 clock.c: don't reprogram clocks when trying to find out clock divider
+
+---
+ cpu/arm_cortexa8/omap3/clock.c | 14 +++++++++-----
+ 1 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/cpu/arm_cortexa8/omap3/clock.c b/cpu/arm_cortexa8/omap3/clock.c
+index d67517a..40bd679 100644
+--- a/cpu/arm_cortexa8/omap3/clock.c
++++ b/cpu/arm_cortexa8/omap3/clock.c
+@@ -40,17 +40,19 @@
+ *****************************************************************************/
+ u32 get_osc_clk_speed(void)
+ {
+- u32 start, cstart, cend, cdiff, val;
++ u32 start, cstart, cend, cdiff, cdiv, val;
+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
+ struct prm *prm_base = (struct prm *)PRM_BASE;
+ struct gptimer *gpt1_base = (struct gptimer *)OMAP34XX_GPT1;
+ struct s32ktimer *s32k_base = (struct s32ktimer *)SYNC_32KTIMER_BASE;
+
+ val = readl(&prm_base->clksrc_ctrl);
+-
+- /* If SYS_CLK is being divided by 2, remove for now */
+- val = (val & (~SYSCLKDIV_2)) | SYSCLKDIV_1;
+- writel(val, &prm_base->clksrc_ctrl);
++ if (val & SYSCLKDIV_2)
++ cdiv = 2;
++ else if (val & SYSCLKDIV_1)
++ cdiv = 1;
++ else
++ cdiv = 1;
+
+ /* enable timer2 */
+ val = readl(&prcm_base->clksel_wkup) | CLKSEL_GPT1;
+@@ -83,6 +85,8 @@ u32 get_osc_clk_speed(void)
+ cend = readl(&gpt1_base->tcrr); /* get end sys_clk count */
+ cdiff = cend - cstart; /* get elapsed ticks */
+
++ cdiff *= cdiv;
++
+ /* based on number of ticks assign speed */
+ if (cdiff > 19000)
+ return S38_4M;
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0002-beagleboard-add-pinmuxing-for-beagleboard-XM.patch b/recipes/u-boot/u-boot-git/beagleboard/0002-beagleboard-add-pinmuxing-for-beagleboard-XM.patch
new file mode 100644
index 0000000000..fe014084d8
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0002-beagleboard-add-pinmuxing-for-beagleboard-XM.patch
@@ -0,0 +1,69 @@
+From 8698ae8de6be63c35d8816e78b0e53c6a4b74933 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 18 Feb 2010 11:19:50 +0100
+Subject: [PATCH 2/2] beagleboard: add pinmuxing for beagleboard XM
+
+---
+ board/ti/beagle/beagle.c | 16 ++++++++++++++--
+ board/ti/beagle/beagle.h | 20 ++++++++++++++++++++
+ 2 files changed, 34 insertions(+), 2 deletions(-)
+
+diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
+index 1d91c76..8b5243b 100644
+--- a/board/ti/beagle/beagle.c
++++ b/board/ti/beagle/beagle.c
+@@ -182,6 +182,18 @@ void set_muxconf_regs(void)
+ {
+ MUX_BEAGLE();
+
+- if (beagle_revision != REVISION_AXBX)
+- MUX_BEAGLE_C();
++ switch(beagle_revision) {
++ case REVISION_AXBX:
++ break;
++ case REVISION_CX:
++ MUX_BEAGLE_C();
++ break;
++ case REVISION_C4:
++ MUX_BEAGLE_C();
++ break;
++ case REVISION_XM:
++ MUX_BEAGLE_C();
++ MUX_BEAGLE_XM();
++ break;
++ }
+ }
+diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
+index db17160..adf8c5a 100644
+--- a/board/ti/beagle/beagle.h
++++ b/board/ti/beagle/beagle.h
+@@ -387,6 +387,26 @@ const omap3_sysinfo sysinfo = {
+ MUX_VAL(CP(UART2_RTS), (IDIS | PTD | DIS | M0)) /*UART2_RTS*/\
+ MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M0)) /*UART2_TX*/
+
++#define MUX_BEAGLE_XM() \
++ MUX_VAL(CP(DSS_DATA0), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
++ MUX_VAL(CP(DSS_DATA1), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
++ MUX_VAL(CP(DSS_DATA2), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
++ MUX_VAL(CP(DSS_DATA3), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
++ MUX_VAL(CP(DSS_DATA4), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
++ MUX_VAL(CP(DSS_DATA5), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
++ MUX_VAL(CP(DSS_DATA18), (IDIS | PTD | DIS | M3)) /*DSS_DATA0*/\
++ MUX_VAL(CP(DSS_DATA19), (IDIS | PTD | DIS | M3)) /*DSS_DATA1*/\
++ MUX_VAL(CP(DSS_DATA20), (IDIS | PTD | DIS | M3)) /*DSS_DATA2*/\
++ MUX_VAL(CP(DSS_DATA21), (IDIS | PTD | DIS | M3)) /*DSS_DATA3*/\
++ MUX_VAL(CP(DSS_DATA22), (IDIS | PTD | DIS | M3)) /*DSS_DATA4*/\
++ MUX_VAL(CP(DSS_DATA23), (IDIS | PTD | DIS | M3)) /*DSS_DATA5*/\
++ MUX_VAL(CP(SYS_BOOT0), (IDIS | PTD | DIS | M3)) /*DSS_DATA18*/\
++ MUX_VAL(CP(SYS_BOOT1), (IDIS | PTD | DIS | M3)) /*DSS_DATA19*/\
++ MUX_VAL(CP(SYS_BOOT3), (IDIS | PTD | DIS | M3)) /*DSS_DATA20*/\
++ MUX_VAL(CP(SYS_BOOT4), (IDIS | PTD | DIS | M3)) /*DSS_DATA21*/\
++ MUX_VAL(CP(SYS_BOOT5), (IDIS | PTD | DIS | M3)) /*DSS_DATA22*/\
++ MUX_VAL(CP(SYS_BOOT6), (IDIS | PTD | DIS | M3)) /*DSS_DATA23*/
++
+ /*
+ * Display Configuration
+ */
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0003-beagleboard-move-muxing-into-revision-print-switch.patch b/recipes/u-boot/u-boot-git/beagleboard/0003-beagleboard-move-muxing-into-revision-print-switch.patch
new file mode 100644
index 0000000000..3750cf8990
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/beagleboard/0003-beagleboard-move-muxing-into-revision-print-switch.patch
@@ -0,0 +1,53 @@
+From 24e335a1457da32a1d79621d3a24462d6fb96853 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 18 Feb 2010 11:55:26 +0100
+Subject: [PATCH] beagleboard: move muxing into revision print switch()
+
+---
+ board/ti/beagle/beagle.c | 19 ++++---------------
+ 1 files changed, 4 insertions(+), 15 deletions(-)
+
+diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
+index 8b5243b..8fac6b2 100644
+--- a/board/ti/beagle/beagle.c
++++ b/board/ti/beagle/beagle.c
+@@ -101,12 +101,16 @@ void beagle_identify(void)
+ break;
+ case REVISION_CX:
+ printf("C1/C2/C3\n");
++ MUX_BEAGLE_C();
+ break;
+ case REVISION_C4:
+ printf("C4\n");
++ MUX_BEAGLE_C();
+ break;
+ case REVISION_XM:
+ printf("XM\n");
++ MUX_BEAGLE_C();
++ MUX_BEAGLE_XM();
+ break;
+ default:
+ printf("unknown 0x%02x\n", beagle_revision);
+@@ -181,19 +185,4 @@ int misc_init_r(void)
+ void set_muxconf_regs(void)
+ {
+ MUX_BEAGLE();
+-
+- switch(beagle_revision) {
+- case REVISION_AXBX:
+- break;
+- case REVISION_CX:
+- MUX_BEAGLE_C();
+- break;
+- case REVISION_C4:
+- MUX_BEAGLE_C();
+- break;
+- case REVISION_XM:
+- MUX_BEAGLE_C();
+- MUX_BEAGLE_XM();
+- break;
+- }
+ }
+--
+1.6.6.1
+
diff --git a/recipes/u-boot/u-boot-git/beagleboard/720MHz.patch b/recipes/u-boot/u-boot-git/beagleboard/720MHz.patch
index 5fe56f37a4..c50e0bd793 100644
--- a/recipes/u-boot/u-boot-git/beagleboard/720MHz.patch
+++ b/recipes/u-boot/u-boot-git/beagleboard/720MHz.patch
@@ -1,87 +1,3 @@
-Delivered-To: koen@beagleboard.org
-Received: by 10.216.36.75 with SMTP id v53cs218072wea;
- Fri, 8 Jan 2010 07:40:21 -0800 (PST)
-Received: by 10.142.4.39 with SMTP id 39mr2584681wfd.128.1262965220278;
- Fri, 08 Jan 2010 07:40:20 -0800 (PST)
-Return-Path: <33FFHSwYPC8Aqngyoshkgmrkhugxj.uxmhkgmrkhugxjmuumrkmxu0vy.ius@listserv.bounces.google.com>
-Received: from mail-pw0-f72.google.com (mail-pw0-f72.google.com [209.85.160.72])
- by mx.google.com with ESMTP id 38si23195897pzk.46.2010.01.08.07.40.18;
- Fri, 08 Jan 2010 07:40:19 -0800 (PST)
-Received-SPF: pass (google.com: domain of 33FFHSwYPC8Aqngyoshkgmrkhugxj.uxmhkgmrkhugxjmuumrkmxu0vy.ius@listserv.bounces.google.com designates 209.85.160.72 as permitted sender) client-ip=209.85.160.72;
-Authentication-Results: mx.google.com; spf=pass (google.com: domain of 33FFHSwYPC8Aqngyoshkgmrkhugxj.uxmhkgmrkhugxjmuumrkmxu0vy.ius@listserv.bounces.google.com designates 209.85.160.72 as permitted sender) smtp.mail=33FFHSwYPC8Aqngyoshkgmrkhugxj.uxmhkgmrkhugxjmuumrkmxu0vy.ius@listserv.bounces.google.com; dkim=pass (test mode) header.i=@googlegroups.com
-Received: by pwj4 with SMTP id 4sf2565630pwj.11
- for <multiple recipients>; Fri, 08 Jan 2010 07:40:18 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=googlegroups.com; s=beta;
- h=domainkey-signature:received:x-beenthere:received:received:received
- :received:received-spf:received:mime-version:received:date
- :message-id:subject:from:to:x-original-authentication-results
- :x-original-sender:reply-to:precedence:mailing-list:list-id
- :list-post:list-help:list-archive:x-thread-url:x-message-url:sender
- :list-unsubscribe:list-subscribe:content-type;
- bh=sLkJYeKXFIX8TOTxLWasbW6XSWbNbihsEqHqajWruOU=;
- b=hNYYuHunIzWspBNr+rsCpj+cl3TfrJP/qRi2OR8S8fvW1ATmUGwE3UcFxBx/cz4C47
- rPcDSOVMOKJn2ybeb7z12kDUV7FLPbzI26BjmBUXoLC4yYdCeiwS+pR/gCEP/CZsVNam
- 0/sgZd6Zfnui2nrHnqHFA/eBwvBmNr8njjhzc=
-DomainKey-Signature: a=rsa-sha1; c=nofws;
- d=googlegroups.com; s=beta;
- h=x-beenthere:received-spf:mime-version:date:message-id:subject:from
- :to:x-original-authentication-results:x-original-sender:reply-to
- :precedence:mailing-list:list-id:list-post:list-help:list-archive
- :x-thread-url:x-message-url:sender:list-unsubscribe:list-subscribe
- :content-type;
- b=kvIhKL3OOVUlwb+XfiZuzkLNRQqtf4QLC8FZStrd2J1zfvTSjTuxtFrU2bqN6OVn+6
- s9CW3qnGQKNfIuBNUfuQirfG7O/QkdVxGx8nXYPwcm1xL9mJa70CGUoNA4gnwZSFXEmA
- v3N+BsCQs8InO9VHQxTmTP1pW4DH9HIPqIjFs=
-Received: by 10.115.67.15 with SMTP id u15mr3692522wak.15.1262965212711;
- Fri, 08 Jan 2010 07:40:12 -0800 (PST)
-X-BeenThere: beagleboard@googlegroups.com
-Received: by 10.114.19.19 with SMTP id 19ls485387was.0.p; Fri, 08 Jan 2010
- 07:40:07 -0800 (PST)
-Received: by 10.114.3.19 with SMTP id 19mr7029424wac.17.1262965207675;
- Fri, 08 Jan 2010 07:40:07 -0800 (PST)
-Received: by 10.114.3.19 with SMTP id 19mr7029423wac.17.1262965207655;
- Fri, 08 Jan 2010 07:40:07 -0800 (PST)
-Return-Path: <khasim@beagleboard.org>
-Received: from mail-px0-f196.google.com (mail-px0-f196.google.com [209.85.216.196])
- by gmr-mx.google.com with ESMTP id 23si8245940pxi.8.2010.01.08.07.40.07;
- Fri, 08 Jan 2010 07:40:07 -0800 (PST)
-Received-SPF: neutral (google.com: 209.85.216.196 is neither permitted nor denied by best guess record for domain of khasim@beagleboard.org) client-ip=209.85.216.196;
-Received: by pxi34 with SMTP id 34so11355653pxi.8
- for <beagleboard@googlegroups.com>; Fri, 08 Jan 2010 07:40:07 -0800 (PST)
-MIME-Version: 1.0
-Received: by 10.142.75.10 with SMTP id x10mr1272361wfa.153.1262965205948; Fri,
- 08 Jan 2010 07:40:05 -0800 (PST)
-Date: Fri, 8 Jan 2010 21:10:05 +0530
-Message-ID: <a8ca84ad1001080740l63fdac79y6b478863b0a5e316@mail.gmail.com>
-Subject: [beagleboard] TI:OMAP: [PATCH 3/4] Support 720Mhz configuration for
- OMAP35xx
-From: Khasim Syed Mohammed <khasim@beagleboard.org>
-To: u-boot@lists.denx.de, beagleboard@googlegroups.com
-X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com:
- 209.85.216.196 is neither permitted nor denied by best guess record for
- domain of khasim@beagleboard.org) smtp.mail=khasim@beagleboard.org
-X-Original-Sender: khasim@beagleboard.org
-Reply-To: beagleboard@googlegroups.com
-Precedence: list
-Mailing-list: list beagleboard@googlegroups.com; contact beagleboard+owners@googlegroups.com
-List-ID: <beagleboard.googlegroups.com>
-List-Post: <http://groups.google.com/group/beagleboard/post?hl=>,
- <mailto:beagleboard@googlegroups.com>
-List-Help: <http://groups.google.com/support/?hl=>, <mailto:beagleboard+help@googlegroups.com>
-List-Archive: <http://groups.google.com/group/beagleboard?hl=>
-X-Thread-Url: http://groups.google.com/group/beagleboard/t/1d8e4b923e126fcb
-X-Message-Url: http://groups.google.com/group/beagleboard/msg/b8825bed3084009a
-Sender: beagleboard@googlegroups.com
-List-Unsubscribe: <http://groups.google.com/group/beagleboard/subscribe?hl=>,
- <mailto:beagleboard+unsubscribe@googlegroups.com>
-List-Subscribe: <http://groups.google.com/group/beagleboard/subscribe?hl=>,
- <mailto:beagleboard+subscribe@googlegroups.com>
-Content-Type: multipart/mixed; boundary=001636b2ac6d98250e047ca900e4
-
---001636b2ac6d98250e047ca900e4
-Content-Type: text/plain; charset=ISO-8859-1
-
From bba669562fa208d12f4c7cd8188446e8576cd6ee Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Fri, 8 Jan 2010 20:34:37 +0530
@@ -112,7 +28,7 @@ index 0def5a6..7985ee9 100644
twl4030_power_init();
twl4030_led_init();
-+ if (beagle_revision == REVISION_C4) {
++ if ((beagle_revision == REVISION_C4) || (beagle_revision == REVISION_XM)) {
+
+ /* Select TWL4030 VSEL to support 720Mhz */
+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
@@ -248,15 +164,3 @@ index f260ecb..b96c96c 100644
--
1.5.6.3
---001636b2ac6d98250e047ca900e4
-Content-Type: text/plain; charset=ISO-8859-1
-
---
-You received this message because you are subscribed to the Google Groups "Beagle Board" group.
-To post to this group, send email to beagleboard@googlegroups.com.
-To unsubscribe from this group, send email to beagleboard+unsubscribe@googlegroups.com.
-For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.
-
-
-
---001636b2ac6d98250e047ca900e4--
diff --git a/recipes/u-boot/u-boot-git/beagleboard/revision-detection.patch b/recipes/u-boot/u-boot-git/beagleboard/revision-detection.patch
index c2a41bfcc7..634efda385 100644
--- a/recipes/u-boot/u-boot-git/beagleboard/revision-detection.patch
+++ b/recipes/u-boot/u-boot-git/beagleboard/revision-detection.patch
@@ -1,87 +1,3 @@
-Delivered-To: koen@beagleboard.org
-Received: by 10.216.36.75 with SMTP id v53cs217947wea;
- Fri, 8 Jan 2010 07:38:03 -0800 (PST)
-Received: by 10.141.214.24 with SMTP id r24mr6834000rvq.27.1262965082475;
- Fri, 08 Jan 2010 07:38:02 -0800 (PST)
-Return-Path: <3UlFHSwYPCzYcZSkaeTWSYdWTgSjV.gjYTWSYdWTgSjVYggYdWYjgmhk.Uge@listserv.bounces.google.com>
-Received: from mail-pw0-f72.google.com (mail-pw0-f72.google.com [209.85.160.72])
- by mx.google.com with ESMTP id 31si42836225pzk.96.2010.01.08.07.38.00;
- Fri, 08 Jan 2010 07:38:01 -0800 (PST)
-Received-SPF: pass (google.com: domain of 3UlFHSwYPCzYcZSkaeTWSYdWTgSjV.gjYTWSYdWTgSjVYggYdWYjgmhk.Uge@listserv.bounces.google.com designates 209.85.160.72 as permitted sender) client-ip=209.85.160.72;
-Authentication-Results: mx.google.com; spf=pass (google.com: domain of 3UlFHSwYPCzYcZSkaeTWSYdWTgSjV.gjYTWSYdWTgSjVYggYdWYjgmhk.Uge@listserv.bounces.google.com designates 209.85.160.72 as permitted sender) smtp.mail=3UlFHSwYPCzYcZSkaeTWSYdWTgSjV.gjYTWSYdWTgSjVYggYdWYjgmhk.Uge@listserv.bounces.google.com; dkim=pass (test mode) header.i=@googlegroups.com
-Received: by pwj4 with SMTP id 4sf2565182pwj.11
- for <multiple recipients>; Fri, 08 Jan 2010 07:38:00 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=googlegroups.com; s=beta;
- h=domainkey-signature:received:x-beenthere:received:received:received
- :received:received-spf:received:mime-version:received:date
- :message-id:subject:from:to:x-original-authentication-results
- :x-original-sender:reply-to:precedence:mailing-list:list-id
- :list-post:list-help:list-archive:x-thread-url:x-message-url:sender
- :list-unsubscribe:list-subscribe:content-type;
- bh=XdDWC3Pjbe6mfVpRg0Nyb4elMKzFUcLRQ+7/Tb3fHMQ=;
- b=NiM6Z+/ubLFaxomCEKnZjYyFgB7ZbE4xWWwqF6i/H8BQiedPp1rBmQSdQ2EH4qDFgm
- D3DR5jXVjtOALhgh/9cxU/S46ltiM5rtGnwtcjgV+Gv9r5/sfqhze9c81t7bzIo+bpqn
- cg8yNHOFjwkPSWdSidIhKnZJGQRj/ZIgxJxCw=
-DomainKey-Signature: a=rsa-sha1; c=nofws;
- d=googlegroups.com; s=beta;
- h=x-beenthere:received-spf:mime-version:date:message-id:subject:from
- :to:x-original-authentication-results:x-original-sender:reply-to
- :precedence:mailing-list:list-id:list-post:list-help:list-archive
- :x-thread-url:x-message-url:sender:list-unsubscribe:list-subscribe
- :content-type;
- b=0jHA96QBedAxJl8vWrKHetbULCj+FIcyXTmI01rlbnfXOm8WuPhJDLyj7Qo34LiQXE
- dYkeQ2RNv3L03nbVuPezNfUKHuKLONUQKVvAfxRDset7eLpsYuKQZADZ+loSfkeVlwDW
- ai/7Z937On5tliSGUDPp+73oUNfje1ReYx+dc=
-Received: by 10.115.87.31 with SMTP id p31mr3273178wal.7.1262965074762;
- Fri, 08 Jan 2010 07:37:54 -0800 (PST)
-X-BeenThere: beagleboard@googlegroups.com
-Received: by 10.115.116.23 with SMTP id t23ls485636wam.1.p; Fri, 08 Jan 2010
- 07:37:51 -0800 (PST)
-Received: by 10.114.3.19 with SMTP id 19mr7028808wac.17.1262965071286;
- Fri, 08 Jan 2010 07:37:51 -0800 (PST)
-Received: by 10.114.3.19 with SMTP id 19mr7028807wac.17.1262965071261;
- Fri, 08 Jan 2010 07:37:51 -0800 (PST)
-Return-Path: <khasim@beagleboard.org>
-Received: from mail-px0-f174.google.com (mail-px0-f174.google.com [209.85.216.174])
- by gmr-mx.google.com with ESMTP id 16si3405423pxi.11.2010.01.08.07.37.51;
- Fri, 08 Jan 2010 07:37:51 -0800 (PST)
-Received-SPF: neutral (google.com: 209.85.216.174 is neither permitted nor denied by best guess record for domain of khasim@beagleboard.org) client-ip=209.85.216.174;
-Received: by mail-px0-f174.google.com with SMTP id 4so2127527pxi.33
- for <beagleboard@googlegroups.com>; Fri, 08 Jan 2010 07:37:51 -0800 (PST)
-MIME-Version: 1.0
-Received: by 10.142.66.15 with SMTP id o15mr4287776wfa.145.1262965071051; Fri,
- 08 Jan 2010 07:37:51 -0800 (PST)
-Date: Fri, 8 Jan 2010 21:07:50 +0530
-Message-ID: <a8ca84ad1001080737r2312270ao80aa04ce60cc780@mail.gmail.com>
-Subject: [beagleboard] TI:OMAP: [PATCH 1/4] OMAP3 Beagle Update revision
- detection
-From: Khasim Syed Mohammed <khasim@beagleboard.org>
-To: u-boot@lists.denx.de, beagleboard@googlegroups.com
-X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com:
- 209.85.216.174 is neither permitted nor denied by best guess record for
- domain of khasim@beagleboard.org) smtp.mail=khasim@beagleboard.org
-X-Original-Sender: khasim@beagleboard.org
-Reply-To: beagleboard@googlegroups.com
-Precedence: list
-Mailing-list: list beagleboard@googlegroups.com; contact beagleboard+owners@googlegroups.com
-List-ID: <beagleboard.googlegroups.com>
-List-Post: <http://groups.google.com/group/beagleboard/post?hl=>,
- <mailto:beagleboard@googlegroups.com>
-List-Help: <http://groups.google.com/support/?hl=>, <mailto:beagleboard+help@googlegroups.com>
-List-Archive: <http://groups.google.com/group/beagleboard?hl=>
-X-Thread-Url: http://groups.google.com/group/beagleboard/t/1d4ac362a651981d
-X-Message-Url: http://groups.google.com/group/beagleboard/msg/8a2d1aa3c9c40beb
-Sender: beagleboard@googlegroups.com
-List-Unsubscribe: <http://groups.google.com/group/beagleboard/subscribe?hl=>,
- <mailto:beagleboard+unsubscribe@googlegroups.com>
-List-Subscribe: <http://groups.google.com/group/beagleboard/subscribe?hl=>,
- <mailto:beagleboard+subscribe@googlegroups.com>
-Content-Type: multipart/mixed; boundary=0016e64cc3d4779e0f047ca8f8bb
-
---0016e64cc3d4779e0f047ca8f8bb
-Content-Type: text/plain; charset=ISO-8859-1
-
From 15fbe5ff9ee2fd2f8da4c16805d6c7ccf7244bae Mon Sep 17 00:00:00 2001
From: Syed Mohammed Khasim <khasim@ti.com>
Date: Fri, 8 Jan 2010 20:13:47 +0530
@@ -134,7 +50,7 @@ index 32d501e..0def5a6 100644
+ * GPIO173, GPIO172, GPIO171: 1 1 1 => Ax/Bx
+ * GPIO173, GPIO172, GPIO171: 1 1 0 => C1/2/3
+ * GPIO173, GPIO172, GPIO171: 1 0 1 => C4
-+ * GPIO173, GPIO172, GPIO171: 0 0 0 => D
++ * GPIO173, GPIO172, GPIO171: 0 0 0 => XM
*/
void beagle_identify(void)
{
@@ -180,8 +96,8 @@ index 32d501e..0def5a6 100644
+ case REVISION_C4:
+ printf("C4\n");
+ break;
-+ case REVISION_D:
-+ printf("D\n");
++ case REVISION_XM:
++ printf("XM\n");
+ break;
+ default:
+ printf("unknown 0x%02x\n", beagle_revision);
@@ -211,7 +127,7 @@ index 7fe6275..b1720c9 100644
+#define REVISION_AXBX 0x7
+#define REVISION_CX 0x6
+#define REVISION_C4 0x5
-+#define REVISION_D 0x0
++#define REVISION_XM 0x0
/*
* IEN - Input Enable
@@ -226,16 +142,3 @@ index 7fe6275..b1720c9 100644
MUX_VAL(CP(MCSPI1_CS2), (IDIS | PTD | DIS | M4)) /*GPIO_176*/\
--
1.5.6.3
-
---0016e64cc3d4779e0f047ca8f8bb
-Content-Type: text/plain; charset=ISO-8859-1
-
---
-You received this message because you are subscribed to the Google Groups "Beagle Board" group.
-To post to this group, send email to beagleboard@googlegroups.com.
-To unsubscribe from this group, send email to beagleboard+unsubscribe@googlegroups.com.
-For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.
-
-
-
---0016e64cc3d4779e0f047ca8f8bb--
diff --git a/recipes/u-boot/u-boot_git.bb b/recipes/u-boot/u-boot_git.bb
index 6273e044da..fb81caf183 100644
--- a/recipes/u-boot/u-boot_git.bb
+++ b/recipes/u-boot/u-boot_git.bb
@@ -1,5 +1,5 @@
require u-boot.inc
-PR ="r38"
+PR ="r42"
FILESPATHPKG =. "u-boot-git:"
@@ -12,6 +12,8 @@ SRCREV_afeb9260 = "6b8edfde22acc574b5532e9f086e6a7287a9bc78"
SRCREV_afeb9260-180 = "6b8edfde22acc574b5532e9f086e6a7287a9bc78"
SRCREV_palmpre = "6b8edfde22acc574b5532e9f086e6a7287a9bc78"
SRCREV_cm-t35 = "3c014f1586d5bfe30dca7549396915c83f31cd30"
+SRCREV_mpc8641-hpcn = "f20393c5e787b3776c179d20f82a86bda124d651"
+SRCREV_p2020ds = "f20393c5e787b3776c179d20f82a86bda124d651"
SRC_URI_append_afeb9260 = " file://AFEB9260-network-fix.patch;patch=1"
SRC_URI_append_afeb9260-180 = " file://AFEB9260-network-fix.patch;patch=1"
SRC_URI_append_cm-t35 = "file://cm-t35/cm-t35.patch;patch=1"
@@ -23,14 +25,30 @@ file://revision-detection.patch;patch=1 \
file://i2c.patch;patch=1 \
file://720MHz.patch;patch=1 \
file://dss.patch;patch=1 \
+file://0001-omap3-clock.c-don-t-reprogram-clocks-when-trying-to-.patch;patch=1 \
+file://0002-beagleboard-add-pinmuxing-for-beagleboard-XM.patch;patch=1 \
+file://0003-beagleboard-move-muxing-into-revision-print-switch.patch;patch=1 \
+file://Cortex-A8-erratum-725233.diff;patch=1 \
"
SRCREV_beagleboard = "a5cf522a91ba479d459f8221135bdb3e9ae97479"
PV_beagleboard = "2009.11-rc1+${PR}+gitr${SRCREV}"
-SRCREV_calamari = "f67066b6b0740b826ed862615c5ab022aaf4779a"
-PV_calamari = "2009.08+${PR}+gitr${SRCREV}"
-SRC_URI_append_calamari = " file://buggy-gcc-really-no-spe.patch;patch=1"
+SRCREV_calamari = "533cf3a024947aaf74c16573a6d951cd0c3d0a7d"
+
+PV_calamari = "2009.11+${PR}+gitr${SRCREV}"
+SRC_URI_calamari = " \
+ git://git.denx.de/u-boot-mpc85xx.git;protocol=git \
+ file://0002-cmd_itest.c-fix-pointer-dereferencing.patch;patch=1 \
+ file://0001-cmd_i2c.c-reduced-subaddress-length-to-3-bytes.patch;patch=1 \
+ file://0002-cmd_bootm.c-made-subcommand-array-static.patch;patch=1 \
+ file://0003-cmd_i2c.c-reworked-subcommand-handling.patch;patch=1 \
+ file://0004-cmd_i2c.c-sorted-commands-alphabetically.patch;patch=1 \
+ file://0005-cmd_i2c.c-added-i2c-read-to-memory-function.patch;patch=1 \
+ file://0007-cmd_setexpr-allow-memory-addresses-and-env-vars-in-e.patch;patch=1 \
+ "
+
+UBOOT_MACHINE_calamari = "MPC8536DS_config"
SRC_URI_omap3-touchbook = "git://gitorious.org/u-boot-omap3/mainline.git;branch=omap3-dev;protocol=git \
file://fw_env.config \
@@ -79,8 +97,34 @@ SRC_URI_omapzoom = "git://www.sakoman.net/git/u-boot-omap3.git;branch=omap3-dev;
SRCREV_omapzoom = "d691b424f1f5bf7eea3a4131dfc578d272e8f335"
PV_omapzoom = "2009.01+${PR}+gitr${SRCREV}"
-SRCREV_omapzoom2 = "3672cd5c3b53d219d33345eebad4e25ad5bf6d52"
-PV_omapzoom2 = "2009.05+${PR}+gitr${SRCREV}"
+SRC_URI_omapzoom2 = "git://dev.omapzoom.org/pub/scm/bootloader/u-boot.git;branch=master;protocol=git \
+ file://0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch;patch=1"
+SRCREV_omapzoom2 = "78e778e0ea884306841c6499851a1e35177d81d0"
+PV_omapzoom2 = "1.1.4+${PR}+gitr${SRCREV}"
+PE_omapzoom2 = "1"
+
+do_compile_omapzoom2 () {
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake all
+ oe_runmake tools
+}
+
+SRC_URI_omapzoom36x = "git://dev.omapzoom.org/pub/scm/bootloader/u-boot.git;branch=master;protocol=git"
+SRCREV_omapzoom36x = "ab45d2a787a9674bed30542139175d8e090e0749"
+PV_omapzoom36x = "1.1.4+${PR}+gitr${SRCREV}"
+PE_omapzoom36x = "1"
+
+do_compile_omapzoom36x () {
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake all
+ oe_runmake tools
+}
SRC_URI_overo = "git://gitorious.org/u-boot-omap3/mainline.git;branch=omap3-dev;protocol=git \
file://fw-env.patch;patch=1 \