oweals/u-boot.git
9 years agonet: pch_gbe: Fix pch_gbe device name
Bin Meng [Wed, 15 Apr 2015 03:18:20 +0000 (11:18 +0800)]
net: pch_gbe: Fix pch_gbe device name

The name "pch_gbe.%x" exceeds the limit of the name in the
'struct eth_device'. Rename it as just "pch_gbe".

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
9 years agonet: gem: Use correct type for casting
Michal Simek [Wed, 15 Apr 2015 11:31:28 +0000 (13:31 +0200)]
net: gem: Use correct type for casting

Use phys_addr_t which is used in function prototype
in system.h.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agonet/phy: fixup for get_phy_id
Shengzhou Liu [Tue, 7 Apr 2015 10:46:32 +0000 (18:46 +0800)]
net/phy: fixup for get_phy_id

commit 3c6928fd7b0f84 "net: phy: fix warnings with W=1" caused
some PHYs(e.g. CS4315/CS4340) not working. This patch fixes the
warning and make those special PHYs working as well.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
9 years agonet: phy: micrel: add support for KSZ8081MNX
Luca Ellero [Tue, 24 Mar 2015 10:32:24 +0000 (11:32 +0100)]
net: phy: micrel: add support for KSZ8081MNX

This patch adds a support for KSZ8081MNX in MII mode.

Signed-off-by: Luca Ellero <luca.ellero@brickedbrain.com>
Acked-by: Pavel Machek <pavel@denx.de>
9 years agomii: add read-modify-write option to mii command
Tim James [Wed, 25 Mar 2015 11:55:15 +0000 (11:55 +0000)]
mii: add read-modify-write option to mii command

When accessing PHY registers it is often desirable to only update
selected bits, so it is necessary to first read the current value
before writing back an modified value with the relevant bits
updated.

To simplify this and to allow such operations to be incorporated
into simple shell scripts propose adding a 'modify' option to the
existing mii command, which takes a mask indicating the bits to
be updated in addition to a data value containing the new bits,
ie, <updated> = (<data> & <mask>) | (<current> & ~<mask>).

Signed-off-by: Tim <tim.james@macltd.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
Cc: Tom Rini <trini@konsulko.com>
Cc: Tim <tim.james@macltd.com>
9 years agoUpdate MAINTAINERS and git-mailrc for net
Joe Hershberger [Fri, 20 Mar 2015 18:25:57 +0000 (13:25 -0500)]
Update MAINTAINERS and git-mailrc for net

Update to my corporate email and make the supported filter and aliases
more accurate.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agonet: rtl8169: Build warning fixes for 64-bit
Thierry Reding [Fri, 20 Mar 2015 11:41:21 +0000 (12:41 +0100)]
net: rtl8169: Build warning fixes for 64-bit

Turn ioaddr into an unsigned long rather than a sized 32-bit variable.
While at it, fix a couple of pointer to integer cast size mismatch
warnings by casting through unsigned long going from pointers to
integers and vice versa.

Cc: Joe Hershberger <joe.hershberger@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agonet: phy: realtek: Disable interrupt on Realtek Ethernet PHY drivers
Codrin Ciubotariu [Fri, 13 Feb 2015 12:47:58 +0000 (14:47 +0200)]
net: phy: realtek: Disable interrupt on Realtek Ethernet PHY drivers

