]> git.ipfire.org Git - u-boot.git/log
u-boot.git
11 years agodm: omap: serial: Add driver model support
Simon Glass [Thu, 23 Oct 2014 03:37:12 +0000 (21:37 -0600)] 
dm: omap: serial: Add driver model support

Add driver model support to this driver, while retaining support for the
legacy system. Driver model serial support is enabled with CONFIG_DM_SERIAL
as usual.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: am33xx: Provide platform data for serial
Simon Glass [Thu, 23 Oct 2014 03:37:11 +0000 (21:37 -0600)] 
dm: am33xx: Provide platform data for serial

Provide suitable platform data for am33xx boards, so that these boards can
use driver model for serial.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: am33xx: Provide platform data for GPIOs
Simon Glass [Thu, 23 Oct 2014 03:37:10 +0000 (21:37 -0600)] 
dm: am33xx: Provide platform data for GPIOs

Provide suitable platform data for am33xx boards, so that these boards can
use driver model for GPIO access.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: omap: gpio: Support driver model
Simon Glass [Thu, 23 Oct 2014 03:37:09 +0000 (21:37 -0600)] 
dm: omap: gpio: Support driver model

Add driver model support to this driver, while retaining support for the
legacy system. Driver model GPIO support is enabled with CONFIG_DM_GPIO
as usual.

Since gpio_is_valid() no longer exists, we can use the -EINVAL error
returned from gpio_request().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: omap: gpio: Put _get_gpio_value() logic into its own function
Simon Glass [Thu, 23 Oct 2014 03:37:08 +0000 (21:37 -0600)] 
dm: omap: gpio: Put _get_gpio_value() logic into its own function

Add a separate internal helper function to get a GPIO value, so that we
will be able to call it with the driver model version and avoid code
duplication.

Also move gpio_get_bank() and check_gpio() down below the helper functions
as these won't be needed with driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: dts: omap: Select correct console for beaglebone
Simon Glass [Thu, 23 Oct 2014 03:37:07 +0000 (21:37 -0600)] 
dm: dts: omap: Select correct console for beaglebone

Select serial0 as the console.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Tom Rini <trini@ti.com>
11 years agodm: serial: Support CONFIG_CONS_INDEX if available
Simon Glass [Thu, 23 Oct 2014 03:37:06 +0000 (21:37 -0600)] 
dm: serial: Support CONFIG_CONS_INDEX if available

Try to use this option to select the correct uart for the console. This
mimics the behaviour of drivers/serial.c.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: ns16550: Correct the probe logic for platform data
Simon Glass [Thu, 23 Oct 2014 03:37:05 +0000 (21:37 -0600)] 
dm: ns16550: Correct the probe logic for platform data

The probe logic sets up the pointer to the platform data in the device
tree decode method. It should be done in the probe() method, and anyway
the device tree decode method can't be used when CONFIG_OF_CONTROL is
not enabled.

Fix these two problems.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: ns16550: Use an address instead of a pointer for the uart base
Simon Glass [Thu, 23 Oct 2014 03:37:04 +0000 (21:37 -0600)] 
dm: ns16550: Use an address instead of a pointer for the uart base

It is inconvenient to have to use casts when specifying platform data. Also
it is not strictly correct, since we should use map_sysmem() to convert an
address to a pointer.

Adjust the platform data to use an address.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: serial: ns16550: Correct logic for checking for character
Simon Glass [Thu, 23 Oct 2014 03:37:03 +0000 (21:37 -0600)] 
dm: serial: ns16550: Correct logic for checking for character

There is a bug in the logic which checks for an available character. This
can cause invalid characters to be received - this was noticed on
beaglebone. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: serial: Reset the watchdog while waiting in getc()
Simon Glass [Thu, 23 Oct 2014 03:37:02 +0000 (21:37 -0600)] 
dm: serial: Reset the watchdog while waiting in getc()

We have moved the busy-wait loop out of drivers and into the uclass. This
means that we must reset the watchdog when busy-waiting.

Note: some drivers may still have a busy-wait even with driver model, as
a transition mechanism. Driver model will tolerate this, and is can be
cleaned up when all users of the driver use driver model. An example is
ns16550.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agodm: gpio: Support numbered GPIOs
Simon Glass [Thu, 23 Oct 2014 03:37:01 +0000 (21:37 -0600)] 
dm: gpio: Support numbered GPIOs

At present banks must be named and it is not possible to refer to GPIOs by
number in driver model. Some boards use numbering - e.g. OMAP. It is fairly
easy to support by detecting the absense of a bank name (which starts with
a letter).

Add support for numbered GPIOs in addition to the existing bank support.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agokbuild: clear VENDOR variable to fix build error on tcsh
Masahiro Yamada [Tue, 21 Oct 2014 04:18:32 +0000 (13:18 +0900)] 
kbuild: clear VENDOR variable to fix build error on tcsh

Since the environment "VENDOR" is set in tcsh, it must be cleared in our
makefile.  Otherwise, boards without CONFIG_SYS_VENDOR fail to build:

  > make CROSS_COMPILE=arm-linux-gnueabi- wandboard_quad_defconfig all
    [ snip ]
    AR      arch/arm/lib/lib.a
    CC      arch/arm/lib/eabi_compat.o
  scripts/Makefile.build:55: /home/foo/u-boot/board/unknown/wandboard/ \
  Makefile: No such file or directory
  make[2]: *** No rule to make target `/home/foo/u-boot/board/unknown/ \
  wandboard/Makefile'.  Stop.
  make[1]: *** [board/unknown/wandboard] Error 2
  make: *** [__build_one_by_one] Error 2

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reported-by: Tom Everett <tom@khubla.com>
Reported-by: Jeroen Hofstee <jeroen@myspectrum.nl>
11 years agomusb: fix warning in include/linux/usb/musb.h
Igor Grinberg [Thu, 23 Oct 2014 11:25:25 +0000 (14:25 +0300)] 
musb: fix warning in include/linux/usb/musb.h

Fix the following build warning by including linux/compat.h:
include/linux/usb/musb.h:110: warning: 'struct device' declared inside
parameter list
include/linux/usb/musb.h:110: warning: its scope is only this definition
or declaration, which is probably not what you want

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-tegra
Tom Rini [Thu, 23 Oct 2014 18:05:34 +0000 (14:05 -0400)] 
Merge branch 'master' of git://git.denx.de/u-boot-tegra

11 years agomips: enable CONFIG_USE_PRIVATE_LIBGCC by default
Masahiro Yamada [Thu, 23 Oct 2014 16:30:46 +0000 (01:30 +0900)] 
mips: enable CONFIG_USE_PRIVATE_LIBGCC by default

Without the private libgcc, we need a full multilib toolchain with
different libgcc or multiple toolchains to build all BE/LE and
hard-float/soft-float variants of MIPS boards.  That is not feasible.

This commit allows us to build all the MIPS boards with a single
kernel.org toolchain:

https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/
x86_64-gcc-4.9.0-nolibc_mips-linux.tar.xz

This change sounds reasonable for most users.  If necessary,
you can disable this option via "make menuconfig" or friends.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
11 years agokconfig: invoke silentoldconfig if spl, tpl/.config is updated
Masahiro Yamada [Thu, 23 Oct 2014 16:30:45 +0000 (01:30 +0900)] 
kconfig: invoke silentoldconfig if spl, tpl/.config is updated

When spl/.config is updated by "make spl/menuconfig" or friends,
spl/include/config/auto.conf, spl/include/generated/autoconf.h
and some other files must be updated by "make silentoldconfig".

There is no hook for SPL in the top Makefile, so this commit
touches .config when spl/.config is updated to invoke silentoldconfig.
Likewise for TPL.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
11 years agokbuild: fix a bug of the u-boot-spl link rule
Masahiro Yamada [Thu, 23 Oct 2014 16:30:44 +0000 (01:30 +0900)] 
kbuild: fix a bug of the u-boot-spl link rule

cmd_u-boot-spl includes $(PLATFORM_LIBS) which changes
when CONFIG_USE_PRIVATE_GCC is updated.  The u-boot-spl image
should be re-linked if any prerequisite is newer than it
or the command line has changed.
$(call, if_changed,...) should be used instead of $(call cmd,...).

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
11 years agokconfig: move CONFIG_USE_PRIVATE_LIBGCC to Kconfig
Masahiro Yamada [Thu, 23 Oct 2014 16:30:43 +0000 (01:30 +0900)] 
kconfig: move CONFIG_USE_PRIVATE_LIBGCC to Kconfig

The private libgcc is supported only on ARM, MIPS, PowerPC, SH, x86.
Those architectures should "select" HAVE_PRIVATE_LIBGCC and
CONFIG_USE_PRIVATE_LIBGCC should depend on it.

Currently, this option is enabled on Tegra boards and x86 architecture.
Move the definition from header files to Kconfig.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Tested-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Tom Warren <twarren@nvidia.com>
11 years agokbuild: drop CONFIG_USE_PRIVATE_LIBGCC=path/to/libgcc syntax
Masahiro Yamada [Thu, 23 Oct 2014 16:30:42 +0000 (01:30 +0900)] 
kbuild: drop CONFIG_USE_PRIVATE_LIBGCC=path/to/libgcc syntax

Now CONFIG_USE_PRIVATE_LIBGCC is only used as a boolean macro.
Remove CONFIG_USE_PRIVATE_LIBGCC=path/to/libgcc syntax.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Tested-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
11 years agox86: set CONFIG_USE_PRIVATE_LIBGCC to y
Masahiro Yamada [Thu, 23 Oct 2014 16:30:41 +0000 (01:30 +0900)] 
x86: set CONFIG_USE_PRIVATE_LIBGCC to y

The motivation of this commit is to change CONFIG_USE_PRIVATE_LIBGCC
to a boolean macro so we can move it to Kconfig.

In the current implementation, there are two forms of syntax
for this macro:

  - CONFIG_USE_PRIVATE_LIBGCC=y
  - CONFIG_USE_PRIVATE_LIBGCC=path/to/private/libgcc

The latter is only used by x86 architecture.
With a little bit refactoring, it can be converted to the former.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Tested-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
11 years agokconfig: move CONFIG_SYS_HZ to lib/Kconfig
Masahiro Yamada [Thu, 23 Oct 2014 16:30:40 +0000 (01:30 +0900)] 
kconfig: move CONFIG_SYS_HZ to lib/Kconfig

CONFIG_SYS_HZ is always defined as 1000 in config_fallbacks.h
(but some boards still have redundant definitions).

This commit moves the definition and the document in README to
Kconfig.  Since lib/Kconfig can assure that CONFIG_SYS_HZ is 1000,
the sanity check in lib/time.c should be removed.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reviewed-by: Marek Vasut <marex@denx.de>
11 years agoomap3/am33xx: mux: fix several checkpatch issues
Igor Grinberg [Tue, 21 Oct 2014 15:25:30 +0000 (18:25 +0300)] 
omap3/am33xx: mux: fix several checkpatch issues

Fix the following checkpatch issues:

CHECK: No space is necessary after a cast
\#39: FILE: arch/arm/include/asm/arch-am33xx/mux.h:39:
+#define PAD_CTRL_BASE  0x800
+#define OFFSET(x)      (unsigned int) (&((struct pad_signals *) \

CHECK: Avoid CamelCase: <CONTROL_PADCONF_JTAG_nTRST>
\#284: FILE: arch/arm/include/asm/arch-omap3/mux.h:284:
+#define CONTROL_PADCONF_JTAG_nTRST     0x0A1C

ERROR: space required after that ',' (ctx:VxV)
\#446: FILE: arch/arm/include/asm/arch-omap3/mux.h:446:
+#define MUX_VAL(OFFSET,VALUE)\
                       ^
Cc: Raphael Assenat <raph@8d.com>
Cc: Ilya Yanok <yanok@emcraft.com>
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Peter Barada <peter.barada@logicpd.com>
Cc: Grazvydas Ignotas <notasas@gmail.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Nagendra T S <nagendra@mistralsolutions.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Tom Rini <trini@ti.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Stefan Roese <sr@denx.de>
11 years agoomap3: cm-t35: remove enable_gpmc_cs_config()
Igor Grinberg [Tue, 21 Oct 2014 13:39:47 +0000 (16:39 +0300)] 
omap3: cm-t35: remove enable_gpmc_cs_config()

The gpmc_init() function already calls enable_gpmc_cs_config() for chip
select 0. Although the bus width is configured for 16 bit, it gets
reconfigured correctly in the omap_gpmc driver later.

Remove the enable_gpmc_cs_config() function call and the associated
gpmc_nand_config[] array.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
11 years agoomap3: cm-t35: use define for mmc wp gpio
Igor Grinberg [Tue, 21 Oct 2014 13:39:46 +0000 (16:39 +0300)] 
omap3: cm-t35: use define for mmc wp gpio

Switch to using define for MMC WP GPIO instead of a magic number.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
11 years agoomap3: Kconfig: fix the cm-t35 board option prompt
Igor Grinberg [Tue, 21 Oct 2014 13:39:45 +0000 (16:39 +0300)] 
omap3: Kconfig: fix the cm-t35 board option prompt

The cm-t35 board support covers both cm-t3530 and cm-t3730 boards.
Mention both boards in the Kconfig option prompt.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
11 years agoam335x_evm: Correct "raw" portions of DFU alt into
Tom Rini [Thu, 9 Oct 2014 15:01:16 +0000 (11:01 -0400)] 
am335x_evm: Correct "raw" portions of DFU alt into

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoam335x_boneblack: Only modify NAND/NOR/MMC1 pinmux on BBB in boneblack builds.
Tom Rini [Wed, 8 Oct 2014 21:10:27 +0000 (17:10 -0400)] 
am335x_boneblack: Only modify NAND/NOR/MMC1 pinmux on BBB in boneblack builds.

In the case of Beaglebone Black we only want to set the NAND or NOR cape
pinmux when the config has been specifically modified by the user for
this non-default case.  Make the default be to set the MMC1 (eMMC)
pinmux.  We don't need similar changes for Beaglebone White as there is
nothing on MMC1 by default there.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoarm: am43xx: switch over to CONFIG_ENV_IS_IN_FAT
Felipe Balbi [Tue, 23 Sep 2014 15:44:18 +0000 (10:44 -0500)] 
arm: am43xx: switch over to CONFIG_ENV_IS_IN_FAT

By using CONFIG_ENV_IS_IN_FAT it's far easier
to have a private, minimal environment for e.g.
booting off of network or mounting rootfs on NFS
without having to modify the configuration header.

Signed-off-by: Felipe Balbi <balbi@ti.com>
11 years agocommon: Makefile: allow for spl builds with env_fat
Felipe Balbi [Tue, 23 Sep 2014 15:44:17 +0000 (10:44 -0500)] 
common: Makefile: allow for spl builds with env_fat

If CONFIG_SPL_BUILD and CONFIG_ENV_IS_IN_FAT are
defined, u-boot spl will fail to build. Fix that.

Signed-off-by: Felipe Balbi <balbi@ti.com>
11 years agoomap3: overo: Add usb host support
Stefan Herbrechtsmeier [Tue, 16 Sep 2014 15:51:09 +0000 (17:51 +0200)] 
omap3: overo: Add usb host support

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
11 years agoomap3: overo: Separate module and expansion board MUX configuration
Stefan Herbrechtsmeier [Tue, 16 Sep 2014 15:51:08 +0000 (17:51 +0200)] 
omap3: overo: Separate module and expansion board MUX configuration

Separate overo module and expansion board MUX configuration. This allows
an foreign expansion board to use the boot loader without any adaption.
It only needs to save the expansion name in the EEPROM to load a
specific device tree.

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
11 years agoomap3: overo: Move ethernet setup to board_eth_init function
Stefan Herbrechtsmeier [Tue, 16 Sep 2014 15:51:07 +0000 (17:51 +0200)] 
omap3: overo: Move ethernet setup to board_eth_init function

Move ethernet setup to the board_eth_init function and select
the available network devices via expansion id.

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
11 years agoomap3: overo: Call bootm only after successful nand read
Stefan Herbrechtsmeier [Tue, 16 Sep 2014 15:51:06 +0000 (17:51 +0200)] 
omap3: overo: Call bootm only after successful nand read

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
11 years agoARM: keystone: cmd_ddr3: add ddr3 commands to test ddr
Hao Zhang [Wed, 22 Oct 2014 14:47:59 +0000 (17:47 +0300)] 
ARM: keystone: cmd_ddr3: add ddr3 commands to test ddr

Add ddr3 commands:

test <start_addr in hex> <end_addr in hex> - test DDR from start\n
address to end address\n
ddr compare <start_addr in hex> <end_addr in hex> <size in hex> -\n
compare DDR data of (size) bytes from start address to end
address\n
ddr ecc_err <addr in hex> <bit_err in hex> - generate bit errors\n
in DDR data at <addr>, the command will read a 32-bit data\n
from <addr>, and write (data ^ bit_err) back to <addr>\n

Delete CONFIG_MAX_UBOOT_MEM_SIZE, as it was supposed to be used
for ddr3 commands and for now it's not needed any more.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agokeystone2: ecc: add ddr3 error detection and correction support
Vitaly Andrianov [Wed, 22 Oct 2014 14:47:58 +0000 (17:47 +0300)] 
keystone2: ecc: add ddr3 error detection and correction support

This patch adds the DDR3 ECC support to enable ECC in the DDR3
EMIF controller for Keystone II devices.

By default, ECC will only be enabled if RMW is supported in the
DDR EMIF controller. The entire DDR memory will be scrubbed to
zero using an EDMA channel after ECC is enabled and before
u-boot is re-located to DDR memory.

An ecc_test environment variable is added for ECC testing.
If ecc_test is set to 0, a detection of 2-bit error will reset
the device, if ecc_test is set to 1, 2-bit error detection
will not reset the device, user can still boot the kernel to
check the ECC error handling in kernel.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoARM: keystone: msmc: extend functionality of SES
Vitaly Andrianov [Wed, 22 Oct 2014 14:47:57 +0000 (17:47 +0300)] 
ARM: keystone: msmc: extend functionality of SES

Add functions to set/get SES PMAX values of Pivilege ID pair.
Also add msmc module definitions.

Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agodma: ti-edma3: introduce edma3 driver
Khoronzhuk, Ivan [Wed, 22 Oct 2014 14:47:56 +0000 (17:47 +0300)] 
dma: ti-edma3: introduce edma3 driver

The EDMA3 controller’s primary purpose is to service data transfers
that you program between two memory-mapped slave endpoints on the device.

Typical usage includes, but is not limited to the following:
- Servicing software-driven paging transfers (e.g., transfers from external
  memory, such as SDRAM to internal device memory, such as DSP L2 SRAM)
- Servicing event-driven peripherals, such as a serial port
- Performing sorting or sub-frame extraction of various data structures
- Offloading data transfers from the main device DSP(s)
- See the device-specific data manual for specific peripherals that are
  accessible via the EDMA3 controller

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoboard: k2e_evm: add network support
Hao Zhang [Fri, 17 Oct 2014 18:01:17 +0000 (21:01 +0300)] 
board: k2e_evm: add network support

This patch adds network support code and enables keystone_net
driver usage for k2e_evm evaluation board.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoARM: keystone: clock: add support for K2E SoCs
Khoronzhuk, Ivan [Fri, 17 Oct 2014 18:01:16 +0000 (21:01 +0300)] 
ARM: keystone: clock: add support for K2E SoCs

For K2E and K2L SoCs clock output from PASS PLL has to be enabled
after NETCP domain and PA module are enabled. So create new function
for that and call it after PA module is enabled.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: increase PHY auto negotiate time
Khoronzhuk, Ivan [Fri, 17 Oct 2014 18:01:15 +0000 (21:01 +0300)] 
net: keystone_net: increase PHY auto negotiate time

The new Marvel PHY (88E1514) used on K2L/K2E EVM requires longer time
to auto negotiate with SoC's SGMII port.

It can take about 3 sec to up the PHY after reset, so add code to
expose sgmii auto negotiation waiting process.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: add Keystone2 K2E SoC support
Khoronzhuk, Ivan [Fri, 17 Oct 2014 18:01:14 +0000 (21:01 +0300)] 
net: keystone_net: add Keystone2 K2E SoC support

The Keystone2 Edison SoC uses the same keystone net driver.
This patch adds opportunity to use it by K2E SoCs.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_serdes: add keystone K2E SoC support
Khoronzhuk, Ivan [Fri, 17 Oct 2014 18:01:13 +0000 (21:01 +0300)] 
net: keystone_serdes: add keystone K2E SoC support

Keystone2 Edison SoC uses the same keystone SerDes driver.
This patch adds support for K2E SoCs.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoARM: keystone2: keysonte_nav: add support for K2E SoC
Khoronzhuk, Ivan [Fri, 17 Oct 2014 18:01:12 +0000 (21:01 +0300)] 
ARM: keystone2: keysonte_nav: add support for K2E SoC

Keystone2 Edison SoC uses the same keystone navigator, but
uses different NETCP PktDMA definitions. This patch adds
required definitions.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: use general get link function
Khoronzhuk, Ivan [Fri, 17 Oct 2014 17:44:36 +0000 (20:44 +0300)] 
net: keystone_net: use general get link function

The phy framework has function to get link, so use it
instead of own implementation.

There is no reason to check SGMII link while sending each
packet, phy link is enough. Check SGMII link only while
ethernet open.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: register eth PHYs on MDIO bus
Khoronzhuk, Ivan [Fri, 17 Oct 2014 17:44:35 +0000 (20:44 +0300)] 
net: keystone_net: register eth PHYs on MDIO bus

As MDIO bus has been added we can register PHYs with it.
After registration, the PHY driver will be probed according to the
hardware on board.

Startup PHY at the ethernet open.

Use phy_startup() instead of keystone_get_link_status() when eth open,
as it verifies PHY link inside and SGMII link is checked before.

For K2HK evm PHY configuration at init was absent, so don't enable
phy config at init for k2hk evm.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: register MDIO bus
Khoronzhuk, Ivan [Fri, 17 Oct 2014 17:44:34 +0000 (20:44 +0300)] 
net: keystone_net: register MDIO bus

Currently MDIO framework is not used to configure Ethernet PHY.
As result some of already implemented functions are duplicated.
So register MDIO bus in order to use it. On that stage it's just
registered, it'll be used as we start to use PHY framework.

Use mdio bus read/write/reset functions in the driver.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: use mdio_reset function
Khoronzhuk, Ivan [Fri, 17 Oct 2014 17:44:33 +0000 (20:44 +0300)] 
net: keystone_net: use mdio_reset function

Don't use mdio_enable twice while eth open. Also rename it to
keystone2_mdio_reset as more appropriate name.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: phy: print a number of phy that is not found
Khoronzhuk, Ivan [Fri, 17 Oct 2014 17:44:32 +0000 (20:44 +0300)] 
net: phy: print a number of phy that is not found

In case when several Ethernet ports are supported it's
convenient to see the number of phy that is not found.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agosoc: keystone_serdes: generalize configuration mechanism
Khoronzhuk, Ivan [Wed, 22 Oct 2014 14:18:24 +0000 (17:18 +0300)] 
soc: keystone_serdes: generalize configuration mechanism

The cmu, comlane, lane configuration mechanism are similar for sub
systems as well such as PCI or sRIO, but they have different values
based on input clock and output bus rate. According to this compact
driver to simplify adding different configuration settings based
on clock and rate.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agosoc: keystone_serdes: generalize to be used by other sub systems
Hao Zhang [Wed, 22 Oct 2014 14:18:23 +0000 (17:18 +0300)] 
soc: keystone_serdes: generalize to be used by other sub systems

SerDes driver is used by other sub systems like PCI, sRIO etc.
So modify it to be more general. The SerDes driver provides common
API's that can also be extended for other peripherals SerDes
configurations.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agosoc: keystone_serdes: enhance to use cmu/comlane/lane specific configurations
Hao Zhang [Wed, 22 Oct 2014 14:18:22 +0000 (17:18 +0300)] 
soc: keystone_serdes: enhance to use cmu/comlane/lane specific configurations

Enhance the driver to use cmu/comlane/lane specific configurations
instead of 1 big array of configuration.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agosoc: keystone_serdes: create a separate SGMII SerDes driver
Khoronzhuk, Ivan [Wed, 22 Oct 2014 14:18:21 +0000 (17:18 +0300)] 
soc: keystone_serdes: create a separate SGMII SerDes driver

This patch split the Keystone II SGMII SerDes related code from
Ethernet driver and create a separate SGMII SerDes driver.
The SerDes driver can be used by others keystone subsystems
like PCI, sRIO, so move it to driver/soc/keystone directory.

Add soc specific drivers directory like in the Linux kernel.
It is going to be used by keysotone soc specific drivers.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: remove redundant code from keystone_net.c
Khoronzhuk, Ivan [Mon, 29 Sep 2014 19:17:24 +0000 (22:17 +0300)] 
net: keystone_net: remove redundant code from keystone_net.c

Remove unused tx_send_loop variable.

Removes duplicated get_link_status() call from the
keystone2_eth_send_packet().

The emac_gigabit_enable() is called at opening Ethernet and there is no
need to enable it on sending each packet. So remove that call
from keystone2_eth_send_packet() as well.

The calling of power/clock up functions are mostly the responsibility
of SoC/board code, so move these functions to appropriate place.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: increase MDIO clock frequency
Vitaly Andrianov [Mon, 29 Sep 2014 19:17:23 +0000 (22:17 +0300)] 
net: keystone_net: increase MDIO clock frequency

With MAC_PHY sgmii configuration, u-boot checks PHY link status before
sending each packet. Increasing MDIO frequency increases overall tftp
speed. We set it to maximum 2.5MHz.

Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: move header file from arch to ti-common
Khoronzhuk, Ivan [Mon, 29 Sep 2014 19:17:22 +0000 (22:17 +0300)] 
net: keystone_net: move header file from arch to ti-common

The header file for the driver should be in correct place.
So move it to "arch/arm/include/asm/ti-common/keystone_net.h"
and correct driver's external dependencies. At the same time
align and correct some definitions.

Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: add support for NETCP v1.5
Khoronzhuk, Ivan [Mon, 29 Sep 2014 19:17:21 +0000 (22:17 +0300)] 
net: keystone_net: add support for NETCP v1.5

Currently the network driver is used only by k2hk evm board.
The k2hk SoC contains NETCP v1.0, but Keystone2 SoCs, like k2e
contain NETCP v1.5. So driver should be able to work with such kind
of NETCP. This commit adds this opportunity. The main difference in
masks and some registers, the logic is the same, so only definitions
should be changed. To differentiate between versions add KS2_NETCP_V1_0
and KS2_NETCP_V1_5. Also remove unused and no more needed defines.

The port number is specific for each board so move this parameter to
configuration.

Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agonet: keystone_net: remove SoC specific emac_regs structure
Hao Zhang [Mon, 29 Sep 2014 19:17:20 +0000 (22:17 +0300)] 
net: keystone_net: remove SoC specific emac_regs structure

This patch removes K2HK SOC specifc emac_regs structure, it uses
soc specific register offset to keep the network driver common across
all the Keystone II EVMs.

Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoconfigs: ks2_evm: enable misc_init_r
Khoronzhuk, Ivan [Fri, 26 Sep 2014 12:42:30 +0000 (15:42 +0300)] 
configs: ks2_evm: enable misc_init_r

Currently keystone has misc_init_r where all DSPS are turned off
by default. So enable this function.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agokeystone2: k2l-evm: add board support
Hao Zhang [Wed, 22 Oct 2014 13:32:33 +0000 (16:32 +0300)] 
keystone2: k2l-evm: add board support

This patch adds Keystone II Lammar (K2L) EVM board support.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agokeystone2: enable OSR clock domain for K2L SoC
Hao Zhang [Wed, 22 Oct 2014 13:32:32 +0000 (16:32 +0300)] 
keystone2: enable OSR clock domain for K2L SoC

This patches enables the On-chip Shared Ram clock domain for K2L SoC.

Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoARM: keystone2: spl: move board specific code
Hao Zhang [Wed, 22 Oct 2014 13:32:31 +0000 (16:32 +0300)] 
ARM: keystone2: spl: move board specific code

The initialization of PLLs is a part of board specific code, so
move it appropriate places.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agokeystone2: msmc: add MSMC cache coherency support for K2L SOC
Hao Zhang [Wed, 22 Oct 2014 13:32:30 +0000 (16:32 +0300)] 
keystone2: msmc: add MSMC cache coherency support for K2L SOC

This patch adds Keystone II Lamar (K2L) SoC specific definitions
to support MSMC cache coherency.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agokeystone2: clock: add K2L clock definitions and commands
Hao Zhang [Wed, 22 Oct 2014 13:32:29 +0000 (16:32 +0300)] 
keystone2: clock: add K2L clock definitions and commands

This patch adds clock definitions and commands to support Keystone II
K2L SOC.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoARM: keystone2: add K2L device hardware definitions
Hao Zhang [Wed, 22 Oct 2014 13:32:28 +0000 (16:32 +0300)] 
ARM: keystone2: add K2L device hardware definitions

This patch adds hardware definitions specific to Keystone II
Lamar (K2L) SoC.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoARM: cmd_clock: generalize command usage description
Khoronzhuk, Ivan [Wed, 22 Oct 2014 13:01:28 +0000 (16:01 +0300)] 
ARM: cmd_clock: generalize command usage description

The usage description of commands refers to headers of sources,
that is not correct. This patch is intended to fix it.
Also generalize code in order to reduce SoC dependent #ifdefs.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agokeystone: usb: add support of usb xhci
WingMan Kwok [Fri, 5 Sep 2014 19:26:23 +0000 (22:26 +0300)] 
keystone: usb: add support of usb xhci

Add support of usb xhci. xHCI controls all USB speeds of the Host
mode, that is, the SS through the SS PHY, as well as the HS, FS, and
LS through the USB2 PHY. xHCI replaces and supersedes all previous
host HCIs (HS-only EHCI, FS/LS OHCI and UHCI), and is therefore not
backwards compatible with any of them. The USB3SS’s USB Controller is
fully compliant with xHC.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agodma: keystone_nav: generalize driver usage
Khoronzhuk, Ivan [Fri, 5 Sep 2014 16:02:48 +0000 (19:02 +0300)] 
dma: keystone_nav: generalize driver usage

The keystone_nav driver is general driver intended to be used for
working with queue manager and pktdma for different IPs like NETCP,
AIF, FFTC, etc. So the it's API shouldn't be named like it works only
with one of them, it should be general names. The names with prefix
like netcp_* rather do for drivers/net/keystone_net.c driver. So it's
good to generalize this driver to be used for different IP's and
delete confusion with real NETCP driver.

The current netcp_* functions of keystone navigator can be used for
other settings of pktdma, not only for NETCP. The API of this driver
is used by the keystone_net driver to work with NETCP, so net driver
also should be corrected. For convenience collect pkdma
configurations in drivers/dma/keystone_nav_cfg.c.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agodma: keystone_nav: move keystone_nav driver to driver/dma/
Khoronzhuk, Ivan [Fri, 5 Sep 2014 16:02:47 +0000 (19:02 +0300)] 
dma: keystone_nav: move keystone_nav driver to driver/dma/

The keystone_nav is used by drivers/net/keystone_net.c driver to
send and receive packets, but currently it's placed at keystone
arch sources. So it should be in the drivers directory also.
It's separate driver that can be used for sending and receiving
pktdma packets by others drivers also.

This patch just move this driver to appropriate directory and
doesn't add any functional changes.

Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agokeystone2: keystone_nav: don't use hard addresses in netcp_pktdma
Khoronzhuk, Ivan [Fri, 5 Sep 2014 16:02:46 +0000 (19:02 +0300)] 
keystone2: keystone_nav: don't use hard addresses in netcp_pktdma

Use definitions in netcp_pktdma instead direct addresses.
The definitions can be set specifically for SoC, so there
is no reason to check SoC type while initialization.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agokeystone2: keystone_nav: don't use hard addresses in qm_config
Khoronzhuk, Ivan [Fri, 5 Sep 2014 16:02:45 +0000 (19:02 +0300)] 
keystone2: keystone_nav: don't use hard addresses in qm_config

Use definitions in qm_config. The definitions can be set specifically
for SoC, so there is no reason to check SoC type while initialization.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
11 years agoMakefile: Add CONFIG_BUILD_TARGET to automatically build an special image
Stefan Roese [Wed, 22 Oct 2014 10:13:24 +0000 (12:13 +0200)] 
Makefile: Add CONFIG_BUILD_TARGET to automatically build an special image

Add target to build it automatically upon "make" / MAKEALL. This can/should
be set by board / cpu specific headers if a special U-Boot image is
required for this SoC / board.

E.g. used by Marvell Armada XP to automatically build the u-boot.kwb
target.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
11 years agotools: kwbimage: Add image version 1 support for Armada XP / 370
Stefan Roese [Wed, 22 Oct 2014 10:13:23 +0000 (12:13 +0200)] 
tools: kwbimage: Add image version 1 support for Armada XP / 370

This patch integrates the Barebox version of this kwbimage.c file into
U-Boot. As this version supports the image version 1 type for the
Armada XP / 370 SoCs.

It was easier to integrate the existing and known to be working Barebox
source than to update the current U-Boot version to support this
v1 image header format. Now all Marvell MVEBU SoCs are supported:

Image type 0: Kirkwood & Dove
Image type 1: Armada 370 & Armada XP

Please note that the current v1 support has this restuction (same as
has Barebox version):

Not implemented: support for the register headers and secure headers
in v1 images

Tested on Marvell DB-78460-BP eval board.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agotools: Compile kwboot for Marvell Armada XP as those SoCs are now supported
Stefan Roese [Wed, 22 Oct 2014 10:13:22 +0000 (12:13 +0200)] 
tools: Compile kwboot for Marvell Armada XP as those SoCs are now supported

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agotools/kwboot: Sync with latest barebox version to support Armada XP
Stefan Roese [Wed, 22 Oct 2014 10:13:21 +0000 (12:13 +0200)] 
tools/kwboot: Sync with latest barebox version to support Armada XP

The barebox version of the kwboot tool has evolved a bit. To support
Armada XP and Dove. Additionally a few minor fixes have been applied.
So lets sync with the latest barebox version.

Please note that the main difference between both versions now is, that
the U-Boot version still supports the -p option, to dynamically patch
an image for UART boot mode. I didn't test it now though.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agoarm: kirkwood: Remove some dead code from cpu.c
Stefan Roese [Wed, 22 Oct 2014 10:13:20 +0000 (12:13 +0200)] 
arm: kirkwood: Remove some dead code from cpu.c

All those functions removed with this patch are not accessed at all. So lets
remove them.

Signed-off-by: Stefan Roese <sr@denx.de>
11 years agoarm: armada-xp: Add basic support for the maxBCM board
Stefan Roese [Wed, 22 Oct 2014 10:13:19 +0000 (12:13 +0200)] 
arm: armada-xp: Add basic support for the maxBCM board

The maxBCM board is equipped with the Marvell Armada-XP MV78460 SoC. It
integrates an SPI NOR flash and an Marvell 88E6185 switch.

Signed-off-by: Stefan Roese <sr@denx.de>
11 years agoarm: armada-xp: Add basic support for the Marvell DB-MV784MP-GP board
Stefan Roese [Wed, 22 Oct 2014 10:13:18 +0000 (12:13 +0200)] 
arm: armada-xp: Add basic support for the Marvell DB-MV784MP-GP board

This patch adds basic support for the Marvell DB-MV784MP-GP evaulation
board. This is the first board that uses the recently created
Armada XP 78460 SoC support.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agoarm: armada-xp: Add basic support for Marvell Armada XP SoC
Stefan Roese [Wed, 22 Oct 2014 10:13:17 +0000 (12:13 +0200)] 
arm: armada-xp: Add basic support for Marvell Armada XP SoC

This basic support for the Marvell Armada XP is base on the existing kirkwood
support. Which has been generatized by moving some common files into
common marvell locations.

This is in preparation for the upcoming Armada XP MV78460 support.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agoi2c: mvtwsi: Add support for Marvell Armada XP
Stefan Roese [Wed, 22 Oct 2014 10:13:16 +0000 (12:13 +0200)] 
i2c: mvtwsi: Add support for Marvell Armada XP

To support the Armada XP SoC, we just need to include the correct header.

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agonet: phy.h: Make PHY autonegotiation timeout configurable
Stefan Roese [Wed, 22 Oct 2014 10:13:15 +0000 (12:13 +0200)] 
net: phy.h: Make PHY autonegotiation timeout configurable

The Marvell MV78460 eval board DB-78460-BP seems to need a longer
PHY autonegotiation timeout than the "standard" 4 seconds. So lets
make this timeout configurable. If not defined in the board config
header the original 4000ms is used.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
11 years agonet: mvneta.c: Add support for the ethernet controller of the Marvell Armada XP SoC
Stefan Roese [Wed, 22 Oct 2014 10:13:14 +0000 (12:13 +0200)] 
net: mvneta.c: Add support for the ethernet controller of the Marvell Armada XP SoC

This patch adds support for the NETA ethernet controller which is integrated
in the Marvell Armada XP SoC's. This port is based on the Linux driver which
has been stripped of the in U-Boot unused portions.

Tested on the Marvell MV78460 eval board db-78460-bp.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agoarm: kirkwood: Change naming of dram functions from km_foo() to mvebu_foo()
Stefan Roese [Wed, 22 Oct 2014 10:13:13 +0000 (12:13 +0200)] 
arm: kirkwood: Change naming of dram functions from km_foo() to mvebu_foo()

Additionally the SDRAM address decoding register address is not hard coded
in the C code any more. A define is introduced for this base address.

This makes is possible to use those gpio functions from other MVEBU SoC's
as well.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agospi: kirkwood_spi.c: Change KW_SPI_BASE to MVEBU_SPI_BASE
Stefan Roese [Wed, 22 Oct 2014 10:13:12 +0000 (12:13 +0200)] 
spi: kirkwood_spi.c: Change KW_SPI_BASE to MVEBU_SPI_BASE

This makes is possible to use this SPI driver from other MVEBU SoC's as well.
As the upcoming Armada XP support will do.

Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Tested-by: Luka Perkov <luka@openwrt.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agoarm: marvell: Extract kirkwood gpio functions into new common file gpio.c
Stefan Roese [Wed, 22 Oct 2014 10:13:11 +0000 (12:13 +0200)] 
arm: marvell: Extract kirkwood gpio functions into new common file gpio.c

This makes is possible to use those gpio functions from other MVEBU SoC's as well.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agospi: kirkwood_spi.c: Compile MPP (pin-mux) only for kirkwood SoC's
Stefan Roese [Wed, 22 Oct 2014 10:13:10 +0000 (12:13 +0200)] 
spi: kirkwood_spi.c: Compile MPP (pin-mux) only for kirkwood SoC's

Compile the pin multiplexing only on Kirkwood platforms. As the
Armada XP doesn't need it.

Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Tested-by: Luka Perkov <luka@openwrt.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agoarm: mvebu: Add common mbus functions to use on Marvell SoCs
Stefan Roese [Wed, 22 Oct 2014 10:13:09 +0000 (12:13 +0200)] 
arm: mvebu: Add common mbus functions to use on Marvell SoCs

These mbus functions are ported from Barebox. The Barebox version is
ported from Linux. These functions will be first used by the upcoming
Armada XP support. Later other Marvell SoC's will be adopted to use
these functions as well (Kirkwood, Orion).

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agoarm: marvell: Rework timer.c to make it usable for other MVEBU platforms
Stefan Roese [Wed, 22 Oct 2014 10:13:08 +0000 (12:13 +0200)] 
arm: marvell: Rework timer.c to make it usable for other MVEBU platforms

This patch does the following:
- Rename defines and registers to not use kirkwood
- Remove unused defines
- Use clrsetbits() accessor functions
- Coding style cleanup
- Clear 25MHZ bit in timer controller register init for Armada XP

There is no functional change for kirkwood. At least not intentionally.

This will be used by the upcoming Armada XP support.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agoarm: marvell: Move arch-kirkwood/spi.h to arch-mvebu/spi.h
Stefan Roese [Wed, 22 Oct 2014 10:13:07 +0000 (12:13 +0200)] 
arm: marvell: Move arch-kirkwood/spi.h to arch-mvebu/spi.h

This move makes it possible to use this kirkwood SPI driver from other
MVEBU platforms as well. This will be used by the upcoming Armada XP
support.

Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Tested-by: Luka Perkov <luka@openwrt.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agoarm: marvell: Move arch/kirkwood.h to arch/soc.h
Stefan Roese [Wed, 22 Oct 2014 10:13:06 +0000 (12:13 +0200)] 
arm: marvell: Move arch/kirkwood.h to arch/soc.h

This move makes is possible to use this header not only from kirkwood
platforms but from all Marvell mvebu platforms.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agoarm: kirkwood: Move some SoC files into new arch/arm/mvebu-common
Stefan Roese [Wed, 22 Oct 2014 10:13:05 +0000 (12:13 +0200)] 
arm: kirkwood: Move some SoC files into new arch/arm/mvebu-common

By moving some kirkwood files into a Marvell common directory, those files
can be used by other Marvell platforms as well. The name mvebu is taken
from the Linux kernel source tree. It has been chosen there to represent
the SoC's from the Marvell EBU (Engineering Business Unit). Those SoC's
currently are:

Armada 370/375/XP, Dove, mv78xx0, Kirkwood, Orion5x

This will be used by the upcoming Armada XP (MV78460) platform support.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Luka Perkov <luka@openwrt.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
11 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Thu, 23 Oct 2014 10:54:03 +0000 (06:54 -0400)] 
Merge git://git.denx.de/u-boot-x86

11 years agoMerge git://git.denx.de/u-boot-fdt
Tom Rini [Thu, 23 Oct 2014 10:51:46 +0000 (06:51 -0400)] 
Merge git://git.denx.de/u-boot-fdt

11 years agoot1200: add sata support
Christian Gmeiner [Wed, 22 Oct 2014 09:55:04 +0000 (11:55 +0200)] 
ot1200: add sata support

One of the possible boot devices can be sata.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
11 years agoot1200: fix sf detection
Christian Gmeiner [Wed, 22 Oct 2014 09:29:51 +0000 (11:29 +0200)] 
ot1200: fix sf detection

Commit 155fa9af95ac5be857a7327e7a968a296e60d4c8 changed the way
to define a GPIO line, which can be used to force CS high
across multiple transactions. In order to fix sf detection
change board code to make use of board_spi_cs_gpio(..).

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Stefano Babic <sbabic@denx.de>
Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
11 years agonet: Display the size when tftpboot finishes
Simon Glass [Fri, 10 Oct 2014 13:30:21 +0000 (07:30 -0600)] 
net: Display the size when tftpboot finishes

If we know the file size, display it after loading the file.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Enable FIT, ELF on coreboot
Simon Glass [Fri, 10 Oct 2014 13:30:20 +0000 (07:30 -0600)] 
x86: Enable FIT, ELF on coreboot

Enable FIT support and the bootelf command. Also change the default load
address to somewhere other than the normal load address of the kernel,
to allow for decompression without overwriting the original file.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: config: link: Display the board model on the screen
Simon Glass [Fri, 10 Oct 2014 13:30:19 +0000 (07:30 -0600)] 
x86: config: link: Display the board model on the screen

To get a display in U-Boot on link you must either build a coreboot that
always sets it up, or use Esc-Refresh-Power to reset the machine.

When we do have a display, it is nice to display the model at the top, so
enable this option.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: link: Tidy up the command lines options
Simon Glass [Fri, 10 Oct 2014 13:30:18 +0000 (07:30 -0600)] 
x86: link: Tidy up the command lines options

We may as well use hush. The auto-complete option was incorrect so this was
not enabled. Also expand the command line size a little and go back to the
default prompt since "boot>" doesn't seem any more useful.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agodoc: Remove note about auto-complete not working with hush
Simon Glass [Fri, 10 Oct 2014 13:30:17 +0000 (07:30 -0600)] 
doc: Remove note about auto-complete not working with hush

It does seem to work (tested on link), so update the docs.

Signed-off-by: Simon Glass <sjg@chromium.org>