[PATCH] Added sd driver for bcm2835 (Raspberry PI)

2013-04-25 Thread wilhelm
---
 arch/arm/mach-bcm2835/core.c |   1 +
 drivers/mci/Kconfig  |   4 +
 drivers/mci/Makefile |   1 +
 drivers/mci/mci-bcm2835.c| 567 +++
 drivers/mci/mci-bcm2835.h| 126 ++
 5 files changed, 699 insertions(+)
 create mode 100644 drivers/mci/mci-bcm2835.c
 create mode 100644 drivers/mci/mci-bcm2835.h

diff --git a/arch/arm/mach-bcm2835/core.c b/arch/arm/mach-bcm2835/core.c
index f44ecd5..906e434 100644
--- a/arch/arm/mach-bcm2835/core.c
+++ b/arch/arm/mach-bcm2835/core.c
@@ -70,6 +70,7 @@ static int bcm2835_dev_init(void)
 {
add_generic_device("bcm2835-gpio", 0, NULL, BCM2835_GPIO_BASE, 0xB0, 
IORESOURCE_MEM, NULL);
add_generic_device("bcm2835-cs", DEVICE_ID_SINGLE, NULL, 
BCM2835_ST_BASE, 0x1C, IORESOURCE_MEM, NULL);
+   add_generic_device("bcm2835_mci", 0, NULL, BCM2835_EMMC_BASE, 0xFC, 
IORESOURCE_MEM, NULL);
return 0;
 }
 coredevice_initcall(bcm2835_dev_init);
diff --git a/drivers/mci/Kconfig b/drivers/mci/Kconfig
index 9558f28..52cb303 100644
--- a/drivers/mci/Kconfig
+++ b/drivers/mci/Kconfig
@@ -45,6 +45,10 @@ config MCI_S3C
  Enable this entry to add support to read and write SD cards on a
  Samsung S3C24xx based system.
 
+config MCI_BCM2835
+   bool "MCI support for BCM2835"
+   depends on ARCH_BCM2835
+
 config MCI_IMX
bool "i.MX"
depends on ARCH_IMX27 || ARCH_IMX31
diff --git a/drivers/mci/Makefile b/drivers/mci/Makefile
index d46d5f5..263f23a 100644
--- a/drivers/mci/Makefile
+++ b/drivers/mci/Makefile
@@ -8,3 +8,4 @@ obj-$(CONFIG_MFD_TWL6030) += twl6030.o
 obj-$(CONFIG_MCI_PXA) += pxamci.o
 obj-$(CONFIG_MCI_ATMEL) += atmel_mci.o
 obj-$(CONFIG_MCI_SPI) += mci_spi.o