Some Realtek Ethernet PHYs, like RTL8211D(G/N) and RTL8211E(G), have
interrupts enabled by default. If the interrupt is not treated later by
the OS and the PHY's interrupt line is enabled and shared with other
interrupts, the system will get an interrupt storm. This patch disables
the interrupt for PHY devices that use one of the current Realtek
Ethernet PHY drivers. Some of Realtek Ethernet PHYs, such as RTL8211B(L)
have the interrupt masked. In this case, the functionality of the PHY
should not be afected since this patch brings INER and INSR registers to
their default values.

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-video
Tom Rini [Mon, 20 Apr 2015 13:13:52 +0000 (09:13 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-video

9 years agovideo, lg4573: add support for the lg4573 display
Heiko Schocher [Sun, 12 Apr 2015 08:20:19 +0000 (10:20 +0200)]
video, lg4573: add support for the lg4573 display

Signed-off-by: Heiko Schocher <hs@denx.de>
9 years agovideo, ipu: make ldb clock frequency overwritable through board code
Heiko Schocher [Mon, 20 Apr 2015 05:53:48 +0000 (07:53 +0200)]
video, ipu: make ldb clock frequency overwritable through board code

the ldb clock can be setup in board code (for example set through PLL5).
Update the ldb_clock rate also through board code.

This should be removed, if a clock framework is availiable.

Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Eric Nelson <eric.nelson@boundarydevices.com>
9 years agovideo, ipu: make ldb_clock configurable
Heiko Schocher [Mon, 20 Apr 2015 05:52:21 +0000 (07:52 +0200)]
video, ipu: make ldb_clock configurable

make the ldb_clock configurable through the new define
CONFIG_SYS_LDB_CLOCK. This is needed as the ldb clock is not
always 650000000, for example on the aristainetos2 board,
where the ldb clock derives from PLL5 clock.

Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Eric Nelson <eric.nelson@boundarydevices.com>
9 years agosandbox: add config_distro_defaults and config_distro_bootcmd
Sjoerd Simons [Mon, 13 Apr 2015 20:54:27 +0000 (22:54 +0200)]
sandbox: add config_distro_defaults and config_distro_bootcmd

Make the sandbox setup more generic/examplary by including
config_distro_defaults.h and config_distro_bootcmd.h.

Among other things this makes it easy to test whether images will boot
though with the standard distro bootcmds by running e.g:
  u-boot -c 'host bind 0 myimage.img ; boot'

By default there are 2 target host devices to emulate device with
multiple storage devices (e.g. internal ("host 0") and external
("host 1") and verify that the prioritization and fallbacks do work
correctly.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoconfig: Add default client arch defines for intel architectures
Sjoerd Simons [Mon, 13 Apr 2015 20:54:26 +0000 (22:54 +0200)]
config: Add default client arch defines for intel architectures

Define default PXE client architecture identifiers for IA32 (0x0 aka
Intel x86PC) and Intel x86-64 (0x9 aka EFI x86-64).

This prepares for usage for config_distro_defaults in the sandbox
architecture

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
9 years agopxe: Ensure all memory access is to mapped memory
Sjoerd Simons [Mon, 13 Apr 2015 20:54:25 +0000 (22:54 +0200)]
pxe: Ensure all memory access is to mapped memory

Properly map memory through map_sysmem so that pxe can be used from the
sandbox.

Tested in sandbox as well as on jetson-tk1, odroid-xu3, snow as peach-pi
boards

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoconfig_distro_bootcmd.h: Add shared block definition for the host interface
Sjoerd Simons [Mon, 13 Apr 2015 20:54:24 +0000 (22:54 +0200)]
config_distro_bootcmd.h: Add shared block definition for the host interface

Define the common shared block environment for the host interface in
preperation for the sandbox build to use config_distro_bootcmd.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
9 years agosandbox: Implement host dev [device]
Sjoerd Simons [Mon, 13 Apr 2015 20:54:23 +0000 (22:54 +0200)]
sandbox: Implement host dev [device]

A common pattern to check if a certain device exists (e.g. in
config_distro_bootcmd) is to use: <interface> dev [device]

Implement host dev [device] so this pattern can be used for sandbox host
devices.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Renamed sb command to host
Sjoerd Simons [Mon, 13 Apr 2015 20:54:22 +0000 (22:54 +0200)]
sandbox: Renamed sb command to host

As suggested by Simon Glass, rename the sb command to host but keep the
old sb command as an alias

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Add support for bootz
Sjoerd Simons [Mon, 13 Apr 2015 20:54:21 +0000 (22:54 +0200)]
sandbox: Add support for bootz

Add dummy bootz_setup implementation allowing the u-boot sandbox to
run bootz. This recognizes both ARM and x86 zImages to validate a
valid zImage was loaded.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Split bootm code out into lib/bootm
Sjoerd Simons [Mon, 13 Apr 2015 20:54:20 +0000 (22:54 +0200)]
sandbox: Split bootm code out into lib/bootm

Follow the convention of other architectures and move the platform
specific linux bootm code into sandbox/lib/bootm.c.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: only do sandboxfs for hostfs interface
Sjoerd Simons [Mon, 13 Apr 2015 20:54:19 +0000 (22:54 +0200)]
sandbox: only do sandboxfs for hostfs interface

Only do sandbox filesystem access when using the hostfs device
interface, rather then falling back to it in all cases. This prevents
confusion situations due to the fallback being taken rather then an
unsupported error being raised.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoMerge branch 'buildman' of git://git.denx.de/u-boot-x86
Tom Rini [Sat, 18 Apr 2015 23:24:13 +0000 (19:24 -0400)]
Merge branch 'buildman' of git://git.denx.de/u-boot-x86

9 years agopatman: cover letter shows like 00/xx if more than 10 patches
Wu, Josh [Fri, 3 Apr 2015 02:51:17 +0000 (10:51 +0800)]
patman: cover letter shows like 00/xx if more than 10 patches

Make cover letter shows like 0/x, 00/xx and 000/xxx etc.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Make -V (verbose_build) really be verbose
Tom Rini [Wed, 1 Apr 2015 11:47:41 +0000 (07:47 -0400)]
buildman: Make -V (verbose_build) really be verbose

The help text for -V says we will pass V=1 but all it really did was not
pass in -s.  Change the logic to pass make V=1 with given to buildman -V or
-s to make otherwise.

Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Keep more outputs with the --keep-outputs flag
Tom Rini [Fri, 20 Mar 2015 14:50:38 +0000 (10:50 -0400)]
buildman: Keep more outputs with the --keep-outputs flag

When told to keep outputs, be much more liberal in what files we keep.
In addition to adding 'MLO', keep anything that matches u-boot-spl.* (so
that we keep the map file as well) and anything we generate about
'u-boot itself.  A large number of bootable formats now match this and
thus it's easier to build many targets and then boot them afterwards
using buildman.

Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Allow comparison of build configuration
Simon Glass [Fri, 6 Feb 2015 05:06:15 +0000 (22:06 -0700)]
buildman: Allow comparison of build configuration

It is useful to be able to see CONFIG changes made by commits. Add this
feature to buildman using the -K flag so that all CONFIG changes are
reported.

The CONFIG options exist in a number of files. Each is reported
individually as well as a summary that covers all files. The output
shows three parts: green for additions, red for removals and yellow for
changes.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Store build config files
Simon Glass [Fri, 6 Feb 2015 05:06:14 +0000 (22:06 -0700)]
buildman: Store build config files

Store all config file output so that we can compare changes if requested.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Adjust the 'aborted' heuristic for writing output
Simon Glass [Fri, 6 Feb 2015 05:06:13 +0000 (22:06 -0700)]
buildman: Adjust the 'aborted' heuristic for writing output

At present buildman tries to detect an aborted build and doesn't record a
result in that case. This is to make sure that an abort (e.g. with Ctrl-C)
does not mark the build as done. Without this option, buildman would never
retry the build unless -f/-F are provided. The effect is that aborting the
build creates 'fake errors' on whatever builds buildman happens to be
working on at the time.

Unfortunately the current test is not reliable and this detection can
trigger if a required toolchain tool is missing. In this case the toolchain
problem is never reported.

Adjust the logic to continue processing the build result, mark the build as
done (and failed), but with a return code which indicates that it should be
retried.

The correct fix is to fully and correctly detect an aborted build, quit
buildman immediately and not write any partial build results in this case.
Unfortunately this is currently beyond my powers and is left as an exercise
for the reader (and patches are welcome).

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Show 'make' command line when -V is used
Simon Glass [Fri, 6 Feb 2015 05:06:12 +0000 (22:06 -0700)]
buildman: Show 'make' command line when -V is used

When a verbose build it selected, show the make command before the output of
that command.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoCreate a .cfg file containing the CONFIG options used to build
Simon Glass [Fri, 6 Feb 2015 05:06:10 +0000 (22:06 -0700)]
Create a .cfg file containing the CONFIG options used to build

At present CONFIG options are split across Kconfig and board config headers
files. Also we have multiple files containing these CONFIG options.

In order to see exactly what is being used for building, create a .cfg
file which holds these options as reported by the C preprocessor.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoahci: mmio_base is a virtual address
Scott Wood [Fri, 17 Apr 2015 14:19:01 +0000 (09:19 -0500)]
ahci: mmio_base is a virtual address

Don't store it in a u32.

Don't dereference the bus address as if it were a virtual address
(fixes 284231e49a2b4 ("ahci: Support splitting of read transactions
into multiple chunks")).

Fixes crash on boot in MPC8641HPCN_36BIT target.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: Vadim Bendebury <vbendeb@chromium.org>
Acked-by: York Sun <yorksun@freescale.com>
9 years agosandbox: exynos: Move CONFIG_SOUND_SANDBOX to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:14 +0000 (13:19 -0700)]
sandbox: exynos: Move CONFIG_SOUND_SANDBOX to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: exynos: Move CONFIG_SOUND_WM8994 to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:13 +0000 (13:19 -0700)]
sandbox: exynos: Move CONFIG_SOUND_WM8994 to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: exynos: Move CONFIG_SOUND_MAX98095 to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:12 +0000 (13:19 -0700)]
sandbox: exynos: Move CONFIG_SOUND_MAX98095 to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: exynos: Move CONFIG_I2S_SAMSUNG to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:11 +0000 (13:19 -0700)]
sandbox: exynos: Move CONFIG_I2S_SAMSUNG to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: exynos: Move CONFIG_I2S to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:10 +0000 (13:19 -0700)]
sandbox: exynos: Move CONFIG_I2S to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: exynos: Move CONFIG_CMD_SOUND to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:09 +0000 (13:19 -0700)]
sandbox: exynos: Move CONFIG_CMD_SOUND to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: exynos: Move CONFIG_SOUND to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:08 +0000 (13:19 -0700)]
sandbox: exynos: Move CONFIG_SOUND to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Move CONFIG_TPM_TIS_SANDBOX to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:07 +0000 (13:19 -0700)]
sandbox: Move CONFIG_TPM_TIS_SANDBOX to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Move CONFIG_SPI_FLASH_SANDBOX to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:06 +0000 (13:19 -0700)]
sandbox: Move CONFIG_SPI_FLASH_SANDBOX to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Move CONFIG_SANDBOX_SPI to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:05 +0000 (13:19 -0700)]
sandbox: Move CONFIG_SANDBOX_SPI to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Move CONFIG_SYS_I2C_SANDBOX to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:04 +0000 (13:19 -0700)]
sandbox: Move CONFIG_SYS_I2C_SANDBOX to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Heiko Schocher<hs@denx.de>
9 years agosandbox: Move CONFIG_SYS_VSNPRINTF to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:02 +0000 (13:19 -0700)]
sandbox: Move CONFIG_SYS_VSNPRINTF to Kconfig

