project/bcm63xx/u-boot.git
10 years agoMerge git://www.denx.de/git/u-boot-ppc4xx
Tom Rini [Wed, 5 Nov 2014 12:12:16 +0000 (07:12 -0500)]
Merge git://www.denx.de/git/u-boot-ppc4xx

10 years agoppc: Fix ppc4xx CONFIG_SYS_GENERIC_BOARD
Dirk Eibach [Mon, 3 Nov 2014 09:56:31 +0000 (10:56 +0100)]
ppc: Fix ppc4xx CONFIG_SYS_GENERIC_BOARD

I realized that with v2014.10 u-boot is not starting up on
ppc4xx boards with CONFIG_SYS_GENERIC_BOARD set.

I bisected it down to this:
d54d7eb support blackfin board initialization in generic board_f

With
d29437a ppc: Make ppc4xx ready for CONFIG_SYS_GENERIC_BOARD
I set gd to a defined value for ppc4xx in cpu_init_f().
I did not realize that the gd struct has also to be memset()
to zero at this point.

But at least commit d54d7eb assumes it is:
@@ -516,11 +528,13 @@ static int reserve_malloc(void)
 /* (permanently) allocate a Board Info struct */
 static int reserve_board(void)
 {
- gd->start_addr_sp -= sizeof(bd_t);
- gd->bd = (bd_t *)map_sysmem(gd->start_addr_sp, sizeof(bd_t));
- memset(gd->bd, '\0', sizeof(bd_t));
- debug("Reserving %zu Bytes for Board Info at: %08lx\n",
- sizeof(bd_t), gd->start_addr_sp);
+ if (!gd->bd) {
+ gd->start_addr_sp -= sizeof(bd_t);
+ gd->bd = (bd_t *)map_sysmem(gd->start_addr_sp, sizeof(bd_t));
+ memset(gd->bd, '\0', sizeof(bd_t));
+ debug("Reserving %zu Bytes for Board Info at: %08lx\n",
+       sizeof(bd_t), gd->start_addr_sp);
+ }
  return 0;
 }
 #endif

This might also be an issue on other architectures, so maintainers should
check.

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
Signed-off-by: Stefan Roese <sr@denx.de>
10 years agoMerge git://git.denx.de/u-boot-sh
Tom Rini [Tue, 4 Nov 2014 23:24:44 +0000 (18:24 -0500)]
Merge git://git.denx.de/u-boot-sh

10 years agoARM: kwimage: fix v0 format
Gerald Kerma [Fri, 31 Oct 2014 00:03:27 +0000 (01:03 +0100)]
ARM: kwimage: fix v0 format

This patch fix the kwimage tools for version 0 fileformat used for kirkwood
Tested on sheevaplug

Signed-off-by: Gerald Kerma <drEagle@doukki.net>
Tested-by: Stefan Roese <sr@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
Acked-By: Prafulla Wadaskar <prafulla@marvell.com>
10 years agoMAINTAINERS: fix Pantelis Antoniou email address
Igor Grinberg [Mon, 3 Nov 2014 09:19:14 +0000 (11:19 +0200)]
MAINTAINERS: fix Pantelis Antoniou email address

Trivial fix (unless Pantelis has a new email address):

Pantelis Antoniou <panto.antoniou-consulting.com>
                        ^
make it:
Pantelis Antoniou <panto@antoniou-consulting.com>

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
10 years agoFix cosmetic issues in mkimage manpage
Vagrant Cascadian [Sun, 2 Nov 2014 01:09:01 +0000 (18:09 -0700)]
Fix cosmetic issues in mkimage manpage

* Escape use of - in description of -F.

* Fix line continuations in examples so that the continued lines are
  also bold.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
10 years agokbuild: do not hide clang warnings during build with W=1
Masahiro Yamada [Fri, 31 Oct 2014 02:00:34 +0000 (11:00 +0900)]
kbuild: do not hide clang warnings during build with W=1

These lines originate in Linux;  it looks like Linux folks chose to
hide bunch of warnings reported by clang rather than fixing C code.

In U-boot, warnings are being fixed thanks to Jeroen's great efforts.
Let's stop suppressing clang warnings.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agosparc: move CONFIG_SYS_TEXT_BASE to Kconfig
Masahiro Yamada [Thu, 30 Oct 2014 06:30:58 +0000 (15:30 +0900)]
sparc: move CONFIG_SYS_TEXT_BASE to Kconfig

Defining CONFIG_SYS_TEXT_BASE in config.mk is very old style.

Create CONFIG_SYS_TEXT_BASE option in Kconfig, but let it
depend on CONFIG_SPARC because we do not want to disturb
the other architectures that still define CONFIG_SYS_TEXT_BASE
in their header files.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Daniel Hellstrom <daniel@gaisler.com>
10 years agosparc: merge CONFIG_SYS_CPU and CONFIG_SYS_VENDOR defines
Masahiro Yamada [Thu, 30 Oct 2014 06:30:57 +0000 (15:30 +0900)]
sparc: merge CONFIG_SYS_CPU and CONFIG_SYS_VENDOR defines

