oweals/u-boot.git
9 years agomtd: vf610_nfc: specify transfer size before each transfer
Stefan Agner [Tue, 24 Mar 2015 16:54:20 +0000 (17:54 +0100)]
mtd: vf610_nfc: specify transfer size before each transfer

Testing showed, that commands like STATUS made the buffer dirty
when executed with NFC_SECSZ set to the page size. It looks
like the controller transfers bogus data when this register
is configured. When setting it to 0, the buffer does not get
altered while the status command still seems to work flawless.

Signed-off-by: Stefan Agner <stefan@agner.ch>
9 years agomtd: vf610_nfc: mark page as dirty on block erase
Stefan Agner [Tue, 24 Mar 2015 16:54:19 +0000 (17:54 +0100)]
mtd: vf610_nfc: mark page as dirty on block erase

The driver tries to re-use the page buffer by storing the page
number of the current page in the buffer. The page is only read
if the requested page number is not currently in the buffer. When
a block is erased, the page number is marked as invalid if the
erased page equals the one currently in the cache. However, since
a erase block consists of multiple pages, also other page numbers
could be affected.

The commands to reproduce this issue (on a written page):
> nand dump 0x800
> nand erase 0x0 0x20000
> nand dump 0x800

The second nand dump command returns the data from the buffer,
while in fact the page is erased (0xff).

Avoid the hassle to calculate whether the page is affected or not,
but set the page buffer unconditionally to invalid instead.

Signed-off-by: Stefan Agner <stefan@agner.ch>
9 years agonand: yaffs: Remove the "nand write.yaffs" command
Peter Tyser [Tue, 3 Feb 2015 17:58:16 +0000 (11:58 -0600)]
nand: yaffs: Remove the "nand write.yaffs" command

This command is only enabled by one board, complicates the NAND code,
and doesn't appear to have been functioning properly for several
years.  If there are no bad blocks in the NAND region being written
nand_write_skip_bad() will take the shortcut of calling nand_write()
which bypasses the special yaffs handling.  This causes invalid YAFFS
data to be written. See
http://lists.denx.de/pipermail/u-boot/2011-September/102830.html for
an example and a potential workaround.

U-Boot still retains the ability to mount and access YAFFS partitions
via CONFIG_YAFFS2.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
9 years agonand: Remove CONFIG_MTD_NAND_VERIFY_WRITE
Peter Tyser [Tue, 3 Feb 2015 17:58:15 +0000 (11:58 -0600)]
nand: Remove CONFIG_MTD_NAND_VERIFY_WRITE

The CONFIG_MTD_NAND_VERIFY_WRITE has been removed from Linux for some
time and a more generic method of NAND verification now exists in U-Boot.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Tested-by: Heiko Schocher <hs@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
9 years agodfu: nand: Verify writes
Peter Tyser [Tue, 3 Feb 2015 17:58:14 +0000 (11:58 -0600)]
dfu: nand: Verify writes

Previously NAND writes were not verified and could fail silently.  Add
a verification step after all writes to NAND.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
Tested-by: Heiko Schocher <hs@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
9 years agocmd_nand: Verify writes to NAND
Peter Tyser [Tue, 3 Feb 2015 17:58:13 +0000 (11:58 -0600)]
cmd_nand: Verify writes to NAND

Previously NAND writes were only verified when CONFIG_MTD_NAND_VERIFY_WRITE
was defined.  On boards without this define writes could fail silently.
Boards with CONFIG_MTD_NAND_VERIFY_WRITE could prematurely report
failures which ECC could correct.

Add a verification step after all "nand write[.x]" commands to ensure the
writes were successful.  The verification uses ECC for for "normal"
writes, but does not for raw and yaffs writes.  Some test cases which
inject fake bad bits on a 2K page flash are below.

Test cases with CONFIG_MTD_NAND_VERIFY_WRITE defined:
  Example of an ECC write which previously failed when
  CONFIG_MTD_NAND_VERIFY_WRITE was defined, but now succeeds because ECC
  is used during verification:
      nand erase 0 0x10000
      dhcp /somefile
      mw.b 0x10000 0xff 0x2000
      mw.b 0x10020 0xfe 1
      nand write.raw 0x10000 0x800 1
      mw.b 0x1000020 0x01 1
      nand write 0x1000000 0x800 0x1800

Test cases without CONFIG_MTD_NAND_VERIFY_WRITE defined:
  Example of an ECC write which previously silently failed:
      nand erase 0 0x10000
      dhcp /somefile
      mw.b 0x10000 0xff 0x2000
      mw.b 0x10020 0x00 1
      nand write.raw 0x10000 0x800 1
      mw.b 0x1000020 0xff 1
      nand write 0x1000000 0x800 0x1800

  Example of a raw write which previously failed silently due to stuck
  data bit, but now errors out:
      nand erase 0 0x10000
      dhcp /somefile
      mw.b 0x10000 0xff 0x2000
      mw.b 0x10020 0xfe 1
      nand write.raw 0x10000 0x800 1
      mw.b 0x1000020 0x01 1
      nand write.raw 0x1000000 0x800 3

  Example of a raw write which previously failed silently due to stuck OOB
  bit, but now errors out:
      nand erase 0 0x10000
      dhcp /somefile
      mw.b 0x10000 0xff 0x2000
      mw.b 0x10810 0xfe 1
      nand write.raw 0x10000 0x800 1
      mw.b 0x1000810 0x01 1
      nand write.raw 0x1000000 0x800 3

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Tested-by: Heiko Schocher <hs@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
9 years agonand: Add verification functions
Peter Tyser [Tue, 3 Feb 2015 17:58:12 +0000 (11:58 -0600)]
nand: Add verification functions

Add nand_verify() and nand_verify_page_oob().  nand_verify() verifies
NAND contents against an arbitrarily sized buffer using ECC while
nand_verify_page_oob() verifies a NAND page's contents and OOB.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Tested-by: Heiko Schocher <hs@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
9 years agonand: Remove unused read/write structures
Peter Tyser [Tue, 3 Feb 2015 16:24:05 +0000 (10:24 -0600)]
nand: Remove unused read/write structures