Move this over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Move GPIO CONFIGs to Kconfig
Simon Glass [Fri, 6 Mar 2015 20:19:01 +0000 (13:19 -0700)]
sandbox: Move GPIO CONFIGs to Kconfig

Move these over to Kconfig and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoKconfig: Move CONFIG_BOOTSTAGE to Kconfig
Simon Glass [Tue, 3 Mar 2015 00:04:37 +0000 (17:04 -0700)]
Kconfig: Move CONFIG_BOOTSTAGE to Kconfig

Move CONFIG_BOOT_STAGE and its associated options to Kconfig. Adjust
existing users and code.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agodm: sunxi: Use driver model for Ethernet on Linksprite pcDuino3
Simon Glass [Sun, 5 Apr 2015 22:07:43 +0000 (16:07 -0600)]
dm: sunxi: Use driver model for Ethernet on Linksprite pcDuino3

Switch this board over to use driver model for Ethernet.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agodm: sunxi: Support driver model for Ethernet
Simon Glass [Sun, 5 Apr 2015 22:07:42 +0000 (16:07 -0600)]
dm: sunxi: Support driver model for Ethernet

Adjust the Ethernet initialisation code to support driver model.
It is no-longer necessary to call designware_initialize(). The device will
be probed when it is used. The PHY type and GMAC base will come from the
device tree.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agodm: net: Adjust designware driver to support driver model
Simon Glass [Sun, 5 Apr 2015 22:07:41 +0000 (16:07 -0600)]
dm: net: Adjust designware driver to support driver model