+obj-$(CONFIG_MCI_BCM2835)  += mci-bcm2835.o
diff --git a/drivers/mci/mci-bcm2835.c b/drivers/mci/mci-bcm2835.c
new file mode 100644
index 000..1b6b98b
--- /dev/null
+++ b/drivers/mci/mci-bcm2835.c
@@ -0,0 +1,567 @@
+/*
+ * Raspberry PI MCI driver
+ *
+ * Portions (e.g. read/write macros, concepts for back-to-back register write
+ * timing workarounds) obviously extracted from the Linux kernel at:
+ * https://github.com/raspberrypi/linux.git rpi-3.6.y
+ *
+ * The Linux kernel code has the following (c) and license, which is hence
+ * propagated to here:
+ *
+ * Support for SDHCI device on 2835
+ * Based on sdhci-bcm2708.c (c) 2010 Broadcom
+ * Inspired by bcm2835_sdhci.c from git://github.com/gonzoua/u-boot-pi.git
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Author: Wilhelm Lundgren 
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include "mci-bcm2835.h"
+
+#define to_bcm2835_host(h) container_of(h, struct bcm2835_mci_host, mci)
+static int twoticks_delay;
+struct bcm2835_mci_host {
+   struct mci_host mci;
+   void __iomem *regs;
+   struct device_d *hw_dev;
+   int bus_width;
+   u32 clock;
+   u32 max_clock;
+   u32 version;
+   uint64_t last_write;
+};
+
+void bcm2835_mci_write(struct bcm2835_mci_host *host, u32 reg, u32 val)
+{
+   /*
+* The Arasan has a bugette whereby it may lose the content of
+* successive writes to registers that are within two SD-card clock
+* cycles of each other (a clock domain crossing problem).
+* It seems, however, that the data register does not have this problem.
+* (Which is just as well - otherwise we'd have to nobble the DMA engine
+* too)
+*/
+
+   if (host->last_write != 0)
+   while ((get_time_ns() - host->last_write) < twoticks_delay)
+   ;
+   host->last_write = get_time_ns();
+   writel(val, host->regs + reg);
+}
+
+u32 bcm2835_mci_read(struct bcm2835_mci_host *host, u32 reg)
+{
+   return readl(host->regs + reg);
+}
+
+/* Create special write data function since the data
+ * register is not affected by the twoticks_delay bug
+ * and we can thus get better speed here
+ */
+void bcm2835_mci_write_data(struct bcm2835_mci_host *host, u32 *p)
+{
+   writel(*p, host->regs + BCM2835_MCI_DATA);
+}
+
+/* Make a read data functions as well just to keep structure */
+void bcm2835_mci_read_data(struct bcm2835_mci_host *host, u32 *p)
+{
+   *p = readl(host->regs + BCM2835_MCI_DATA);
+}
+
+static int bcm2835_mci_transfer_data(struct bcm2835_mci_host *host,
+   struct mci_

Re: [PATCH] of: fix typos

2013-04-25 Thread Sascha Hauer
On Thu, Apr 25, 2013 at 08:09:30PM +0400, Antony Pavlov wrote:
> Signed-off-by: Antony Pavlov 

Applied, thanks

Sascha

> ---
>  drivers/of/base.c |4 ++--
>  drivers/of/gpio.c |1 -
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index fde91b3..5661e8d 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -902,13 +902,13 @@ int of_add_memory(struct device_node *node, bool dump)
>  
>   sprintf(str, "ram%d", r);
>  
> -barebox_add_memory_bank(str, base, size);
> + barebox_add_memory_bank(str, base, size);
>  
>   if (dump)
>   pr_info("%s: %s: 0x%llx@0x%llx\n", node->name, str, 
> size, base);
>  
>   r++;
> -}
> + }
>  
>   return 0;
>  }
> diff --git a/drivers/of/gpio.c b/drivers/of/gpio.c
> index d4314f3..83b72c0 100644
> --- a/drivers/of/gpio.c
> +++ b/drivers/of/gpio.c
> @@ -25,4 +25,3 @@ int of_get_named_gpio(struct device_node *np,
>  
>   return ret;
>  }
> -
> -- 
> 1.7.10.4
> 
> 

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH] of: property: fix error message

2013-04-25 Thread Sascha Hauer
On Thu, Apr 25, 2013 at 05:12:22PM +0200, Steffen Trumtrar wrote:
> At least in standard oxford english one not is enough.

:)

Applied, thanks

Sascha

> 
> Signed-off-by: Steffen Trumtrar 
> ---
>  commands/of_property.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/commands/of_property.c b/commands/of_property.c
> index 6311b70..44bb388 100644
> --- a/commands/of_property.c
> +++ b/commands/of_property.c
> @@ -62,7 +62,7 @@ static int of_parse_prop_cells(char * const *newval, int 
> count, char *data, int
>  
>   /* If the ptr didn't advance, something went wrong */
>   if ((newp - cp) <= 0) {
> - printf("cannot not convert \"%s\"\n", cp);
> + printf("cannot convert \"%s\"\n", cp);
>   return -EINVAL;
>   }
>  
> @@ -105,7 +105,7 @@ static int of_parse_prop_stream(char * const *newval, int 
> count, char *data, int
>  
>   /* If the ptr didn't advance, something went wrong */
>   if ((newp - cp) <= 0) {
> - printf("cannot not convert \"%s\"\n", cp);
> + printf("cannot convert \"%s\"\n", cp);
>   return -EINVAL;
>   }
>   }
> -- 
> 1.8.2.rc2
> 
> 
> ___
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH] of: fix how an initrd is passed to Linux

