oweals/u-boot.git
14 years agoda850evm: basic MII EMAC support
Ben Gardiner [Thu, 14 Oct 2010 21:26:29 +0000 (17:26 -0400)]
da850evm: basic MII EMAC support

The current da850evm support in u-boot/master omits any use of
the davinci EMAC. This patch adds basic support for the EMAC using
the MII PHY found on the baseboard of the EVM. The MAC address is
read from the environment variable 'ethadd'. Note that this is
different from the da850evm support in the u-boot omapl1 tree
where the MAC address is read from SPI flash.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Sandeep Paulraj <s-paulraj@ti.com>
CC: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
CC: Ben Warren <biggerbadderben@gmail.com>
CC: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm: add mtdpart and ubi commands with NAND support
Ben Gardiner [Thu, 14 Oct 2010 21:26:27 +0000 (17:26 -0400)]
da850evm: add mtdpart and ubi commands with NAND support

This patch enables also the mtdpart, ubi and ubifs commands when NAND support
is enabled.

Signed-off-by: Ben Gardiner<bengardiner@nanometrics.ca>
To: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm: setup NAND support under CONFIG_USE_NAND
Ben Gardiner [Thu, 14 Oct 2010 21:26:25 +0000 (17:26 -0400)]
da850evm: setup NAND support under CONFIG_USE_NAND

The current da850evm config is missing the pieces for NAND support that can be
found in Sandeep's u-boot-davinci tree [1].

This patch adds NAND support in the spirit of the support in the u-boot-davinci
tree where NAND support for the da850evm can be enabled by putting a single
'#define CONFIG_USE_NAND' at the top of the include/configs/da850evm.h file.

[1] http://arago-project.org/git/people/?p=sandeep/u-boot-davinci.git;a=tree

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm: setup the NAND flash timings
Ben Gardiner [Thu, 14 Oct 2010 21:26:22 +0000 (17:26 -0400)]
da850evm: setup the NAND flash timings

The default NAND flash timings are very conservative. This patch assigns the
timings reccomended in the recent linux kernel patch [1] from Sekhar Nori. The
speedup, as reported in that patch, is 5.3x for reads.

[1] http://www.spinics.net/lists/arm-kernel/msg100278.html

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm : enable NAND even when not in NAND boot mode
Ben Gardiner [Thu, 14 Oct 2010 21:26:19 +0000 (17:26 -0400)]
da850evm : enable NAND even when not in NAND boot mode

There is currently no NAND pinmux enabled by the da850evm board setup code.
This is fine when booting from NAND since the early boot code (UBL) will setup
the pinmux; however, when the boot mode is any other setting NAND is unusable
when enabled in the config.

This patch adds a pinmux list for NAND and enables it when NAND is enabled in
the config. Tested by booting from SPI on the da850evm and verifying NAND
was usable.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Nick Thompson <nick.thompson@ge.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agodavinci_nand, trivial : use symbolic ECC start command
Ben Gardiner [Thu, 14 Oct 2010 21:26:17 +0000 (17:26 -0400)]
davinci_nand, trivial : use symbolic ECC start command

The ECC calculations were started by writing 1 << 13 to the nand FCR register;
that value is also defined as DAVINCI_NANDFCR_4BIT_CALC_START in emif_defs.h.

This patch substitutes the macro DAVINCI_NANDFCR_4BIT_CALC_START for the
magic number '1 << 13'.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoOMAP3: Add support for the OMAP3 IGEP module.
Enric Balletbo i Serra [Thu, 14 Oct 2010 20:57:39 +0000 (16:57 -0400)]
OMAP3: Add support for the OMAP3 IGEP module.

The IGEP module is a low-power, high performance production-ready
system-on-module (SOM) based on TI's OMAP3 family.The IGEP module
solution based upon TI OMAP3 provides a low-power/low-cost platform
for a variety of consumer/industrial/medical devices.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoOMAP3: Add support for the IGEP v2 board.
Enric Balletbo i Serra [Thu, 14 Oct 2010 20:54:59 +0000 (16:54 -0400)]
OMAP3: Add support for the IGEP v2 board.

The IGEP v2 board is a low-cost, fan-less and industrial temperature
range single board computer that unleashes laptop-like performance and
expandability without the bulk, expense, or noise of typical desktop
machines. Its architecture shares much in common with other OMAP3 boards.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Acked-by: Steve Sakoman <steve.sakoman@linaro.org>
Tested-by: Steve Sakoman <steve.sakoman@linaro.org>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoOMAP3: SDRC: Introduce Numonyx DDR type
Enric Balletbo i Serra [Thu, 14 Oct 2010 20:53:27 +0000 (16:53 -0400)]
OMAP3: SDRC: Introduce Numonyx DDR type

Introduce Numonyx DDR timings and provide CONFIG_OMAP3_NUMONYX_DDR
config options to allow for platform files to setup their timings.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Acked-by: Steve Sakoman <steve.sakoman@linaro.org>
Tested-by: Steve Sakoman <steve.sakoman@linaro.org>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoARMV7: OMAP4: Implement relocation for Panda and OMAP4430SDP
Steve Sakoman [Thu, 30 Sep 2010 03:59:51 +0000 (20:59 -0700)]
ARMV7: OMAP4: Implement relocation for Panda and OMAP4430SDP

This patch fixes the build breakage introduced by the recent relocation
changes for ARMV7

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP3: Fix bug in get_sdr_cs_offset()
Steve Sakoman [Fri, 1 Oct 2010 04:46:52 +0000 (21:46 -0700)]
ARMV7: OMAP3: Fix bug in get_sdr_cs_offset()

This patch fixes a typo in the routine to calculate the cs offset
based upon the contents of the SDRC cs_cfg register.  This function
mistakenly shifts the CS1STARTLOW field 17 bits right instead of
17 bits left.

This hasn't been an issue to date because all OMAP3 boards currently
are configured to have zeros in this field.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org>
14 years agoARMV7: OMAP3: Enable cache support on Overo
Steve Sakoman [Wed, 29 Sep 2010 20:58:34 +0000 (13:58 -0700)]
ARMV7: OMAP3: Enable cache support on Overo

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP3: Implement relocation for Overo
Steve Sakoman [Wed, 29 Sep 2010 20:54:19 +0000 (13:54 -0700)]
ARMV7: OMAP3: Implement relocation for Overo

This patch fixes the build breakage introduced by the recent relocation
changes for ARMV7

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Enable saveenv to eMMC for SDP4430
Sukumar Ghorai [Tue, 14 Sep 2010 08:22:34 +0000 (13:52 +0530)]
ARMV7: OMAP4: Enable saveenv to eMMC for SDP4430

The SDP4430 does not have onboard NAND, it has eMMC on the second
MMC slot.  This patch adds support for saving the u-boot environment
to eMMC.

Signed-off-by: Aneesh V <aneesh@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Use generic mmc driver on Overo
Steve Sakoman [Mon, 20 Sep 2010 04:21:07 +0000 (21:21 -0700)]
ARMV7: OMAP4: Use generic mmc driver on Overo

This patch switches from the legacy mmc driver to the new generic mmc driver

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Use generic mmc driver on Beagle
Steve Sakoman [Mon, 20 Sep 2010 04:19:48 +0000 (21:19 -0700)]
ARMV7: OMAP4: Use generic mmc driver on Beagle

This patch switches from the legacy mmc driver to the new generic mmc driver

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Use generic mmc driver on SDP4430
Sukumar Ghorai [Sun, 19 Sep 2010 03:59:54 +0000 (20:59 -0700)]
ARMV7: OMAP4: Use generic mmc driver on SDP4430

This patch switches from the legacy mmc driver to the new generic mmc driver

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Use generic mmc driver on Panda
Sukumar Ghorai [Sun, 19 Sep 2010 03:56:18 +0000 (20:56 -0700)]
ARMV7: OMAP4: Use generic mmc driver on Panda

This patch switches from the legacy mmc driver to the new generic mmc driver

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP: Add new mmc driver compatible with CONFIG_GENERIC_MMC
Sukumar Ghorai [Sun, 19 Sep 2010 03:32:33 +0000 (20:32 -0700)]
ARMV7: OMAP: Add new mmc driver compatible with CONFIG_GENERIC_MMC

OMAP boards currently use a legacy mmc driver. This patch adds a new
mmc driver which will work with the generic mmc driver in u-boot.

This new driver will work with both OMAP3 and OMAP4 boards.

This patch does not remove the old driver.  It should remain in the
tree until all boards that use it switch to the new driver.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
14 years agoMMC: Fix for capacity calculation on eMMC
Sukumar Ghorai [Mon, 20 Sep 2010 12:59:29 +0000 (18:29 +0530)]
MMC: Fix for capacity calculation on eMMC

  The current mmc driver returns erroneous capacity information for
  eMMC.  The capacity of eMMC devices is available only in the ext-CSD
  register.  This patch add code to read the ext-CDSD register and
  correctly calculate eMMC capacity.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Acked-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP: Use default vendor/product ID for USB gadget
Steve Sakoman [Mon, 27 Sep 2010 21:46:34 +0000 (14:46 -0700)]
ARMV7: OMAP: Use default vendor/product ID for USB gadget

TI hasn't reserved a USB Product ID for gadgets, so use the default
vendor and product ID to avoid confusion.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-imx
Wolfgang Denk [Sun, 17 Oct 2010 17:57:38 +0000 (19:57 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-imx

14 years agomx51evk: add u-boot.imx to ALL target
Loic Minier [Wed, 13 Oct 2010 20:37:14 +0000 (14:37 -0600)]
mx51evk: add u-boot.imx to ALL target

Signed-off-by: Loic Minier <loic.minier@linaro.org>
CC: stefano babic <sbabic@denx.de>
14 years agoenv_mmc: Fix crashing bug encountered after enabling ARM relocation
Steve Sakoman [Mon, 11 Oct 2010 12:51:39 +0000 (05:51 -0700)]
env_mmc: Fix crashing bug encountered after enabling ARM relocation

The crash was occuring in env_relocate because it was being called prior
to mmc_initialize.  This patch moves the MMC initialization earlier in
the init process.

This patch also cleans up the env_relocate_spec code in env_mmc.c

Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org>
Acked-by: Stefano Babic <sbabic@denx.de>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Wed, 13 Oct 2010 18:59:47 +0000 (20:59 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

14 years agoMerge branch 'sf' of git://git.denx.de/u-boot-blackfin
Wolfgang Denk [Wed, 13 Oct 2010 18:58:51 +0000 (20:58 +0200)]
Merge branch 'sf' of git://git.denx.de/u-boot-blackfin

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Wolfgang Denk [Wed, 13 Oct 2010 18:57:34 +0000 (20:57 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

14 years agocommon/fdt_support.c: fix compile error
Matthew McClintock [Wed, 13 Oct 2010 11:39:26 +0000 (13:39 +0200)]
common/fdt_support.c: fix compile error

Fix build error introduced in beca5a5f5bf0d88125580e5e9c1730469cd50ab8

common/libcommon.a(fdt_support.o): In function `fdt_add_edid':
/local/hudson/jobs/mirrors-u-boot.git/workspace/common/fdt_support.c:1205: undefined reference to `fdt_increase_size'
make: *** [u-boot] Error 1

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
14 years agoMX31: Add USB Host support to the QONG board
Stefano Babic [Tue, 5 Oct 2010 12:05:11 +0000 (14:05 +0200)]
MX31: Add USB Host support to the QONG board

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoMX31: Add support for MXC EHCI controller
Stefano Babic [Wed, 6 Oct 2010 07:00:01 +0000 (09:00 +0200)]
MX31: Add support for MXC EHCI controller

The patch adds the EHCI controller for the i.MX31 Soc.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoMX31: add support for setting pin pads
Stefano Babic [Wed, 6 Oct 2010 06:59:26 +0000 (08:59 +0200)]
MX31: add support for setting pin pads

The patch adds a utility function and defines
to set the pad as it is done in linux.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoMX31: Add support to update FPGA bitstream
Stefano Babic [Tue, 29 Jun 2010 09:48:24 +0000 (11:48 +0200)]
MX31: Add support to update FPGA bitstream

The patch adds the possibility to update the QONG
FPGA (a Lattice XP2-5E) with u-boot using some GPIOs
to drive the JTAG interface.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoMX31: Adding missing iomux pin to MX.31 registers
Stefano Babic [Fri, 1 Oct 2010 10:34:34 +0000 (12:34 +0200)]
MX31: Adding missing iomux pin to MX.31 registers

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoFPGA: add support for downloading Lattice bitstream
Stefano Babic [Tue, 29 Jun 2010 09:47:48 +0000 (11:47 +0200)]
FPGA: add support for downloading Lattice bitstream

The patch adds support to load a Lattice's bitstream
image (called VME file) into a Lattice FPGA. The code
containing the state machine delivered as part of
Lattice's ispVMtools is integrated.

The FPGA is programmed using the JTAG interface. The
board maintainer must provide accessors to drive the
JTAG signals TCK, TMS, TDI and to get the value of the
input signal TDO.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agousb: musb: only write CLRDATATOG when appropriate
Bryan Wu [Mon, 9 Aug 2010 18:58:24 +0000 (14:58 -0400)]
usb: musb: only write CLRDATATOG when appropriate

This is a change similar to what is already in the Linux driver.  We
should only program the CLRDATATOG bit when the current mode indicates
that it is needed.

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agousb: Add support for multiple-LUN mass storage devices
Ludovic Courtès [Tue, 5 Oct 2010 20:04:26 +0000 (22:04 +0200)]
usb: Add support for multiple-LUN mass storage devices

This patch changes `usb_stor_scan' to scan all the LUNs of each mass
storage device.  It also fixes the various commands to correctly set
the LUN field.

Notably, it allows each LUN of GuruPlug's microSD card reader to be
accessed.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoUSB-CDC: Prevent rx_req being enqueued twice
Vitaly Kuzmichev [Wed, 22 Sep 2010 09:13:56 +0000 (13:13 +0400)]
USB-CDC: Prevent rx_req being enqueued twice

After gadget reinitializaton (after tftp has been done once)
packet_received may become equal to 1 due to nuking OUT_EP
while disabling it in eth_reset_config.

rx_submit called from usb_eth_init queues rx_req first time.
But the first call of usb_eth_recv from NetLoop queues rx_req
again due to packet_received = 1.

The following flow shows the path of functions calls when
this happens:

 net/net.c:NetLoop
 |
 +-net/eth.c:eth_init
 |   ether.c:usb_eth_init
 |   |
 |   +-udc_driver:usb_gadget_handle_interrupts
 |   |   udc_driver:...
 |   |     ether.c:eth_setup
 |   |       ether.c:eth_set_config
 |   |         ether.c:eth_reset_config
 |   |           udc_driver:usb_ep_disable
 |   |             udc_driver:nuke
 |   |               ether.c:rx_complete
 |   |                 ether.c: packet_received = 1;
 |   |
 |   +-ether.c:rx_submit
 |       udc_driver:usb_ep_queue --- The first time when rx_req is queued
 |
 +-net/eth.c:eth_rx
     ether.c:usb_eth_recv
     |
     +-udc_driver:usb_gadget_handle_interrupts
     |   udc_driver:... --- no interrupts, returning
     +-ether.c: if (packet_received) { ...
         ether.c:rx_submit
           udc_driver:usb_ep_queue --- The second time!

Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
14 years agoUSB-CDC: Fix tx/rx_req memory leaks
Vitaly Kuzmichev [Wed, 22 Sep 2010 09:13:55 +0000 (13:13 +0400)]
USB-CDC: Fix tx/rx_req memory leaks

Remove and fix needless and destructive operations with tx/rx_req.

1) 'req' in rx_complete is always not NULL and always equals to rx_req
2) Free allocated tx_req if rx_req allocation has failed
3) Do not zero out tx/rx_req in usb_eth_init, leave this for
eth_reset_config which will be called at the next use of usb0
4) Additional check in usb_eth_recv is not required

Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
14 years agoUSB: Make non-bulk delay longer in OHCI
Marek Vasut [Mon, 20 Sep 2010 01:57:25 +0000 (03:57 +0200)]
USB: Make non-bulk delay longer in OHCI

This fixes TIMEOUT with my Kingston 32GB USB3.0 flashdrive, which I experienced
on my PXA270 (USB 1.1) Vpac270 board.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
14 years agoboard/armltd/integrator/split_by_variant.sh: fix 'echo -n'
Andreas Bießmann [Fri, 24 Sep 2010 19:20:40 +0000 (21:20 +0200)]
board/armltd/integrator/split_by_variant.sh: fix 'echo -n'

This patch fixes an error when running MAKEALL for ARM9.

On OS X /bin/sh uses builtin echo which does not utilise '-n' switch.
GNU manual for builtins recomend to use here-document style to solve
this portability issue.

This patch removes the usage of 'echo -n' and replace by here-document
style or a oneline echo command.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
CC: Peter Pearse <peter.pearse@arm.com>
14 years agoARMV7: Fixed baudrate setting in pl01x driver
Matt Waddel [Thu, 7 Oct 2010 21:48:46 +0000 (15:48 -0600)]
ARMV7: Fixed baudrate setting in pl01x driver

The pl01x serial driver was lacking the code to switch baudrates from the
command line.  Fixed by simply saving the new baudrate and calling
serial_init() again.  Also fixed CamelCase variables, I/O accessors and
comment style.

Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
14 years agoARMV7: Versatile Express Coretile CortexA9x4 support
Matt Waddel [Thu, 7 Oct 2010 21:48:45 +0000 (15:48 -0600)]
ARMV7: Versatile Express Coretile CortexA9x4 support

Adds support for the ARM quad-core Cortex-A9 processor

This system includes a motherboard(Versatile Express), daughterboard
(Coretile), and SOC(Cortex-A9 quad core).  The serial port, ethernet,
and flash systems work with these additions.  The naming convention
is:
   SOC -> CortexA9 quad core = ca9x4
   daughterboard -> Coretile = ct
   motherboard -> Versatile Express = vxp
This gives ca9x4_ct_vxp.c as the board support file.

Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
14 years agoarch/arm/include/asm/sizes.h: cleanups
Andreas Bießmann [Fri, 24 Sep 2010 21:31:43 +0000 (23:31 +0200)]
arch/arm/include/asm/sizes.h: cleanups

Merge several sizes.h in asm/arch subdirectories into a single
asm/sizes.h file.

Fixup usage of asm/arch/sizes.h in some files to use the merged file.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-marvell
Wolfgang Denk [Wed, 13 Oct 2010 07:59:13 +0000 (09:59 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-marvell

14 years agoARM: relocation: don't undef CONFIG_SYS_ARM_WITHOUT_RELOC
Ben Gardiner [Wed, 22 Sep 2010 21:32:49 +0000 (17:32 -0400)]
ARM: relocation: don't undef CONFIG_SYS_ARM_WITHOUT_RELOC

There were some #undef's of CONFIG_SYS_ARM_WITHOUT_RELOC added to a few board
configs as part of the arm relocation series; but these are not needed now as we
do not #undef what is not #defined in the first place.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Heiko Schocher <hs@denx.de>
14 years agoARM: relocation: fix typo in comment
Heiko Schocher [Wed, 22 Sep 2010 12:06:33 +0000 (14:06 +0200)]
ARM: relocation: fix typo in comment

Signed-off-by: Heiko Schocher <hs@denx.de>
14 years agoKirkwood: Changes specific to ARM relocation support
Prafulla Wadaskar [Thu, 30 Sep 2010 17:27:02 +0000 (22:57 +0530)]
Kirkwood: Changes specific to ARM relocation support

All Kirkwood based boards are supported for this new implementation
ref: docs/README.arm-relocation

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agokirkwood: added common config file mv-common.h
Prafulla Wadaskar [Thu, 30 Sep 2010 17:23:43 +0000 (22:53 +0530)]
kirkwood: added common config file mv-common.h

It is observed that, in most of the board configs the code is being
duplicated, also for any common change all board files needs update
This issue was under discussion from long on mailing list and we
converge on introducing common config file.

With this patch-
1. Total Kirkwood specific configuration code is reduced by 210 lines
2. All common configuration can be shared by multiple boards
3. Easy to manage common updates like ARM relocation changes

mv-common.h file is added to include/configs/
It contains all common configuration supported for all Kirkwood boards
The respective board configs are updated for its usage

Build tested for guruplug, mv88f6281gtw_ge, openrd_base,
rd6281a and sheevaplug
Binary execution tested for sheevaplug

Todo:
1. Other custom Kirkwood boards to be synced
2. The support to be extended for Orion5X based boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoKirkwood: dram_init is moved to dram.c
Prafulla Wadaskar [Thu, 30 Sep 2010 14:03:19 +0000 (19:33 +0530)]
Kirkwood: dram_init is moved to dram.c

For all Kirkwood boards so far dram_init function is duplicated
dram_init function is moved to dram.c and relevant code from all
board specific files removed

If any board needs specific dram init handling than standard one,
then, a macro CONFIG_SYS_BOARD_DRAM_INIT should be defined in
board config header file and the dram_init function can be put
in board specific source file
For ex. keymile boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoorion5x: optimize window size computation
Albert Aribaud [Thu, 7 Oct 2010 14:49:53 +0000 (20:19 +0530)]
orion5x: optimize window size computation

Signed-off-by: Chris Moore <moore@free.fr>
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoKirkwood: print_cpuinfo fixed for valid devid revid
Prafulla Wadaskar [Mon, 20 Sep 2010 11:49:42 +0000 (17:19 +0530)]
Kirkwood: print_cpuinfo fixed for valid devid revid

Earlier Device Identification register was used to detect
the type for SoC, considering 88F6282 support to be added,
It is not possible to detect the same using current
algorithm.

With this patch, device ID is being read using PCIE devid
register, also valid chip revision ID will also be read and
displayed

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agomvsata_ide: adjust port init sequence
Albert Aribaud [Thu, 16 Sep 2010 15:00:30 +0000 (20:30 +0530)]
mvsata_ide: adjust port init sequence

mvsata_ide_initialize_port(): adjust init sequence (SStatus
should be checked only after all writes to SControl) and
return success/failure to ide_preinit().

Also, as some tests showed init durations in the hundreds
of us, raise the time-out to 01 ms to be on the safe side.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agosf: turn probe switch into a lookup table
Reinhard Meyer [Tue, 5 Oct 2010 14:56:39 +0000 (16:56 +0200)]
sf: turn probe switch into a lookup table

This allows for arbitrarily long manufacturer ids following the JEDEC
standard of 0x7f continuation bytes.  It also makes adding new entries
easier as it's just one element in an array.  The downside is that it
increases code size a bit, but we're talking ~50 bytes.

Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoTSI148: Fix argument parsing
Brent Darley [Wed, 29 Sep 2010 18:50:17 +0000 (13:50 -0500)]
TSI148: Fix argument parsing

This patch does 2 things:
 - Fix the argument number assigned to the vdw (VME data width) value.
   Previously, a nonexistent 7th arument was read as the vdw variable.

 - Reduce the size of the argument array for the tsi148 command from
   8 to 7.  The tsi148 command itself is argument index 0, and the
   maximum number arguments passed to the command is 6, making a total
   of 7 for the array.

Signed-off-by: Brent Darley <bdarley@xes-inc.com>
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agopowerpc: Remove warm reset entry point
Peter Tyser [Wed, 15 Sep 2010 00:13:53 +0000 (19:13 -0500)]
powerpc: Remove warm reset entry point

No boards utilize the warm reset entry point, so remove it.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoppmc7xx: Use _start as reset entry point
Peter Tyser [Wed, 15 Sep 2010 00:13:52 +0000 (19:13 -0500)]
ppmc7xx: Use _start as reset entry point

Previously the _warm_start label was used as an entry point.  These 2
entry points should be functionally identical after the removal of the
BOOTFLAG_WARM define.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agopowerpc: Zero out board info struct on bootup
Peter Tyser [Wed, 15 Sep 2010 00:13:51 +0000 (19:13 -0500)]
powerpc: Zero out board info struct on bootup

This puts the board info struct in a known state and allows the removal
of other code which initialized board info fields to 0.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agocp/cmp: Add WATCHDOG_RESET in copy and compare loop
Stefan Roese [Mon, 13 Sep 2010 09:10:34 +0000 (11:10 +0200)]
cp/cmp: Add WATCHDOG_RESET in copy and compare loop

On some boards with a very short watchdog timeout, the "cp" and
"cmp" commands may reset the board. This patch adds some
watchdog resets inside the loops. Otherwise for example the lwmon5
board will reset while doing something like this:

=> cp.b fc000000 1000000 100000

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoexamples/standalone: Use gcc's -fno-toplevel-reorder
Peter Tyser [Sun, 12 Sep 2010 22:38:49 +0000 (17:38 -0500)]
examples/standalone: Use gcc's -fno-toplevel-reorder

Using -fno-toplevel-reorder causes gcc to not reorder functions.  This
ensures that an application's entry point will be the first function in
the application's source file.

This change, along with commit 620bbba524fbaa26971a5004793010b169824f1b
should cause a standalone application's entry point to be at the base of
the compiled binary.  Previously, the entry point could change depending
on gcc version and flags.

Note -fno-toplevel-reorder is only available in gcc version 4.2 or
greater.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoa4m072: support for SHOW_BOOT_PROGRESS feature using LED display
Ilya Yanok [Thu, 9 Sep 2010 21:03:34 +0000 (23:03 +0200)]
a4m072: support for SHOW_BOOT_PROGRESS feature using LED display

This patch adds support for displaying boot progress codes on a4m072 board
using LED display. As we can display only one symbol at any time on the hardware
(two symbols with blinking) we can't display progress codes directly and have
to map them to 2-symbol codes.
We use the following mapping on the a4m972 board:
 [1, 8] U [100, 108] -> 5
 [-9, -1] U [-101, -100] U [-113, -103] -> -5
 [9, 14] U [120, 123] U [125, 129] -> 8
 [-13, -10] U [-122, -120] U [-127, -124] U {-129} -> -8
 {15} -> 9
 [-32, -30] -> -A
 [-40, -35] U [-51, -42] U [-58, -53] U
[-83, -80] U {-64, -130, -140, -150} -> -B

Other progress code are ignored. One symbol codes are displayed steady while
two-symbol codes are displayed using blinking. Boot progress codes are
displayed with decimal got unset (as opposed to 'display' command output).

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
14 years agoa4m072: led display support
Ilya Yanok [Thu, 9 Sep 2010 21:03:33 +0000 (23:03 +0200)]
a4m072: led display support

This patch adds support for LED display on a4m072 board. Hardware is
capable of displaying only one symbol at any time. We support displaying
two symbols in software (via blinking).

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
14 years agoled_display: split led display support into generic and hw-dependent parts
Ilya Yanok [Thu, 9 Sep 2010 21:03:32 +0000 (23:03 +0200)]
led_display: split led display support into generic and hw-dependent parts

Split the display command into generic interface and hardware-specific
realization for PDSP188x LED display found on hmi1001 and manroland
boards. Simple interface for LED displays is defined in
include/led-display.h and described in doc/README.LED_display.
Driver-specific implementation was moved into drivers/misc/pdsp188x.c
file (enabled with CONFIG_PDSP188x set).

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
14 years agoA4M072: Added support for the board.
Sergei Poselenov [Thu, 9 Sep 2010 21:03:31 +0000 (23:03 +0200)]
A4M072: Added support for the board.

This patch provides support for the A4M072 board with the following features:
 UART
 NOR flash
 FEC Ethernet
 External SRAM
 I2C EEPROM
 CompactFlash cards on IDE/ATA port
 USB Host
 PCI initialization

The 7-segment LED indicator is not yet supported.

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
14 years agoVFAT: fix processing of scattered long file name entries
Mikhail Zolotaryov [Wed, 8 Sep 2010 14:06:03 +0000 (17:06 +0300)]
VFAT: fix processing of scattered long file name entries

The U-Boot code has the following bugs related to the processing of Long File
Name (LFN) entries scattered across several clusters/sectors :

1) get_vfatname() function is designed to gather scattered LFN entries by
cluster chain processing - that doesn't work for FAT12/16 root directory.
In other words, the function expects the following input data:
 1.1) FAT32 directory (which is cluster chain based);
        OR
 1.2) FAT12/16 non-root directory (which is also cluster chain based);
        OR
 1.3) FAT12/16 root directory (allocated as contiguous sectors area), but
 all necessary information MUST be within the input buffer of filesystem cluster
 size (thus cluster-chain jump is never initiated).

In order to accomplish the last condition, root directory parsing code in
do_fat_read() uses the following trick: read-out cluster-size block, process
only first sector (512 bytes), then shift 512 forward, read-out cluster-size
block and so on. This works great unless cluster size is equal to 512 bytes
(in a case you have a small partition), or long file name entries are scattered
across three sectors, see 4) for details.

2) Despite of the fact that get_vfatname() supports FAT32 root directory
browsing, do_fat_read() function doesn't send current cluster number correctly,
so root directory look-up doesn't work correctly.

3) get_vfatname() doesn't gather scattered entries correctly also is the case
when all LFN entries are located at the end of the source cluster, but real
directory entry (which must be returned) is at the only beginning of the
next one. No error detected, the resulting directory entry returned contains
a semi-random information (wrong size, wrong start cluster number and so on)
i.e. the entry is not accessible.

4) LFN (VFAT) allows up to 20 entries (slots) each containing 26 bytes (13
UTF-16 code units) to represent a single long file name i.e. up to 520 bytes.
U-Boot allocates 256 bytes buffer instead, i.e. 10 or more LFN slots record
may cause buffer overflow / memory corruption.
Also, it's worth to mention that 20+1 slots occupy 672 bytes space which may
take more than one cluster of 512 bytes (medium-size FAT32 or small FAT16
partition) - get_vfatname() function doesn't support such case as well.

The patch attached fixes these problems in the following way:
- keep using 256 bytes buffer for a long file name, but safely prevent a
possible buffer overflow (skip LFN processing, if it contains 10 or more
slots).

- explicitly specify FAT12/16 root directory parsing buffer size, instead
of relying on cluster size. The value used is a double sector size (to store
current sector and the next one). This fixes the first problem and increases
performance on big FAT12/16 partitions;

- send current cluster number (FAT32) to get_vfatname() during root
directory processing;

- use LFN counter to seek the real directory entry in get_vfatname() - fixes the
third problem;

- skip deleted entries in the root directory (to prevent bogus buffer
overflow detection and LFN counter steps).

Note: it's not advised to split up the patch, because a separate part may
operate incorrectly.

Signed-off-by: Mikhail Zolotaryov <lebon@lebon.org.ua>
14 years agotools/imls: fix comment in Makefile
Daniel Hobi [Mon, 11 Oct 2010 16:03:35 +0000 (18:03 +0200)]
tools/imls: fix comment in Makefile

Commit d984fed0 (makefiles: fixes for building build tools)
changed the variable name FIT_CFLAGS to HOSTCFLAGS_NOPED
but forgot to update to corresponding comment.

Signed-off-by: Daniel Hobi <daniel.hobi@schmid-telecom.ch>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Wolfgang Denk <wd@denx.de>
14 years agoenv: don't set to default env twice when use CONFIG_ENV_IS_NOWHERE
Lei Wen [Sun, 10 Oct 2010 04:36:40 +0000 (12:36 +0800)]
env: don't set to default env twice when use CONFIG_ENV_IS_NOWHERE

When use the CONFIG_ENV_IS_NOWHERE, I met such issue:

DRAM:  256 MiB
Using default environment

*** Warning - bad CRC, using default environment

Signed-off-by: Lei Wen <leiwen@marvell.com>
14 years agozlib: Add further watchdog reset calls
Stefan Roese [Wed, 8 Sep 2010 13:35:31 +0000 (15:35 +0200)]
zlib: Add further watchdog reset calls

Patch 253cb831 [zlib: add watchdog reset call] added already a few
watchdog reset calls to the new zlib U-Boot port. But on some boards
this is not enough. Additional calls are needed on boards with
short watchdog timeouts.

This was detected and tested on the lwmon5 board with a very short
watchdog timeout. Without this patch, the board resets during Linux
kernel decompression. With it, the decompression succeeds.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
14 years agozlib/gunzip: Use WATCHDOG_RESET macro
Stefan Roese [Wed, 8 Sep 2010 13:34:58 +0000 (15:34 +0200)]
zlib/gunzip: Use WATCHDOG_RESET macro

As usually done in U-Boot, the watchdog_reset code is called via a
macro (WATCHDOG_RESET). In zlib.c this was done differently, by using
a function pointer which is initialized with WATCHDOG_RESET upon watchdog
usage or with NULL otherwise. This patch now uses the plain
WATCHDOG_RESET macros to call the function resulting in slightly smaller
U-Boot images and simpler code.

U-Boot code size reduction:

PowerPC board with watchdog support (lwmon5):
-> 80 bytes smaller image size

PowerPC board without watchdog support (sequoia):
-> 112 bytes smaller image size

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
14 years agopdm360ng: add EDID property to FDT display node
Anatolij Gustschin [Tue, 17 Aug 2010 15:46:02 +0000 (17:46 +0200)]
pdm360ng: add EDID property to FDT display node

PDM360NG board uses this functionality to pass display
timing info to the Linux Framebuffer driver.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
14 years agofdt_support: support adding EDID property to FDT display nodes
Anatolij Gustschin [Wed, 18 Aug 2010 09:25:20 +0000 (11:25 +0200)]
fdt_support: support adding EDID property to FDT display nodes

Boards can pass display timing info for drivers using EDID
block. Provide common function to add board specific EDID
data to the device tree. Subsequent patch makes use of this
functionality.

Detailed timing descriptor data from EDID is used for
programming the display controller. This is currently
implemented on the Linux side by the fsl-diu-fb frame
buffer driver and it is documented there in
Documentation/powerpc/dts-bindings/fsl/diu.txt.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
Cc: Gerald Van Baren <vanbaren@cideas.com>
14 years agoCONFIG_CMD_JFFS2 is not necessary to use mtdparts on erase & protect on/off
Alexander Stein [Wed, 11 Aug 2010 14:48:04 +0000 (16:48 +0200)]
CONFIG_CMD_JFFS2 is not necessary to use mtdparts on erase & protect on/off

The include <jffs2/jffs2.h> is still necessary though.

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
Acked-by: Stefan Roese <sr@denx.de>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-cfi-flash
Wolfgang Denk [Tue, 12 Oct 2010 18:49:27 +0000 (20:49 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-microblaze
Wolfgang Denk [Tue, 12 Oct 2010 18:48:01 +0000 (20:48 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-microblaze

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Wolfgang Denk [Tue, 12 Oct 2010 18:44:46 +0000 (20:44 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-net

14 years agoKirkwood: Changes specific to ARM relocation support
Prafulla Wadaskar [Thu, 30 Sep 2010 17:27:02 +0000 (22:57 +0530)]
Kirkwood: Changes specific to ARM relocation support

All Kirkwood based boards are supported for this new implementation
ref: docs/README.arm-relocation

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agokirkwood: added common config file mv-common.h
Prafulla Wadaskar [Thu, 30 Sep 2010 17:23:43 +0000 (22:53 +0530)]
kirkwood: added common config file mv-common.h

It is observed that, in most of the board configs the code is being
duplicated, also for any common change all board files needs update
This issue was under discussion from long on mailing list and we
converge on introducing common config file.

With this patch-
1. Total Kirkwood specific configuration code is reduced by 210 lines
2. All common configuration can be shared by multiple boards
3. Easy to manage common updates like ARM relocation changes

mv-common.h file is added to include/configs/
It contains all common configuration supported for all Kirkwood boards
The respective board configs are updated for its usage

Build tested for guruplug, mv88f6281gtw_ge, openrd_base,
rd6281a and sheevaplug
Binary execution tested for sheevaplug

Todo:
1. Other custom Kirkwood boards to be synced
2. The support to be extended for Orion5X based boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoKirkwood: dram_init is moved to dram.c
Prafulla Wadaskar [Thu, 30 Sep 2010 14:03:19 +0000 (19:33 +0530)]
Kirkwood: dram_init is moved to dram.c

For all Kirkwood boards so far dram_init function is duplicated
dram_init function is moved to dram.c and relevant code from all
board specific files removed

If any board needs specific dram init handling than standard one,
then, a macro CONFIG_SYS_BOARD_DRAM_INIT should be defined in
board config header file and the dram_init function can be put
in board specific source file
For ex. keymile boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoorion5x: optimize window size computation
Albert Aribaud [Thu, 7 Oct 2010 14:49:53 +0000 (20:19 +0530)]
orion5x: optimize window size computation

Signed-off-by: Chris Moore <moore@free.fr>
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoKirkwood: print_cpuinfo fixed for valid devid revid
Prafulla Wadaskar [Mon, 20 Sep 2010 11:49:42 +0000 (17:19 +0530)]
Kirkwood: print_cpuinfo fixed for valid devid revid

Earlier Device Identification register was used to detect
the type for SoC, considering 88F6282 support to be added,
It is not possible to detect the same using current
algorithm.

With this patch, device ID is being read using PCIE devid
register, also valid chip revision ID will also be read and
displayed

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agomvsata_ide: adjust port init sequence
Albert Aribaud [Thu, 16 Sep 2010 15:00:30 +0000 (20:30 +0530)]
mvsata_ide: adjust port init sequence

mvsata_ide_initialize_port(): adjust init sequence (SStatus
should be checked only after all writes to SControl) and
return success/failure to ide_preinit().

Also, as some tests showed init durations in the hundreds
of us, raise the time-out to 01 ms to be on the safe side.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agocfi_flash: Fix "Unknown FLASH" error message
John Schmoller [Wed, 29 Sep 2010 18:49:05 +0000 (13:49 -0500)]
cfi_flash: Fix "Unknown FLASH" error message

When a CFI flash chip could not be detected an error message similar to
the following would be printed on bootup:

 FLASH: ## Unknown FLASH on Bank 1 - Size = 0x01000000 = 0 MB

The printf incorrectly converted the flash size into megabytes.  This
patch fixes the printing of the flash size in megabytes:

 FLASH: ## Unknown FLASH on Bank 1 - Size = 0x01000000 = 16 MB

Signed-off-by: John Schmoller <jschmoller@xes-inc.com>
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agomicroblaze: Support little-endian microblaze target
Michal Simek [Thu, 12 Aug 2010 09:47:11 +0000 (11:47 +0200)]
microblaze: Support little-endian microblaze target

Microblaze little-endian toolchain should export
__MICROBLAZEEL__.

Signed-off-by: Michal Simek <monstr@monstr.eu>
14 years agomicroblaze: Add support for NET_MULTI api
Michal Simek [Mon, 2 Aug 2010 12:42:09 +0000 (14:42 +0200)]
microblaze: Add support for NET_MULTI api

Microblaze hasn't supported NET_MULTI support.

Signed-off-by: Michal Simek <monstr@monstr.eu>
14 years agomicroblaze: Fix microblaze-generic config file
Michal Simek [Mon, 2 Aug 2010 12:20:28 +0000 (14:20 +0200)]
microblaze: Fix microblaze-generic config file

1. Fix preprocessor statements
2. Clean coding style

Signed-off-by: Michal Simek <monstr@monstr.eu>
14 years agomicroblaze: generic: rename MTD partition set to 'flash-0'
Stephan Linz [Mon, 21 Jun 2010 20:58:10 +0000 (22:58 +0200)]
microblaze: generic: rename MTD partition set to 'flash-0'

Signed-off-by: Stephan Linz <linz@li-pro.net>
Signed-off-by: Michal Simek <monstr@monstr.eu>
14 years agomicroblaze: generic: adding DHCP support
Stephan Linz [Mon, 21 Jun 2010 20:58:09 +0000 (22:58 +0200)]
microblaze: generic: adding DHCP support

Signed-off-by: Stephan Linz <linz@li-pro.net>
Signed-off-by: Michal Simek <monstr@monstr.eu>
14 years agosmc91111: add write_hwaddr
Thomas Chou [Wed, 6 Oct 2010 01:16:10 +0000 (09:16 +0800)]
smc91111: add write_hwaddr

Add smc_write_hwaddr() to set mac address.
Clear dev before use.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agodavinci_emac: davinci_eth_set_mac_addr to ->write_hwaddr
Ben Gardiner [Thu, 23 Sep 2010 13:58:43 +0000 (09:58 -0400)]
davinci_emac: davinci_eth_set_mac_addr to ->write_hwaddr

This patch proposes to migrate the davinci_emac driver to using the
eth_device->write_hwaddr function pointer as suggested by Ben Warren.

All the davinci boards had the behaviour, prior to this patch, of
sync'ing the environment variable enetaddr with the MAC address read
from non-volatile storage on boot -- when the two locations disagreed,
the environment variable value took precendence. This patch keeps the
same behaviour but lets eth_initialize take care of it.

This patch refactors davinci_emac setup in the boards so that the MAC
address is read from non-volatile storage into the environment variable
and then the environment variable value is use in eth_intialize. The
only exception is the direct call to davinci_eth_set_mac_addr made by
the da830evm board init which was changed into an assignment of the
enetaddr field.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Tested-by: Nick Thompson <nick.thompson@ge.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agonet: Move Emaclite to NET_MULTI
Michal Simek [Mon, 11 Oct 2010 01:41:47 +0000 (11:41 +1000)]
net: Move Emaclite to NET_MULTI

Emaclite was using old net api that's why
this patch move emaclite to NET_MULTI api.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agorarp: Condtionally compile rarp support
Peter Tyser [Thu, 30 Sep 2010 16:25:48 +0000 (11:25 -0500)]
rarp: Condtionally compile rarp support

Most people don't use the 'rarpboot' command, so only enable it when
CONFIG_CMD_RARP is defined.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agonet: Fix emaclite driver to support little-endian microblaze
Michal Simek [Mon, 11 Oct 2010 01:41:46 +0000 (11:41 +1000)]
net: Fix emaclite driver to support little-endian microblaze

Support New emaclite AXI IP.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agompc5xxx_fec: add call to reset_phy() after PHY initialization
Ilya Yanok [Thu, 19 Aug 2010 09:09:06 +0000 (11:09 +0200)]
mpc5xxx_fec: add call to reset_phy() after PHY initialization

Some boards need their board-specific PHY quirks to be called
to PHY to work normally. As mpc5xxx_fec driver uses on demand
PHY initialization and can even reinit PHY during normal operation
we can't count on reset_phy() call from arch/<arch>/lib/board.c
(it is most likely called _before_ we init the PHY from the
driver) so we need to add call to reset_phy() directly in the
driver.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agodrivers/net/at91_emac.c: change return values
Andreas Bießmann [Thu, 7 Oct 2010 07:44:47 +0000 (09:44 +0200)]
drivers/net/at91_emac.c: change return values

Some return values pretended correct pass. This patch changes them according
to README.drivers.net. This patch changes e.g. command 'dhcp' to stop after
errorneous autonegotiation.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agodrivers/net/at91_emac.c: increase timeout for autonegotiation
Andreas Bießmann [Thu, 7 Oct 2010 07:44:46 +0000 (09:44 +0200)]
drivers/net/at91_emac.c: increase timeout for autonegotiation

This patch increases timeout for autonegotiation from 1 second to 3 seconds.
Some boards (e.g. at91rm9200ek) did not negotiate within 1 second.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoNET: add ENC28J60 driver using SPI framework
Reinhard Meyer [Sun, 12 Sep 2010 14:23:49 +0000 (16:23 +0200)]
NET: add ENC28J60 driver using SPI framework

V3: further refinements:
- use priv member instead of container method
- allow setting of MAC address by write_hwaddr method
- avoid shutting down link between commands

Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoUEC PHY: Speed up initial PHY neg.
Joakim Tjernlund [Tue, 10 Aug 2010 14:36:49 +0000 (16:36 +0200)]
UEC PHY: Speed up initial PHY neg.

Instead of always performing an autoneg, check if the PHY
already has a link and if it matches one of the requested
modes. Initially only 100MbFD is optimized this way.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoNet: Remove redundant CONFIG_NET_MULTI directives
Ben Warren [Mon, 2 Aug 2010 06:00:31 +0000 (23:00 -0700)]
Net: Remove redundant CONFIG_NET_MULTI directives

All are within an #ifdef CONFIG_NET_MULTI block already

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoUEC PHY: Remove strange 0.5 sec delay
Joakim Tjernlund [Wed, 11 Aug 2010 09:44:22 +0000 (11:44 +0200)]
UEC PHY: Remove strange 0.5 sec delay

This udelay looks bogus and doesn't help my board.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoUEC: Don't udelay needlessly
Joakim Tjernlund [Wed, 11 Aug 2010 09:44:21 +0000 (11:44 +0200)]
UEC: Don't udelay needlessly

uec_init() adds an udelay(100000) even though
the PHY status read went well, don't do that.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoNET: move legacy enc28j60.c to sidetrack as enc28j60_lpc2292.c
Reinhard Meyer (-VC) [Fri, 6 Aug 2010 16:42:07 +0000 (18:42 +0200)]
NET: move legacy enc28j60.c to sidetrack as enc28j60_lpc2292.c

This patch is required before the upcoming new enc28j60 driver
using SPI framework patch can be applied:
- Move legacy enc28j60.c to enc28j60_lpc2292.c.
- Change Makefile and the two affected boards' definition files.

Tested with ./MAKEALL ARM7 that both boards still compile.

Signed-off-by: Reinhard Meyer<info@emk-elektronik.de>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>