Add driver model support to the designware driver. This reuses most of the
existing code except for some duplication in the probe() method.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agodm: net: Tidy up designware driver ready for driver model
Simon Glass [Sun, 5 Apr 2015 22:07:40 +0000 (16:07 -0600)]
dm: net: Tidy up designware driver ready for driver model

Adjust the error handling to use errno.h instead of returning -1. Change
leaf functions to pass in the arguments they require rather than struct
eth_device. Apart from simplifying the code it makes is easier to reuse
these functions for driver model, since mostly they actually only use
struct dw_eth_priv (which we can keep).

Create a stub for each Ethernet operation function. This will allow use to
share code with the driver model versions.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agodm: net: Adjust PHY interface to work with CONFIG_DM_ETH
Simon Glass [Sun, 5 Apr 2015 22:07:39 +0000 (16:07 -0600)]
dm: net: Adjust PHY interface to work with CONFIG_DM_ETH

When driver model is used for Ethernet a few functions are passed a udevice
instead of an eth_device. Also add a function to find a PHY type given its
name. This will be used to decode the device tree node.

Finally, put a phy_interface field in struct eth_pdata since this is an
important part of the platform data for Ethernet.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agoAvoid calling print_eths() with driver model
Simon Glass [Sun, 5 Apr 2015 22:07:38 +0000 (16:07 -0600)]
Avoid calling print_eths() with driver model