2013-04-25 Thread Sascha Hauer
On Thu, Apr 25, 2013 at 11:00:37PM +0200, Uwe Kleine-König wrote:
> On Thu, Apr 25, 2013 at 02:49:47PM +0200, Uwe Kleine-König wrote:
> > Linux expects linux,initrd-end to contain the first unused address. As
> > this doesn't match the end semantic used by barebox (i.e. end contains
> > the last used address) adding one is necessary.
> > 
> > Without this change Linux fails for me to correctly extract a gzipped
> > cpio archive provided as initrd.
> > 
> > Signed-off-by: Uwe Kleine-König 
> > ---
> >  drivers/of/base.c | 6 +-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/of/base.c b/drivers/of/base.c
> > index d22031f..6cb5521 100644
> > --- a/drivers/of/base.c
> > +++ b/drivers/of/base.c
> > @@ -1078,6 +1078,10 @@ int of_device_is_stdout_path(struct device_d *dev)
> >   *
> >   * Add initrd properties to the devicetree, or, if end is 0,
> >   * delete them.
> > + *
> > + * Note that Linux interprets end differently than Barebox. For Linux end 
> > points
> > + * to the first address after the memory occupied by the image while 
> > barebox
> > + * lets end pointing the the last occupied byte.
> The first "the" in the line above should be a "to". Sascha: Assuming you
> are happy with the patch: Can you fix this up while committing?

Applied and fixed.

Thanks
 Sascha


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH] of: fix how an initrd is passed to Linux

2013-04-25 Thread Uwe Kleine-König
On Thu, Apr 25, 2013 at 02:49:47PM +0200, Uwe Kleine-König wrote:
> Linux expects linux,initrd-end to contain the first unused address. As
> this doesn't match the end semantic used by barebox (i.e. end contains
> the last used address) adding one is necessary.
> 
> Without this change Linux fails for me to correctly extract a gzipped
> cpio archive provided as initrd.
> 
> Signed-off-by: Uwe Kleine-König 
> ---
>  drivers/of/base.c | 6 +-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index d22031f..6cb5521 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -1078,6 +1078,10 @@ int of_device_is_stdout_path(struct device_d *dev)
>   *
>   * Add initrd properties to the devicetree, or, if end is 0,
>   * delete them.
> + *
> + * Note that Linux interprets end differently than Barebox. For Linux end 
> points
> + * to the first address after the memory occupied by the image while barebox
> + * lets end pointing the the last occupied byte.
The first "the" in the line above should be a "to". Sascha: Assuming you
are happy with the patch: Can you fix this up while committing?

Best regards
Uwe

-- 
Pengutronix e.K.   | Uwe Kleine-König|
Industrial Linux Solutions | http://www.pengutronix.de/  |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH] ARM: OMAP5 processors support

2013-04-25 Thread Sascha Hauer
On Thu, Apr 25, 2013 at 03:42:10PM +0300, Uladzimir Bely wrote:
> 
> I'm not too familiar with barebox's defaultenv/defaultenv-2. Our work on
> omap5 was based mostly on omap5 code from U-Boot and omap4 code from barebox.
> Mostly, I used pcm049 as an example of omap4-based board in barebox. So
> arch/arm/boards/omap5_sevm/env/config looks like this one, but includes
> only most necessary thinks to load to barebox prompt.
> 
> Please, give me a hint, which board can be used as an example of using
> defaultenv-2, maybe I'll do something.
>

See for example the i.MX53 loco (aka qsb) board:

arch/arm/boards/freescale-mx53-loco/env/

Sascha
 
-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


[PATCH] of: fix typos

2013-04-25 Thread Antony Pavlov
Signed-off-by: Antony Pavlov 
---
 drivers/of/base.c |4 ++--
 drivers/of/gpio.c |1 -
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index fde91b3..5661e8d 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -902,13 +902,13 @@ int of_add_memory(struct device_node *node, bool dump)
 
sprintf(str, "ram%d", r);
 
-barebox_add_memory_bank(str, base, size);
+   barebox_add_memory_bank(str, base, size);
 
if (dump)
pr_info("%s: %s: 0x%llx@0x%llx\n", node->name, str, 
size, base);
 
r++;
-}
+   }
 
return 0;
 }