The use of the nand_write_options and nand_read_options structures were
removed in commit dfbf617ff055e4216f78d358b0867c548916d14b.  Remove the
now-unused structures too.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
9 years agonand: Remove unused CONFIG_MTD_NAND_ECC_JFFS2 option
Peter Tyser [Tue, 3 Feb 2015 16:11:59 +0000 (10:11 -0600)]
nand: Remove unused CONFIG_MTD_NAND_ECC_JFFS2 option

This option was removed along with legacy NAND support in
be33b046b549ad88c204c209508cd7657232ffbd.  Clean up some remnants.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
9 years agomtd: nand: mxs: fix PIO_WORDs in mxs_nand_write_buf()
Luca Ellero [Tue, 16 Dec 2014 14:36:15 +0000 (15:36 +0100)]
mtd: nand: mxs: fix PIO_WORDs in mxs_nand_write_buf()

There is only one pio_word in this DMA transaction so data field must be 1.

Signed-off-by: Luca Ellero <luca.ellero@brickedbrain.com>
9 years agomtd: nand: mxs: fix PIO_WORDs in mxs_nand_read_buf()
Luca Ellero [Tue, 16 Dec 2014 14:36:14 +0000 (15:36 +0100)]
mtd: nand: mxs: fix PIO_WORDs in mxs_nand_read_buf()

There is only one pio_word in this DMA transaction so data field must be 1.

Signed-off-by: Luca Ellero <luca.ellero@brickedbrain.com>
9 years agosunxi: UTOO_P66: Add missing MAINTAINERS entry
Hans de Goede [Sun, 29 Mar 2015 12:55:18 +0000 (14:55 +0200)]
sunxi: UTOO_P66: Add missing MAINTAINERS entry

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: a10-LIME set the cpu clock at boot to 912MHz
Iain Paton [Sat, 28 Mar 2015 10:27:40 +0000 (10:27 +0000)]
sunxi: a10-LIME set the cpu clock at boot to 912MHz

following kernel patches to reduce the cpu clock to 912MHz due to
reported instability at 1008MHz, select 912MHz as the boot speed
for the a10-lime

Signed-off-by: Iain Paton <ipaton0@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: use CONFIG_SYS_CLK_FREQ to set cpu clock
Iain Paton [Sat, 28 Mar 2015 10:26:38 +0000 (10:26 +0000)]
sunxi: use CONFIG_SYS_CLK_FREQ to set cpu clock

make the CPU clock selectable via Kconfig

this removes the sunxi specific CONFIG_CLK_FULL_SPEED defined in each
soc header and replaces it's use in board/sunxi/board.c with
CONFIG_SYS_CLK_FREQ from Kconfig which allows us to configure board
specific frequency on boot

Signed-off-by: Iain Paton <ipaton0@gmail.com>
[hdegoede@redhat.com s/CONFIG_SYS_CLK_FREQ/CONFIG_TIMER_CLK_FREQ/ for the
 arch-timer clk speed on sun7i to fix mis-compile on sun7i]
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: sun4i: improve cpu clock selection method
Iain Paton [Sat, 28 Mar 2015 10:25:28 +0000 (10:25 +0000)]
sunxi: sun4i: improve cpu clock selection method

clock_set_pll1 would pick the next highest available cpu clock speed if
a value not in the pre defined table was selected. this potentially
results in overclocking the soc.

reverse the selection method so that we select the next lowest speed
and add the missing 912Mhz setting that's requested by sun7i which also
uses the sun4i clock code.

Signed-off-by: Iain Paton <ipaton0@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: musb: Fix some lo speed devices not working with musb host
Hans de Goede [Fri, 27 Mar 2015 19:54:25 +0000 (20:54 +0100)]
sunxi: musb: Fix some lo speed devices not working with musb host

The usb0 / otg phy on sunxi boards has a bug where it wrongly detects a
high speed squelch on usb reset deassert when a lo speed device is plugged in.

The android kernel has a work around for this in the form of temporary
disabling the phy's squelch detection on reset deassert, this commit adds
the same workaround to the u-boot sunxi musb code, thereby fixing various usb
lo speed devices not working.

Tested with a (before non working) usb keyboard and a usb 2.4 GHz wireless
keyboard/mouse combo receiver.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agopowerpc: ppc4xx: convert AMCC boards to generic board
Anatolij Gustschin [Sat, 28 Mar 2015 15:49:47 +0000 (16:49 +0100)]
powerpc: ppc4xx: convert AMCC boards to generic board

Add CONFIG_SYS_GENERIC_BOARD to amcc-common.h and CONFIG_DISPLAY_BOARDINFO
to Kconfig files. canyonlands.h includes amcc-common.h, so remove
CONFIG_SYS_GENERIC_BOARD definition there.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Stefan Roese <sr@denx.de>
Cc: Feng Kan <fkan@amcc.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Tom Rini <trini@konsulko.com>
9 years agoPatch to mkenvimage to handle text files with length that exceed env size
Brian McFarland [Thu, 12 Mar 2015 15:52:49 +0000 (11:52 -0400)]
Patch to mkenvimage to handle text files with length that exceed env size

The current head revision of mkenvimage
(e72be8947e129f5ab274c0a9f235d2cc0014b2ea) will prevent you from creating
an env image from a text file that is larger than the env length specified
by the '-s' option.  That doesn't make sense given that the tool now allows
comments and blank lines.  This patch removes that limitation and allows
longer text files to be used.

I don't have time / desire at the moment to figure out "patman" and could
really care less if this is adopted up stream.  Just figured I would share
in case anybody else finds it useful enough to take time to do a proper
patch.

>From 39ff30190c2bf687861f4b4b33230f1944fb64f9 Mon Sep 17 00:00:00 2001
From: Brian McFarland <bmcfarland@rldrake.com>
Date: Thu, 12 Mar 2015 11:37:19 -0400
Subject: [PATCH] In mkenvimage, removed the check that prevented using a
 source text file larger than the output environment image.  Instead, the main
 parsing loop checks to see if the environment buffer is full, and quits if it
 is.  After the main parse loop, a second loop swallows comments and
 whitespace until either the EOF is reached or more env vars are found, in
 which case an error will be thrown.