This function is not supported with driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agodm: net: Use existing Ethernet init for driver model
Simon Glass [Sun, 5 Apr 2015 22:07:37 +0000 (16:07 -0600)]
dm: net: Use existing Ethernet init for driver model

At present even with driver model is used there is still much manual init
of related devices: PHY, environment and board init. Until these requirements
are dealt with in another way we need to keep them around.

Break out the init portion of the legacy eth_initialize() into a separate
function and call it from both the legacy and driver model eth_initialize()
functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agodts: sunxi: Bring in Ethernet device tree bindings
Simon Glass [Sun, 5 Apr 2015 22:07:35 +0000 (16:07 -0600)]
dts: sunxi: Bring in Ethernet device tree bindings

Since we will use these bindings on sunxi, bring them in from Linux
4.0-rc1.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agoKconfig: Move CONFIG_DESIGNWARE_ETH to Kconfig
Simon Glass [Sun, 5 Apr 2015 22:07:34 +0000 (16:07 -0600)]
Kconfig: Move CONFIG_DESIGNWARE_ETH to Kconfig

Move this to Kconfig and clean up board config files that use it. Also
rename it to CONFIG_ETH_DESIGNWARE to fit with the naming that exists
in drivers/net/Kconfig.

Signed-off-by: Simon Glass <sjg@chromium.org>
Version 1:
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agosunxi: Replace the pcDuino3 config with FDT version
Simon Glass [Sun, 5 Apr 2015 22:07:33 +0000 (16:07 -0600)]
sunxi: Replace the pcDuino3 config with FDT version

We currently have Linksprite_pcDuino3 and Linksprite_pcDuino3_fdt. Drop the
former in favour of the latter.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosandbox: Enable more network features for sandbox
Joe Hershberger [Wed, 8 Apr 2015 06:41:25 +0000 (01:41 -0500)]
sandbox: Enable more network features for sandbox

More net features enabled and supported on sandbox to allow more testing

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: Fix compile errors when SNTP enabled and not DATE
Joe Hershberger [Wed, 8 Apr 2015 06:41:24 +0000 (01:41 -0500)]
net: Fix compile errors when SNTP enabled and not DATE

When SNTP is enabled and DATE is not, to_tm() is not built in. It could
be defined when TIMESTAMP is defined, so check for that.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: Convert protocol structures to use explicit sizes
Sergey Temerkhanov [Wed, 8 Apr 2015 06:41:23 +0000 (01:41 -0500)]
net: Convert protocol structures to use explicit sizes