diff --git a/drivers/of/gpio.c b/drivers/of/gpio.c
index d4314f3..83b72c0 100644
--- a/drivers/of/gpio.c
+++ b/drivers/of/gpio.c
@@ -25,4 +25,3 @@ int of_get_named_gpio(struct device_node *np,
 
return ret;
 }
-
-- 
1.7.10.4


___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


[PATCH] of: property: fix error message

2013-04-25 Thread Steffen Trumtrar
At least in standard oxford english one not is enough.

Signed-off-by: Steffen Trumtrar 
---
 commands/of_property.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/commands/of_property.c b/commands/of_property.c
index 6311b70..44bb388 100644
--- a/commands/of_property.c
+++ b/commands/of_property.c
@@ -62,7 +62,7 @@ static int of_parse_prop_cells(char * const *newval, int 
count, char *data, int
 
/* If the ptr didn't advance, something went wrong */
if ((newp - cp) <= 0) {
-   printf("cannot not convert \"%s\"\n", cp);
+   printf("cannot convert \"%s\"\n", cp);
return -EINVAL;
}
 
@@ -105,7 +105,7 @@ static int of_parse_prop_stream(char * const *newval, int 
count, char *data, int
 
/* If the ptr didn't advance, something went wrong */
if ((newp - cp) <= 0) {
-   printf("cannot not convert \"%s\"\n", cp);
+   printf("cannot convert \"%s\"\n", cp);
return -EINVAL;
}
}
-- 
1.8.2.rc2


___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH 2/3][WiP] add atheros MIPS based ar2313 WiSoC chips

2013-04-25 Thread antonynpav...@gmail.com
On Mon, 22 Apr 2013 11:05:53 +0200
Oleksij Rempel  wrote:

> From: Oleksij Rempel 
> 
> ---
>  arch/mips/Kconfig  |   10 +
>  arch/mips/Makefile |3 +
>  arch/mips/boards/netgear-wg102/Kconfig |6 +
>  arch/mips/boards/netgear-wg102/Makefile|1 +
>  arch/mips/boards/netgear-wg102/config.h|   15 +
>  arch/mips/boards/netgear-wg102/netgear-wg102.dox   |   38 +++
>  arch/mips/boards/netgear-wg102/serial.c|   40 +++
>  arch/mips/mach-ar531x/Kconfig  |   17 ++
>  arch/mips/mach-ar531x/Makefile |3 +
>  arch/mips/mach-ar531x/ar531x.c |  204 ++
>  arch/mips/mach-ar531x/board.c  |  182 
>  .../mach-ar531x/include/mach/ar231x_platform.h |   82 ++
>  arch/mips/mach-ar531x/include/mach/ar531x_regs.h   |  295 
> 
>  arch/mips/mach-ar531x/include/mach/debug_ll.h  |   31 ++
>  arch/mips/mach-ar531x/lowlevel_init.S  |   83 ++
>  arch/mips/mach-ar531x/mach-ar531x.dox  |7 +
>  16 files changed, 1017 insertions(+)
>  create mode 100644 arch/mips/boards/netgear-wg102/Kconfig
>  create mode 100644 arch/mips/boards/netgear-wg102/Makefile
>  create mode 100644 arch/mips/boards/netgear-wg102/config.h
>  create mode 100644 arch/mips/boards/netgear-wg102/netgear-wg102.dox
>  create mode 100644 arch/mips/boards/netgear-wg102/serial.c
>  create mode 100644 arch/mips/mach-ar531x/Kconfig
>  create mode 100644 arch/mips/mach-ar531x/Makefile
>  create mode 100644 arch/mips/mach-ar531x/ar531x.c
>  create mode 100644 arch/mips/mach-ar531x/board.c
>  create mode 100644 arch/mips/mach-ar531x/include/mach/ar231x_platform.h
>  create mode 100644 arch/mips/mach-ar531x/include/mach/ar531x_regs.h
>  create mode 100644 arch/mips/mach-ar531x/include/mach/debug_ll.h
>  create mode 100644 arch/mips/mach-ar531x/lowlevel_init.S
>  create mode 100644 arch/mips/mach-ar531x/mach-ar531x.dox
> 
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 947edcf..e3b425f 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -37,6 +37,15 @@ config MACH_MIPS_MALTA
>   select SYS_SUPPORTS_BIG_ENDIAN
>   select HAS_DEBUG_LL
>  
> +config MACH_MIPS_AR531X
> + bool "Atheros ar531x-based boards"
> + select CSRC_R4K_LIB
> + select DRIVER_SERIAL_NS16550
> + select SYS_HAS_CPU_MIPS32_R1
> + select SYS_SUPPORTS_32BIT_KERNEL
> + select SYS_SUPPORTS_BIG_ENDIAN
> + select HAS_DEBUG_LL
> +
>  config MACH_MIPS_BCM47XX
>   bool "Broadcom BCM47xx-based boards"
>   select CSRC_R4K_LIB
> @@ -56,6 +65,7 @@ config MACH_MIPS_XBURST
>  endchoice
>  
>  source arch/mips/mach-malta/Kconfig
> +source arch/mips/mach-ar531x/Kconfig
>  source arch/mips/mach-bcm47xx/Kconfig
>  source arch/mips/mach-xburst/Kconfig
>  
> diff --git a/arch/mips/Makefile b/arch/mips/Makefile
> index 3c565a4..a79ffdb 100644
> --- a/arch/mips/Makefile
> +++ b/arch/mips/Makefile
> @@ -72,6 +72,9 @@ LDFLAGS_barebox += -nostdlib
>  machine-$(CONFIG_MACH_MIPS_MALTA):= malta
>  board-$(CONFIG_BOARD_QEMU_MALTA) := qemu-malta
>  
> +machine-$(CONFIG_MACH_MIPS_AR531X)   := ar531x
> +board-$(CONFIG_BOARD_NETGEAR_WG102)  := netgear-wg102
> +
>  machine-$(CONFIG_MACH_MIPS_BCM47XX)  := bcm47xx
>  board-$(CONFIG_BOARD_DLINK_DIR320)   := dlink-dir-320
>  
> diff --git a/arch/mips/boards/netgear-wg102/Kconfig 
> b/arch/mips/boards/netgear-wg102/Kconfig
> new file mode 100644
> index 000..ceca6de
> --- /dev/null
> +++ b/arch/mips/boards/netgear-wg102/Kconfig
> @@ -0,0 +1,6 @@
> +if BOARD_NETGEAR_WG102
> +
> +config BOARDINFO
> + default "Netgear WG102"
> +
> +endif
> diff --git a/arch/mips/boards/netgear-wg102/Makefile 
> b/arch/mips/boards/netgear-wg102/Makefile
> new file mode 100644
> index 000..ff1a655
> --- /dev/null
> +++ b/arch/mips/boards/netgear-wg102/Makefile
> @@ -0,0 +1 @@
> +obj-$(CONFIG_DRIVER_SERIAL_NS16550) += serial.o
> diff --git a/arch/mips/boards/netgear-wg102/config.h 
> b/arch/mips/boards/netgear-wg102/config.h
> new file mode 100644
> index 000..db5f011
> --- /dev/null
> +++ b/arch/mips/boards/netgear-wg102/config.h
> @@ -0,0 +1,15 @@
> +/*
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + *
> + */
> +
> +/* nothing special yet */
> diff --git a/arch/mips/boards/netgear-wg102/netgear-wg102.dox 
> b/arch/mips/boards/netgear-wg102/netgear-wg102.dox
> new file mod

Re: [PATCH] ARM: OMAP5 processors support

2013-04-25 Thread menon.nisha...@gmail.com
Hi,
On Thu, Apr 25, 2013 at 4:09 AM, Uladzimir Bely
 wrote:
> Since commit
> 8bafdc1 ARM i.MX28: make chip reset via reset pin work again
>
> Patch adds basic OMAP5 support to barebox.
>
> Tested on SD card with 2 partitions: vfat (MLO, barebox.bin, zImage)
> and ext3 (rootfs). Barebox successfully starts kernel
> from commandline with "bootm /boot/zImage" command.
>
> Building MLO: make omap5_sevm_xload_defconfig; make.
> Building barebox.bin: make omap5_sevm_defconfig; make.
>
> It's an optimized and cleaned up version of previous patch.

