oweals/u-boot.git
11 years agopowerpc/usb:Define CONFIG_USB_MAX_CONTROLLER_COUNT for all 85xx socs
ramneek mehresh [Fri, 18 Oct 2013 12:10:17 +0000 (17:40 +0530)]
powerpc/usb:Define CONFIG_USB_MAX_CONTROLLER_COUNT for all 85xx socs

CONFIG_USB_MAX_CONTROLLER_COUNT macro recently defined for
initializing all USB controllers on a given platform. This
macro is defined for all 85xx socs

Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
11 years agopowerpc/c29xpcie: add DDR ECC on off config setting
Po Liu [Thu, 26 Sep 2013 01:40:11 +0000 (09:40 +0800)]
powerpc/c29xpcie: add DDR ECC on off config setting

c29xpcie REV_A board DDR ECC chip has bad impedance in hardware,
force that kind of board to be DDR ECC off when booting.
Other version board config ECC on/off by hwconfig=fsl_ddr:ecc=on
in uboot enviroment.

Signed-off-by: Po Liu <Po.Liu@freescale.com>
Acked-by: York Sun <yorksun@freescale.com>
11 years agousb: rename board_usb_init_type to usb_init_type
Troy Kisky [Tue, 22 Oct 2013 21:27:17 +0000 (14:27 -0700)]
usb: rename board_usb_init_type to usb_init_type

commit bba679144d25b91bcd7befff5a96728a30875f54
"usb: rename board_usb_init_type to usb_init_type" missed xhci-omap.c
So, fix that patch here, and fix a checkpatch warning.
WARNING: Avoid unnecessary line continuations

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agoarm: rmobile: armadillo-800eva: Change clock definition of SCIF and TMU
Nobuhiro Iwamatsu [Mon, 30 Sep 2013 01:30:41 +0000 (10:30 +0900)]
arm: rmobile: armadillo-800eva: Change clock definition of SCIF and TMU

This changes clock definition of SCIF from CONFIG_SYS_CLK_FREQ to
CONFIG_SH_SCIF_CLK_FREQ, and clock definition of TMU from CONFIG_SYS_CLK_FREQ to
CONFIG_SH_TMU_CLK_FREQ,

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
CC: Albert Aribaud <albert.u.boot@aribaud.net>
11 years agoarm: rmobile: kzm9g: Change clock definition of SCIF from CONFIG_SYS_CLK_FREQ to...
Nobuhiro Iwamatsu [Mon, 30 Sep 2013 01:30:40 +0000 (10:30 +0900)]
arm: rmobile: kzm9g: Change clock definition of SCIF from CONFIG_SYS_CLK_FREQ to CONFIG_SH_SCIF_CLK_FREQ

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
CC: Albert Aribaud <albert.u.boot@aribaud.net>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Tue, 22 Oct 2013 12:37:46 +0000 (08:37 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

11 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Mon, 21 Oct 2013 12:10:36 +0000 (08:10 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

11 years agousb: udc: add udc.h include file
Troy Kisky [Thu, 10 Oct 2013 22:28:04 +0000 (15:28 -0700)]
usb: udc: add udc.h include file

Move common definitions to udc.h
This allows musb_udc.h to be removed as well.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: split mv_udc.h file
Troy Kisky [Thu, 10 Oct 2013 22:28:03 +0000 (15:28 -0700)]
usb: gadget: mv_udc: split mv_udc.h file

Move defines only needed by mv_udc.c to a file
in the same directory.

This allows usbtty to compile for mv_udc,
but it still doesn't link.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: optimize ep_enable
Troy Kisky [Thu, 10 Oct 2013 22:28:02 +0000 (15:28 -0700)]
usb: gadget: mv_udc: optimize ep_enable

Only get head if not ep0.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: optimize bounce
Troy Kisky [Thu, 10 Oct 2013 22:28:01 +0000 (15:28 -0700)]
usb: gadget: mv_udc: optimize bounce

Only perform one copy, either in the bounce
routine for IN transfers, or the debounce
rtn for OUT transfer.

On out transfers, only copy the number
of bytes received from the bounce buffer

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: fix full speed connections
Troy Kisky [Thu, 10 Oct 2013 22:28:00 +0000 (15:28 -0700)]
usb: gadget: mv_udc: fix full speed connections

Set maximum packet length in queue header to wMaxPacketSize
of endpoint.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: ehci-mx6: add support for otg port
Troy Kisky [Thu, 10 Oct 2013 22:27:59 +0000 (15:27 -0700)]
usb: ehci-mx6: add support for otg port

Previously, only host1 was supported using an index of 0.
Now, otg has index 0, host1 is 1, host2 is 2, host3 is 3.
Since OTG requires usbmode to be set after reset, I added
CONFIG_EHCI_HCD_INIT_AFTER_RESET to nitrogen6x.h and
mx6qsabreauto.h.

I also added a weak function board_ehci_power to handle
turning power on/off for otg.

Type is type of device connected (USB stick vs Host.)
Init is type of device desired.
Only power up port if type == init == USB_INIT_HOST.
Only return error if type != init.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: gadget: mv_udc: don't check CONFIG_USB_MAX_CONTROLLER_COUNT
Troy Kisky [Thu, 10 Oct 2013 22:27:58 +0000 (15:27 -0700)]
usb: gadget: mv_udc: don't check CONFIG_USB_MAX_CONTROLLER_COUNT

i.mx6 has 1 otg controller, and 3 host ports. So,
CONFIG_USB_MAX_CONTROLLER_COUNT can be greater than 1
even though only 1 device mode controller is supported.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init.
Troy Kisky [Thu, 10 Oct 2013 22:27:57 +0000 (15:27 -0700)]
usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init.

This paramter will later be used to initialize OTG ports in
host or device mode.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: add enum usb_init_type parameter to usb_lowlevel_init
Troy Kisky [Thu, 10 Oct 2013 22:27:56 +0000 (15:27 -0700)]
usb: add enum usb_init_type parameter to usb_lowlevel_init

This parameter will later be used to verify OTG ports.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agousb: rename board_usb_init_type to usb_init_type
Troy Kisky [Thu, 10 Oct 2013 22:27:55 +0000 (15:27 -0700)]
usb: rename board_usb_init_type to usb_init_type

This will be used by usb_lowlevel_init so it will
no longer be used by only board specific functions.

Move definition of enum usb_init_type higher in file
so that it will be available for usb_low_level_init.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
11 years agoARM: omap5-evm: Move MAC creation to misc_init
Dan Murphy [Fri, 11 Oct 2013 17:28:19 +0000 (12:28 -0500)]
ARM: omap5-evm: Move MAC creation to misc_init

Move the MAC creation from the USB init to an function
that is called on every boot.  This will then populate the
usbethaddr mac that kernel driver can pick up from the
device tree blob.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
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 agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Tom Rini [Thu, 17 Oct 2013 16:09:49 +0000 (12:09 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c

11 years agoi2c: eliminate warnings in i2c_reloc_fixup function
Masahiro Yamada [Wed, 16 Oct 2013 04:53:02 +0000 (13:53 +0900)]
i2c: eliminate warnings in i2c_reloc_fixup function

The prototype of handlers had changed.
This commit uses cast with (void *) rather than
the handler-specific prototype.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
11 years agoREADME: I2C: Fix indent
Nobuhiro Iwamatsu [Fri, 11 Oct 2013 07:23:53 +0000 (16:23 +0900)]
README: I2C: Fix indent

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
11 years agoi2c: s3c24xx: add hsi2c controller support
Naveen Krishna Ch [Tue, 15 Oct 2013 10:32:44 +0000 (16:02 +0530)]
i2c: s3c24xx: add hsi2c controller support

Add support for hsi2c controller available on exynos5420.

Note: driver currently supports only fast speed mode 100kbps

Change-Id: I02555b1dc8f4ac21c50aa5158179768563c92f43
Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Signed-off-by: R. Chandrasekar <rc.sekar@samsung.com>
11 years agoexynos: i2c: Change FDT bus setup code to enumerate ports correctly
Simon Glass [Tue, 15 Oct 2013 10:32:10 +0000 (16:02 +0530)]
exynos: i2c: Change FDT bus setup code to enumerate ports correctly

At present the i2c ports are enumerated in a strange way - the
fdtdec_find_aliases_for_id() function is used, but then the ID returned
is ignored and the ports are renumbered. The effect is the same provided
that the device tree has the ports in the same order, or uses aliases,
and has no gaps, but it is not correct.

Adjust the code to use the function as intended. This will allows device
tree aliases to change the device order if required.

As a result, the i2c_busses variable is dropped. We can't be sure that
there are no 'holes' in the list of buses, so must check the whole
array.

Note: it seems that non-FDT operation is now broken in this drive and
will need to be reinstated for upstream.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/59369
Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
11 years agoexynos: i2c: Fix i2c driver to handle NACKs properly
Naveen Krishna Ch [Tue, 15 Oct 2013 10:31:43 +0000 (16:01 +0530)]
exynos: i2c: Fix i2c driver to handle NACKs properly

The Exynos5 i2c driver does not handle NACKs properly. This change:

- fixes the NACK processing problem (do not continue transaction if
  address cycle was NACKed)

- eliminates a fair amount of duplicate code

Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Simon Glass <sjg@google.com>
Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
11 years agoFix: nommu I2C adapter relocation error
Jens Scharsig (BuS Elektronik) [Mon, 14 Oct 2013 08:27:38 +0000 (10:27 +0200)]
Fix: nommu I2C adapter relocation error

NoMMU systems have a access violation problem with i2c_reloc_fixup.
Blame for it is a double relocation of the adapter itself. The
i2c_adap_p is already relocated, if i2c_reloc_fixup is called.
This patch removes the relocation of i2c_adap_p from i2c_reloc_fixup
to fix this.

Signed-off-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
11 years agoi2c: sh_i2c: Avoid using I2C prior to relocation
Nobuhiro Iwamatsu [Fri, 11 Oct 2013 07:23:54 +0000 (16:23 +0900)]
i2c: sh_i2c: Avoid using I2C prior to relocation

If user uses the I2C in before the relocation, board of sh and rmobile
will not start. This will solve this problem.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
11 years agoi2c, core: optimze i2c_set_bus_num()
Heiko Schocher [Fri, 4 Oct 2013 05:36:34 +0000 (07:36 +0200)]
i2c, core: optimze i2c_set_bus_num()

check first, if we are on the bus, we want to enable. If so,
return immediately, do not calc max adapter number, nor check
other things.

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
11 years agoi2c: Add support for Renesas rcar
Nobuhiro Iwamatsu [Fri, 27 Sep 2013 07:58:30 +0000 (16:58 +0900)]
i2c: Add support for Renesas rcar

This supports i2c controller for Renesas rcar.

Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
11 years agoi2c: Zynq: Support for TI PCA9548 bus multiplexer
Michael Burr [Mon, 23 Sep 2013 22:35:45 +0000 (22:35 +0000)]
i2c: Zynq: Support for TI PCA9548 bus multiplexer

(Interface is not quite the same as Phillips PCA9547.)

Signed-off-by: Michael Burr <michael.burr@logicpd.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Michal Simek <monstr@monstr.eu>
11 years agoi2c: update config using mxc driver to new subsystem
trem [Sat, 21 Sep 2013 16:13:36 +0000 (18:13 +0200)]
i2c: update config using mxc driver to new subsystem

Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
11 years agoi2c: mxc: move to new subsystem
trem [Sat, 21 Sep 2013 16:13:35 +0000 (18:13 +0200)]
i2c: mxc: move to new subsystem

Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
11 years agoi2c: fix init on generic board
trem [Sat, 21 Sep 2013 16:13:34 +0000 (18:13 +0200)]
i2c: fix init on generic board

On generic board, the i2c init initialize only
one bus. But the new i2c subsystem allow to
manage severals i2c bus. So in the case, instead
of initializing a bus, we just set the current
i2c bus. The initialization will be done in
the i2c command.

Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
11 years agoserial: sh: Add support R8A7791
Nobuhiro Iwamatsu [Tue, 10 Sep 2013 01:26:04 +0000 (10:26 +0900)]
serial: sh: Add support R8A7791

This adds the preset value to register for R8A7791.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
11 years agoserial: sh: Add support R8A7790
Nobuhiro Iwamatsu [Tue, 23 Jul 2013 04:58:20 +0000 (13:58 +0900)]
serial: sh: Add support R8A7790

This adds the preset value to register, and setup of baudrate.

Signed-off-by: Kouei Abe <kouei.abe.cp@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
11 years agosh: boards: Change clock definition of SCIF and TMU
Nobuhiro Iwamatsu [Wed, 21 Aug 2013 07:11:21 +0000 (16:11 +0900)]
sh: boards: Change clock definition of SCIF and TMU

This changes clock definition of SCIF from CONFIG_SYS_CLK_FREQ to
CONFIG_SH_SCIF_CLK_FREQ, and clock definition of TMU from CONFIG_SYS_CLK_FREQ to
CONFIG_SH_TMU_CLK_FREQ for boards.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
CC: Albert Aribaud <albert.u.boot@aribaud.net>
11 years agoserial: sh: Change definition of clock of SCIF
Nobuhiro Iwamatsu [Tue, 20 Aug 2013 01:31:53 +0000 (10:31 +0900)]
serial: sh: Change definition of clock of SCIF

The former SH/SCIF driver had calculated baudrate based on CONFIG_SYS_CLK_FREQ.
The newest SH/SCIF needs calculation of the clock for SCIF.
This patch defines clock CONFIG_SH_SCIF_CLK_FREQ for SCIF and changes it to
CONFIG_SH_SCIF_CLK_FREQ from CONFIG_SYS_CLK_FREQ.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
CC: Albert Aribaud <albert.u.boot@aribaud.net>
11 years agosh: timer: Change definition of clock of TMU
Nobuhiro Iwamatsu [Tue, 20 Aug 2013 02:40:24 +0000 (11:40 +0900)]
sh: timer: Change definition of clock of TMU

The former SH/TMU driver had calculated timer based on CONFIG_SYS_CLK_FREQ.
The newest SH/TMU newly needs calculation of the clock for TMU.
This patch defines clock CONFIG_SH_TMU_CLK_FREQ for TMU and changes it to
CONFIG_SH_TMU_CLK_FREQ from CONFIG_SYS_CLK_FREQ.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
11 years agosh: cache: Change cache API to defines as U-Boot
Nobuhiro Iwamatsu [Wed, 21 Aug 2013 23:43:47 +0000 (08:43 +0900)]
sh: cache: Change cache API to defines as U-Boot

A chache API of SH is developped by reference in linux kernel.
And API was the same as the linux kernel.
This patch change cache API to defines as U-Boot.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
11 years agosh: timer: Remove static global variable
Nobuhiro Iwamatsu [Tue, 20 Aug 2013 05:33:15 +0000 (14:33 +0900)]
sh: timer: Remove static global variable

"static u16 bit" is not necessary to use this as static global variable.
This patch fixes this.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
11 years agosh: timer: Mask bit of timer prescaler
Nobuhiro Iwamatsu [Tue, 23 Jul 2013 04:57:24 +0000 (13:57 +0900)]
sh: timer: Mask bit of timer prescaler

timer_init function sets timer prescaler bit.
The previous code so did not mask this bit, this function was to overwrite
the bit. This will fix this problem.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
11 years agoPCIe:change the method to get the address of a requested capability in configuration...
Zhao Qiang [Sat, 12 Oct 2013 05:46:33 +0000 (13:46 +0800)]
PCIe:change the method to get the address of a requested capability in configuration space.

Previously, the address of a requested capability is define like that
"#define PCI_DCR 0x78"
But, the addresses of capabilities is different with regard to PCIe revs.
So this method is not flexible.

Now a function to get the address of a requested capability is added and used.
It can get the address dynamically by capability ID.
The step of this function:
1. Read Status register in PCIe configuration space to confirm that
   Capabilities List is valid.
2. Find the address of Capabilities Pointer Register.
3. Find the address of requested capability from the first capability.

Signed-off-by: Zhao Qiang <B45475@freescale.com>
11 years agoboards/c29xpcie: Update TLB and LAW size for IFC NAND, CPLD
Prabhakar Kushwaha [Tue, 24 Sep 2013 10:28:35 +0000 (15:58 +0530)]
boards/c29xpcie: Update TLB and LAW size for IFC NAND, CPLD

 NAND,CPLD AMASK register is programmed for 64K size.

so Update TLB & LAW size accordingly.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
11 years agopowerpc/mpc85xx: Add workaround for erratum A006379
York Sun [Mon, 16 Sep 2013 19:49:31 +0000 (12:49 -0700)]
powerpc/mpc85xx: Add workaround for erratum A006379

Erratum A006379 says CPCHDBCR0 bit field [10:14] has incorrect default
value after POR. The workaround is to set this field before enabling
CPC to 0x1e.

Erratum A006379 applies to
T4240 rev 1.0
B4860 rev 1.0, 2.0

Signed-off-by: York Sun <yorksun@freescale.com>
11 years agopowerpc/p1010rdb: add p1010rdb-pb support with updating p1010rdb-pa
Shengzhou Liu [Fri, 13 Sep 2013 06:46:03 +0000 (14:46 +0800)]
powerpc/p1010rdb: add p1010rdb-pb support with updating p1010rdb-pa

- Rename old P1010RDB board as P1010RDB-PA.
- Add support for new P1010RDB-PB board.
- Some optimization.

For more details, see board/freescale/p1010rdb/README.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
[York Sun: fix conflicts in boards.cfg]
Acked-by: York Sun <yorksun@freescale.com>
11 years agoboard/p1010rdb: add pin mux and sdhc support in any boot
Shengzhou Liu [Fri, 13 Sep 2013 06:46:02 +0000 (14:46 +0800)]
board/p1010rdb: add pin mux and sdhc support in any boot

Since pins multiplexing, SDHC shares signals with IFC, with this patch:
To enable SDHC in case of NOR/NAND/SPI boot
   a) For temporary use case in runtime without reboot system
      run 'mux sdhc' in u-boot to validate SDHC with invalidating IFC.
   b) For long-term use case
      set 'esdhc' in hwconfig and save it.
To enable IFC in case of SD boot
   a) For temporary use case in runtime without reboot system
      run 'mux ifc' in u-boot to validate IFC with invalidating SDHC.
   b) For long-term use case
      set 'ifc' in hwconfig and save it.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
11 years agopowerpc/eeprom: update MAX_NUM_PORTS to adapt non-256-bytes EEPROM
Shengzhou Liu [Fri, 13 Sep 2013 06:46:01 +0000 (14:46 +0800)]
powerpc/eeprom: update MAX_NUM_PORTS to adapt non-256-bytes EEPROM

Some boards use System EEPROM with 128-bytes instead of 256-bytes.
Since we regard 256-bytes EEPROM as standard EEPROM with default
value for MAX_NUM_PORTS. For those non-256-bytes EEPROM, we can
redefine MAX_NUM_PORTS in board-specific file to override the
default MAX_NUM_PORTS.

This patch doesn't impact on previous existing boards.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
11 years agopowerpc/p1010rdb: remove unused cpld_show
Shengzhou Liu [Fri, 13 Sep 2013 06:46:00 +0000 (14:46 +0800)]
powerpc/p1010rdb: remove unused cpld_show

Function cpld_show() was for debug and not called, so clean it.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
11 years agopowerpc/t1040qds: Add T1040QDS board
Prabhakar Kushwaha [Thu, 12 Sep 2013 05:41:28 +0000 (11:11 +0530)]
powerpc/t1040qds: Add T1040QDS board

T1040QDS is a high-performance computing evaluation, development and
test platform supporting the T1040 QorIQ Power Architecture™ processor.

 T1040QDS board Overview
 -----------------------
 - Four e5500 cores, each with a private 256 KB L2 cache
 - 256 KB shared L3 CoreNet platform cache (CPC)
 - Interconnect CoreNet platform
 - 32-/64-bit DDR3L/DDR4 SDRAM memory controller with ECC and interleaving
   support
 - Data Path Acceleration Architecture (DPAA) incorporating acceleration
 for the following functions:
    -  Packet parsing, classification, and distribution
    -  Queue management for scheduling, packet sequencing, and congestion
     management
    -  Cryptography Acceleration
    - RegEx Pattern Matching Acceleration
    - IEEE Std 1588 support
    - Hardware buffer management for buffer allocation and deallocation
 - Ethernet interfaces
    - Integrated 8-port Gigabit Ethernet switch
    - Four 1 Gbps Ethernet controllers
 - SERDES Connections, 8 lanes supporting:
      — PCI Express: supporting Gen 1 and Gen 2;
      — SGMII
      — QSGMII
      — SATA 2.0
      — Aurora debug with dedicated connectors
 - DDR Controller 32-/64-bit DDR3L/DDR4 SDRAM memory controller with ECC and
   Interleaving
 -IFC/Local Bus
     - NAND flash: 8-bit, async, up to 2GB.
     - NOR: 8-bit or 16-bit, non-multiplexed, up to 512MB
     - GASIC: Simple (minimal) target within Qixis FPGA
     - PromJET rapid memory download support
 - Ethernet
     - Two on-board RGMII 10/100/1G ethernet ports.
     - PHY #0 remains powered up during deep-sleep
 - QIXIS System Logic FPGA
 - Clocks
     - System and DDR clock (SYSCLK, “DDRCLK”)
     - SERDES clocks
 - Power Supplies
 - Video
     - DIU supports video at up to 1280x1024x32bpp
 - USB
     - Supports two USB 2.0 ports with integrated PHYs
     — Two type A ports with 5V@1.5A per port.
     — Second port can be converted to OTG mini-AB
 - SDHC
     - SDHC port connects directly to an adapter card slot, featuring:
     - Supporting SD slots for: SD, SDHC (1x, 4x, 8x) and/or MMC
     — Supporting eMMC memory devices
 - SPI
    -  On-board support of 3 different devices and sizes
 - Other IO
    - Two Serial ports
    - ProfiBus port
    - Four I2C ports

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
[York Sun: fix conflict in boards.cfg]
Acked-by-by: York Sun <yorksun@freescale.com>
11 years agopowerpc: Fix CamelCase warnings in DDR related code
Priyanka Jain [Wed, 25 Sep 2013 05:11:19 +0000 (10:41 +0530)]
powerpc: Fix CamelCase warnings in DDR related code

Some DDR related structures present in fsl_ddr_dimm_params.h, fsl_ddr_sdram.h, ddr_spd.h
has various parameters with embedded acronyms capitalized that trigger the CamelCase
warning in checkpatch.pl

Convert those variable names to smallcase naming convention and modify all files
which are using these structures with modified structures.

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
11 years agopowerpc/tool/pbl: fix pbl image compiling process
Shaohui Xie [Wed, 11 Sep 2013 06:48:29 +0000 (14:48 +0800)]
powerpc/tool/pbl: fix pbl image compiling process

Previous process of compiling a PBL boot image is:
1: make <board_name_config>
2: make u-boot.pbl

for example:
make T4240QDS_SDCARD_config
make u-boot.pbl

Now the process is:
1: make <board_name>

for example:
make T4240QDS_SDCARD

Also, updated README.pblimage.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
11 years agopowerpc/B4860: enable PBL tool for B4860
Shaohui Xie [Sun, 22 Sep 2013 01:56:02 +0000 (09:56 +0800)]
powerpc/B4860: enable PBL tool for B4860

Use a default RCW of protocol 0x2A_0x98, and a PBI configure file which
uses CPC1 as 512KB SRAM, then PBL tool can be used on B4860 to build a
pbl boot image.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
11 years agopowerpc/t4240: updated rcw_cfg to align with default hardware configuration
Shaohui Xie [Wed, 11 Sep 2013 04:58:34 +0000 (12:58 +0800)]
powerpc/t4240: updated rcw_cfg to align with default hardware configuration

Default configuration has been changed, the most important one is DDR
ref_clock which is changed from 66.67MHz to 133.33MHz. so the ratio need to
change from 24x to 12x to keep the DDR frequency. There are also some
other optimise to align with default configuration.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
11 years agopowerpc/usb: Mention usb1 before usb2 inside default hwconfig string
ramneek mehresh [Tue, 10 Sep 2013 12:07:45 +0000 (17:37 +0530)]
powerpc/usb: Mention usb1 before usb2 inside default hwconfig string

For USB device-tree fix-up to work properly, its necessary to
mention USB1 options before that of USB2 inside default hwconfig
string

Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
11 years agoboard/bsc9131rdb: Update IFC timings for NAND flash
Prabhakar Kushwaha [Tue, 10 Sep 2013 12:03:12 +0000 (17:33 +0530)]
board/bsc9131rdb: Update IFC timings for NAND flash

Current IFC timings for NAND flash are not able to support existing
K9F1G08U0B and new K9F1G08U0D flash.

so Update the timings to support both.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
11 years agopowerpc: p1_p2_rdb_pc: add TPL for p1_p2_rdb_pc nand boot
Ying Zhang [Fri, 6 Sep 2013 09:30:58 +0000 (17:30 +0800)]
powerpc: p1_p2_rdb_pc: add TPL for p1_p2_rdb_pc nand boot

Enable TPL for p1_p2_rdb_pc nand boot.

Signed-off-by: Ying Zhang <b40530@freescale.com>
11 years agopowerpc : p1_p2_rdb_pc : Enable p1_p2_rdb_pc to start from eSPI with SPL
Ying Zhang [Fri, 6 Sep 2013 09:30:57 +0000 (17:30 +0800)]
powerpc : p1_p2_rdb_pc : Enable p1_p2_rdb_pc to start from eSPI with SPL

Enable p1_p2_rdb_pc to start from eSPI with SPL.

Signed-off-by: Ying Zhang <b40530@freescale.com>
11 years agopowerpc: p1_p2_rdb_pc: Enable p1_p2_rdb_pc to boot from SD Card with SPL
Ying Zhang [Fri, 6 Sep 2013 09:30:56 +0000 (17:30 +0800)]
powerpc: p1_p2_rdb_pc: Enable p1_p2_rdb_pc to boot from SD Card with SPL

Enable p1_p2_rdb_pc to start from eSDHC with SPL.

Signed-off-by: Ying Zhang <b40530@freescale.com>
11 years agoSGMII:fix PHY addresses for QSGMII Riser Card working in SGMII mode
Zhao Qiang [Wed, 4 Sep 2013 02:11:27 +0000 (10:11 +0800)]
SGMII:fix PHY addresses for QSGMII Riser Card working in SGMII mode

Fix PHY addresses for QSGMII Riser Card working in
SGMII mode on board P3041/P5020/P4080/P5040/B4860.

QSGMII Riser Card can work in SGMII mode, but
having the different PHY addresses.
So the following steps should be done:
1. Confirm whether QSGMII Riser Card is used.
2. If yes, set the proper PHY address.
Generally, the function is_qsgmii_riser_card() is
for step 1, and set_sgmii_phy() for step 2.

However, there are still some special situations,
take P5040 and B4860 as examples, the PHY addresses
need to be changed when serdes protocol is changed,
so it is necessary to confirm the protocol before
setting PHY addresses.

Signed-off-by: Zhao Qiang <B45475@freescale.com>
11 years agoCorenet/p5040/SGMII:fix the problem for SGMII5/6
Zhao Qiang [Wed, 4 Sep 2013 02:11:26 +0000 (10:11 +0800)]
Corenet/p5040/SGMII:fix the problem for SGMII5/6

SGMII5/6 and SGMII7/8 are not on the same slot on P5040
according to the serdes protocol.
So it is not proper to organize SGMII5/6 and SGMII7/8
on one bus and SGMII5/6 can't work.
So a new bus SUPER_HYDRA_FM3_SGMII_MDIO is added for
SGMII5/6

Signed-off-by: Zhao Qiang <B45475@freescale.com>