9 years agom68k: fix 3 broken boards
angelo@sysam.it [Sat, 28 Mar 2015 10:34:52 +0000 (11:34 +0100)]
m68k: fix 3 broken boards

Fix eb_cpu5282 and eb_cpu5282_internal unresolved external error.
These boards have video but don't need any ppc related
video_setmem().

Fix M53017EVB moving away embedded env to a different offset,
as in M52277EVB.

Signed-off-by: Angelo Dureghello <angelo@sysam.it>
9 years agocommon/board_f: move board_init_f_mem() from #else CONFIG_X86
Alexey Brodkin [Tue, 24 Mar 2015 08:12:47 +0000 (11:12 +0300)]
common/board_f: move board_init_f_mem() from #else CONFIG_X86

Purpose of this change is to make it possible to re-use code currently
used on X86 solely for other architectures. For example:
 * init_sequence_f_r
 * board_init_f_r

Even though board_init_f_mem() has nothing to do with any particular
architecture it won't work (at least in current implementation) for X86.

This is because on X86 "gd" is an alias to function get_fs_gd_ptr(),
thus we cannot assign anything to it.

So this change separates selection of board_init_f_mem() from X86 while
keeping it disabled for X86 still.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
9 years agovexpress64: cut config and defaults for unclear variant
Linus Walleij [Mon, 23 Mar 2015 10:06:14 +0000 (11:06 +0100)]
vexpress64: cut config and defaults for unclear variant

This variant that is neither FVP / Base Model or Juno Versatile
Express 64bit is confusing. Get rid of it unless someone can
point out what machine that really is. Seems to be an evolutional
artifact in the config base.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agoarmv8: semihosting: delete external interface
Linus Walleij [Mon, 23 Mar 2015 10:06:13 +0000 (11:06 +0100)]
armv8: semihosting: delete external interface

Now that loading files using semihosting can be done using
a command in standard scripts, and we have rewritten the boardfile
and added it to the Vexpress64, let's delete the external
interface to the semihosting file retrieveal and rely solely
on these commands, and staticize them inside that file so the
whole business is self-contained.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agovexpress64: remove board late init, use smhload
Linus Walleij [Mon, 23 Mar 2015 10:06:12 +0000 (11:06 +0100)]
vexpress64: remove board late init, use smhload

This removes the kludgy late board init from the FVP simulator
version of Versatile Express 64bit (ARMv8), and replace it with
a default boot command using the new smhload command to load
the files using semihosting. Tested on the Foundation Model.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agoarmv8: semihosting: add a command to load semihosted images
Linus Walleij [Mon, 23 Mar 2015 10:06:11 +0000 (11:06 +0100)]
armv8: semihosting: add a command to load semihosted images

Instead of sprinkling custom code and calls over the Vexpress64
boardfile, create a command that loads images using semihosting
just like we would load from flash memory of over the network,
using a special command:

    smhload <image> <address>

This will make it possible to remove some custom calls and
code and make the boot easier.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agoarmv8: semihosting: do not inline trap call
Linus Walleij [Mon, 23 Mar 2015 10:06:10 +0000 (11:06 +0100)]
armv8: semihosting: do not inline trap call

The semihosting trap call does not like being inlined, probably
because that will mean register reordering screwing up the return
value in r0, so tag this function "noinline".

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 years agoDocument config_distro_bootcmd environment variables for interactive booting.
Karsten Merker [Sat, 21 Mar 2015 13:15:38 +0000 (14:15 +0100)]
Document config_distro_bootcmd environment variables for interactive booting.

config_distro_bootcmd.h defines a common boot environment for multiple
platforms, including several environment variables that are intended for
interactive use by an end-user.  Document which variables are considered
public interfaces that must remain compatible in future u-boot versions.

Signed-off-by: Karsten Merker <merker@debian.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
9 years agoconfig: Define BOOTP client architecture and VCI for ARMv8
Thierry Reding [Fri, 20 Mar 2015 12:11:58 +0000 (13:11 +0100)]
config: Define BOOTP client architecture and VCI for ARMv8

Reuse the 32-bit ARM client architecture and identify ARMv8 specifically
by setting the BOOTP VCI string.

Cc: Dennis Gilmore <dennis@ausil.us>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
9 years agoconfig: Use booti instead of bootz on 64-bit ARM
Thierry Reding [Fri, 20 Mar 2015 11:56:17 +0000 (12:56 +0100)]
config: Use booti instead of bootz on 64-bit ARM

The bootz command doesn't work with Linux kernel images on 64-bit ARM.
The replacement command with the same interface and functionality is
booti.

Cc: Dennis Gilmore <dennis@ausil.us>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
9 years agoboard/BuR/common: remove unused function 'blink'
Hannes Petermaier [Thu, 19 Mar 2015 09:43:16 +0000 (10:43 +0100)]
board/BuR/common: remove unused function 'blink'

since we have possibility to write out on lcd whats going on, we don't need
the gpio blink functionality anymore.

Signed-off-by: Hannes Petermaier <hannes.petermaier@br-automation.com>
Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoboard/BuR/common: move I2C initialization from common part to board-specific
Hannes Petermaier [Thu, 19 Mar 2015 09:43:15 +0000 (10:43 +0100)]
board/BuR/common: move I2C initialization from common part to board-specific

At this time I2C and responsible pin-mux is setup during PMIC initialziation
within common.c, this is possible because today PMIC is always connected on
I2C0.

In Future this will be changed, PMIC isn't anymore connected to bus0 in call
cases.

So we do following:
- rename enable_i2c_pin_mux0 to enable_i2c_pin_mux to be generic for enabling
  pin-mux on different or more busses.
- move the call to i2c_pin_mux and i2c_init from common.c to the specific
  board.c

Signed-off-by: Hannes Petermaier <hannes.petermaier@br-automation.com>
Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoARM: omap4_panda: enable saveenv command
maxin.john@enea.com [Wed, 18 Mar 2015 09:51:47 +0000 (10:51 +0100)]
ARM: omap4_panda: enable saveenv command

Enable saveenv command and the configs to store environment
persistently in the SD card.

Tested on OMAP4 Panda (OMAP4460 ES1.1)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Acked-by: Lokesh Vutla <lokeshvutla@ti.com>
9 years agom68k: merge per-CPU config.mk into arch/m68k/Makefile
Masahiro Yamada [Fri, 27 Mar 2015 08:01:13 +0000 (17:01 +0900)]
m68k: merge per-CPU config.mk into arch/m68k/Makefile

Collect CPU specific flags into the single place.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: mcf547x_8x: move CPU type to Kconfig and refactor config.mk
Masahiro Yamada [Fri, 27 Mar 2015 08:01:12 +0000 (17:01 +0900)]
m68k: mcf547x_8x: move CPU type to Kconfig and refactor config.mk

Move the CPU type config options from include/configs/*.h
to arch/m68k/Kconfig and refactor the CPU flags select in
arch/m68k/cpu/mcf547x_8x/config.mk.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: mcf523x: move CPU type to Kconfig and refactor config.mk
Masahiro Yamada [Fri, 27 Mar 2015 08:01:11 +0000 (17:01 +0900)]
m68k: mcf523x: move CPU type to Kconfig and refactor config.mk

Move the CPU type config options from include/configs/M5235EVB.h
to arch/m68k/Kconfig and refactor the CPU flags select in
arch/m68k/cpu/mcf523x/config.mk.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: mcf5227x: move CPU type to Kconfig and refactor config.mk
Masahiro Yamada [Fri, 27 Mar 2015 08:01:10 +0000 (17:01 +0900)]
m68k: mcf5227x: move CPU type to Kconfig and refactor config.mk

Move the CPU type config options from include/configs/M52277EVB.h
to arch/m68k/Kconfig and refactor the CPU flags select in
arch/m68k/cpu/mcf5227x/config.mk.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: mcf5445x: move CPU type to Kconfig and refactor config.mk
Masahiro Yamada [Fri, 27 Mar 2015 08:01:09 +0000 (17:01 +0900)]
m68k: mcf5445x: move CPU type to Kconfig and refactor config.mk

This commit intends to stop grepping CPU type in
arch/m68k/cpu/mcf5445x/config.mk.

Move the CPU type config options from include/configs/*.h
to arch/m68k/Kconfig and refactor the CPU flags select in
arch/m68k/cpu/mcf5445x/config.mk.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: mcf532x: move CPU type to Kconfig and refactor config.mk
Masahiro Yamada [Fri, 27 Mar 2015 08:01:08 +0000 (17:01 +0900)]
m68k: mcf532x: move CPU type to Kconfig and refactor config.mk

This commit intends to stop grepping CPU type in
arch/m68k/cpu/mcf532x/config.mk.

Move the CPU type config options from include/configs/*.h
to arch/m68k/Kconfig and refactor the CPU flags select in
arch/m68k/cpu/mcf532x/config.mk.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: mcf530x: move CPU type to Kconfig and refactor config.mk
Masahiro Yamada [Fri, 27 Mar 2015 08:01:07 +0000 (17:01 +0900)]
m68k: mcf530x: move CPU type to Kconfig and refactor config.mk

This commit intends to stop grepping CPU type in
arch/m68k/cpu/mcf530x/config.mk.

Move the CPU type config options from include/configs/amcore.h
to arch/m68k/Kconfig and refactor the CPU flags select in
arch/m68k/cpu/mcf530x/config.mk.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
9 years agom68k: mcf52x2: move CPU type to Kconfig and refactor config.mk
Masahiro Yamada [Fri, 27 Mar 2015 08:01:06 +0000 (17:01 +0900)]
m68k: mcf52x2: move CPU type to Kconfig and refactor config.mk

This commit intends to stop grepping CPU type in
arch/m68k/cpu/mcf52x2/config.mk.

Move the CPU type config options from include/configs/*.h
to arch/m68k/Kconfig and refactor the CPU flags select in
arch/m68k/cpu/mcf52x2/config.mk.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
9 years agokbuild: Don't reset timestamps in include/generated if not needed
Michal Marek [Fri, 27 Mar 2015 01:59:03 +0000 (10:59 +0900)]
kbuild: Don't reset timestamps in include/generated if not needed

Use filechk to generate asm-offsets.h and generic-asm-offsets.h.
Based on a patch by Valdis Kletnieks.

Reported-by: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Acked-by: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
[ imported from Linux Kernel, commit 70a4fd6c56d0,
  with adjustment for U-Boot ]
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agokbuild: remove redundant line from (generic-)asm-offsets.h
Masahiro Yamada [Fri, 27 Mar 2015 01:59:02 +0000 (10:59 +0900)]
kbuild: remove redundant line from (generic-)asm-offsets.h

This line produces an extra comment line for generic-asm-offsets.h
and asm-offsets.h.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
[ imported from Linux Kernel, commit 343d3e6cc861,
  with modification of commit description ]
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agokbuild: merge generic-asm-offsets.h and asm-offsets.h rules
Masahiro Yamada [Fri, 27 Mar 2015 01:59:01 +0000 (10:59 +0900)]
kbuild: merge generic-asm-offsets.h and asm-offsets.h rules

The rules "cmd_generic-offsets" and "cmd_offsets" are almost the
same. (The difference is only the include guards.)
They can be merged.

This commit is mostly inspired by the following commit of Linux.

    commit 39664e2f3cdef98f42437e903159a6044a1d99d6
    Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
    Date:   Mon Jan 5 15:57:15 2015 +0900

        kbuild: merge bounds.h and asm-offsets.h rules

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: bcm283x: move SoC headers to mach-bcm283x/include/mach
Masahiro Yamada [Thu, 19 Mar 2015 10:42:57 +0000 (19:42 +0900)]
ARM: bcm283x: move SoC headers to mach-bcm283x/include/mach

Move arch/arm/include/asm/arch-bcm283x/*
  -> arch/arm/mach-bcm283x/include/mach/*

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
9 years agoARM: bcm283x: merge BCM2835/BCM2836 directories into mach-bcm283x
Masahiro Yamada [Thu, 19 Mar 2015 10:42:56 +0000 (19:42 +0900)]
ARM: bcm283x: merge BCM2835/BCM2836 directories into mach-bcm283x

BCM2835 (used on Raspberry Pi) and BCM2836 (used on Raspberry Pi 2)
are similar enough.  One of the biggest differences is the ARM
processor.  It is reasonable to collect the source files into a
single place, arch/arm/mach-bcm283x/.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
9 years agomalloc_f: enable SYS_MALLOC_F by default if DM is on
Masahiro Yamada [Thu, 19 Mar 2015 10:42:55 +0000 (19:42 +0900)]
malloc_f: enable SYS_MALLOC_F by default if DM is on

This option has a bool type, not hex.
Fix it and enable it if CONFIG_DM is on because Driver Model always
requires malloc memory.  Devices are scanned twice, before/after
relocation.  CONFIG_SYS_MALLOC_F should be enabled to use malloc
memory before relocation.  As it is board-independent, handle it
globally.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Robert Baldyga <r.baldyga@samsung.com>
9 years agomalloc_f: remove redundant defalut values of CONFIG_SYS_MALLOC_F_LEN
Masahiro Yamada [Thu, 19 Mar 2015 10:42:54 +0000 (19:42 +0900)]
malloc_f: remove redundant defalut values of CONFIG_SYS_MALLOC_F_LEN

The default value of CONFIG_SYS_MALLOC_F_LEN is defined by ./Kconfig
as 0x400.  Each defconfig or Kconfig need not repeat the same value.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Robert Baldyga <r.baldyga@samsung.com>
9 years agom68k: remove arch/m68k/lib/board.c
Masahiro Yamada [Thu, 19 Mar 2015 10:42:53 +0000 (19:42 +0900)]
m68k: remove arch/m68k/lib/board.c

All the M68000 boards have switched to Generic Board.
This file is no longer necessary.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Huan Wang <alison.wang@freescale.com>
Cc: Angelo Dureghello <angelo@sysam.it>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agogeneric-board: select SYS_GENERIC_BOARD for some architectures
Masahiro Yamada [Thu, 19 Mar 2015 10:42:52 +0000 (19:42 +0900)]
generic-board: select SYS_GENERIC_BOARD for some architectures

We have done with the generic board conversion for all the boards
of ARC, Blackfin, M68000, MicroBlaze, MIPS, NIOS2, Sandbox, X86.

Let's select SYS_GENERIC_BOARD for those architectures, so we can
tell which architecture has finished the conversion at a glance.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Alexey Brodkin <abrodkin@synopsys.com>
9 years agogeneric-board: move __HAVE_ARCH_GENERIC_BOARD to Kconfig
Masahiro Yamada [Thu, 19 Mar 2015 10:42:51 +0000 (19:42 +0900)]
generic-board: move __HAVE_ARCH_GENERIC_BOARD to Kconfig

Move the option to Kconfig renaming it to CONFIG_HAVE_GENERIC_BOARD.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Alexey Brodkin <abrodkin@synopsys.com>
9 years agokbuild: remove scripts/multiconfig.sh
Masahiro Yamada [Fri, 13 Mar 2015 09:08:55 +0000 (18:08 +0900)]
kbuild: remove scripts/multiconfig.sh

We have switched to the single .config configuration system,
the same one as used in Linux Kernel.

The necessary glue code is small enough now, so move it to the
top-level Makefile and scripts/kconfig/Makefile, and then delete
scripts/multiconfig.sh.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agokbuild: remove "*_felconfig" target
Masahiro Yamada [Fri, 13 Mar 2015 09:08:54 +0000 (18:08 +0900)]
kbuild: remove "*_felconfig" target

This target was added by commit cbdd9a9737cc (sunxi: kconfig: Add
%_felconfig rule to enable FEL build of sunxi platforms.).

At that time, U-Boot used separate .config files for U-Boot proper
and SPL.  I understood the pain to modify both .config and
spl/.config.

Now, we have switched to single .config configuration.
It seems acceptable to run "make menuconfig" or friends to enable
CONFIG_SPL_FEL, as we do for other CONFIGs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Ian Campbell <ijc@hellion.org.uk>
Cc: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Fri, 27 Mar 2015 02:13:52 +0000 (22:13 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi

9 years agoMerge branch 'master' of git://git.denx.de/u-boot-dm
Tom Rini [Fri, 27 Mar 2015 02:13:32 +0000 (22:13 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-dm

9 years agoMerge branch 'master' of git://git.denx.de/u-boot-x86
Tom Rini [Fri, 27 Mar 2015 02:13:11 +0000 (22:13 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-x86

9 years agosunxi: axp209: fix incorrect limits on ldo3
Iain Paton [Wed, 25 Mar 2015 16:03:26 +0000 (16:03 +0000)]
sunxi: axp209: fix incorrect limits on ldo3

board/sunxi/board.c tries to set ldo3 to 2.8v however drivers/power/axp209.c
contains an incorrect limit on ldo3 of 2.275v

The origin of the incorrect limit seems likely due to some inconsistencies
in the axp209 datasheet. ldo3 is described with different limits in
different sections. register 0x29 uses 7 bits for voltage configuration
while the 2.275v limit would apply if only 6 bits were used.
Probably this is a cut&paste error from register 0x23

The linux kernel driver has the correct limit and operation up to the 2.8v
required by my board has been physically verified with a multimeter.

Signed-off-by: Iain Paton <ipaton0@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: set GMAC TX delay = 0x1 on Cubietruck.
Ian Campbell [Wed, 25 Mar 2015 13:39:05 +0000 (13:39 +0000)]
sunxi: set GMAC TX delay = 0x1 on Cubietruck.

Of 4 boards in our automated test system 2 do not have reliable
networking with the default TX delay of 0x0. Increasing to 0x1 seems
to make things reliable on all 4 boards.

Some previous ad-hpoc tests with tx delay set to 0, 1, 2 and 3 on one
of the problematic boards showed:

0: mw.l 0x1c20164 0x006 1     -- t/o in 4/5 tftp runs
1: mw.l 0x1c20164 0x406 1     -- t/o in 1/5 tftp runs
2: mw.l 0x1c20164 0x806 1     -- t/o in 1/5 tftp runs
3: mw.l 0x1c20164 0xc06 1     -- t/o many times in first tftp run

For 0, 1 and 2 "t/o" means one or two "T" glitches in the download,
but it did complete. For 3 those were basically continuous and it
couldn't complete.

tftp was of a 16M initrd.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agodm: serial: remove bogus include <ns16550.h>
Masahiro Yamada [Fri, 20 Mar 2015 04:24:45 +0000 (13:24 +0900)]
dm: serial: remove bogus include <ns16550.h>

Serial-uclass should be generically implemented without depending
a particular hardware.  Fortunately, nothing in include/ns16550.h is
referenced from drivers/serial/serial-uclass.c, so remove this bogus
include.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoconfig_distro_bootcmd.h: Prefer booting from bootable paritions
Sjoerd Simons [Wed, 25 Feb 2015 22:23:52 +0000 (23:23 +0100)]
config_distro_bootcmd.h: Prefer booting from bootable paritions

List bootable partitions and only scan those for bootable files, falling
back to partition 1 if there are no bootable partitions

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
9 years agoconfig_cmd_default.h: Add 'env exists' command
Sjoerd Simons [Wed, 25 Feb 2015 22:23:51 +0000 (23:23 +0100)]
config_cmd_default.h: Add 'env exists' command

env exists allows scripts to query whether an environment variable
exists. Enable by default as it adds only a trivial amount of code and
can be useful in scripts.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
9 years agopart: Add support for list filtering on bootable partitions
Sjoerd Simons [Wed, 25 Feb 2015 22:23:50 +0000 (23:23 +0100)]
part: Add support for list filtering on bootable partitions

Add an optional -bootable parameter to the part list commands to only
put the list of bootable partitions in the environment variable

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
9 years agox86: Add ramboot and nfsboot commands in x86-common.h
Bin Meng [Thu, 12 Mar 2015 05:08:46 +0000 (13:08 +0800)]
x86: Add ramboot and nfsboot commands in x86-common.h

It is very common in the debug stage to test U-Boot loading a linux
kernel. The commands to boot linux kernel with ramdisk and nfs as the
root are common to all x86 targets, so it makes sense to add them as
the U-Boot default environment in x86-common.h.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chroimum.org>
9 years agox86: galileo: Enable saving environment in SPI flash
Bin Meng [Wed, 11 Mar 2015 09:22:29 +0000 (17:22 +0800)]
x86: galileo: Enable saving environment in SPI flash

Saving U-Boot's environment in SPI flash on Intel Galileo board.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sg@chromium.org>
9 years agox86: crownbay: Enable saving environment in SPI flash
Bin Meng [Wed, 11 Mar 2015 09:22:28 +0000 (17:22 +0800)]
x86: crownbay: Enable saving environment in SPI flash

Saving U-Boot's environment in SPI flash on Intel CrownBay board.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sg@chromium.org>
9 years agox86: crownbay: Enable Intel Topcliff GMAC support
Bin Meng [Fri, 20 Mar 2015 09:12:21 +0000 (17:12 +0800)]
x86: crownbay: Enable Intel Topcliff GMAC support

Intel Crown Bay board has one ethernet port connected from Intel
Topcliff PCH. Enable it in the board configuration.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agonet: Add Intel Topcliff GMAC driver
Bin Meng [Fri, 20 Mar 2015 09:12:20 +0000 (17:12 +0800)]
net: Add Intel Topcliff GMAC driver

Add a new driver for the Gigabit Ethernet MAC found on Intel Topcliff
Platform Controller Hub. Tested under 10/100 half/full duplex and 1000
full duplex modes using ping and tftpboot commands.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agonet: Update README.drivers.eth to mention latest APIs
Bin Meng [Fri, 20 Mar 2015 09:12:19 +0000 (17:12 +0800)]
net: Update README.drivers.eth to mention latest APIs

README.drivers.eth still refers to the deprecated miiphy_register().
Update the doc to mention new APIs mdio_alloc() and mdio_register().

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agonet: Add ethernet FCS length macro in net.h
Bin Meng [Fri, 20 Mar 2015 09:12:18 +0000 (17:12 +0800)]
net: Add ethernet FCS length macro in net.h

Some ethernet drivers use their own version of ethernet FCS length
macro which is really common. We define ETH_FCS_LEN in net.h and
replace those custom versions in various places.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agox86: quark: Enable on-chip ethernet controllers
Bin Meng [Wed, 11 Mar 2015 03:25:56 +0000 (11:25 +0800)]
x86: quark: Enable on-chip ethernet controllers

Intel Quark SoC integrates two 10/100 ethernet controllers which can
be connected to an external RMII PHY. The MAC IP is from Designware.
Enable this support with the existing U-Boot Designware MAC driver
so that the ethernet port on Intel Galileo board can be used.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agox86: Add queensbay fsp patch information in README.x86
Bin Meng [Thu, 5 Mar 2015 03:21:03 +0000 (11:21 +0800)]
x86: Add queensbay fsp patch information in README.x86

The FSP release version 001 for Intel Queensbay has a bug which
could cause random endless loop during the FspInit call. This bug
was published by Intel although Intel did not describe any details.
Describe this information in the x86 doc so that U-Boot Queensbay
support is invulnerable.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agofdtdec: Improve fdtdec_get_pci_bdf() documentation
Bin Meng [Wed, 4 Mar 2015 07:08:26 +0000 (15:08 +0800)]
fdtdec: Improve fdtdec_get_pci_bdf() documentation

Add the description that how the compatible property is involved in
the fdtdec_get_pci_bdf() documentation.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoarch/x86/cpu/quark/mrc.c: Switch to U_BOOT_DATE / U_BOOT_TIME
Tom Rini [Thu, 19 Feb 2015 11:58:57 +0000 (06:58 -0500)]
arch/x86/cpu/quark/mrc.c: Switch to U_BOOT_DATE / U_BOOT_TIME

Using __DATE__ and __TIME__ results in an error due to -Werror=date-time
with gcc-4.9 (__DATE__ / __TIME__ might prevent reproducible builds) so
switch these over to U_BOOT_DATE / U_BOOT_TIME

Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agox86: quark: MRC codes clean up
Bin Meng [Tue, 10 Mar 2015 10:31:20 +0000 (18:31 +0800)]
x86: quark: MRC codes clean up

This patch cleans up the quark MRC codes coding style by:
- Remove BIT0/1../31 defines from mrc_util.h
- Create names for the documented BITs and use them
- For undocumented single BITs, use (1 << n) directly
- For undocumented ORed BITs, use the hex number directly
- Remove redundancy parenthesis all over the codes
- Replace to use lower case hex numbers

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
9 years agobav335x: Update defconfigs and fix typo in EEPROM config format
Gilles Gameiro [Tue, 24 Mar 2015 06:13:03 +0000 (23:13 -0700)]
bav335x: Update defconfigs and fix typo in EEPROM config format

After v2015.01 we need to have DM enabled in order to use UART.  Also
fix a typo in the EEPROM config format.

Signed-off-by: Gilles Gameiro <gilles@gigadevices.com>
[trini: Reword commit message, re-save defconfigs with 'savedefconfig']
Signed-off-by: Tom Rini <trini@konsulko.com>
9 years agoARM: rpi: fix RPi1 board rev detection for warranty bit
Stephen Warren [Tue, 24 Mar 2015 05:00:25 +0000 (23:00 -0600)]
ARM: rpi: fix RPi1 board rev detection for warranty bit

Apparently the firmware's board rev response includes both the board
revision and some other data even on the RPi1. In particular, the
"warranty bit" is bit 24. We need to mask that out when looking up the
board ID.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
9 years agoremove unnecessary version.h includes
Rob Herring [Tue, 17 Mar 2015 20:28:55 +0000 (15:28 -0500)]
remove unnecessary version.h includes

Various files are needlessly rebuilt every time due to the version and
build time changing. As version.h is not actually needed, remove the
include.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Tom Warren <twarren@nvidia.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Macpaul Lin <macpaul@andestech.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: York Sun <yorksun@freescale.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Philippe Reynes <tremyfr@yahoo.fr>
Cc: Eric Jarrige <eric.jarrige@armadeus.org>
Cc: "David Müller" <d.mueller@elsoft.ch>
Cc: Phil Edworthy <phil.edworthy@renesas.com>
Cc: Robert Baldyga <r.baldyga@samsung.com>
Cc: Torsten Koschorrek <koschorrek@synertronixx.de>
Cc: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Łukasz Majewski <l.majewski@samsung.com>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-uniphier
Tom Rini [Tue, 24 Mar 2015 14:50:16 +0000 (10:50 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-uniphier

9 years agoARM: UniPhier: remove unnecessary ifdef conditional
Masahiro Yamada [Sun, 22 Mar 2015 15:07:33 +0000 (00:07 +0900)]
ARM: UniPhier: remove unnecessary ifdef conditional

The callee (arch/arm/lib/cache-cp15.c) has a #ifdef
CONFIG_SYS_DCACHE_OFF conditional.  The same conditional in the
caller (arch/arm/mach-uniphier/cache_uniphier.c) is redundant.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: disable L2 cache by lowlevel_init of U-Boot proper
Masahiro Yamada [Sun, 22 Mar 2015 15:07:32 +0000 (00:07 +0900)]
ARM: UniPhier: disable L2 cache by lowlevel_init of U-Boot proper

The L2 cache is used as a temporary SRAM on SPL.
Now the secondary CPUs store the necessary code for jumping to
Linux on their L1 I-caches.  So, the L2 cache can be disabled
much earlier, at the very entry of U-Boot proper (lowlevel_init).
This makes the boot sequence clearer.
Also, as the L1 cache has been disabled by the start.S,
enable_caches() does not need to do it again.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: optimize kicking secondary CPUs code
Masahiro Yamada [Sun, 22 Mar 2015 15:07:31 +0000 (00:07 +0900)]
ARM: UniPhier: optimize kicking secondary CPUs code

Currently, the secondary CPU(s) are kicked three times:
Boot ROM ---(kick)--> SPL ---(kick)--> U-boot ---(kick)--> Linux.
It makes the boot sequence very complicated.

This commit merges the first and the second kicks, so the secondary
CPU(s) can directly jump from SPL to Linux.
arch/arm/mach-uniphier/smp.S is no longer necessary.

Linux boot test passed.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: fix typos in comments
Masahiro Yamada [Sun, 22 Mar 2015 15:07:30 +0000 (00:07 +0900)]
ARM: UniPhier: fix typos in comments

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: add empty lowlevel_init to U-boot proper
Masahiro Yamada [Sun, 22 Mar 2015 15:07:29 +0000 (00:07 +0900)]
ARM: UniPhier: add empty lowlevel_init to U-boot proper

To remove the ifdef conditional of CONFIG_SKIP_LOWLEVEL_INIT,
add late_lowlevel_init.S to U-Boot proper.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: move init stack area just below TEXT_BASE
Masahiro Yamada [Sun, 22 Mar 2015 15:07:28 +0000 (00:07 +0900)]
ARM: UniPhier: move init stack area just below TEXT_BASE

There is no good reason to have the 0x1000 gap between
CONFIG_SYS_INIT_SP_ADDR and CONFIG_SYS_TEXT_BASE.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: add CONFIG_SPL_MAX_FOOTPRINT
Masahiro Yamada [Sun, 22 Mar 2015 15:07:27 +0000 (00:07 +0900)]
ARM: UniPhier: add CONFIG_SPL_MAX_FOOTPRINT

The Boot ROM of UniPhier platform only loads 64KB image.  We should
always make sure that SPL memory footprint is less than that.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: use CONFIG_SPL_STACK to define SPL stack pointer
Masahiro Yamada [Sun, 22 Mar 2015 15:07:26 +0000 (00:07 +0900)]
ARM: UniPhier: use CONFIG_SPL_STACK to define SPL stack pointer

Ifdef conditionals for CONFIG options are not Kconfig-friendly.
Instead, define CONFIG_SPL_STACK to prepare for Kconfig moves.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: enable Driver Model and UART on SPL
Masahiro Yamada [Sun, 22 Mar 2015 15:07:25 +0000 (00:07 +0900)]
ARM: UniPhier: enable Driver Model and UART on SPL

Enable CONFIG_SPL_DM and CONFIG_SPL_SERIAL_SUPPORT, which provide
Driver Model UART support on SPL.

CONFIG_SYS_SPL_MALLOC_{START,SIZE} should be dropped because simple
malloc is preferred on SPL.  Dlmalloc requires some static variables
on .data section that is not available yet for NOR boot mode etc.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: enable CONFIG_PANIC_HANG
Masahiro Yamada [Sun, 22 Mar 2015 15:07:24 +0000 (00:07 +0900)]
ARM: UniPhier: enable CONFIG_PANIC_HANG

Do not reset board on panic, which allows us to not link reset_cpu()
into SPL.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: move UART pin settings to SPL
Masahiro Yamada [Sun, 22 Mar 2015 15:07:23 +0000 (00:07 +0900)]
ARM: UniPhier: move UART pin settings to SPL

The UniPhier platform is going to enable Driver Model and UART
support on SPL.  Move UART pin settings to early_pin_init(),
which is called from SPL.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: move platform devices to SPL
Masahiro Yamada [Sun, 22 Mar 2015 15:07:22 +0000 (00:07 +0900)]
ARM: UniPhier: move platform devices to SPL

Since we do not have OF_CONTROL support for SPL, platform devices
are necessary to enable Driver Model on SPL.

To prepare for that, move platdevice.o to SPL and enable it by
CONFIG_SPL_DM.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: include PH1-LD4 Makefile from PH1-sLD8
Masahiro Yamada [Sun, 22 Mar 2015 15:07:21 +0000 (00:07 +0900)]
ARM: UniPhier: include PH1-LD4 Makefile from PH1-sLD8

The two Makefiles arch/arm/mach-uniphier/{ph1-ld4,ph1-sld8}/Makefile
are completely the same.  We can improve the maintainability by
having one to include the other.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: UniPhier: remove unnecessary CONFIG_SYS_SOC
Masahiro Yamada [Mon, 16 Mar 2015 04:46:07 +0000 (13:46 +0900)]
ARM: UniPhier: remove unnecessary CONFIG_SYS_SOC

Since commit a86ac9540e20 (ARM: UniPhier: include <mach/*.h> instead
of <asm/arch/*.h>), UniPhier platform does not need the symbolic
link arch/arm/include/asm.  This option is not necessary either.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agosunxi: musb: Return early on VBUS GPIO error instead of on a positive value
Paul Kocialkowski [Sun, 15 Mar 2015 17:27:44 +0000 (18:27 +0100)]
sunxi: musb: Return early on VBUS GPIO error instead of on a positive value

This allows printing the error message when VBUS is detected, as it would with
AXP VBUS detect.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agoat91sam9rlek_mmc_defconfig: Add CONFIG_ARCH_AT91=y
Tom Rini [Fri, 20 Mar 2015 14:47:38 +0000 (10:47 -0400)]
at91sam9rlek_mmc_defconfig: Add CONFIG_ARCH_AT91=y

This flag was missing and thus the board was totally being configured
wrong.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-atmel
Tom Rini [Fri, 20 Mar 2015 11:01:00 +0000 (07:01 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-atmel

9 years agoARM: atmel: sama5d4: set non-secured for peripherals
Bo Shen [Wed, 4 Mar 2015 05:48:47 +0000 (13:48 +0800)]
ARM: atmel: sama5d4: set non-secured for peripherals

When access the programmable secure peripherals address space,
it needs set them to non-secured.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
9 years agoNet: macb: reset GBE bit when fallback checking
Bo Shen [Wed, 4 Mar 2015 05:35:16 +0000 (13:35 +0800)]
Net: macb: reset GBE bit when fallback checking

If the GBE bit is set, when do next time autonegotiation,
if the result is not 1000Mbps, it will fallback to 100Mbps
checking. So, we need to clear the GBE bit.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
9 years agoARM: atmel: armv7: move spl lds to armv7 directory
Bo Shen [Wed, 4 Mar 2015 05:32:57 +0000 (13:32 +0800)]
ARM: atmel: armv7: move spl lds to armv7 directory

As the u-boot-spl.lds is used only for armv7 SoCs (includes
sama5d3 and sama5d4), so move it to armv7 directory.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
9 years agoARM: atmel: sama5d4 boards: fix spl lds location
Bo Shen [Wed, 4 Mar 2015 05:32:56 +0000 (13:32 +0800)]
ARM: atmel: sama5d4 boards: fix spl lds location

As the u-boot-spl.lds is moved to <arch/arm/mach-at91> directory.
So, correct the path for sama5d4 related boards.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
9 years agoARM: atmel: sama5d4 xplained: enable mmc power
Bo Shen [Fri, 13 Feb 2015 07:53:18 +0000 (15:53 +0800)]
ARM: atmel: sama5d4 xplained: enable mmc power

Enable the power for MMC/SD port.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
9 years agoARM: at91: at91sam9rlek: add hush parser to defconfig
Wu, Josh [Tue, 3 Feb 2015 10:19:05 +0000 (18:19 +0800)]
ARM: at91: at91sam9rlek: add hush parser to defconfig

HUSH parser will handle the variable easier. That will be helpful for
write a complicated U-Boot commands or varaibles.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Bo Shen <voice.shen@atmel.com>
9 years agoARM: at91: at91sam9rlek: add mmc environment configuration
Wu, Josh [Mon, 2 Feb 2015 09:51:01 +0000 (17:51 +0800)]
ARM: at91: at91sam9rlek: add mmc environment configuration

Add a mmc default config, which will save the environment in a FAT file
(uboot.env) of MMC.

Signed-off-by: Josh Wu <josh.wu@atmel.com>