Our upstream kernel support will be DT-only :). Further, OMAP5 ES2.0
SEVM does not exist. ES1.0 is few initial samples for development
purposes - there are drastic differences in base addresses etc for
OMAP5 ES2.0.

If providing support for ES2.0, please use uEVM as reference platform.
ES1.0 was meant to be in-development processor - no longer produced
and definitely meant to be replaced with ES2.0.

Regards,
Nishanth Menon

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH] ARM OMAP5: Basic support of Texas Instruments OMAP5 processors

2013-04-25 Thread Uladzimir Bely

25.04.2013 14:56, Jan Lübbe пишет:

Hi,

you didn't respond to my comments in your new version, especially
regarding the code duplication in arch/arm/mach-omap/omap5_generic.c
(relative to omap4_generic.c).

Regards,
Jan



Sorry, I just not noticed your comments in you reply (I thought, it was
just a quote of my email). I will try to accommodate this in next patch.


--
With regards,
Uladzimir Bely.

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


[PATCH] of: fix how an initrd is passed to Linux

2013-04-25 Thread Uwe Kleine-König
Linux expects linux,initrd-end to contain the first unused address. As
this doesn't match the end semantic used by barebox (i.e. end contains
the last used address) adding one is necessary.

Without this change Linux fails for me to correctly extract a gzipped
cpio archive provided as initrd.

Signed-off-by: Uwe Kleine-König 
---
 drivers/of/base.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index d22031f..6cb5521 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1078,6 +1078,10 @@ int of_device_is_stdout_path(struct device_d *dev)
  *
  * Add initrd properties to the devicetree, or, if end is 0,
  * delete them.
+ *
+ * Note that Linux interprets end differently than Barebox. For Linux end 
points
+ * to the first address after the memory occupied by the image while barebox
+ * lets end pointing the the last occupied byte.
  */
 int of_add_initrd(struct device_node *root, resource_size_t start,
resource_size_t end)
@@ -1092,7 +1096,7 @@ int of_add_initrd(struct device_node *root, 
resource_size_t start,
if (end) {
of_write_number(buf, start, 2);
of_set_property(chosen, "linux,initrd-start", buf, 8, 1);
-   of_write_number(buf, end, 2);
+   of_write_number(buf, end + 1, 2);
of_set_property(chosen, "linux,initrd-end", buf, 8, 1);
} else {
struct property *pp;
-- 
1.8.2.rc2


___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH] ARM: OMAP5 processors support

2013-04-25 Thread Uladzimir Bely

25.04.2013 14:58, Jan Lübbe пишет:

On Thu, 2013-04-25 at 12:09 +0300, Uladzimir Bely wrote:

diff --git a/arch/arm/boards/omap5_sevm/env/config 
b/arch/arm/boards/omap5_sevm/env/config
new file mode 100644
index 000..9752957
--- /dev/null
+++ b/arch/arm/boards/omap5_sevm/env/config
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+machine=omap5
+
+autoboot_timeout=2
+
+bootargs="console=ttyO2,115200"
+
+kernel_loc=disk
+
+PS1="\e[1;32mbarebox@\e[1;31m\h:\w\e[0m "


Please use defaultenv-2.



I'm not too familiar with barebox's defaultenv/defaultenv-2. Our work on
omap5 was based mostly on omap5 code from U-Boot and omap4 code from barebox.
Mostly, I used pcm049 as an example of omap4-based board in barebox. So
arch/arm/boards/omap5_sevm/env/config looks like this one, but includes
only most necessary thinks to load to barebox prompt.

Please, give me a hint, which board can be used as an example of using
defaultenv-2, maybe I'll do something.


diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index 42e5f4a..0ad3864 100644
--- a/arch/arm/mach-omap/Kconfig
+++ b/arch/arm/mach-omap/Kconfig
@@ -41,6 +41,14 @@ config ARCH_OMAP4
help
  Say Y here if you are using Texas Instrument's OMAP4 based platform

+config ARCH_OMAP5
+   bool "OMAP5"
+   select CPU_V7
+   select GENERIC_GPIO
+   select OMAP_CLOCK_SOURCE_S32K
+   help
+ Say Y here if you are using Texas Instrument's OMAP5 based platform
+
  config ARCH_AM33XX
bool "AM33xx"
select CPU_V7
@@ -115,6 +123,7 @@ config BOARDINFO
default "Phytec phyCARD-A-L1" if MACH_PCAAL1
default "Phytec phyCARD-A-XL2" if MACH_PCAAXL2
default "Phytec phyCORE-AM335x" if MACH_PCM051
+   default "Phytec phyCORE omap5_sevm" if MACH_OMAP5_SEVM

  choice
prompt "Select OMAP board"
@@ -177,6 +186,13 @@ config MACH_PCAAXL2
help
  Say Y here if you are using a phyCARD-A-XL1 PCA-A-XL1

+config MACH_OMAP5_SEVM
+   bool "Phytec phyCORE omap5_sevm"
+   depends on ARCH_OMAP5
+   help
+ Say Y here if you are using Phytecs phyCORE omap5_sevm board
+ based on OMAP5
+
  config MACH_PCM051
bool "Phytec phyCORE pcm051"
select OMAP_CLOCK_ALL


Isn't the OMAP5 sEVM from TI?



We worked with OMAP5-based board, produced by Phytec (Phytec phyCORE-OMAP5),
but, as I have mentioned above, code was partially ported from U-Boot's
OMAP5-sevm board. I'll correct it.

--
With regards,
Uladzimir Bely.

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH] ARM: OMAP5 processors support

