<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.boot-loaders.u-boot">
    <title>gmane.comp.boot-loaders.u-boot</title>
    <link>http://blog.gmane.org/gmane.comp.boot-loaders.u-boot</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161987"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161986"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161985"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161984"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161983"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161982"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161981"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161980"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161979"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161978"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161977"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161976"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161975"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161974"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161973"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161972"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161971"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161970"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161969"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161968"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161987">
    <title>Re: [PATCH] MMC: DWMMC: Fix FIFO_DEPTH calculation</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161987</link>
    <description>&lt;pre&gt;It should be set into board-specific file(dw-mmc_exynos.c) or others.

Best Regards,
Jaehoon Chung
&lt;/pre&gt;</description>
    <dc:creator>Jaehoon Chung</dc:creator>
    <dc:date>2013-05-24T01:42:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161986">
    <title>Re: Building two different "SPL" for the same board?</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161986</link>
    <description>&lt;pre&gt;tor 2013-05-23 klockan 16:39 -0400 skrev Tom Rini:


Got it integrated into the tree now and after config changes it could be
reduced to only a dummy (empty) start.c + linker script. The binary grew
by a few KB compared to the separate version, but still well within the
margin.

https://github.com/linux-sunxi/u-boot-sunxi/commit/79272ff764ee392d616feb02fb91c2dcaad42f04

Will show up for review in next round of submitting the sunxi changes.

Regards
Henrik
&lt;/pre&gt;</description>
    <dc:creator>Henrik Nordström</dc:creator>
    <dc:date>2013-05-24T01:14:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161985">
    <title>Re: [Patch v2 2/4] NET: macb: support sama5d3x devices</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161985</link>
    <description>&lt;pre&gt;Hi Andreas,

On 5/23/2013 14:51, Andreas Bießmann wrote:

OK, I will wait Joe to take these patches.
Thanks.


Best Regards,
Bo Shen
&lt;/pre&gt;</description>
    <dc:creator>Bo Shen</dc:creator>
    <dc:date>2013-05-24T01:11:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161984">
    <title>[PATCH v2] sf: winbond: Add support for W25PXX SPI flash</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161984</link>
    <description>&lt;pre&gt;From: Kuo-Jung Su &amp;lt;dantesu&amp;lt; at &amp;gt;faraday-tech.com&amp;gt;

Add support for Winbond's W25PXX SPI flash.
These devices is used on Faraday A369 evaluation board.

Signed-off-by: Kuo-Jung Su &amp;lt;dantesu&amp;lt; at &amp;gt;faraday-tech.com&amp;gt;
CC: Jagan Teki &amp;lt;jagannadh.teki&amp;lt; at &amp;gt;gmail.com&amp;gt;
CC: Tom Rini &amp;lt;trini&amp;lt; at &amp;gt;ti.com&amp;gt;
---
Changes for v2:
   - Update commit message header
   - Add commit message body

 drivers/mtd/spi/winbond.c |   17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c