For now, all the SPARC boards in U-Boot are provided by Gaisler.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Daniel Hellstrom <daniel@gaisler.com>
10 years agosparc: merge arch/sparc/cpu/*/config.mk to arch/sparc/config.mk
Masahiro Yamada [Thu, 30 Oct 2014 06:30:56 +0000 (15:30 +0900)]
sparc: merge arch/sparc/cpu/*/config.mk to arch/sparc/config.mk

Remove arch/sparc/cpu/{leon2,leon3}/config.mk and move duplicated
defines of -fPIC to arch/sparc/config.mk.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Daniel Hellstrom <daniel@gaisler.com>
10 years agosparc: move CONFIG_{LEON, LEON2, LEON3} to Kconfig
Masahiro Yamada [Thu, 30 Oct 2014 06:30:55 +0000 (15:30 +0900)]
sparc: move CONFIG_{LEON, LEON2, LEON3} to Kconfig

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Daniel Hellstrom <daniel@gaisler.com>
10 years agosparc: Use nicer prompt for board select menu
Masahiro Yamada [Thu, 30 Oct 2014 06:30:54 +0000 (15:30 +0900)]
sparc: Use nicer prompt for board select menu

The Board names in the board select menu were simply taken from the
board directory name by a conversion tool when switching to Kconfig.