2013-04-25 Thread Jan Lübbe
On Thu, 2013-04-25 at 12:09 +0300, Uladzimir Bely wrote:
> diff --git a/arch/arm/boards/omap5_sevm/env/config 
> b/arch/arm/boards/omap5_sevm/env/config
> new file mode 100644
> index 000..9752957
> --- /dev/null
> +++ b/arch/arm/boards/omap5_sevm/env/config
> @@ -0,0 +1,11 @@
> +#!/bin/sh
> +
> +machine=omap5
> +
> +autoboot_timeout=2
> +
> +bootargs="console=ttyO2,115200"
> +
> +kernel_loc=disk
> +
> +PS1="\e[1;32mbarebox@\e[1;31m\h:\w\e[0m "

Please use defaultenv-2.

> diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
> index 42e5f4a..0ad3864 100644
> --- a/arch/arm/mach-omap/Kconfig
> +++ b/arch/arm/mach-omap/Kconfig
> @@ -41,6 +41,14 @@ config ARCH_OMAP4
>   help
> Say Y here if you are using Texas Instrument's OMAP4 based platform
>  
> +config ARCH_OMAP5
> + bool "OMAP5"
> + select CPU_V7
> + select GENERIC_GPIO
> + select OMAP_CLOCK_SOURCE_S32K
> + help
> +   Say Y here if you are using Texas Instrument's OMAP5 based platform
> +
>  config ARCH_AM33XX
>   bool "AM33xx"
>   select CPU_V7
> @@ -115,6 +123,7 @@ config BOARDINFO
>   default "Phytec phyCARD-A-L1" if MACH_PCAAL1
>   default "Phytec phyCARD-A-XL2" if MACH_PCAAXL2
>   default "Phytec phyCORE-AM335x" if MACH_PCM051
> + default "Phytec phyCORE omap5_sevm" if MACH_OMAP5_SEVM
>  
>  choice
>   prompt "Select OMAP board"
> @@ -177,6 +186,13 @@ config MACH_PCAAXL2
>   help
> Say Y here if you are using a phyCARD-A-XL1 PCA-A-XL1
>  
> +config MACH_OMAP5_SEVM
> + bool "Phytec phyCORE omap5_sevm"
> + depends on ARCH_OMAP5
> + help
> +   Say Y here if you are using Phytecs phyCORE omap5_sevm board
> +   based on OMAP5
> +
>  config MACH_PCM051
>   bool "Phytec phyCORE pcm051"
>   select OMAP_CLOCK_ALL

Isn't the OMAP5 sEVM from TI?

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |


___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: [PATCH] ARM OMAP5: Basic support of Texas Instruments OMAP5 processors

2013-04-25 Thread Jan Lübbe
Hi,

you didn't respond to my comments in your new version, especially
regarding the code duplication in arch/arm/mach-omap/omap5_generic.c
(relative to omap4_generic.c).

Regards,
Jan

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |


___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox