oweals/u-boot.git
11 years agousb: am437x: Add support for am437x xhci USB host
Dan Murphy [Fri, 11 Oct 2013 17:28:18 +0000 (12:28 -0500)]
usb: am437x: Add support for am437x xhci USB host

Add the support for the am437x xhci usb host.

The xHCI host on AM437 is connected to a usb2 phy so need to
add support to enable those clocks.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agousb: dra7xx: Add support for dra7xx xhci USB host
Dan Murphy [Fri, 11 Oct 2013 17:28:17 +0000 (12:28 -0500)]
usb: dra7xx: Add support for dra7xx xhci USB host

Add the support for the dra7xx xhci usb host.
dra7xx does not contain an EHCI controller so the headers
can be removed from the board file.

The xHCI host on dra7xx is connected to a usb2 phy so need to
add support to enable those clocks.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agousb: omap: Move the usb phy code to the usb/phy directory
Dan Murphy [Fri, 11 Oct 2013 17:28:16 +0000 (12:28 -0500)]
usb: omap: Move the usb phy code to the usb/phy directory

Moving the usb/phy code from xhci-omap to the usb/phy directory
and moving the associated phy code over to the new file.

Newer TI processors adding xHCI support will have different PHY configurations
so therefore abstracting this code away will prevent messing around with the
xhci-omap file itself.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agousb: omap5: Update the board_usb_init api
Dan Murphy [Fri, 11 Oct 2013 17:28:15 +0000 (12:28 -0500)]
usb: omap5: Update the board_usb_init api

Recent patches declares board_usb_init function prototype for a new
usb architecture.

Turning on the OMAP_XHCI defines cause a redefinition compiler failure.
So update the board_usb_init to the latest prototype.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agousb: omap: Move the xhci-omap header file to common location
Dan Murphy [Fri, 11 Oct 2013 17:28:14 +0000 (12:28 -0500)]
usb: omap: Move the xhci-omap header file to common location

Moving the xhci-omap header to a more global location so that
other code can reference this code.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agotrats: Update TRATS config to support TIZEN download
Lukasz Majewski [Tue, 8 Oct 2013 12:30:46 +0000 (14:30 +0200)]
trats: Update TRATS config to support TIZEN download

A set of environment variables needs to be updated to provide support for
TIZEN download command (tizendown).

Since DFU is used as a flashing backend, it is also necessary to extent
malloc pool size for DFU buffer allocation.
Moreover, for compatibility reasons (Win vs. Lin) new USB idProduct number
for download gadget had to be added.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
11 years agosamsung:common:thor: Define common Samsung code to handle THOR usb descriptor setup
Lukasz Majewski [Tue, 8 Oct 2013 12:30:45 +0000 (14:30 +0200)]
samsung:common:thor: Define common Samsung code to handle THOR usb descriptor setup

Special, common to Samsung, function for altering usb descriptor's
idVendor and idProduct has been added.
For compatibility reasons (Win vs Linux) the THOR idProduct must be
different than the one for DFU/UMS.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
11 years agocmd:thor: Support for TIZEN's download command (thordown)
Lukasz Majewski [Tue, 8 Oct 2013 12:30:44 +0000 (14:30 +0200)]
cmd:thor: Support for TIZEN's download command (thordown)

New command - thordown - has been added to support downloading data
via lthor TIZEN program.
It is similar to dfu command syntax and reuses its code for flashing data.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
11 years agousb:g_dnl: Support for TIZEN's THOR function in generic download code
Lukasz Majewski [Tue, 8 Oct 2013 12:30:43 +0000 (14:30 +0200)]
usb:g_dnl: Support for TIZEN's THOR function in generic download code

Support of "thor" function in generic download code (g_dnl.c).

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
11 years agousb:g_dnl:f_thor: USB download function to support TIZEN's THOR protocol
Lukasz Majewski [Tue, 8 Oct 2013 12:30:42 +0000 (14:30 +0200)]
usb:g_dnl:f_thor: USB download function to support TIZEN's THOR protocol

Implementation of USB download function which supports THOR protocol.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
11 years agousb:g_dnl: Add name parameter to g_dnl_bind_fixup function
Lukasz Majewski [Tue, 8 Oct 2013 12:30:41 +0000 (14:30 +0200)]
usb:g_dnl: Add name parameter to g_dnl_bind_fixup function

New parameter, namely *name has been added to g_dnl_bind_fixup().
It is necessary (for compatibility reasons) to assign new USB idProduct
and idVendor for different usb functions.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
11 years agousb:g_dnl: Replace static usb_configuration structure with dynamically allocated one
Lukasz Majewski [Tue, 8 Oct 2013 12:30:40 +0000 (14:30 +0200)]
usb:g_dnl: Replace static usb_configuration structure with dynamically allocated one

When the usb_configuration structure is declared as static, it is very
hard to assure, that relevant fields (as e.g. config->interfaces[]) are
cleared out before new call to g_dnl related functions.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
11 years agodfu:core: Export dfu_{get|free}_buf functions
Lukasz Majewski [Tue, 8 Oct 2013 12:30:39 +0000 (14:30 +0200)]
dfu:core: Export dfu_{get|free}_buf functions

Define the dfu_get_buf() and dfu_free_buf() as global functions.
They are necessary for zero copy buffer management, when DFU backend is
used for storing data.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
11 years agodfu:core: Find DFU alt setting number by passing its name
Lukasz Majewski [Tue, 8 Oct 2013 12:30:38 +0000 (14:30 +0200)]
dfu:core: Find DFU alt setting number by passing its name

New function - dfu_get_alt() - has been added to dfu core. If present, it
returns alt setting's number corresponding to passed name.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
11 years agousb:udc:s3c: Reduce dcache invalidate range for UDC receive buffer
Lukasz Majewski [Tue, 8 Oct 2013 12:30:37 +0000 (14:30 +0200)]
usb:udc:s3c: Reduce dcache invalidate range for UDC receive buffer

The s3c udc driver sends data in a max packet size. Therefore the dcache
invalidate range shall be equal to max packet, not the entire
DMA_BUFFER_SIZE.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
11 years agousb:smsx95xx LED activity for USB net driver
Suriyan Ramasami [Tue, 8 Oct 2013 03:30:58 +0000 (20:30 -0700)]
usb:smsx95xx LED activity for USB net driver

Add LED activity for SMSX95XX USB Ether driver.

Signed-off-by: “Suriyan Ramasami" <suriyan.r@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
11 years agousb: new board-specific USB init interface
Mateusz Zalega [Fri, 4 Oct 2013 17:22:26 +0000 (19:22 +0200)]
usb: new board-specific USB init interface

This commit unifies board-specific USB initialization implementations
under one symbol (usb_board_init), declaration of which is available in
usb.h.

New API allows selective initialization of USB controllers whenever needed.

Signed-off-by: Mateusz Zalega <m.zalega@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Lukasz Majewski <l.majewski@samsung.com>
11 years agonitrogen6x: add CONFIG_MV_UDC
Troy Kisky [Thu, 26 Sep 2013 01:41:18 +0000 (18:41 -0700)]
nitrogen6x: add CONFIG_MV_UDC

Also, add other USB related config items.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agonitrogen6x: add otg usb host/device mode support
Troy Kisky [Thu, 26 Sep 2013 01:41:17 +0000 (18:41 -0700)]
nitrogen6x: add otg usb host/device mode support

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agomx6: iomux: add GPR1 defines for use with nitrogen6x
Troy Kisky [Thu, 26 Sep 2013 01:41:16 +0000 (18:41 -0700)]
mx6: iomux: add GPR1 defines for use with nitrogen6x

Select GPIO1 as the USB OTG ID pin for Nitrogen6x

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: clear desc upon ep_disable
Troy Kisky [Thu, 26 Sep 2013 01:41:15 +0000 (18:41 -0700)]
usb: gadget: mv_udc: clear desc upon ep_disable

desc is set at ep_enable, so for symmetry,
clear it at ep_disable.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: zero transfer descriptor memory on probe
Troy Kisky [Thu, 26 Sep 2013 01:41:14 +0000 (18:41 -0700)]
usb: gadget: mv_udc: zero transfer descriptor memory on probe

Since we flush the TD, we may as well set it to a known value.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: flush item before head
Troy Kisky [Thu, 26 Sep 2013 01:41:12 +0000 (18:41 -0700)]
usb: gadget: mv_udc: flush item before head

Make sure the transfer descriptor is flushed
before the queue is updated so that the controller
will not see old information.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: set is_dualspeed = 1
Troy Kisky [Thu, 26 Sep 2013 01:41:09 +0000 (18:41 -0700)]
usb: gadget: mv_udc: set is_dualspeed = 1

This controller support full and high speed.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: fix typo in error message
Troy Kisky [Thu, 26 Sep 2013 01:41:08 +0000 (18:41 -0700)]
usb: gadget: mv_udc: fix typo in error message

Change 'nfo=' to 'info='

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: ether: return error from rx_submit if no request
Troy Kisky [Thu, 26 Sep 2013 01:41:05 +0000 (18:41 -0700)]
usb: gadget: ether: return error from rx_submit if no request

This prevents a crash if tftpboot is given a bad filename.

rx_req will be released by eth_reset_config
which is called by eth_disconnect,
which is called using the .disconnect member of usb_gadget_driver by mv_pullup in mv_udc
which is called using the .pullup member of usb_gadget_ops by usb_gadget_disconnect
which is called by usb_eth_halt
which is called using the .halt member of eth_device by eth_halt
which is called by TftpHandler when TFTP_ERR_FILE_NOT_FOUND or TFTP_ERR_ACCESS_DENIED occurs

I trigger this with the following commands
setenv ipaddr 10.0.0.2 && setenv netmask 255.255.255.0 && setenv serverip 10.0.0.1
setenv usbnet_devaddr 00:11:22:33:44:55 && setenv usbnet_hostaddr 00:aa:bb:cc:dd:ee
setenv ethprime usb_ether && setenv ethact usb_ether && setenv ncip 10.0.0.1
tftpboot 10800000 10.0.0.1:missing_file

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: ether set wMaxPacketSize
Troy Kisky [Thu, 26 Sep 2013 01:41:04 +0000 (18:41 -0700)]
usb: gadget: ether set wMaxPacketSize

set wMaxPacketSize for full speed descriptors
fs_source_desc, fs_sink_desc to 64.

Full-speed bulk endpoint can have a maximum packet size of
8, 16, 32, or 64 bytes, so choice 64.

The hs_source_desc, hs_sink_desc, already have their wMaxPacketSize
set to 512. That is the only legal value for high speed bulk endpoints.

Strictly speaking, this patch is not needed because
usb_ep_autoconfig will call ep_matches which will
override wMaxPacketSize for BULK endpoints only with
the size associated with the endpoint setup by the udc driver.
But if you want to rely on this, you may as well combine the
full speed descriptor with the high speed descriptor to
minimize confusion.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agoOMAP5-uevm: USB: Add xHCI host contoller support
Dan Murphy [Mon, 26 Aug 2013 13:54:53 +0000 (08:54 -0500)]
OMAP5-uevm: USB: Add xHCI host contoller support

Add the call back into the board file for to enable
the SMPS10 VBUS regulator.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agoOMAP5: USB: Add OMAP xHCI file and header
Dan Murphy [Mon, 26 Aug 2013 13:54:52 +0000 (08:54 -0500)]
OMAP5: USB: Add OMAP xHCI file and header

Add the OMAP file for the xHCI Host controller
This code will initilialize the proper components within the
OMAP5 to enable the xHCI host controller.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agoARM: OMAP5: Add registers and defines for USBOTG SS
Dan Murphy [Mon, 26 Aug 2013 13:54:50 +0000 (08:54 -0500)]
ARM: OMAP5: Add registers and defines for USBOTG SS

Add the prcm registers and the bit definitions to enable the
USB SS port of the OMAP5 device.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agoARM: OMAP5: Power: Add new function to turn on SMPS10
Dan Murphy [Mon, 26 Aug 2013 13:54:49 +0000 (08:54 -0500)]
ARM: OMAP5: Power: Add new function to turn on SMPS10

Add new functionality to turn on SMPS10 regulator.
This supplies the VBUS to devices connected to the
USB host ports

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agoexynos: dts: Add USB VBUS GPIOs to the device tree
Julius Werner [Sat, 14 Sep 2013 08:32:53 +0000 (14:02 +0530)]
exynos: dts: Add USB VBUS GPIOs to the device tree

This patch adds a new samsung,vbus-gpio parameter to the device tree, in
preparation of replacing the currently hardcoded VBUS GPIO mechanism in
exynos5-dt.c with a device tree controlled solution, just as it already
exists in the Linux kernel.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Marek Vasut <marex@denx.de>
11 years agoexynos: usb: Switch USB VBUS GPIOs to be device tree configured
Julius Werner [Sat, 14 Sep 2013 08:32:52 +0000 (14:02 +0530)]
exynos: usb: Switch USB VBUS GPIOs to be device tree configured

Some Exynos boards, such as the SMDK5250, control USB port power through
a GPIO pin. For now this had been hardcoded in the exynos5-dt board
file, but not all boards use the same pin, requiring local changes to
support different boards.

This patch moves the GPIO initialization into the USB host controller
drivers which they belong to, and uses the samsung,vbus-gpio parameter
in the device tree to configure it.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Marek Vasut <marex@denx.de>
11 years agotemp: config: exynos5250: Enable xHCI support for Exynos5
Vivek Gautam [Sat, 14 Sep 2013 08:32:51 +0000 (14:02 +0530)]
temp: config: exynos5250: Enable xHCI support for Exynos5

This enables support for xHCI host controller on Exynos5
and further disables EHCI support, to make sure only one
host controller is enabled at a time, since right now
using two controllers at a time is not possible with
current usb core infrastructure.

Anyone who wants to enable EHCI support again needs to
enable CONFIG_USB_EHCI, CONFIG_USB_EHCI_EXYNOS once again
in exynos5-dt config.

Signed-off-by: Vikas C Sajjan <vikas.sajjan@samsung.com>
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Julius Werner <jwerner@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
11 years agoconfig: arm: exynos5250: Define CONFIG_SYS_CACHELINE_SIZE
Vivek Gautam [Sat, 14 Sep 2013 08:32:50 +0000 (14:02 +0530)]
config: arm: exynos5250: Define CONFIG_SYS_CACHELINE_SIZE

XHCI stack driver needs this to align buffers to
CacheLine boundary. So define the same to be '64'

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Julius Werner <jwerner@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
11 years agoexynos5: dts: Add device node for XHCI
Vivek Gautam [Sat, 14 Sep 2013 08:32:49 +0000 (14:02 +0530)]
exynos5: dts: Add device node for XHCI

Adding device node for xhci host controller to enable
usb 3.0 on exynos5250.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Julius Werner <jwerner@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
11 years agoexynos5: dts: Add COMPAT string data for USB 3.0 PHY and XHCI
Vivek Gautam [Sat, 14 Sep 2013 08:32:48 +0000 (14:02 +0530)]
exynos5: dts: Add COMPAT string data for USB 3.0 PHY and XHCI

Adding required compatible string for xHCI host controller
as well as USB 3.0 PHY to enable dt support for usb 3.0 on
exynos5.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Julius Werner <jwerner@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
11 years agoarm: exynos: Add methods to control power to USB 3.0 PHY
Vivek Gautam [Sat, 14 Sep 2013 08:32:47 +0000 (14:02 +0530)]
arm: exynos: Add methods to control power to USB 3.0 PHY

Adding methods to turn on/off power to USB3.0 type PHY
as and when required by the controller.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Julius Werner <jwerner@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
11 years agoUSB: XHCI: Add xHCI host controller support for Exynos5
Vivek Gautam [Sat, 14 Sep 2013 08:32:46 +0000 (14:02 +0530)]
USB: XHCI: Add xHCI host controller support for Exynos5

This adds driver layer for xHCI controller in Samsung's
exynos5 soc. This interacts with xHCI host controller stack.

Signed-off-by: Vikas C Sajjan <vikas.sajjan@samsung.com>
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Julius Werner <jwerner@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
11 years agoUSB: xHCI: Add stack support for xHCI
Vivek Gautam [Sat, 14 Sep 2013 08:32:45 +0000 (14:02 +0530)]
USB: xHCI: Add stack support for xHCI

This adds stack layer for eXtensible Host Controller Interface
which facilitates use of USB 3.0 in host mode.

Adapting xHCI host controller driver in linux-kernel
by Sarah Sharp to needs in u-boot.

Initial porting from Linux kernel version 3.4, with following
top commit history of drivers/usb/host/xhci* :
cf84055 xHCI: Cleanup isoc transfer ring when TD length mismatch found

This adds the basic xHCI host controller driver with bare minimum
features:
- Control/Bulk transfer support has been added with required
  infrastructure for necessary xHC data structures.
- Stream protocol hasn't been supported yet.
- No support for quirky devices has been added.

Signed-off-by: Vikas C Sajjan <vikas.sajjan@samsung.com>
Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
11 years agousb: Move 'bmRequestType' USB device request macros from EHCI header
Vivek Gautam [Sat, 14 Sep 2013 08:32:44 +0000 (14:02 +0530)]
usb: Move 'bmRequestType' USB device request macros from EHCI header

Macros defining bmRequestType field of USB device request,
given in table 9.2 USB 2.0 spec, are rather generic macros
which can be further used by other Host controller stacks.
So moving them to usb_defs header.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Julius Werner <jwerner@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
11 years agoPrepare v2013.10 v2013.10
Tom Rini [Wed, 16 Oct 2013 17:08:12 +0000 (13:08 -0400)]
Prepare v2013.10

Signed-off-by: Tom Rini <trini@ti.com>
11 years agomicroblaze: Fix watchdog initialization
Michal Simek [Wed, 16 Oct 2013 07:06:32 +0000 (09:06 +0200)]
microblaze: Fix watchdog initialization

The patch:
"blackfin: Move blackfin watchdog driver out of the blackfin arch folder."
(sha1: e9a389a18477c1c57a0b30e9ea8f4d38c6e26e63)
changed hw_watchdog_init() prototype which didn't match
with Microblaze one.
This patch fixes the driver and Microblaze initialization.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agocommon: fsl: Fix broken SPDX-License-Identifier change
Michal Simek [Wed, 16 Oct 2013 07:06:31 +0000 (09:06 +0200)]
common: fsl: Fix broken SPDX-License-Identifier change

This bug was introduced by:
"Add GPL-2.0+ SPDX-License-Identifier to source files"
(sha1: 1a4596601fd395f3afb8f82f3f840c5e00bdd57a)

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agomtd: fix warnings due to 64-bit partition support
Scott Wood [Tue, 15 Oct 2013 22:41:27 +0000 (17:41 -0500)]
mtd: fix warnings due to 64-bit partition support

commit 39ac34473f3c96e77cbe03a49141771ed1639486 ("cmd_mtdparts: use 64
bits for flash size, partition size & offset") introduced warnings
in a couple places due to printf formats or pointer casting.

This patch fixes the warnings pointed out here:
http://lists.denx.de/pipermail/u-boot/2013-October/164981.html

Signed-off-by: Scott Wood <scottwood@freescale.com>
Cc: York Sun <yorksun@freescale.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Tom Rini <trini@ti.com>
11 years agospi: mxc_spi: Fix double incrementing read pointer for unaligned buffers
Timo Herbrecher [Tue, 15 Oct 2013 18:35:09 +0000 (00:05 +0530)]
spi: mxc_spi: Fix double incrementing read pointer for unaligned buffers

If dout buffer is not 32 bit-aligned or data to transmit is not multiple
of 32 bit the read data pointer is already incremented on single byte reads.

Signed-off-by: Timo Herbrecher <t.herbrecher@gateware.de>
Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
11 years agosf: probe: Add missing Atmel at25df321 flash
Bo Shen [Thu, 10 Oct 2013 05:07:37 +0000 (13:07 +0800)]
sf: probe: Add missing Atmel at25df321 flash

As the spi flash transfer to multiple parts, it is forgot to add
Atmel AT25DF321 spi flash support, which broken several Atmel EK
boards which this chip. So, add it

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
11 years agospi: Add GPL-2.0+ SPDX-License-Identifier for missing files
Jagannadha Sutradharudu Teki [Mon, 14 Oct 2013 08:01:24 +0000 (13:31 +0530)]
spi: Add GPL-2.0+ SPDX-License-Identifier for missing files

Added GPL-2.0+ SPDX-License-Identifier for missed spi
source files.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
11 years agosf: Add GPL-2.0+ SPDX-License-Identifier for missing ones
Jagannadha Sutradharudu Teki [Thu, 10 Oct 2013 17:02:55 +0000 (22:32 +0530)]
sf: Add GPL-2.0+ SPDX-License-Identifier for missing ones

Added GPL-2.0+ SPDX-License-Identifier for missed sf
source files.

Signed-off-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
Signed-off-by: Bo Shen <voice.shen@atmel.com>
11 years agosf: Minor cleanups.
Jagannadha Sutradharudu Teki [Thu, 10 Oct 2013 16:44:09 +0000 (22:14 +0530)]
sf: Minor cleanups.

- Add comments.
- Renamed few macros.
- Add tabs.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Signed-off-by: Bo Shen <voice.shen@atmel.com>
11 years agosf_ops: Unify bank_sel calculation code
Jagannadha Sutradharudu Teki [Tue, 8 Oct 2013 17:56:47 +0000 (23:26 +0530)]
sf_ops: Unify bank_sel calculation code

Unified the bank_sel calculation code for erase and
write ops.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
11 years agobuildman: Use env to pick the python from $PATH
Jagannadha Sutradharudu Teki [Sat, 28 Sep 2013 17:38:14 +0000 (23:08 +0530)]
buildman: Use env to pick the python from $PATH

python used in buildman doesn't need to be placed in
/usr/bin/python, So use env to ensure that the interpreter
will pick the python from environment.

Usefull with several versions of python's installed on system.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Acked-by: Simon Glass <sjg@chromium.org>
11 years agoMerge branch 'buildman' of git://git.denx.de/u-boot-x86
Tom Rini [Tue, 15 Oct 2013 00:19:56 +0000 (20:19 -0400)]
Merge branch 'buildman' of git://git.denx.de/u-boot-x86

11 years agocmd_sandbox.c: Update for do_(load|save) not taking a number base
Tom Rini [Thu, 10 Oct 2013 14:46:22 +0000 (10:46 -0400)]
cmd_sandbox.c: Update for do_(load|save) not taking a number base

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoPrevent null pointer dereference originating in cmd_pxe.c
Steven Falco [Mon, 7 Oct 2013 13:51:48 +0000 (09:51 -0400)]
Prevent null pointer dereference originating in cmd_pxe.c

Pass a valid cmdtp into do_tftpb(), do_ext2load(), and do_get_fat(), to
avoid possible crashes due to null pointer dereferencing.

Commit d7884e047d08447dfd1374e9fa2fdf7ab36e56f5 does not go far enough.
There is still at least one call chain that can result in a crash.

The do_tftpb(), do_ext2load(), and do_get_fat() functions expect a valid
cmdtp.  Passing in NULL is particularly bad in the do_tftpb() case,
because eventually boot_get_kernel() will be called with a NULL cmdtp:

do_tftpb() -> netboot_common() -> bootm_maybe_autostart() -> do_bootm()
-> do_bootm_states() -> bootm_find_os() -> boot_get_kernel()

Around line 991 in cmd_bootm.c, boot_get_kernel() will dereference the
null pointer, and the board will crash.

Signed-off-by: Steven A. Falco <stevenfalco@gmail.com>
11 years agoCoding Style cleanup: drop some excessive empty lines
Wolfgang Denk [Fri, 4 Oct 2013 15:43:26 +0000 (17:43 +0200)]
Coding Style cleanup: drop some excessive empty lines

Signed-off-by: Wolfgang Denk <wd@denx.de>
11 years agoCoding Style cleanup: remove trailing empty lines
Wolfgang Denk [Fri, 4 Oct 2013 15:43:25 +0000 (17:43 +0200)]
Coding Style cleanup: remove trailing empty lines

Signed-off-by: Wolfgang Denk <wd@denx.de>
11 years agoCoding Style cleanup: replace leading SPACEs by TABs
Wolfgang Denk [Fri, 4 Oct 2013 15:43:24 +0000 (17:43 +0200)]
Coding Style cleanup: replace leading SPACEs by TABs

Signed-off-by: Wolfgang Denk <wd@denx.de>
[trini: Drop changes for PEP 4 following python tools]
Signed-off-by: Tom Rini <trini@ti.com>
11 years agoCoding Style cleanup: remove trailing white space
Wolfgang Denk [Mon, 7 Oct 2013 11:07:26 +0000 (13:07 +0200)]
Coding Style cleanup: remove trailing white space

Signed-off-by: Wolfgang Denk <wd@denx.de>
11 years agoARM: omap4-panda: Add MAC address creation for panda
Dan Murphy [Thu, 10 Oct 2013 13:54:23 +0000 (08:54 -0500)]
ARM: omap4-panda: Add MAC address creation for panda

Add a MAC address create based on the OMAP die ID registers.
Then poplulate the ethaddr enviroment variable so that the device
tree alias can be updated prior to boot.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agopmic: max77686: fix the wrong offset
Jaehoon Chung [Mon, 30 Sep 2013 05:23:37 +0000 (14:23 +0900)]
pmic: max77686: fix the wrong offset

0x1D is reserved. So BUCK3DVS1 is started from 0x1e.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
11 years agoenv_mmc: fix buffer allocation for armv7
Markus Niebel [Fri, 4 Oct 2013 13:48:03 +0000 (15:48 +0200)]
env_mmc: fix buffer allocation for armv7

commit d196bd880347373237d73e0d115b4d51c68cf2ad adds
redundand environment to mmc. The usage of malloc in
env_relocate_spec triggers cache errors on armv7.

Tested on a not mainlined i.MX53 board:

Board: TQMa53
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
ERROR: v7_dcache_inval_range - start address is not aligned - 0x8f57c2d8
ERROR: v7_dcache_inval_range - stop address is not aligned - 0x8f57e2d8
ERROR: v7_dcache_inval_range - start address is not aligned - 0x8f57e2e0
ERROR: v7_dcache_inval_range - stop address is not aligned - 0x8f5802e0
Using default environment

Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
11 years agoenv: dataflash: fix env_init issue
Bo Shen [Tue, 8 Oct 2013 08:30:21 +0000 (16:30 +0800)]
env: dataflash: fix env_init issue

As the SPI controller is not initialized before env_init(), it causes
reading env in dataflash failed. So, although saveenv() successfully,
it shows warning information when reboot the system as following:

  *** Warning - bad CRC, using default environment

Let the env_relocate() to check env CRC and import it.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
11 years agoARM: omap4: Update sdram setting for panda rev A6
Dan Murphy [Wed, 9 Oct 2013 18:53:58 +0000 (13:53 -0500)]
ARM: omap4: Update sdram setting for panda rev A6

OMAP4 panda rev A6 is a 4430 es2.3 IC with an updated memory
part.

The panda rev A6 uses Elpida 2x4Gb memory and no longer uses Micron
so the timings needs to be updated

Signed-off-by: Dan Murphy <dmurphy@ti.com>
11 years agoam335x_evm.h: Make 'am335x_boneblack' use redundant environment
Tom Rini [Thu, 10 Oct 2013 14:25:18 +0000 (10:25 -0400)]
am335x_evm.h: Make 'am335x_boneblack' use redundant environment

Signed-off-by: Tom Rini <trini@ti.com>
11 years ago.gitignore: add auto-generated /include/[s|t]pl-autoconf.mk
Daniel Schwierzeck [Sun, 13 Oct 2013 15:08:02 +0000 (17:08 +0200)]
.gitignore: add auto-generated /include/[s|t]pl-autoconf.mk

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
11 years agoSPDX: document dual license notation
Wolfgang Denk [Tue, 8 Oct 2013 19:53:45 +0000 (21:53 +0200)]
SPDX: document dual license notation

In [1] we discussed how we should deal with dual (or, more generally,
multiple) licensed files.  Add this to  Licenses/README  so it's
properly documented.

[1] http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/166518

Signed-off-by: Wolfgang Denk <wd@denx.de>
[trini: Add the word 'list' to the end of the line, per Stephen Warren's
feedback]
Signed-off-by: Tom Rini <trini@ti.com>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Tom Rini [Mon, 14 Oct 2013 15:20:32 +0000 (11:20 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

11 years agoMerge branch 'master' of git://git.denx.de/u-boot-nand-flash
Tom Rini [Mon, 14 Oct 2013 13:37:51 +0000 (09:37 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash

11 years agoMerge branch 'u-boot-samsung/master' into 'u-boot-arm/master'
Albert ARIBAUD [Fri, 11 Oct 2013 12:47:25 +0000 (14:47 +0200)]
Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'

11 years agobuildman: don't fail --list-toolchains when toolchains fail
Stephen Warren [Wed, 9 Oct 2013 20:28:09 +0000 (14:28 -0600)]
buildman: don't fail --list-toolchains when toolchains fail

When a toolchain invocation fails, an exception is thrown but not caught
which then aborts the entire toolchain detection process. To solve this,
request that exceptions not be thrown, since the toolchain init code
already error-checks the command result. This solves e.g.:

         - found '/usr/bin/winegcc'
Traceback (most recent call last):
...
Exception: Error running '/usr/bin/winegcc --version'

Change-Id: I579c72ab3b021e38b14132893c3375ea257c74f0
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
(formatted to 80cols)

11 years agousb: Prevent using reserved registers on DM36x usb
Andrew Murray [Sun, 29 Sep 2013 17:02:22 +0000 (18:02 +0100)]
usb: Prevent using reserved registers on DM36x usb

The musb driver defines and uses MUSB_CSR0_H_DIS_PING, however this
bit is reserved on the DM36x. Thus this patch ensures that the
reserved bit is not accesssed.

It has been observed that some USB devices will fail to enumerate
with errors such as 'error in inquiry' without this patch.

See http://www.ti.com/litv/pdf/sprufh9a for details.

Cc: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@ti.com>
Signed-off-by: Andrew Murray <amurray@embedded-bits.co.uk>
Acked-by: Marek Vasut <marex@denx.de>
11 years agoomap5_common: Re-work mmc boot to try SD and eMMC, correct root device
Tom Rini [Wed, 9 Oct 2013 14:59:33 +0000 (10:59 -0400)]
omap5_common: Re-work mmc boot to try SD and eMMC, correct root device

OMAP5 boards may have both eMMC (on MMC2) and an SD slot (on MMC1).  We
Update the default bootcmd to match what happens on AM335x where we try
SD first, and then eMMC.  In this case however, the hardware layout used
for powering both of these means that in the kernel eMMC shall be found
first as it is powered by a fixed regulator and SD found second as SD is
powered via the palmas which will result in deferred probing.

Tested-by: Aparna Balasubramanian <aparnab@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
11 years agocmd_ubi: add write.part command, to write a volume in multiple parts
Paul Burton [Wed, 4 Sep 2013 14:16:59 +0000 (15:16 +0100)]
cmd_ubi: add write.part command, to write a volume in multiple parts

This allows you to write data to an UBI volume when the amount of memory
available to write that data from is less than the total size of the
data. For example, you may split a root filesystem UBIFS image into
parts, provide the total size of the image to the first write.part
command and then use multiple write.part commands to write the
subsequent parts of the volume. This results in a sequence of commands
akin to:

  ext4load mmc 0:1 0x80000000 rootfs.ubifs.0
  ubi write.part 0x80000000 root 0x08000000 0x18000000
  ext4load mmc 0:1 0x80000000 rootfs.ubifs.1
  ubi write.part 0x80000000 root 0x08000000
  ext4load mmc 0:1 0x80000000 rootfs.ubifs.2
  ubi write.part 0x80000000 root 0x08000000

This would write 384MiB of data to the UBI volume 'root' whilst only
requiring 128MiB of said data to be held in memory at a time.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Stefan Roese <sr@denx.de>
11 years agocmd_ubi: use int64_t volume size for 'ubi create'
Paul Burton [Wed, 4 Sep 2013 14:16:58 +0000 (15:16 +0100)]
cmd_ubi: use int64_t volume size for 'ubi create'

int64_t matches the bytes field in struct ubi_mkvol_req to which the
size is assigned. With the prior signed 32 bit integer, volumes were
restricted to being less than 2GiB in size.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Stefan Roese <sr@denx.de>
11 years agocmd_mtdparts: use 64 bits for flash size, partition size & offset
Paul Burton [Wed, 4 Sep 2013 14:16:57 +0000 (15:16 +0100)]
cmd_mtdparts: use 64 bits for flash size, partition size & offset

This matches the 64 bit size in struct mtd_info and allows the mtdparts
command to function correctly with a flash >= 4GiB. Format specifiers
for size & offset are given the ll length, matching its use in
drivers/mtd in absence of something like inttypes.h/PRIx64.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Stefan Roese <sr@denx.de>
11 years agomtd: driver _read() returns max_bitflips; mtd_read() returns -EUCLEAN
Paul Burton [Wed, 4 Sep 2013 14:16:56 +0000 (15:16 +0100)]
mtd: driver _read() returns max_bitflips; mtd_read() returns -EUCLEAN

Linux modified the MTD driver interface in commit edbc4540 (with the
same name as this commit). The effect is that calls to mtd_read will
not return -EUCLEAN if the number of ECC-corrected bit errors is below
a certain threshold, which defaults to the strength of the ECC. This
allows -EUCLEAN to stop indicating "some bits were corrected" and begin
indicating "a large number of bits were corrected, the data held in
this region of flash may be lost soon". UBI makes use of this and when
-EUCLEAN is returned from mtd_read it will move data to another block
of flash. Without adopting this interface change UBI on U-boot attempts
to move data between blocks every time a single bit is corrected using
the ECC, which is a very common occurance on some devices.

For some devices where bit errors are common enough, UBI can get stuck
constantly moving data around because each block it attempts to use has
a single bit error. This condition is hit when wear_leveling_worker
attempts to move data from one PEB to another in response to an
-EUCLEAN/UBI_IO_BITFLIPS error. When this happens ubi_eba_copy_leb is
called to perform the data copy, and after the data is written it is
read back to check its validity. If that read returns UBI_IO_BITFLIPS
(in response to an MTD -EUCLEAN) then ubi_eba_copy_leb returns 1 to
wear_leveling worker, which then proceeds to schedule the destination
PEB for erasure. This leads to erase_worker running on the PEB, and
following a successful erase wear_leveling_worker is called which
begins this whole cycle all over again. The end result is that (without
UBI debug output enabled) the boot appears to simply hang whilst in
reality U-boot busily works away at destroying a block of the NAND
flash. Debug output from this situation:

  UBI DBG: ensure_wear_leveling: schedule scrubbing
  UBI DBG: wear_leveling_worker: scrub PEB 1027 to PEB 4083
  UBI DBG: ubi_io_read_vid_hdr: read VID header from PEB 1027
  UBI DBG: ubi_io_read: read 4096 bytes from PEB 1027:4096
  UBI DBG: ubi_eba_copy_leb: copy LEB 0:0, PEB 1027 to PEB 4083
  UBI DBG: ubi_eba_copy_leb: read 1040384 bytes of data
  UBI DBG: ubi_io_read: read 1040384 bytes from PEB 1027:8192
  UBI: fixable bit-flip detected at PEB 1027
  UBI DBG: ubi_io_write_vid_hdr: write VID header to PEB 4083
  UBI DBG: ubi_io_write: write 4096 bytes to PEB 4083:4096
  UBI DBG: ubi_io_read_vid_hdr: read VID header from PEB 4083
  UBI DBG: ubi_io_read: read 4096 bytes from PEB 4083:4096
  UBI DBG: ubi_io_write: write 4096 bytes to PEB 4083:8192
  UBI DBG: ubi_io_read: read 4096 bytes from PEB 4083:8192
  UBI: fixable bit-flip detected at PEB 4083
  UBI DBG: schedule_erase: schedule erasure of PEB 4083, EC 55, torture 0
  UBI DBG: erase_worker: erase PEB 4083 EC 55
  UBI DBG: sync_erase: erase PEB 4083, old EC 55
  UBI DBG: do_sync_erase: erase PEB 4083
  UBI DBG: sync_erase: erased PEB 4083, new EC 56
  UBI DBG: ubi_io_write_ec_hdr: write EC header to PEB 4083
  UBI DBG: ubi_io_write: write 4096 bytes to PEB 4083:0
  UBI DBG: ensure_wear_leveling: schedule scrubbing
  UBI DBG: wear_leveling_worker: scrub PEB 1027 to PEB 4083
  ...

This patch adopts the interface change as in Linux commit edbc4540 in
order to avoid such situations. Given that none of the drivers under
drivers/mtd return -EUCLEAN, this should only affect those using
software ECC. I have tested that it works on a board which is
currently out of tree, but which I hope to be able to begin
upstreaming soon.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Stefan Roese <sr@denx.de>
11 years agokm/scripts: fix ramfs
Andreas Huber [Thu, 4 Jul 2013 13:37:34 +0000 (15:37 +0200)]
km/scripts: fix ramfs

'actual_bank' is not used anymore, instead boot_bank is used.

Signed-off-by: Andreas Huber <andreas.huber@keymile.com>
11 years agopowerpc/km: drop unused CONFIG_SYS_DTT_LOW_TEMP
Holger Brunck [Thu, 4 Jul 2013 13:37:33 +0000 (15:37 +0200)]
powerpc/km: drop unused CONFIG_SYS_DTT_LOW_TEMP

This define is not used in u-boot code, we can drop this define safely.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agokm/common: switch on CMD_GREPENV
Holger Brunck [Thu, 4 Jul 2013 13:37:32 +0000 (15:37 +0200)]
km/common: switch on CMD_GREPENV

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agopowerpc/83xx: remove staticness for qe_iop_conf_tab
Holger Brunck [Thu, 4 Jul 2013 13:37:31 +0000 (15:37 +0200)]
powerpc/83xx: remove staticness for qe_iop_conf_tab

commit a5510058 powerpc/83xx/km: make local functions and structs static

removed the staticness also from this struct. But this struct is needed
in arch/powerpc/cpu/mpc83xx/cpu_init.c and declared as extern.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agoMerge branch 'next' of git://git.denx.de/u-boot-mpc83xx
Tom Rini [Wed, 9 Oct 2013 14:06:40 +0000 (10:06 -0400)]
Merge branch 'next' of git://git.denx.de/u-boot-mpc83xx

11 years agoda850evm.h: Always set CONFIG_CMD_SF, move to by CONFIG_SPI_FLASH
Tom Rini [Tue, 8 Oct 2013 19:08:38 +0000 (15:08 -0400)]
da850evm.h: Always set CONFIG_CMD_SF, move to by CONFIG_SPI_FLASH

When we have CONFIG_SPI_FLASH set we now require CONFIG_CMD_SF.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoRevert "am335x_evm.h: If mmcdev and bootpart switch to mmcdev 1, so should mmcroot."
Tom Rini [Tue, 8 Oct 2013 15:09:17 +0000 (11:09 -0400)]
Revert "am335x_evm.h: If mmcdev and bootpart switch to mmcdev 1, so should mmcroot."

Upon further inspection and review and chatting with kernel folks, what
happens here is that what mmcblk# a device gets is based on probe order.
So a system with an SD card inserted with place eMMC on mmcblk1, but
without an SD card, it will be on mmcblk0.  So U-boot can only provide a
best guess.  In this case, if no SD card is present, we would want to
pass mmcblk0p2 still.  If an SD card is present, it woudl be able to
provide a uEnv.txt that would be loaded (even if the kernel is NOT
there) which can still update mmcroot variable.

This reverts commit 827512fb1154c05c6eb1e2259e936df55c98a535.

Cc: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Tom Rini <trini@ti.com>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Tom Rini [Tue, 8 Oct 2013 13:51:48 +0000 (09:51 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

11 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Tue, 8 Oct 2013 13:03:15 +0000 (09:03 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-spi

11 years agospi: exynos: Support word transfers
Rajeshwari Shinde [Tue, 8 Oct 2013 10:50:06 +0000 (16:20 +0530)]
spi: exynos: Support word transfers

Since SPI register access is so expensive, it is worth transferring data
a word at a time if we can. This complicates the driver unfortunately.

Use the byte-swapping feature to avoid having to convert to/from big
endian in software.

This change increases speed from about 2MB/s to about 4.5MB/s.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
11 years agospi: exynos: Minimise access to SPI FIFO level
Rajeshwari Shinde [Tue, 8 Oct 2013 10:50:05 +0000 (16:20 +0530)]
spi: exynos: Minimise access to SPI FIFO level

Accessing SPI registers is slow, but access to the FIFO level register
in particular seems to be extraordinarily expensive (I measure up to
600ns). Perhaps it is required to synchronise with the SPI byte output
logic which might run at 1/8th of the 40MHz SPI speed (just a guess).

Reduce access to this register by filling up and emptying FIFOs
more completely, rather than just one word each time around the inner
loop.

Since the rxfifo value will now likely be much greater that what we read
before we fill the txfifo, we only fill the txfifo halfway. This is
because if the txfifo is empty, but the rxfifo has data in it, then writing
too much data to the txfifo may overflow the rxfifo as data arrives.

This speeds up SPI flash reading from about 1MB/s to about 2MB/s on snow.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
11 years agospi: exynos: Support a delay after deactivate
Rajeshwari Shinde [Tue, 8 Oct 2013 10:50:04 +0000 (16:20 +0530)]
spi: exynos: Support a delay after deactivate

For devices that need some time to react after a spi transaction
finishes, add the ability to set a delay.

Implement this as a delay on the first/next transaction to avoid
any delay in the fairly common case where a SPI transaction is
followed by other processing.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
11 years agoexynos: Export timer_get_us() to get microsecond timer
Rajeshwari Shinde [Tue, 8 Oct 2013 10:50:03 +0000 (16:20 +0530)]
exynos: Export timer_get_us() to get microsecond timer

This function, if implemented by the board, provides a microsecond
timer. The granularity may be larger than 1us if hardware does not
support this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
11 years agoFix number base handling of "load" command
Wolfgang Denk [Sat, 5 Oct 2013 19:07:25 +0000 (21:07 +0200)]
Fix number base handling of "load" command

As documented, almost all U-Boot commands expect numbers to be entered
in hexadecimal input format. (Exception: for historical reasons, the
"sleep" command takes its argument in decimal input format.)

This rule was broken for the "load" command; for details please see
especially commits 045fa1e "fs: add filesystem switch libary,
implement ls and fsload commands" and 3f83c87 "fs: fix number base
behaviour change in fatload/ext*load".  In the result, the load
command would always require an explicit "0x" prefix for regular
(i. e. base 16 formatted) input.

Change this to use the standard notation of base 16 input format.
While strictly speaking this is a change of the user interface, we
hope that it will not cause trouble.  Stephen Warren comments (see
[1]):

        I suppose you can change the behaviour if you want; anyone
        writing "0x..." for their values presumably won't be
        affected, and if people really do assume all values in U-Boot
        are in hex, presumably nobody currently relies upon using
        non-prefixed values with the generic load command, since it
        doesn't work like that right now.

[1] http://article.gmane.org/gmane.comp.boot-loaders.u-boot/171172

Acked-by: Tom Rini <trini@ti.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
11 years agosocfpga: Adding pin mux handoff files
Chin Liang See [Wed, 11 Sep 2013 16:26:10 +0000 (11:26 -0500)]
socfpga: Adding pin mux handoff files

Adding the generated pin mux configuration by Preloader
Generator tool

Signed-off-by: Chin Liang See <clsee@altera.com>
Reviewed-by: Pavel Machek <pavel@denx.de>
Acked-by: Dinh Nguyen <dinguyen@altera.com>
Cc: Wolfgang Denk <wd@denx.de>
CC: Pavel Machek <pavel@denx.de>
Cc: Dinh Nguyen <dinguyen@altera.com>
Cc: Tom Rini <trini@ti.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
11 years agosocfpga: Adding System Manager driver
Chin Liang See [Wed, 11 Sep 2013 16:24:48 +0000 (11:24 -0500)]
socfpga: Adding System Manager driver

Adding System Manager driver which will configure the
pin mux for real hardware Cyclone V development kit
(not Virtual Platform)

Signed-off-by: Chin Liang See <clsee@altera.com>
Reviewed-by: Pavel Machek <pavel@denx.de>
Acked-by: Dinh Nguyen <dinguyen@altera.com>
Cc: Wolfgang Denk <wd@denx.de>
CC: Pavel Machek <pavel@denx.de>
Cc: Dinh Nguyen <dinguyen@altera.com>
Cc: Tom Rini <trini@ti.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
11 years agoomap1510inn: arm925t: remove support
Albert ARIBAUD [Mon, 23 Sep 2013 17:11:38 +0000 (19:11 +0200)]
omap1510inn: arm925t: remove support

omap1510inn is orphan and has been for years now.
Reove it and, as it was the only arm925t target,
also remove arm925t support.
Update doc/README.scrapyard accordingly.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
11 years agodoc: SPI: Update SPI status track
Jagannadha Sutradharudu Teki [Mon, 7 Oct 2013 12:03:20 +0000 (17:33 +0530)]
doc: SPI: Update SPI status track

Updated SPI/status.txt, with memory_map and TODO.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
11 years agosf: ramtron: Remove page_size print
Jagannadha Sutradharudu Teki [Mon, 7 Oct 2013 11:51:20 +0000 (17:21 +0530)]
sf: ramtron: Remove page_size print

There is no page_size for ramtron flashes,
so just print the detected flash and it's size.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
11 years agosf: Minor cleanups
Jagannadha Sutradharudu Teki [Mon, 7 Oct 2013 14:04:56 +0000 (19:34 +0530)]
sf: Minor cleanups

- Add spaces, tabs
- Commenting.
- Rearrange code.
- Add static qualifier for missing func.
- Remove memory_map from ramtron.c
- Ramtron: spi_flash_internal.h -> sf_internal.h

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
11 years agoREADME: qspi usecase and testing documentation.
Poddar, Sourav [Mon, 7 Oct 2013 10:23:04 +0000 (15:53 +0530)]
README: qspi usecase and testing documentation.

Contains documentation and testing details for qspi flash
interface.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
11 years agodra7xx_evm: add SPL API, QSPI, and serial flash support
Matt Porter [Mon, 7 Oct 2013 10:23:03 +0000 (15:53 +0530)]
dra7xx_evm: add SPL API, QSPI, and serial flash support

Enables support for SPI SPL, QSPI and Spansion serial flash device
on the EVM. Configures pin muxes for QSPI mode.

Signed-off-by: Matt Porter <matt.porter@linaro.org>
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
11 years agospi: add TI QSPI driver
Matt Porter [Mon, 7 Oct 2013 10:23:02 +0000 (15:53 +0530)]
spi: add TI QSPI driver

Adds a SPI master driver for the TI QSPI peripheral.
- Added quad read support.
- Added memory mapped support.

Signed-off-by: Matt Porter <matt.porter@linaro.org>
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>