Convert uchar/ushort to u8/u16 respectively.

Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: Fix incorrect DHCP/BOOTP packets on 64-bit systems
Sergey Temerkhanov [Wed, 8 Apr 2015 06:41:22 +0000 (01:41 -0500)]
net: Fix incorrect DHCP/BOOTP packets on 64-bit systems

This commit fixes incorrect DHCP/BOOTP packet layout caused by
'ulong' type size difference on 64 and 32-bit architectures.
It also renames NetReadLong()/NetCopyLong() to
net_read_u32/net_copy_u32() accordingly.

Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Fix checkpatch.pl failures in net.c
Joe Hershberger [Wed, 8 Apr 2015 06:41:21 +0000 (01:41 -0500)]
net: cosmetic: Fix checkpatch.pl failures in net.c

Finish eliminating CamelCase from net.c and other failures

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Fix checkpatch.pl failures in net.h
Joe Hershberger [Wed, 8 Apr 2015 06:41:20 +0000 (01:41 -0500)]
net: cosmetic: Fix checkpatch.pl failures in net.h

There were still a few remaining complains in the legacy eth_device
definition that hadn't been addressed.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Fix checkpatch.pl failures in eth.c
Joe Hershberger [Wed, 8 Apr 2015 06:41:19 +0000 (01:41 -0500)]
net: cosmetic: Fix checkpatch.pl failures in eth.c

There were still a few failures in net/eth.c, especially in the legacy
part of the code.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Fix checkpatch.pl failures in linklocal
Joe Hershberger [Wed, 8 Apr 2015 06:41:18 +0000 (01:41 -0500)]
net: cosmetic: Fix checkpatch.pl failures in linklocal

A few new rules in checkpatch.pl since linklocal.c was added.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up cmd_net variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:17 +0000 (01:41 -0500)]
net: cosmetic: Clean up cmd_net variables and functions

Make a thorough pass through all variables and function names contained
within common/cmd_net.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up netconsole variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:16 +0000 (01:41 -0500)]
net: cosmetic: Clean up netconsole variables and functions

Make a thorough pass through all variables and function names contained
within netconsole.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up DNS variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:15 +0000 (01:41 -0500)]
net: cosmetic: Clean up DNS variables and functions

Make a thorough pass through all variables and function names contained
within dns.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up CDP variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:14 +0000 (01:41 -0500)]
net: cosmetic: Clean up CDP variables and functions

Make a thorough pass through all variables and function names contained
within cdp.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up ping variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:13 +0000 (01:41 -0500)]
net: cosmetic: Clean up ping variables and functions

Make a thorough pass through all variables and function names contained
within ping.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up SNTP variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:12 +0000 (01:41 -0500)]
net: cosmetic: Clean up SNTP variables and functions

Make a thorough pass through all variables and function names contained
within sntp.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up RARP variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:11 +0000 (01:41 -0500)]
net: cosmetic: Clean up RARP variables and functions

Make a thorough pass through all variables and function names contained
within rarp.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up NFS variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:10 +0000 (01:41 -0500)]
net: cosmetic: Clean up NFS variables and functions

Make a thorough pass through all variables and function names contained
within nfs.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up DHCP variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:09 +0000 (01:41 -0500)]
net: cosmetic: Clean up DHCP variables and functions

Make a thorough pass through all variables and function names contained
within bootp.c and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up ARP variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:08 +0000 (01:41 -0500)]
net: cosmetic: Clean up ARP variables and functions

Make a thorough pass through all variables and function names contained
within arp and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Clean up TFTP variables and functions
Joe Hershberger [Wed, 8 Apr 2015 06:41:07 +0000 (01:41 -0500)]
net: cosmetic: Clean up TFTP variables and functions

Make a thorough pass through all variables and function names contained
within tftp and remove CamelCase and improve naming.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Fix var naming net <-> eth drivers
Joe Hershberger [Wed, 8 Apr 2015 06:41:06 +0000 (01:41 -0500)]
net: cosmetic: Fix var naming net <-> eth drivers

Update the naming convention used in the network stack functions and
variables that Ethernet drivers use to interact with it.

This cleans up the temporary hacks that were added to this interface
along with the DM support.

This patch has a few remaining checkpatch.pl failures that would be out
of the scope of this patch to fix (drivers that are in gross violation
of checkpatch.pl).

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Cleanup internal packet buffer names
Joe Hershberger [Wed, 8 Apr 2015 06:41:05 +0000 (01:41 -0500)]
net: cosmetic: Cleanup internal packet buffer names

This patch cleans up the names of internal packet buffer names that are
used within the network stack and the functions that use them.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
9 years agonet: cosmetic: Name ethaddr variables consistently
Joe Hershberger [Wed, 8 Apr 2015 06:41:04 +0000 (01:41 -0500)]
net: cosmetic: Name ethaddr variables consistently

Use "_ethaddr" at the end of variables and drop CamelCase.
Make constant values actually 'const'.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Fixup var names for DHCP strings
Joe Hershberger [Wed, 8 Apr 2015 06:41:03 +0000 (01:41 -0500)]
net: cosmetic: Fixup var names for DHCP strings

Remove CamelCase variable naming.
Move the definition to the same compilation unit as the primary use.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Fixup var names related to boot file
Joe Hershberger [Wed, 8 Apr 2015 06:41:02 +0000 (01:41 -0500)]
net: cosmetic: Fixup var names related to boot file

The variables around the bootfile were inconsistent and used CamelCase.
Update them to make the code more readable.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agonet: cosmetic: Change IPaddr_t to struct in_addr
Joe Hershberger [Wed, 8 Apr 2015 06:41:01 +0000 (01:41 -0500)]
net: cosmetic: Change IPaddr_t to struct in_addr

This patch is simply clean-up to make the IPv4 type that is used match
what Linux uses. It also attempts to move all variables that are IP
addresses use good naming instead of CamelCase. No functional change.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agopowerpc: ids8313: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:48:03 +0000 (12:48 +0900)]
powerpc: ids8313: use "select" instead of default value in defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: cm_fx6: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:48:02 +0000 (12:48 +0900)]
ARM: cm_fx6: use "select" instead of default value in defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: stv0991: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:48:01 +0000 (12:48 +0900)]
ARM: stv0991: use "select" instead of default value in defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: bav335x: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:48:00 +0000 (12:48 +0900)]
ARM: bav335x: use "select" instead of default value in defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: socfpga: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:47:59 +0000 (12:47 +0900)]
ARM: socfpga: use "select" instead of default value in defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: mx6: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:47:58 +0000 (12:47 +0900)]
ARM: mx6: use "select" instead of default value in defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: snapper9260: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:47:57 +0000 (12:47 +0900)]
ARM: snapper9260: use "select" instead of default value in defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: rmobile: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:47:56 +0000 (12:47 +0900)]
ARM: rmobile: use "select" instead of default value in defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: zynq: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:47:55 +0000 (12:47 +0900)]
ARM: zynq: use "select" instead of default value in defconfig

All the Zynq boards have switch to Driver Model.
"select DM" is better than default value in each defconfig.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agoARM: UniPhier: use "select" instead of default value in defconfig
Masahiro Yamada [Tue, 31 Mar 2015 03:47:54 +0000 (12:47 +0900)]
ARM: UniPhier: use "select" instead of default value in defconfig

All the UniPhier boards have switch to Driver Model.
"select DM" is better than default value in each defconfig.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agodm: select CONFIG_DM* options
Masahiro Yamada [Tue, 31 Mar 2015 03:47:53 +0000 (12:47 +0900)]
dm: select CONFIG_DM* options

As mentioned in the previous commit, adding default values in each
Kconfig causes problems because it does not co-exist with the
"depends on" syntax.  (Please note this is not a bug of Kconfig.)
We should not do so unless we have a special reason.  Actually,
for CONFIG_DM*, we have no good reason to do so.

Generally, CONFIG_DM is not a user-configurable option.  Once we
convert a driver into Driver Model, the board only works with Driver
Model, i.e. CONFIG_DM must be always enabled for that board.
So, using "select DM" is more suitable rather than allowing users to
modify it.  Another good thing is, Kconfig warns unmet dependencies
for "select" syntax, so we easily notice bugs.

Actually, CONFIG_DM and other related options have been added
without consistency: some into arch/*/Kconfig, some into
board/*/Kconfig, and some into configs/*_defconfig.

This commit prefers "select" and cleans up the following issues.

[1] Never use "CONFIG_DM=n" in defconfig files

It is really rare to add "CONFIG_FOO=n" to disable CONFIG options.
It is more common to use "# CONFIG_FOO is not set".  But here, we
do not even have to do it.
Less than half of OMAP3 boards have been converted to Driver Model.
Adding the default values to arch/arm/cpu/armv7/omap3/Kconfig is
weird.  Instead, add "select DM" only to appropriate boards, which
eventually eliminates "CONFIG_DM=n", etc.

[2] Delete redundant CONFIGs

Sandbox sets CONFIG_DM in arch/sandbox/Kconfig and defines it again
in configs/sandbox_defconfig.
Likewise, OMAP3 sets CONFIG_DM arch/arm/cpu/armv7/omap3/Kconfig and
defines it also in omap3_beagle_defconfig and devkit8000_defconfig.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agodm: spi_flash: fix wrong dependency
Masahiro Yamada [Tue, 31 Mar 2015 03:47:52 +0000 (12:47 +0900)]
dm: spi_flash: fix wrong dependency

CONFIG_SPI does not exist in Kconfig in the first place, so the
dependency "depends on DM && SPI" is never met, i.e., DM_SPI_FLASH
can never be enabled (unless you ignore the dependency in an illegal
way.  See below.)

Actually, some defconfigs such as socfpga_*_defconfig define
CONFIG_DM_SPI_FLASH=y, but it never appears in the .config file
because of this wrong dependency.

On the other hand, all the Tegra boards enable DM_SPI_FLASH because

  config DM_SPI_FLASH
          default y

silently ignores the dependency.
Unfortunately, this style of CONFIG definition is abused everywhere
in U-Boot, so we easily miss such a wrong dependency.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agodm: usb: Add a README for driver model
Simon Glass [Wed, 25 Mar 2015 18:23:08 +0000 (12:23 -0600)]
dm: usb: Add a README for driver model

Add some documentation describing how USB is implemented with USB. This
might make things easier for people to understand.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agodm: usb: Add tests for the USB uclass
Simon Glass [Wed, 25 Mar 2015 18:23:05 +0000 (12:23 -0600)]
dm: usb: Add tests for the USB uclass

This adds a simple test for probing and a functional test using the flash
stick emulator, which tests a large chunk of the USB stack.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
9 years agodm: test: Allow 'dm test' to select a particular test to run
Simon Glass [Wed, 25 Mar 2015 18:23:04 +0000 (12:23 -0600)]
dm: test: Allow 'dm test' to select a particular test to run

As well as running all tests, it is useful to be able to run a selected test.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
9 years agodm: test: Correct printf() output nit in 'dm uclass'
Simon Glass [Wed, 25 Mar 2015 18:23:03 +0000 (12:23 -0600)]
dm: test: Correct printf() output nit in 'dm uclass'

Neither the hyphen nor the equals sign is needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
9 years agodm: usb: sandbox: Enable USB
Simon Glass [Wed, 25 Mar 2015 18:23:02 +0000 (12:23 -0600)]
dm: usb: sandbox: Enable USB

Enable USB emulation and associated features so that USB can be used in
sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
9 years agodm: usb: Tidy up pipe value decoding
Simon Glass [Wed, 25 Mar 2015 18:23:01 +0000 (12:23 -0600)]
dm: usb: Tidy up pipe value decoding

Add a few more shifts/masks to make it easier to decode a pipe value (rather
than just building it). We need this for USB device emulation.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
9 years agodm: usb: Add a generic descriptor struct
Simon Glass [Wed, 25 Mar 2015 18:23:00 +0000 (12:23 -0600)]
dm: usb: Add a generic descriptor struct

This is useful for creating lists of descriptors, and is better than using
void * for this purpose.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
9 years agodm: usb: exynos: Enable both EHCI and XHCI on snow
Simon Glass [Wed, 25 Mar 2015 18:22:58 +0000 (12:22 -0600)]
dm: usb: exynos: Enable both EHCI and XHCI on snow

Since we can support both controllers now, enable this in the device tree.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>