index 2716209..2a27837 100644
--- a/drivers/mtd/spi/winbond.c
+++ b/drivers/mtd/spi/winbond.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,6 +18,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct winbond_spi_flash_params {
 
 static const struct winbond_spi_flash_params winbond_spi_flash_table[] = {
 {
+.id= 0x2014,
+.nr_blocks= 16,
+.name= "W25P80",
+},
+{
+.id= 0x2015,
+.nr_blocks= 32,
+.name= "W25P16",
+},
+{
+.id= 0x2016,
+.nr_blocks= 64,
+.name= "W25P32",
+},
+{
 .id= 0x3013,
 .nr_blocks= 8,
 .name= "W25X40",
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -104,7 +119,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode)
 }
 
 flash-&amp;gt;page_size = 256;
-flash-&amp;gt;sector_size = 4096;
+flash-&amp;gt;sector_size = (idcode[1] == 0x20) ? 65536 : 4096;
 flash-&amp;gt;size = 4096 * 16 * params-&amp;gt;nr_blocks;
 
 return flash;
&lt;/pre&gt;</description>
    <dc:creator>Kuo-Jung Su</dc:creator>
    <dc:date>2013-05-24T01:09:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161983">
    <title>Re: [PATCH] mtd: spi: winbond: add W25PXX support</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161983</link>
    <description>&lt;pre&gt;2013/5/23 Jagan Teki &amp;lt;jagannadh.teki&amp;lt; at &amp;gt;gmail.com&amp;gt;:

Sure, I'll re-format the patch and re-post again.


Thanks.
It's pretty helpful to me, because my English is really terrible. :)




--
Best wishes,
Kuo-Jung Su
&lt;/pre&gt;</description>
    <dc:creator>Kuo-Jung Su</dc:creator>
    <dc:date>2013-05-24T00:57:19</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161982">
    <title>Re: Please pull u-boot-cfi-flash/master</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161982</link>
    <description>&lt;pre&gt;

Applied to u-boot/master, thanks!

&lt;/pre&gt;</description>
    <dc:creator>Tom Rini</dc:creator>
    <dc:date>2013-05-24T00:29:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161981">
    <title>[PATCH] mx6slevk: Allow booting a device tree kernel</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161981</link>
    <description>&lt;pre&gt;From: Fabio Estevam &amp;lt;fabio.estevam&amp;lt; at &amp;gt;freescale.com&amp;gt;

When the mx6slevk board support was added in U-boot there was no device tree
support for mx6sl, so only a FSL 3.0.35 was tested at that time.

Now that mx6slevk support is available we can boot a device tree kernel, by
adjusting CONFIG_LOADADDR into a proper location, so that a non-dt and a dt
kernels can be booted.

Signed-off-by: Fabio Estevam &amp;lt;fabio.estevam&amp;lt; at &amp;gt;freescale.com&amp;gt;
---
 include/configs/mx6slevk.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/configs/mx6slevk.h b/include/configs/mx6slevk.h
index 8a94efd..19dcdd6 100644
--- a/include/configs/mx6slevk.h
+++ b/include/configs/mx6slevk.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -59,7 +59,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #define CONFIG_BOOTDELAY3
 
-#define CONFIG_LOADADDR0x80800000
+#define CONFIG_LOADADDR0x82000000
 #define CONFIG_SYS_TEXT_BASE0x87800000
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
&lt;/pre&gt;</description>
    <dc:creator>Fabio Estevam</dc:creator>
    <dc:date>2013-05-23T23:57:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161980">
    <title>Re: [PATCH 4/5][v5] board/bsc9131rdb:Add NAND boot support using new SPL format</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161980</link>
    <description>&lt;pre&gt;


Nevermind. It looks like subsequent patches also conflict. I will apply the
patches in the requested order. :)

Andy
_______________________________________________
U-Boot mailing list
U-Boot&amp;lt; at &amp;gt;lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
&lt;/pre&gt;</description>
    <dc:creator>Andy Fleming</dc:creator>
    <dc:date>2013-05-23T22:32:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161979">
    <title>Re: [PATCH V3 1/4] README: document CONFIG_ENV_IS_IN_MMC</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161979</link>
    <description>&lt;pre&gt;
 Stephen&amp;gt; On 05/23/2013 03:59 PM, Peter Korsgaard wrote:
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; "S" == Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;wwwdotorg.org&amp;gt; writes:
 &amp;gt;&amp;gt; 
 Stephen&amp;gt; ...
 S&amp;gt; +  These two values are in units of bytes, but must be aligned to an
 S&amp;gt; +  MMC sector boundary.
 &amp;gt;&amp;gt; 
 &amp;gt;&amp;gt; s/to an/to a/

 Stephen&amp;gt; http://owl.english.purdue.edu/owl/resource/540/1/ disagrees
 Stephen&amp;gt; since the M starts with a vowel sound. See the "An MSDS ..."
 Stephen&amp;gt; example.

Ok, I'm not a native speaker.

&lt;/pre&gt;</description>
    <dc:creator>Peter Korsgaard</dc:creator>
    <dc:date>2013-05-23T22:32:15</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161978">
    <title>Re: [PATCH 4/5][v5] board/bsc9131rdb:Add NAND boot support using new SPL format</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161978</link>
    <description>&lt;pre&gt;On Tue, Apr 16, 2013 at 2:58 AM, Prabhakar Kushwaha &amp;lt;prabhakar&amp;lt; at &amp;gt;freescale.com



I'm currently applying your SYSCLK change which depends on this patch. As
soon as I've pushed that upstream, could you rebase this patch on the top
of my tree? That patch added the BSC9131RDB_NAND_SYSCLK100 target, which
doesn't make sense without the initial NAND target, so this patch should
now add that target in addition to the BSC9131RDB_NAND target.

I should be pushing them up later today.

Thanks,
Andy
_______________________________________________
U-Boot mailing list
U-Boot&amp;lt; at &amp;gt;lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
&lt;/pre&gt;</description>
    <dc:creator>Andy Fleming</dc:creator>
    <dc:date>2013-05-23T22:27:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161977">
    <title>[PATCH] ARM: tegra: only enable SCU on Tegra20</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161977</link>
    <description>&lt;pre&gt;From: Tom Warren &amp;lt;twarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;

The non-SPL build of U-Boot on Tegra only runs on a single CPU, and
hence there is no need to enable the SCU when running U-Boot. If an
SMP OS is booted, and it needs the SCU enabled, it will enable the SCU
itself. U-Boot doing so is redundant.

The one exception is Tegra20, where an enabled SCU is required for some
aspects of PCIe to work correctly.

Some Tegra SoCs contain CPUs without a software-controlled SCU. In this
case, attempting to turn it on actively causes problems. This is the case
for Tegra114. For example, when running Linux, the first (or at least
some very early) user-space process will trigger the following kernel
message:

Unhandled fault: imprecise external abort (0x406) at 0x00000000

This is typically accompanied by that process receving a fatal signal,
and exiting. Since this process is usually pid 1, this causes total
system boot failure.

Signed-off-by: Tom Warren &amp;lt;twarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;
[swarren, fleshed out description, ported to upstream chipid APIs]
Signed-off-by: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;
---
 arch/arm/cpu/tegra-common/ap.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/cpu/tegra-common/ap.c b/arch/arm/cpu/tegra-common/ap.c
index e099683..9e6d51d 100644
--- a/arch/arm/cpu/tegra-common/ap.c
+++ b/arch/arm/cpu/tegra-common/ap.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -109,6 +109,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void enable_scu(void)
 struct scu_ctlr *scu = (struct scu_ctlr *)NV_PA_ARM_PERIPHBASE;
 u32 reg;
 
+/* Only enable the SCU on T20/T25 */
+if (tegra_get_chip() != CHIPID_TEGRA20)
+return;
+
 /* If SCU already setup/enabled, return */
 if (readl(&amp;amp;scu-&amp;gt;scu_ctrl) &amp;amp; SCU_CTRL_ENABLE)
 return;
&lt;/pre&gt;</description>
    <dc:creator>Stephen Warren</dc:creator>
    <dc:date>2013-05-23T22:26:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161976">
    <title>Re: [PATCH V3 1/4] README: document CONFIG_ENV_IS_IN_MMC</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161976</link>
    <description>&lt;pre&gt;...

http://owl.english.purdue.edu/owl/resource/540/1/ disagrees since the M
starts with a vowel sound. See the "An MSDS ..." example.

Either way though is fine by me though I guess.

I assume Tom can fix that up when applying, so I don't need to spam the
list with another resend.
&lt;/pre&gt;</description>
    <dc:creator>Stephen Warren</dc:creator>
    <dc:date>2013-05-23T22:15:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161975">
    <title>[PATCH] input: simplify key_matrix_decode_fdt()</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161975</link>
    <description>&lt;pre&gt;From: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;

We know the exact property names that the code wants to process. Look
these up directly with fdt_get_property(), rather than iterating over
all properties within the node, and checking each property's name, in
a convoluted fashion, against the expected name.

Signed-off-by: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;
---
Note: This depends on my previous patch "input: fix unaligned access
in key_matrix_decode_fdt()". While to two patches could be squashed
together, I'd prefer them to go in separately, since the former is a
bug-fix that makes the original code work again on ARMv7 at least, and
this patch is an unrelated refactoring.
---
 drivers/input/key_matrix.c |   66 +++++++++++++++++---------------------------
 1 file changed, 26 insertions(+), 40 deletions(-)

diff --git a/drivers/input/key_matrix.c b/drivers/input/key_matrix.c
index c8b048e..ea05c77 100644
--- a/drivers/input/key_matrix.c
+++ b/drivers/input/key_matrix.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -154,54 +154,40 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static uchar *create_keymap(struct key_matrix *config, u32 *data, int len,
 return map;
 }
 
-int key_matrix_decode_fdt(struct key_matrix *config, const void *blob,
-  int node)
+int key_matrix_decode_fdt(struct key_matrix *config, const void *blob, int node)
 {
 const struct fdt_property *prop;
-static const char prefix[] = "linux,";
-int plen = sizeof(prefix) - 1;
-int offset;
-
-/* Check each property name for ones that we understand */
-for (offset = fdt_first_property_offset(blob, node);
-      offset &amp;gt; 0;
-      offset = fdt_next_property_offset(blob, offset)) {
-const char *name;
-int len;
-
-prop = fdt_get_property_by_offset(blob, offset, NULL);
-name = fdt_string(blob, fdt32_to_cpu(prop-&amp;gt;nameoff));
-len = strlen(name);
-
-/* Name needs to match "1,&amp;lt;type&amp;gt;keymap" */
-debug("%s: property '%s'\n", __func__, name);
-if (strncmp(name, prefix, plen) ||
-len &amp;lt; plen + 6 ||
-strcmp(name + len - 6, "keymap"))
-continue;
+int proplen;
+uchar *plain_keycode;
 
-len -= plen + 6;
-if (len == 0) {
-config-&amp;gt;plain_keycode = create_keymap(config,
-(u32 *)prop-&amp;gt;data, fdt32_to_cpu(prop-&amp;gt;len),
-KEY_FN, &amp;amp;config-&amp;gt;fn_pos);
-} else if (0 == strncmp(name + plen, "fn-", len)) {
-config-&amp;gt;fn_keycode = create_keymap(config,
-(u32 *)prop-&amp;gt;data, fdt32_to_cpu(prop-&amp;gt;len),
--1, NULL);
-} else {
-debug("%s: unrecognised property '%s'\n", __func__,
-      name);
-}
-}
-debug("%s: Decoded key maps %p, %p from fdt\n", __func__,
-      config-&amp;gt;plain_keycode, config-&amp;gt;fn_keycode);
+prop = fdt_get_property(blob, node, "linux,keymap", &amp;amp;proplen);
+/* Basic keymap is required */
+if (!prop)
+return -1;
 
+plain_keycode = create_keymap(config, (u32 *)prop-&amp;gt;data,
+proplen, KEY_FN, &amp;amp;config-&amp;gt;fn_pos);
+config-&amp;gt;plain_keycode = plain_keycode;
+/* Conversion error -&amp;gt; fail */
+if (!config-&amp;gt;plain_keycode)
+return -1;
+
+prop = fdt_get_property(blob, node, "linux,fn-keymap", &amp;amp;proplen);
+/* fn keymap is optional */
+if (!prop)
+goto done;
+
+config-&amp;gt;fn_keycode = create_keymap(config, (u32 *)prop-&amp;gt;data,
+proplen, -1, NULL);
+/* Conversion error -&amp;gt; fail */
 if (!config-&amp;gt;plain_keycode) {
-debug("%s: cannot find keycode-plain map\n", __func__);
+free(plain_keycode);
 return -1;
 }
 
+done:
+debug("%s: Decoded key maps %p, %p from fdt\n", __func__,
+      config-&amp;gt;plain_keycode, config-&amp;gt;fn_keycode);
 return 0;
 }
 
&lt;/pre&gt;</description>
    <dc:creator>Stephen Warren</dc:creator>
    <dc:date>2013-05-23T22:09:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161974">
    <title>Re: [PATCH V3 1/4] README: document CONFIG_ENV_IS_IN_MMC</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161974</link>
    <description>&lt;pre&gt;
 S&amp;gt; From: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;
 S&amp;gt; Describe the meaning of CONFIG_ENV_IS_IN_MMC, and all related defines that
 S&amp;gt; must or can be set when using that option.

 S&amp;gt; Signed-off-by: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;
 S&amp;gt; ---
 S&amp;gt; v3:
 S&amp;gt; * Mention that env size/offset are in bytes.
 S&amp;gt; * Fix typo; s/CONFIG_ENV_OFFSET/CONFIG_ENV_SIZE/ in one place.
 S&amp;gt; v2: New patch.
 S&amp;gt; ---
 S&amp;gt;  README |   40 ++++++++++++++++++++++++++++++++++++++++
 S&amp;gt;  1 file changed, 40 insertions(+)

 S&amp;gt; diff --git a/README b/README
 S&amp;gt; index 3012dcd..e7fedb8 100644
 S&amp;gt; --- a/README
 S&amp;gt; +++ b/README
 S&amp;gt; &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3606,6 +3606,46 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; but it can not erase, write this NOR flash by SRIO or PCIE interface.
 S&amp;gt;    You will probably want to define these to avoid a really noisy system
 S&amp;gt;    when storing the env in UBI.
 
 S&amp;gt; +- CONFIG_ENV_IS_IN_MMC:
 S&amp;gt; +
 S&amp;gt; +Define this if you have an MMC device which you want to use for the
 S&amp;gt; +environment.
 S&amp;gt; +
 S&amp;gt; +- CONFIG_SYS_MMC_ENV_DEV:
 S&amp;gt; +
 S&amp;gt; +  Specifies which MMC device the environment is stored in.
 S&amp;gt; +
 S&amp;gt; +- CONFIG_SYS_MMC_ENV_PART (optional):
 S&amp;gt; +
 S&amp;gt; +  Specifies which MMC partition the environment is stored in. If not
 S&amp;gt; +  set, defaults to partition 0, the user area. Common values might be
 S&amp;gt; +  1 (first MMC boot partition), 2 (second MMC boot partition).
 S&amp;gt; +
 S&amp;gt; +- CONFIG_ENV_OFFSET:
 S&amp;gt; +- CONFIG_ENV_SIZE:
 S&amp;gt; +
 S&amp;gt; +  These two #defines specify the offset and size of the environment
 S&amp;gt; +  area within the specified MMC device.
 S&amp;gt; +
 S&amp;gt; +  These two values are in units of bytes, but must be aligned to an
 S&amp;gt; +  MMC sector boundary.

s/to an/t a/

Other than that:

Reviewed-by: Peter Korsgaard &amp;lt;jacmet&amp;lt; at &amp;gt;sunsite.dk&amp;gt;

&lt;/pre&gt;</description>
    <dc:creator>Peter Korsgaard</dc:creator>
    <dc:date>2013-05-23T21:59:04</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161973">
    <title>Re: [Patch v2 2/4] NET: macb: support sama5d3x devices</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161973</link>
    <description>&lt;pre&gt;Hi,

On Thu, May 23, 2013 at 1:51 AM, Andreas Bießmann
&amp;lt;andreas.devel&amp;lt; at &amp;gt;googlemail.com&amp;gt; wrote:


Yes, I hope to be getting to patches assigned to me in patchwork in
the next week or so.

-Joe
&lt;/pre&gt;</description>
    <dc:creator>Joe Hershberger</dc:creator>
    <dc:date>2013-05-23T21:58:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161972">
    <title>Re: [PATCH 2/2] wandboard: Disable data cache</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161972</link>
    <description>&lt;pre&gt;Hi Wolfgang,

On Thu, May 23, 2013 at 6:12 PM, Wolfgang Denk &amp;lt;wd&amp;lt; at &amp;gt;denx.de&amp;gt; wrote:


Right, I should have marked this patch as RFC.

Anatolij kindly pointed me to a patch that solves the problem, so this
one can be discarded.

Regards,

Fabio Estevam
&lt;/pre&gt;</description>
    <dc:creator>Fabio Estevam</dc:creator>
    <dc:date>2013-05-23T21:15:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161971">
    <title>Re: [PATCH 2/2] wandboard: Disable data cache</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161971</link>
    <description>&lt;pre&gt;Dear Fabio Estevam,

In message &amp;lt;1369331424-25835-2-git-send-email-fabio.estevam&amp;lt; at &amp;gt;freescale.com&amp;gt; you wrote:

Even without a proper fix this should not be done unconditionally.
Please do this only when you actually have to, i. e. when really using
the HDMI framebuffer in a system.  It's not a good idea to let all
others suffer from that.

Also, I wonder if we should issue a warning then (at build time).

Best regards,

Wolfgang Denk

&lt;/pre&gt;</description>
    <dc:creator>Wolfgang Denk</dc:creator>
    <dc:date>2013-05-23T21:12:58</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161970">
    <title>Re: disassembler ?</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161970</link>
    <description>&lt;pre&gt;Dear Brad Walker,

In message &amp;lt;CAPKZHbU1wKxJZ82O9v54Lct482o7MfcN4Yq_WniwL-TB8_-cGg&amp;lt; at &amp;gt;mail.gmail.com&amp;gt; you wrote:

I have no information what the target for your new processor might be;
there is such systems that go to basically a single big customer / a
single, highly specific use case, and there are those that are
intended for general use - the more use cases the better.  If you want
to make your system easy to use for a big grouyp of people, then make
sure that standard debug tools work.  Include JTAG, and make sure it
works with standard tools like the Abatron BDI2000/3000, Lauterbach
Trace32 and OpenOCD etc.


Well, without a working binut=ils you cannot build U-Boot anyway, so
you probably have to wait for that.


BedBug is strill there, because it was useful for some (at some point
of time), and it does not hurt to have it.  I think the actual number
of users is epsilon.


I'd recommend to save the efforts, and rather help the guys who are
working on binutils.  This is probably better invested time, then.

Best regards,

Wolfgang Denk

&lt;/pre&gt;</description>
    <dc:creator>Wolfgang Denk</dc:creator>
    <dc:date>2013-05-23T21:09:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161969">
    <title>Re: disassembler ?</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161969</link>
    <description>&lt;pre&gt;If one was lucky maybe.  But who builds schedules around luck?  And yes,
Murphy's a mother...

I was assuming that through some black magic they could get into Bedbug
on reset and use it to inspect memory.  Of course this assumes that
Bedbug and u-boot don't collide, u-boot doesn't try to relocate itself
(or scribble over memory), all of which is extra development that a
JTAG[1] attached debugger would preclude.

A JTAG debugger would allow you to load code directly into memory and
then step through the processor initialization(or supply instructions on
the fly!), low-level startup development that everyone does on a new
processor.  Also by stepping you can see where/when the processor is
about to go off into the weeds many, many, many instructions _before_ it
munches any hope of postmortem debugging.  From experience bringing up
boards w/o JTAG is not only tedious but unpredictable and takes a
loooong time - the extra cost/effort of integrating JTAG (especially
since this is a spanking new processor!) is more than justified by it
reducing both total development time and overall schedule risk...

[1] I use JTAG to mean any industry standard hardware debug/access
method that allows arbitrary execution and inspection/modification of
registers/memory...


&lt;/pre&gt;</description>
    <dc:creator>Peter Barada</dc:creator>
    <dc:date>2013-05-23T20:56:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161968">
    <title>[PATCH V3 2/4] mmc: report capacity for the selectedpartition</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161968</link>
    <description>&lt;pre&gt;From: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;

Enhance the MMC core to calculate the size of each MMC partition, and
update mmc-&amp;gt;capacity whenever a partition is selected. This causes:

mmc dev 0 1 ; mmcinfo

... to report the size of the currently selected partition, rather than
always reporting the size of the user partition.

Signed-off-by: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;
---
v3: No change.
v2: No change.
---
 drivers/mmc/mmc.c |   68 +++++++++++++++++++++++++++++++++++++++++++++++------
 include/mmc.h     |    7 ++++++
 2 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 0a2f535..31036f7 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -700,16 +700,49 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int mmc_change_freq(struct mmc *mmc)
 return 0;
 }
 
+static int mmc_set_capacity(struct mmc *mmc, int part_num)
+{
+switch (part_num) {
+case 0:
+mmc-&amp;gt;capacity = mmc-&amp;gt;capacity_user;
+break;
+case 1:
+case 2:
+mmc-&amp;gt;capacity = mmc-&amp;gt;capacity_boot;
+break;
+case 3:
+mmc-&amp;gt;capacity = mmc-&amp;gt;capacity_rpmb;
+break;
+case 4:
+case 5:
+case 6:
+case 7:
+mmc-&amp;gt;capacity = mmc-&amp;gt;capacity_gp[part_num - 4];
+break;
+default:
+return -1;
+}
+
+mmc-&amp;gt;block_dev.lba = lldiv(mmc-&amp;gt;capacity, mmc-&amp;gt;read_bl_len);
+
+return 0;
+}
+
 int mmc_switch_part(int dev_num, unsigned int part_num)
 {
 struct mmc *mmc = find_mmc_device(dev_num);
+int ret;
 
 if (!mmc)
 return -1;
 
-return mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF,
-  (mmc-&amp;gt;part_config &amp;amp; ~PART_ACCESS_MASK)
-  | (part_num &amp;amp; PART_ACCESS_MASK));
+ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF,
+ (mmc-&amp;gt;part_config &amp;amp; ~PART_ACCESS_MASK)
+ | (part_num &amp;amp; PART_ACCESS_MASK));
+if (ret)
+return ret;
+
+return mmc_set_capacity(mmc, part_num);
 }
 
 int mmc_getcd(struct mmc *mmc)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -917,7 +950,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void mmc_set_bus_width(struct mmc *mmc, uint width)
 
 static int mmc_startup(struct mmc *mmc)
 {
-int err;
+int err, i;
 uint mult, freq;
 u64 cmult, csize, capacity;
 struct mmc_cmd cmd;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1035,8 +1068,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int mmc_startup(struct mmc *mmc)
 cmult = (mmc-&amp;gt;csd[2] &amp;amp; 0x00038000) &amp;gt;&amp;gt; 15;
 }
 
-mmc-&amp;gt;capacity = (csize + 1) &amp;lt;&amp;lt; (cmult + 2);
-mmc-&amp;gt;capacity *= mmc-&amp;gt;read_bl_len;
+mmc-&amp;gt;capacity_user = (csize + 1) &amp;lt;&amp;lt; (cmult + 2);
+mmc-&amp;gt;capacity_user *= mmc-&amp;gt;read_bl_len;
+mmc-&amp;gt;capacity_boot = 0;
+mmc-&amp;gt;capacity_rpmb = 0;
+for (i = 0; i &amp;lt; 4; i++)
+mmc-&amp;gt;capacity_gp[i] = 0;
 
 if (mmc-&amp;gt;read_bl_len &amp;gt; MMC_MAX_BLOCK_LEN)
 mmc-&amp;gt;read_bl_len = MMC_MAX_BLOCK_LEN;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1075,7 +1112,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int mmc_startup(struct mmc *mmc)
 | ext_csd[EXT_CSD_SEC_CNT + 3] &amp;lt;&amp;lt; 24;
 capacity *= MMC_MAX_BLOCK_LEN;
 if ((capacity &amp;gt;&amp;gt; 20) &amp;gt; 2 * 1024)
-mmc-&amp;gt;capacity = capacity;
+mmc-&amp;gt;capacity_user = capacity;
 }
 
 switch (ext_csd[EXT_CSD_REV]) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1117,8 +1154,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int mmc_startup(struct mmc *mmc)
 if ((ext_csd[EXT_CSD_PARTITIONING_SUPPORT] &amp;amp; PART_SUPPORT) ||
     ext_csd[EXT_CSD_BOOT_MULT])
 mmc-&amp;gt;part_config = ext_csd[EXT_CSD_PART_CONF];
+
+mmc-&amp;gt;capacity_boot = ext_csd[EXT_CSD_BOOT_MULT] &amp;lt;&amp;lt; 17;
+
+mmc-&amp;gt;capacity_rpmb = ext_csd[EXT_CSD_RPMB_MULT] &amp;lt;&amp;lt; 17;
+
+for (i = 0; i &amp;lt; 4; i++) {
+int idx = EXT_CSD_GP_SIZE_MULT + i * 3;
+mmc-&amp;gt;capacity_gp[i] = (ext_csd[idx + 2] &amp;lt;&amp;lt; 16) +
+(ext_csd[idx + 1] &amp;lt;&amp;lt; 8) + ext_csd[idx];
+mmc-&amp;gt;capacity_gp[i] *=
+ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE];
+mmc-&amp;gt;capacity_gp[i] *= ext_csd[EXT_CSD_HC_WP_GRP_SIZE];
+}
 }
 
+err = mmc_set_capacity(mmc, mmc-&amp;gt;part_num);
+if (err)
+return err;
+
 if (IS_SD(mmc))
 err = sd_change_freq(mmc);
 else
diff --git a/include/mmc.h b/include/mmc.h
index 566db59..ea198d8 100644
--- a/include/mmc.h
+++ b/include/mmc.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -158,7 +158,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /*
  * EXT_CSD fields
  */