Let's use more descriptive prompts taken from
include/configs/gr*.h and board/gaisler/*/config.mk.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Daniel Hellstrom <daniel@gaisler.com>
10 years agoserial: add prototypes for init functions
Jeroen Hofstee [Mon, 27 Oct 2014 19:10:07 +0000 (20:10 +0100)]
serial: add prototypes for init functions

While at it, sort them.

Cc: Tom Rini <trini@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agoarm926ejs: cache: use __weak
Jeroen Hofstee [Mon, 27 Oct 2014 19:10:06 +0000 (20:10 +0100)]
arm926ejs: cache: use __weak

Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agoi2c: use __weak
Jeroen Hofstee [Mon, 27 Oct 2014 21:27:18 +0000 (22:27 +0100)]
i2c: use __weak

Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agoMerge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging
Tom Rini [Tue, 4 Nov 2014 15:46:45 +0000 (10:46 -0500)]
Merge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging

10 years agoMerge branch 'master' of git://git.denx.de/u-boot-samsung
Tom Rini [Tue, 4 Nov 2014 12:00:48 +0000 (07:00 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-samsung

10 years agousb: ehci: rmobile: Collect up address data
Nobuhiro Iwamatsu [Tue, 4 Nov 2014 00:56:42 +0000 (09:56 +0900)]
usb: ehci: rmobile: Collect up address data

R8A7791, R8A7793 and R8A7794 have same IP of USB controller.
This collect up address data of each SoCs.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
10 years agousb: ehci: rmobile: Add support R8A7793
Nobuhiro Iwamatsu [Tue, 4 Nov 2014 00:56:41 +0000 (09:56 +0900)]
usb: ehci: rmobile: Add support R8A7793

R8A7793 has same IP of USB controller as R8A7791 and R8A7794 of rmobile
ARM SoCs. This adds support R8A7793 to EHCI HCD of rmobile.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
10 years agousb: kbd: Add (optional) support for using an interrupt queue for polling
Hans de Goede [Wed, 24 Sep 2014 12:06:11 +0000 (14:06 +0200)]
usb: kbd: Add (optional) support for using an interrupt queue for polling

Waiting an interrupt packet to complete in usb_kbd_poll_for_event, causes
a 40 ms latency for each call to usb_kbd_testc, which is undesirable.

Using control messages leads to lower (but still not 0) latency, but some
devices do not work well with control messages (e.g. my kvm behaves funny
with them).

This commit adds support for using the int_queue mechanism which at least
the ehci-hcd driver supports. This allows polling with 0 latency, while
using interrupt packets.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: kbd: Cache pipe, interval and packetsize
Hans de Goede [Wed, 24 Sep 2014 12:06:10 +0000 (14:06 +0200)]
usb: kbd: Cache pipe, interval and packetsize

Instead of looking them up every time we need them.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agostdio: Fix memleak on stdio_deregister
Hans de Goede [Wed, 24 Sep 2014 12:06:09 +0000 (14:06 +0200)]
stdio: Fix memleak on stdio_deregister

stdio_register makes a malloc-ed copy of struct stdio_dev through stdio_clone,
free the malloc-ed memory on stdio_deregister.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: kbd: Fix memleak on usb_kbd_deregister()
Hans de Goede [Wed, 24 Sep 2014 12:06:08 +0000 (14:06 +0200)]
usb: kbd: Fix memleak on usb_kbd_deregister()

Free the keyboard hid-report buffer and private data on deregister.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: kbd: Remove unused usb_kbd_generic_poll function
Hans de Goede [Wed, 24 Sep 2014 12:06:07 +0000 (14:06 +0200)]
usb: kbd: Remove unused usb_kbd_generic_poll function

This is not used anywhere, so lets remove it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: Make pollable int support available outside of ehci-hcd.c
Hans de Goede [Wed, 24 Sep 2014 12:06:06 +0000 (14:06 +0200)]
usb: Make pollable int support available outside of ehci-hcd.c

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: ehci: Move cache invalidation to poll_int_queue
Hans de Goede [Wed, 24 Sep 2014 12:06:05 +0000 (14:06 +0200)]
usb: ehci: Move cache invalidation to poll_int_queue

Preperation patch to use poll_int_queue outside of ehci-hcd.c .

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: ehci: Move interrupt packet length check to create_int_queue
Hans de Goede [Wed, 24 Sep 2014 12:06:04 +0000 (14:06 +0200)]
usb: ehci: Move interrupt packet length check to create_int_queue

Preperation patch to use create_int_queue outside of ehci-hcd.c .

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: ehci: Do not disable an already disabled periodic schedule
Hans de Goede [Wed, 24 Sep 2014 12:06:03 +0000 (14:06 +0200)]
usb: ehci: Do not disable an already disabled periodic schedule

When periodic_schedules == 0, the schedule is disabled and there is no reason
to disable it again.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: Do not power-cycle usb devices on init
Hans de Goede [Sat, 20 Sep 2014 15:03:53 +0000 (17:03 +0200)]
usb: Do not power-cycle usb devices on init

Do as the Linux kernel does and power on any ports which are not yet one,
this is enough.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agousb: Remove unnecessary portnr lookup from usb_new_device
Hans de Goede [Sat, 20 Sep 2014 15:03:52 +0000 (17:03 +0200)]
usb: Remove unnecessary portnr lookup from usb_new_device

If the device has a parent, it is instantiated from usb_hub_port_connect_change
and the portnr is right there in dev->portnr, so there is no need for this
whole dance to look it up.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agonet: sh-eth: Add cache writeback control after setting bit of DMA descriptor
Nobuhiro Iwamatsu [Tue, 4 Nov 2014 00:15:48 +0000 (09:15 +0900)]
net: sh-eth: Add cache writeback control after setting bit of DMA descriptor

A bit field of DMA descriptor is on memory area of DMA. If we set data
to bit of DMA descriptor, we must be writeback data of DMA descriptor.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
10 years agonet: sh-eth: Use memalign instead of orignal memroy alignment function
Nobuhiro Iwamatsu [Tue, 4 Nov 2014 00:15:47 +0000 (09:15 +0900)]
net: sh-eth: Use memalign instead of orignal memroy alignment function

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
10 years agonet: sh-eth: Remove definition of RX_DESC_SIZE and TX_DESC_SIZE
Nobuhiro Iwamatsu [Tue, 4 Nov 2014 00:15:46 +0000 (09:15 +0900)]
net: sh-eth: Remove definition of RX_DESC_SIZE and TX_DESC_SIZE

RX_DESC_SIZE and TX_DESC_SIZE mean the size of the data descriptor for sh-eth.
We can acquire this in sizeof. It is not necessary to define these in define.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
10 years agoserial: sh: r8a7794: Add support external clock
Nobuhiro Iwamatsu [Tue, 4 Nov 2014 00:14:38 +0000 (09:14 +0900)]
serial: sh: r8a7794: Add support external clock

The baud rate setting of external clock is enabled.

Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
10 years agonet: sh-eth: Add support R8A7793
Nobuhiro Iwamatsu [Tue, 4 Nov 2014 00:13:40 +0000 (09:13 +0900)]
net: sh-eth: Add support R8A7793

R8A7793 has the same sh-ether IP core as other SH/rmobile.
This patch adds support of R8A7793.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
10 years agoserial: sh: Add support R8A7793
Nobuhiro Iwamatsu [Tue, 4 Nov 2014 00:12:50 +0000 (09:12 +0900)]
serial: sh: Add support R8A7793

This adds the preset value to register for R8A7793.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
10 years agoMerge branch 'master' of git://git.denx.de/u-boot-mips
Tom Rini [Mon, 3 Nov 2014 17:46:12 +0000 (12:46 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-mips

10 years agoMerge branch 'master' of git://git.denx.de/u-boot-uniphier
Tom Rini [Mon, 3 Nov 2014 17:43:42 +0000 (12:43 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-uniphier

10 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Mon, 3 Nov 2014 17:42:58 +0000 (12:42 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-spi

10 years agoMIPS: add .padding section to linker script
Daniel Schwierzeck [Wed, 29 Oct 2014 16:30:36 +0000 (17:30 +0100)]
MIPS: add .padding section to linker script

Commit 79fd7e649e287228a1445820a72f7dd33baedb96

    MIPS: always keep all sections in u-boot ELF binary.

    Always keep all sections in u-boot ELF binary. Move all unneeded
    sections after _end to avoid allocating space in the final binary.
    Also remove .deadcode section which is now obsolete.

removed section .deadcode because the original symptoms were not
visible anymore. Unfortuneatly the binutils bug still exists.

The size of .rel.dyn section is often bigger than needed for all
entries. But objcopy only allocates space as much as required for all
reloc entries. Thus there is a gap between the last entry and
__rel_dyn_end in u-boot.bin. If u-boot is booted from RAM (e.g. in
SPL scenarios) that area could contain garbage data which could lead
to CPU exceptions during relocation.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
10 years agoMIPS: refactor setting of compiler options
Daniel Schwierzeck [Sun, 26 Oct 2014 13:16:23 +0000 (14:16 +0100)]
MIPS: refactor setting of compiler options

Refactor and unify all compiler settings in arch/mips/config.mk.
Also add tune flags for each supported CPU type.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
10 years agoMIPS: kconfig: add options for vct board variant select
Daniel Schwierzeck [Sun, 26 Oct 2014 13:14:07 +0000 (14:14 +0100)]
MIPS: kconfig: add options for vct board variant select

The vct board can be built with various variants which are
configured via CONFIG_SYS_EXTRA_OPTIONS. This is deprecated. Thus
add new Kconfig options for those board variants.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Acked-by: Stefan Roese <sr@denx.de>
10 years agoMIPS: kconfig: add options for dbau1x00 board variant select
Daniel Schwierzeck [Sun, 26 Oct 2014 13:14:07 +0000 (14:14 +0100)]
MIPS: kconfig: add options for dbau1x00 board variant select

The dbau1x00 board can be built with various variants which are
configured via CONFIG_SYS_EXTRA_OPTIONS. This is deprecated. Thus
add new Kconfig options for those board variants.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
10 years agoMIPS: kconfig: merge targets qemu_mips and qemu_mips64
Daniel Schwierzeck [Sun, 26 Oct 2014 13:14:07 +0000 (14:14 +0100)]
MIPS: kconfig: merge targets qemu_mips and qemu_mips64

Now the user can separately select the CPU type. Thus the
targets qemu_mips and qemu_mips64 can be merged to a single
target.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
10 years agoMIPS: kconfig: globally define CONFIG_SYS_CPU for MIPS
Daniel Schwierzeck [Sun, 26 Oct 2014 13:14:07 +0000 (14:14 +0100)]
MIPS: kconfig: globally define CONFIG_SYS_CPU for MIPS

Now the user can select the CPU type for each target. Thus
CONFIG_SYS_CPU could be set globally.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
10 years agoMIPS: kconfig: add options for CPU type select
Daniel Schwierzeck [Sun, 26 Oct 2014 13:14:07 +0000 (14:14 +0100)]
MIPS: kconfig: add options for CPU type select

Add new Kconfig option to let the user select the targets
CPU type. Each target have to select SUPPORTS_CPU_MIPS[32,64]_R[1,2]
to indicate which CPU types are supported.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
10 years agoMIPS: kconfig: add options for endianess select
Daniel Schwierzeck [Sun, 26 Oct 2014 13:14:07 +0000 (14:14 +0100)]
MIPS: kconfig: add options for endianess select

Add new Kconfig option to let the user select the targets
endianess. Each target have to select SUPPORTS_BIG_ENDIAN
and/or SUPPORTS_LITTLE_ENDIAN to indicate which endianess
is supported.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
10 years agoRemove the CREDITS file
Masahiro Yamada [Thu, 30 Oct 2014 06:50:15 +0000 (15:50 +0900)]
Remove the CREDITS file

This file is not maintained these days.

We use MAINTAINERS for the maintainership of the supported boards.
For dead boards, we have some clues in doc/README.scrapyard and
also imperishable history in git-log.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
Acked-By: Wolfgang Denk <wd@denx.de>
10 years agonovena: Add MAINTAINERS file
Fabio Estevam [Thu, 30 Oct 2014 20:46:37 +0000 (18:46 -0200)]
novena: Add MAINTAINERS file

Commit f91c09acf5c58c ("ARM: mx6: Add support for Kosagi Novena") missed to
add a MAINTAINERS file, so add Marek as the maintainer.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
10 years agoppc/arm: remove remainders of dead boards in Kconfig
Masahiro Yamada [Thu, 30 Oct 2014 09:29:15 +0000 (18:29 +0900)]
ppc/arm: remove remainders of dead boards in Kconfig

Commit d58a9451e733 (ppc/arm: zap EMK boards) removed
TOP* boards support but missed to remove entries in Kconfig.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
10 years agoRemove unused files
Masahiro Yamada [Thu, 30 Oct 2014 09:28:01 +0000 (18:28 +0900)]
Remove unused files

[1] arch/arm/include/asm/arch-at91/at91_shdwn.h
 The top9000 was the last board to use this header file.
 It was removed by commit d58a9451e733 (ppc/arm: zap EMK boards).

[2] board/matrix_vision/common/*
 Some Matrix Vision boards were dropped by commit e7a565638a7a
 (powerpc: mpc83xx: remove board support for MERGERBOX and MVBLM7)
 and commit af55e35d3389
 (powerpc: mpc5xxx: remove board support for MVBC_P and MVSMR).
 Since then these files have been unused.

[3] include/usb/omap1510_udc.h
  The omap5912osk was the last board to use this header file.
  It was removed by commit 62d636aa2ac2
  (omap: remove omap5912osk board support).

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-By: Wolfgang Denk <wd@denx.de>
10 years agotwl4030: VMMC2 3.2V enable on MMC init
Paul Kocialkowski [Tue, 28 Oct 2014 17:14:23 +0000 (18:14 +0100)]
twl4030: VMMC2 3.2V enable on MMC init

This enables the VMMC2 LDO, which powers the MMC2 device.
When the device starts from MMC2, this has already been enabled by the BootROM,
but when starting from peripheral boot (USB, UART), it is not the case.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
10 years agotools/kwbimage: Fix compilation warning
Stefan Roese [Tue, 28 Oct 2014 10:32:24 +0000 (11:32 +0100)]
tools/kwbimage: Fix compilation warning

This patch fixes a compilation warning of kwbimage.c:

tools/kwbimage.c: In function ‘kwbimage_set_header’:
tools/kwbimage.c:784:8: warning: ‘headersz’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  memcpy(ptr, image, headersz);
        ^
Instead of using multiple if statements, use a switch statement with
a default entry. And return with error if an unsupported version
is configured in the cfg file.

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-By: Wolfgang Denk <wd@denx.de>
10 years agotools/kwbimage.c: fix build on darwin
Andreas Bießmann [Fri, 24 Oct 2014 21:39:11 +0000 (23:39 +0200)]
tools/kwbimage.c: fix build on darwin

kwbimage uses get_current_dir_name(3) which is a gnu extension and not
available on darwin host. Fix this by converting to portable getcwd(3)
function.

This patch fixes the following error:
---8<---
  HOSTCC  tools/kwbimage.o
tools/kwbimage.c:399:16: warning: implicit declaration of function 'get_current_dir_name' is invalid in C99 [-Wimplicit-function-declaration]
                        char *cwd = get_current_dir_name();
                                    ^
tools/kwbimage.c:399:10: warning: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion]
                        char *cwd = get_current_dir_name();
                              ^     ~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
...
Undefined symbols for architecture x86_64:
  "_get_current_dir_name", referenced from:
      _image_headersz_v1 in kwbimage.o
ld: symbol(s) not found for architecture x86_64
--->8---

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Stefan Roese <sr@denx.de>
Acked-by: Stefan Roese <sr@denx.de>
[agust: fixed getcwd() return warning]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
10 years agoodroid: adjust gpio calls to dm gpio api
Przemyslaw Marczak [Tue, 28 Oct 2014 16:31:07 +0000 (17:31 +0100)]
odroid: adjust gpio calls to dm gpio api

Setting gpio value before dm gpio init has no effect,
so now, odroid gpio settings are moved after the gpio uclass init.

Using non-requested gpio pin cases printing error messages.
To avoid this, gpio_request() is added for those gpios.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoexynos4/4x12: gpio: use gpio extra base addresses
Przemyslaw Marczak [Tue, 28 Oct 2014 16:31:06 +0000 (17:31 +0100)]
exynos4/4x12: gpio: use gpio extra base addresses

This patch adds extra gpio part addresses to exynos4
and exynos4x12_gpio_data arrays, which are required
since the gpio enum lists are linear

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoexynos4/4x12: cpu: add extra gpio base addresses
Przemyslaw Marczak [Tue, 28 Oct 2014 16:31:05 +0000 (17:31 +0100)]
exynos4/4x12: cpu: add extra gpio base addresses

After remove the offsets in Exynos4/4x12 gpio enums,
an additional gpio base addresses are required.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Wed, 29 Oct 2014 19:57:59 +0000 (15:57 -0400)]
Merge git://git.denx.de/u-boot-x86

10 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc5xxx
Tom Rini [Wed, 29 Oct 2014 19:57:33 +0000 (15:57 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc5xxx

10 years agox86: config: Increase CONFIG_SYS_BOOTM_LEN to 16MB
Simon Glass [Fri, 10 Oct 2014 14:22:01 +0000 (08:22 -0600)]
x86: config: Increase CONFIG_SYS_BOOTM_LEN to 16MB

The code density of x86_64 is not wonderful. Increase the maximum boot
size and adjust the load address to cope.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agopowerpc: TQM5200: convert to generic board
Wolfgang Denk [Fri, 24 Oct 2014 13:33:43 +0000 (15:33 +0200)]
powerpc: TQM5200: convert to generic board

Signed-off-by: Wolfgang Denk <wd@denx.de>
10 years agopowerpc: tqm8xx*: convert to generic board
Wolfgang Denk [Fri, 24 Oct 2014 13:31:26 +0000 (15:31 +0200)]
powerpc: tqm8xx*: convert to generic board

This converts all TQM8xx boards (MPC8xx based) to generic board.

Signed-off-by: Wolfgang Denk <wd@denx.de>
10 years agoserial: UniPhier: add static to locally used functions
Masahiro Yamada [Fri, 24 Oct 2014 08:00:11 +0000 (17:00 +0900)]
serial: UniPhier: add static to locally used functions

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agoserial: UniPhier: add .pending handler
Masahiro Yamada [Fri, 24 Oct 2014 08:00:10 +0000 (17:00 +0900)]
serial: UniPhier: add .pending handler

Without .pending handler, tstc() function always returns 1.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agoARM: UniPhier: make pinmon command optional
Masahiro Yamada [Mon, 20 Oct 2014 11:45:22 +0000 (20:45 +0900)]
ARM: UniPhier: make pinmon command optional

Add CONFIG_CMD_PINMON to UniPhier-specific Kconfig and make the
"pinmon" command user-configurable.  This command can be disabled
via the configuration if users do not need it.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agoarm: interrupt_init: set sp in IRQ/FIQ modes
Georges Savoundararadj [Tue, 28 Oct 2014 22:16:12 +0000 (23:16 +0100)]
arm: interrupt_init: set sp in IRQ/FIQ modes

Before this commit, the stack addresses for IRQ and FIQ modes,
IRQ_STACK_START and FIQ_STACK_START, were computed in interrupt_init but
they were not used.

This commit sets the stack pointers for IRQ and FIQ modes.

Signed-off-by: Georges Savoundararadj <savoundg@gmail.com>
Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
10 years agoarm: relocate the exception vectors
Georges Savoundararadj [Tue, 28 Oct 2014 22:16:11 +0000 (23:16 +0100)]
arm: relocate the exception vectors

This commit relocates the exception vectors.
As ARM1176 and ARMv7 have the security extensions, it uses VBAR.  For
the other ARM processors, it copies the relocated exception vectors to
the correct address: 0x00000000 or 0xFFFF0000.

Signed-off-by: Georges Savoundararadj <savoundg@gmail.com>
Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Cc: Tom Warren <twarren@nvidia.com>
10 years agoarm: make .vectors section allocatable
Georges Savoundararadj [Tue, 28 Oct 2014 22:16:10 +0000 (23:16 +0100)]
arm: make .vectors section allocatable

A regression was introduced in commit 41623c91. The consequence of that
is the non-relocation of the section .vectors symbols :
_undefined_instruction, _software_interrupt, _prefetch_abort,
_data_abort, _not_used, _irq and _fiq.

Before commit 41623c91, the exception vectors were in a .text section.
The .text section has the attributes allocatable and executable [1].

In commit 41623c91, a specific section is created, called .vectors, with
the attribute executable only.

What have changed between commit 41623c91^ and 41623c91 is the attribute
of the section which contains the exception vectors.
An allocatable section is "a section [that] occupies memory during
process execution" [1] which is the case of the section .vectors.
Adding the lacking attribute (SHF_ALLOC or "a") for the definition of
the section .vectors fixed the issue.

To summarize, the fix has to mark .vectors as allocatable because the
exception vectors reside in "memory during execution" and they need to
be relocated.

[1] http://man7.org/linux/man-pages/man5/elf.5.html

Signed-off-by: Georges Savoundararadj <savoundg@gmail.com>
Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
10 years agokconfig: arm: introduce symbol for ARM CPUs
Georges Savoundararadj [Tue, 28 Oct 2014 22:16:09 +0000 (23:16 +0100)]
kconfig: arm: introduce symbol for ARM CPUs

This commit introduces a Kconfig symbol for each ARM CPU:
CPU_ARM720T, CPU_ARM920T, CPU_ARM926EJS, CPU_ARM946ES, CPU_ARM1136,
CPU_ARM1176, CPU_V7, CPU_PXA, CPU_SA1100.
Also, it adds the CPU feature Kconfig symbol HAS_VBAR which is selected
for CPU_ARM1176 and CPU_V7.

For each target, the corresponding CPU is selected and the definition of
SYS_CPU in the corresponding Kconfig file is removed.

Also, it removes redundant "string" type in some Kconfig files.

Signed-off-by: Georges Savoundararadj <savoundg@gmail.com>
Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
10 years agoi2c: designware: Convert driver to multibus/multiadapter framework
Stefan Roese [Tue, 28 Oct 2014 11:12:00 +0000 (12:12 +0100)]
i2c: designware: Convert driver to multibus/multiadapter framework

In preparation for the SoCFPGA support of the designware I2C driver,
convert this driver to the common CONFIG_SYS_I2C framework.

This patch converts all users of this driver, this is:

- ST spearxxx boards
- AXS101 (ARC700 platform)

I couldn't test this patch on those boards. Only compile tested for all
spear boards. And tested on SoCFPGA.

Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
Tested-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Vipin Kumar <vk.vipin@gmail.com>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
10 years agoi2c: mxs: Add support for I2C 1 on i.MX28
Marek Vasut [Sun, 19 Oct 2014 22:23:43 +0000 (00:23 +0200)]
i2c: mxs: Add support for I2C 1 on i.MX28

Add support for I2C bus 1 on the i.MX28.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoi2c: mxs: Pass the i2c_adapter around
Marek Vasut [Sun, 19 Oct 2014 22:23:42 +0000 (00:23 +0200)]
i2c: mxs: Pass the i2c_adapter around

This patch permeates the struct i2c_adapter throughout the driver,
so that it can be used to determine which adapter should be used.
Note that the driver still supports only one adapter. Note that
the patch does shuffle mxs_i2c_set_bus_speed() to the top of the
driver, but the function remains unchanged.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoi2c: mxs: Add basic support for i2c framework
Marek Vasut [Sun, 19 Oct 2014 22:23:41 +0000 (00:23 +0200)]
i2c: mxs: Add basic support for i2c framework

This patch just converts the function prototypes used throughout
this driver to match those of the i2c framework. There is so far
no functional change. This patch does not do the deeper integration
of the framework bits.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoi2c: mxs: Consolidate hard-coded bus address
Marek Vasut [Sun, 19 Oct 2014 22:23:40 +0000 (00:23 +0200)]
i2c: mxs: Consolidate hard-coded bus address

This patch prepares the MXS I2C driver for the conversion to the
new I2C driver framework by pulling out the hard-coded I2C0 address
from all the places.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agox86: Correct a few progress message nits
Simon Glass [Fri, 10 Oct 2014 14:21:59 +0000 (08:21 -0600)]
x86: Correct a few progress message nits

We should use puts() instead of printf() where possible. Also clarify
the setup.bin message.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agox86: bootm: Support booting a 64-bit raw kernel
Simon Glass [Fri, 10 Oct 2014 14:21:58 +0000 (08:21 -0600)]
x86: bootm: Support booting a 64-bit raw kernel

Detect an x86_64 kernel and boot it in 64-bit mode.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agox86: image: Add new image type for x64_64
Simon Glass [Fri, 10 Oct 2014 14:21:57 +0000 (08:21 -0600)]
x86: image: Add new image type for x64_64

This is a bit odd in that we are permitted to boot images for either, even
though they are separate architectures.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agox86: Move kernel boot function to arch/x86/lib/bootm.c
Simon Glass [Fri, 10 Oct 2014 14:21:56 +0000 (08:21 -0600)]
x86: Move kernel boot function to arch/x86/lib/bootm.c

The boot_zimage() function is badly named it can also boot a raw kernel.
Rename it, and try to avoid pointers for memory addresses as it involves
lots of casting.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agox86: Add support for starting 64-bit kernel
Simon Glass [Fri, 10 Oct 2014 14:21:55 +0000 (08:21 -0600)]
x86: Add support for starting 64-bit kernel

Add code to jump to a 64-bit Linux kernel. We need to set up a flat page
table structure, a new GDT and then go through a few hoops in the right
order.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agox86: Display basic CPU information on boot
Simon Glass [Fri, 10 Oct 2014 14:21:54 +0000 (08:21 -0600)]
x86: Display basic CPU information on boot

Display the type of CPU (x86 or x86_64) when starting up.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agox86: Bring in msr-index.h from linux 3.8
Simon Glass [Fri, 10 Oct 2014 14:21:53 +0000 (08:21 -0600)]
x86: Bring in msr-index.h from linux 3.8

Update this file to include x86_64 fields.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agox86: Move paging functions into cpu.c
Simon Glass [Fri, 10 Oct 2014 14:21:52 +0000 (08:21 -0600)]
x86: Move paging functions into cpu.c

These functions really don't belong in physmem as they relate to the
cpu. Move them.

Signed-off-by: Simon Glass <sjg@chromium.org>
10 years agoppc/arm: zap EMK boards
Wolfgang Denk [Tue, 28 Oct 2014 14:44:10 +0000 (15:44 +0100)]
ppc/arm: zap EMK boards

The following bard configurations have been without active maintenance
for a long time, and the board maintainer agrees to have them removed:

MPC5200: TOP5200, MINI5200, EVAL5200
MPC860: TOP860
at91sam9xeXXX: top9000eval_xe, top9000su_xe

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
[trini: Add missing Kconfig removals]
Signed-off-by: Tom Rini <trini@ti.com>
10 years agodoc/README.scrapyard: update commit IDs
Wolfgang Denk [Tue, 28 Oct 2014 14:44:09 +0000 (15:44 +0100)]
doc/README.scrapyard: update commit IDs

Signed-off-by: Wolfgang Denk <wd@denx.de>
10 years agodwc_ahsata: use bitwise operator in sata_port_status
Nikita Kiryanov [Tue, 28 Oct 2014 12:59:29 +0000 (14:59 +0200)]
dwc_ahsata: use bitwise operator in sata_port_status

The logic of the return statement in sata_port_status() calls for a
bitwise 'AND' operator, not logical 'AND'. Fix the typo.

Reported-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
10 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Tue, 28 Oct 2014 16:39:26 +0000 (12:39 -0400)]
Merge git://git.denx.de/u-boot-dm

10 years agoe1000: add i211 and unprogrammed i210/i211 support
Marcel Ziswiler [Sun, 7 Sep 2014 22:03:50 +0000 (00:03 +0200)]
e1000: add i211 and unprogrammed i210/i211 support

This patch adds support for i211 as well as unprogrammed aka tools only
i210/i211 chip support.

Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
10 years agoodroid: dts: fix name of included dtsi
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:09 +0000 (17:45 +0200)]
odroid: dts: fix name of included dtsi

Odroid is based on Exynos4412.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agoodroid: dts: adjust sd cd-gpios for SD Card
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:08 +0000 (17:45 +0200)]
odroid: dts: adjust sd cd-gpios for SD Card

There is no gaps in exynos gpio enum after rework, so the gpio
numbers should be adjusted to the new numbering.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agotrats2: dts: adjust gpio numbers after gpio rework
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:07 +0000 (17:45 +0200)]
trats2: dts: adjust gpio numbers after gpio rework

There is no gaps in exynos gpio enum after rework, so the gpio
numbers should be adjusted to the new numbering.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agotrats: dts: adjust gpio numbers to new api
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:06 +0000 (17:45 +0200)]
trats: dts: adjust gpio numbers to new api

There is no gaps in exynos gpio enum after rework, so the gpio
numbers should be adjusted to the new numbering.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agouniversal: dts: adjust gpio numbers to new api
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:05 +0000 (17:45 +0200)]
universal: dts: adjust gpio numbers to new api

There is no gaps in exynos gpio enum after rework, so the gpio
numbers should be adjusted to the new numbering.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agouniversal: request soft i2c gpio
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:03 +0000 (17:45 +0200)]
universal: request soft i2c gpio

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agoexynos4210: dts: fix gpio offset in pinctrl-uboot
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:02 +0000 (17:45 +0200)]
exynos4210: dts: fix gpio offset in pinctrl-uboot

The gpy0 don't need any additional register offset,
but the gpx0 does, so now it is fixed.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agoexynos4412: dts: adjust pinctrl-uboot to changed gpio order
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:01 +0000 (17:45 +0200)]
exynos4412: dts: adjust pinctrl-uboot to changed gpio order

The gpf0 offset was bad and it's now fixed.
After fix gpio order in *pinctrl.dts , the gpy0 offset is not required now.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agoexynos4412: dts: fix bad gpio order in pinctrl
Przemyslaw Marczak [Fri, 24 Oct 2014 15:45:00 +0000 (17:45 +0200)]
exynos4412: dts: fix bad gpio order in pinctrl

The pinctrl dts was imported from the kernel, but the order
of GPM and GPY is wrong. The gpio enum in: asm/arch/gpio.h
is proper.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agoexynos: common: enable generic fs operations
Przemyslaw Marczak [Fri, 24 Oct 2014 15:44:57 +0000 (17:44 +0200)]
exynos: common: enable generic fs operations

This config is required by Odroid, and could be also useful for the other
boards.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agommc: s5p: set SD detection pin as input
Przemyslaw Marczak [Fri, 24 Oct 2014 15:44:56 +0000 (17:44 +0200)]
mmc: s5p: set SD detection pin as input

The SD Card slot detection pin should be configured as input.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
10 years agogit-mailrc: add pmic custodian
Przemyslaw Marczak [Mon, 27 Oct 2014 13:10:34 +0000 (14:10 +0100)]
git-mailrc: add pmic custodian

This adds custodian to the pmic subsystem.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Tom Rini <trini@ti.com>
10 years agogitignore: ignore atmel pmecc parameter tool
Andreas Bießmann [Sat, 25 Oct 2014 00:58:50 +0000 (02:58 +0200)]
gitignore: ignore atmel pmecc parameter tool

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>