+#define EXT_CSD_GP_SIZE_MULT143/* R/W */
 #define EXT_CSD_PARTITIONING_SUPPORT160/* RO */
+#define EXT_CSD_RPMB_MULT168/* RO */
 #define EXT_CSD_ERASE_GROUP_DEF175/* R/W */
 #define EXT_CSD_PART_CONF179/* R/W */
 #define EXT_CSD_BUS_WIDTH183/* R/W */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -166,6 +168,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define EXT_CSD_REV192/* RO */
 #define EXT_CSD_CARD_TYPE196/* RO */
 #define EXT_CSD_SEC_CNT212/* RO, 4 bytes */
+#define EXT_CSD_HC_WP_GRP_SIZE221/* RO */
 #define EXT_CSD_HC_ERASE_GRP_SIZE224/* RO */
 #define EXT_CSD_BOOT_MULT226/* RO */
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -263,6 +266,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct mmc {
 uint write_bl_len;
 uint erase_grp_size;
 u64 capacity;
+u64 capacity_user;
+u64 capacity_boot;
+u64 capacity_rpmb;
+u64 capacity_gp[4];
 block_dev_desc_t block_dev;
 int (*send_cmd)(struct mmc *mmc,
 struct mmc_cmd *cmd, struct mmc_data *data);
&lt;/pre&gt;</description>
    <dc:creator>Stephen Warren</dc:creator>
    <dc:date>2013-05-23T20:51:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161967">
    <title>[PATCH V3 1/4] README: document CONFIG_ENV_IS_IN_MMC</title>
    <link>http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/161967</link>
    <description>&lt;pre&gt;From: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;

Describe the meaning of CONFIG_ENV_IS_IN_MMC, and all related defines that
must or can be set when using that option.

Signed-off-by: Stephen Warren &amp;lt;swarren&amp;lt; at &amp;gt;nvidia.com&amp;gt;
---
v3:
* Mention that env size/offset are in bytes.
* Fix typo; s/CONFIG_ENV_OFFSET/CONFIG_ENV_SIZE/ in one place.
v2: New patch.
---
 README |   40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/README b/README
index 3012dcd..e7fedb8 100644
--- a/README
+++ b/README
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3606,6 +3606,46 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; but it can not erase, write this NOR flash by SRIO or PCIE interface.
   You will probably want to define these to avoid a really noisy system
   when storing the env in UBI.
 
+- CONFIG_ENV_IS_IN_MMC:
+
+Define this if you have an MMC device which you want to use for the
+environment.
+
+- CONFIG_SYS_MMC_ENV_DEV:
+
+  Specifies which MMC device the environment is stored in.
+
+- CONFIG_SYS_MMC_ENV_PART (optional):
+
+  Specifies which MMC partition the environment is stored in. If not
+  set, defaults to partition 0, the user area. Common values might be
+  1 (first MMC boot partition), 2 (second MMC boot partition).
+
+- CONFIG_ENV_OFFSET:
+- CONFIG_ENV_SIZE:
+
+  These two #defines specify the offset and size of the environment
+  area within the specified MMC device.
+
+  These two values are in units of bytes, but must be aligned to an
+  MMC sector boundary.
+
+- CONFIG_ENV_OFFSET_REDUND (optional):
+
+  Specifies a second storage area, of CONFIG_ENV_SIZE size, used to
+  hold a redundant copy of the environment data. This provides a
+  valid backup copy in case the other copy is corrupted, e.g. due
+  to a power failure during a "saveenv" operation.
+
+  This value is also in units of bytes, but must also be aligned to
+  an MMC sector boundary.
+
+- CONFIG_ENV_SIZE_REDUND (optional):
+
+  This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is
+  set. If this value is set, it must be set to the same value as
+  CONFIG_ENV_SIZE.
+
 - CONFIG_SYS_SPI_INIT_OFFSET
 
 Defines offset to the initial SPI buffer area in DPRAM. The
&lt;/pre&gt;</description>
    <dc:creator>Stephen Warren</dc:creator>
    <dc:date>2013-05-23T20:51:44</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.boot-loaders.u-boot">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.boot-loaders.u-boot</link>
  </textinput>
</rdf:RDF>
