]> git.kernelconcepts.de Git - karo-tx-uboot.git/log
karo-tx-uboot.git
10 years agoarc: add Arcangel4 board support
Alexey Brodkin [Tue, 4 Feb 2014 08:56:18 +0000 (12:56 +0400)]
arc: add Arcangel4 board support

Arcangel4 is a FPGA-based development board that is used for prototyping and
verificationof of both ARC hardware (CPUs) and software running upon CPU.

This board avaialble in 2 flavours:
 * Little-endian (arcangel4)
 * Big-endian (arcangel4-be)

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Francois Bedard <fbedard@synopsys.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoarc: add support for standalone programs
Alexey Brodkin [Tue, 4 Feb 2014 08:56:17 +0000 (12:56 +0400)]
arc: add support for standalone programs

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Francois Bedard <fbedard@synopsys.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoarc: bdinfo, image and arc-specific init functions declarations support
Alexey Brodkin [Tue, 4 Feb 2014 08:56:16 +0000 (12:56 +0400)]
arc: bdinfo, image and arc-specific init functions declarations support

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Francois Bedard <fbedard@synopsys.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoarc: add library functions
Alexey Brodkin [Tue, 4 Feb 2014 08:56:15 +0000 (12:56 +0400)]
arc: add library functions

These are library functions used by ARC700 architecture.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Francois Bedard <fbedard@synopsys.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoarc: add cpu files
Alexey Brodkin [Tue, 4 Feb 2014 08:56:14 +0000 (12:56 +0400)]
arc: add cpu files

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Francois Bedard <fbedard@synopsys.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoarc: add architecture header files
Alexey Brodkin [Tue, 4 Feb 2014 08:56:13 +0000 (12:56 +0400)]
arc: add architecture header files

These are header files used by ARC700 architecture.

Also note that "arch-arc700/hardware.h" is only required for compilation of
"designware_i2c" driver which refers to "asm/arch/hardware.h".
It would be good to fix mentioned driver sometime soon but it will cause
changes in ARM board configs that use "designware_i2c".

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Francois Bedard <fbedard@synopsys.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
10 years agoblackfin: Initialize the EMAC VLAN with proper default value
Aaron Wu [Wed, 23 Nov 2011 03:23:56 +0000 (11:23 +0800)]
blackfin: Initialize the EMAC VLAN with proper default value

EMAC_VLANx regs is not properly initiallized in u-boot, once it's overwrite in the
kernel when DSA enabled, hot reset will lead to bringing up EMAC fail in u-boot.

Signed-off-by: Aaron Wu <Aaron.Wu@analog.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
10 years agoblackfin: Change SMC dcplb entry flag to cover 16M address region
Sonic Zhang [Wed, 22 Jan 2014 08:04:19 +0000 (16:04 +0800)]
blackfin: Change SMC dcplb entry flag to cover 16M address region

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
10 years agoblackfin: init bss early
Bob Liu [Tue, 27 Sep 2011 03:00:27 +0000 (11:00 +0800)]
blackfin: init bss early

Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
10 years agoblackfin: The logic of the BF609 macro is opposite.
Sonic Zhang [Wed, 22 Jan 2014 07:43:25 +0000 (15:43 +0800)]
blackfin: The logic of the BF609 macro is opposite.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
10 years agoboard:samsung:trats/trats2: enable boot with appended and separated DTB
Piotr Wilczek [Wed, 22 Jan 2014 14:54:37 +0000 (15:54 +0100)]
board:samsung:trats/trats2: enable boot with appended and separated DTB

This patch modifies envs to enable dual kernel boot
 - with separated DTB if the DTB file is loaded successfully;
 - with DTB apppended to uImage if DTB file is not found;
This is neccesssary for backward compatibilty.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoboard:samsung:trats2: add env variables describing platform
Piotr Wilczek [Wed, 22 Jan 2014 14:54:36 +0000 (15:54 +0100)]
board:samsung:trats2: add env variables describing platform

This patch adds variables describing platform (soc, board, vendor)
to default environment.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoboard:samsung:trats: add env variables describing platform
Piotr Wilczek [Wed, 22 Jan 2014 14:54:35 +0000 (15:54 +0100)]
board:samsung:trats: add env variables describing platform

This patch adds variables describing platform (soc, board, vendor)
to default environment.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoboard:samsung:universal: add env variables describing platform
Piotr Wilczek [Wed, 22 Jan 2014 14:54:34 +0000 (15:54 +0100)]
board:samsung:universal: add env variables describing platform

This patch adds variables describing platform (soc, board, vendor)
to default environment.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoboard:samsung:goni: add env variables describing platform
Piotr Wilczek [Wed, 22 Jan 2014 14:54:33 +0000 (15:54 +0100)]
board:samsung:goni: add env variables describing platform

This patch adds variables describing platform (soc, board, vendor)
to default environment.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Mateusz Zalega <m.zalega@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoboard:samsung:common: set envs with board unified information
Piotr Wilczek [Wed, 22 Jan 2014 14:54:32 +0000 (15:54 +0100)]
board:samsung:common: set envs with board unified information

This patch sets envs that describe board information.
The following envs are set: soc_id, soc_rev, board_rev.
Based on this information, if CONFIG_OF_LIBFDT is enabled,
the 'fdtfile' env is set as:
fdtfile=${soc_family}${soc_id}-${board}.dtb

The generated envs are intenionally not saved to persistent storage.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoarm:s5pc110: add cpu revision
Piotr Wilczek [Wed, 22 Jan 2014 14:54:31 +0000 (15:54 +0100)]
arm:s5pc110: add cpu revision

This patch adds s5p_cpu_rev.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoarm:exynos: add cpu revision
Piotr Wilczek [Wed, 22 Jan 2014 14:54:30 +0000 (15:54 +0100)]
arm:exynos: add cpu revision

This patch enables to read cpu revision on Exynos CPU.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoinclude/usb/s3c_udc.h: Add <asm/sizes.h>
Tom Rini [Thu, 6 Feb 2014 19:26:05 +0000 (14:26 -0500)]
include/usb/s3c_udc.h: Add <asm/sizes.h>

With e0059ea switching to using SZ_1K, we need to #include <asm/sizes.h>
here for everyone to build still.

Signed-off-by: Tom Rini <trini@ti.com>
10 years agoMerge branch 'fpga' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Thu, 6 Feb 2014 16:20:23 +0000 (11:20 -0500)]
Merge branch 'fpga' of git://www.denx.de/git/u-boot-microblaze

10 years agofpga: zynqpl: Add support for zc7015 device
Michal Simek [Thu, 26 Sep 2013 14:39:03 +0000 (16:39 +0200)]
fpga: zynqpl: Add support for zc7015 device

Just extend tables with this new device.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agofpga: zynq: Correct fpga load when buf is not aligned
Novasys Ingenierie [Wed, 27 Nov 2013 08:03:01 +0000 (09:03 +0100)]
fpga: zynq: Correct fpga load when buf is not aligned

When ARCH_DMA_MINALIGN is greater than header size of the bit file, and buf is
not aligned, new_buf address became greater then buf_start address and the
load_word loop corrupts bit file data.

A work around is to decrease new_buf of ARCH_DMA_MINALIGN, it might corrupt data
before buf but permits to load correctly.

Signed-off-by: Stany MARCEL <smarcel@novasys-ingenierie.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agousb: mv_udc: Rename to ci_udc
Marek Vasut [Thu, 6 Feb 2014 01:43:45 +0000 (02:43 +0100)]
usb: mv_udc: Rename to ci_udc

The mv_udc is not marvell-specific anymore. The mv_udc is used to drive
generic ChipIdea CI13xxx series OTG cores, so rename the driver to ci_udc
instead.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric.nelson@boundarydevices.com>
Cc: Stefano Babic <sbabic@denx.de>
10 years agousb:gadget:f_thor: cosmetic: Remove debug memset
Lukasz Majewski [Wed, 5 Feb 2014 09:10:46 +0000 (10:10 +0100)]
usb:gadget:f_thor: cosmetic: Remove debug memset

Apparently debug memset (with a 0x55 value) has been overlooked in the
f_thor code.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
10 years agousb:gadget:f_thor: Allocate request up to THOR_PACKET_SIZE not ep->maxpacket
Lukasz Majewski [Wed, 5 Feb 2014 09:10:45 +0000 (10:10 +0100)]
usb:gadget:f_thor: Allocate request up to THOR_PACKET_SIZE not ep->maxpacket

Now it is possible to allocate static request - which receives data from
the host (OUT transaction) to the size of THOR packet.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
10 years agousb:udc:samsung: Zero copy approach for data passed to Samsung's UDC driver
Lukasz Majewski [Wed, 5 Feb 2014 09:10:44 +0000 (10:10 +0100)]
usb:udc:samsung: Zero copy approach for data passed to Samsung's UDC driver

The Samsung's UDC driver is not anymore copying data from USB requests to
aligned internal buffers. Now it works directly in data allocated in the
upper layers like UMS, DFU, THOR.

This change is possible since those gadgets now must take care to allocate
buffers aligned to cache line (CONFIG_SYS_CACHELINE_SIZE).

This can be achieved by using DEFINE_CACHE_ALIGN_BUFFER() or
ALLOC_CACHE_ALIGN_BUFFER() macros. Those take care to allocate buffer
aligned to cache line in both starting address and its size.
Sometimes it is enough to just use memalign() with size being a
multiplication of cache line size.

Test condition
- test HW + measurement: Trats - Exynos4210 rev.1
- test HW Trats2 - Exynos4412 rev.1
400 MiB compressed rootfs image download with `thor 0 mmc 0`

Measurement:
Transmission speed: 27.04 MiB/s

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
10 years agousb:udc:samsung: Allow burst transfers for non EP0 endpints
Lukasz Majewski [Wed, 5 Feb 2014 09:10:43 +0000 (10:10 +0100)]
usb:udc:samsung: Allow burst transfers for non EP0 endpints

This patch removed obscure restriction on the HW setting of DMA transfers.
Before this change each transaction sent up to 512 bytes (with packet count
equal to 1) for non EP0 transfer.

Now it is possible to setup DMA transaction up to DMA_BUFFER_SIZE.

Test condition
- test HW + measurement: Trats - Exynos4210 rev.1
- test HW Trats2 - Exynos4412 rev.1
400 MiB compressed rootfs image download with `thor 0 mmc 0`

Measurement:
Transmission speed: 20.74 MiB/s

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
10 years agousb:udc:samsung: Remove redundant cache operation from Samsung UDC driver
Lukasz Majewski [Wed, 5 Feb 2014 09:10:42 +0000 (10:10 +0100)]
usb:udc:samsung: Remove redundant cache operation from Samsung UDC driver

A set of cache operations (both invalidation and flush) were redundant
in the S3C HS OTG Samsung driver:

1. s3c_udc_ep0_zlp - to transmit EP0's ZLP packets one don't need to flush
the cache (since it is the zero length transmission)

2. s3c_udc_pre_setup and s3c_ep0_complete_out - cache invalidation is not
needed when the buffer for OUT EP0 transmission is setup, since no data
has yet arrived.

Cache cleanups presented above don't contribute much to transmission speed
up, hence shall be regarded as cosmetic changes.

3. setdma_rx - here the s3c UDC driver's internal buffers were invalidated.
This call is not needed anymore since we reuse the buffers passed from
gadgets. This is a key contribution to transmission speed improvement.

Test condition
- test HW + measurement: Trats - Exynos4210 rev.1
- test HW Trats2 - Exynos4412 rev.1
400 MiB compressed rootfs image download with `thor 0 mmc 0`

Measurements:

Base values (without improvement):
Transmission speed: 9.51 MiB/s

After the change:
Transmission speed: 10.15 MiB/s

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
10 years agousb:gadget:ums: Replace malloc calls with memalign to fix cache buffer alignment
Lukasz Majewski [Wed, 5 Feb 2014 09:10:41 +0000 (10:10 +0100)]
usb:gadget:ums: Replace malloc calls with memalign to fix cache buffer alignment

Calls to malloc() have been replaced by memalign. It now provides proper
buffer alignment.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
10 years agoconfig: Fix line lengths in include/config_distro_defaults.h
Tom Rini [Wed, 5 Feb 2014 13:04:38 +0000 (08:04 -0500)]
config: Fix line lengths in include/config_distro_defaults.h

Signed-off-by: Tom Rini <trini@ti.com>
10 years agoserial: s5p: set automatically clears after resetting Rx FIFO
Inha Song [Tue, 4 Feb 2014 05:57:25 +0000 (14:57 +0900)]
serial: s5p: set automatically clears after resetting Rx FIFO

This patch fix the u-boot shell problem on TRATS2 board.
 - If hold the key while booting is in progress,
   white spaces are written in u-boot shell.

Set Automatically clears after resetting Rx FIFO.

Signed-off-by: Inha Song <ideal.song@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
Tested-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoexynos: pinmux: remove unnecessary routine
Minkyu Kang [Wed, 29 Jan 2014 08:04:17 +0000 (17:04 +0900)]
exynos: pinmux: remove unnecessary routine

Because of the list of peripherals is not sequential,
such a routine does not check for valid correctly.
Error check will be done when call the exynos_pinmux_config function.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Acked-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
10 years agoexynos: pinmux: remove unnecessary define
Minkyu Kang [Wed, 29 Jan 2014 08:03:58 +0000 (17:03 +0900)]
exynos: pinmux: remove unnecessary define

The value of PERIPH_ID_COUNT was wrong, and unnecessary.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agoexynos: pinmux: sort the list of peripherals
Minkyu Kang [Wed, 29 Jan 2014 08:03:55 +0000 (17:03 +0900)]
exynos: pinmux: sort the list of peripherals

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Acked-by: Rajehswari Shinde <rajeshwari.s@samsung.com>
10 years agoconfig: add config_distro_defaults.h
Dennis Gilmore [Tue, 4 Feb 2014 11:25:47 +0000 (05:25 -0600)]
config: add config_distro_defaults.h

describe a set of default features that distros can rely on being available.
having this common definition means that distros can easily support systems
implementing them.

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
10 years agocmd_pxe.c add any option for filesystem with sysboot uses generic load
Dennis Gilmore [Tue, 4 Feb 2014 11:25:46 +0000 (05:25 -0600)]
cmd_pxe.c add any option for filesystem with sysboot uses generic load

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
10 years agoMerge branch 'serial' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Tue, 4 Feb 2014 16:48:48 +0000 (11:48 -0500)]
Merge branch 'serial' of git://www.denx.de/git/u-boot-microblaze

10 years agoMerge branch 'net' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Tue, 4 Feb 2014 16:48:39 +0000 (11:48 -0500)]
Merge branch 'net' of git://www.denx.de/git/u-boot-microblaze

10 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Tue, 4 Feb 2014 16:48:25 +0000 (11:48 -0500)]
Merge branch 'master' of git://www.denx.de/git/u-boot-microblaze

10 years agoMerge branch 'clk' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Tue, 4 Feb 2014 16:48:14 +0000 (11:48 -0500)]
Merge branch 'clk' of git://www.denx.de/git/u-boot-microblaze

10 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Tom Rini [Tue, 4 Feb 2014 15:22:23 +0000 (10:22 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

10 years agopxe: implement fdtdir extlinux.conf tag
Stephen Warren [Tue, 28 Jan 2014 21:50:10 +0000 (14:50 -0700)]
pxe: implement fdtdir extlinux.conf tag

People who write (or scripts that auto-generate) extlinux.conf don't
want to know about HW-specific information such as FDT filenames. Create
a new extlinux.conf tag "fdtdir" that specifies only the directory where
FDT files are located, and defer all knowledge of the filename to U-Boot.
The algorithm implemented is:

==========
if $fdt_addr_r is set:
  if "fdt" tag was specified in extlinux.conf:
    load the FDT from the filename in the tag
  else if "fdtdir" tag was specified in extlinux.conf:
    if "fdtfile" is set in the environment:
      load the FDT from filename in "$fdtfile"
    else:
      load the FDT from some automatically generated filename

if no FDT file was loaded, and $fdtaddr is set:
  # This indicates an FDT packaged with firmware
  use the FDT at $fdtaddr
==========

A small part of an example /boot/extlinux.conf might be:

==========
LABEL primary
        LINUX zImage
        FDTDIR ./

LABEL failsafe
        LINUX bkp/zImage
        FDTDIR bkp/
==========

... with /boot/tegra20-seaboard.dtb or /boot/bkp/tegra20-seaboard.dtb
being loaded by the sysboot/pxe code.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agopxe: support "devicetree" tag
Stephen Warren [Tue, 28 Jan 2014 21:50:09 +0000 (14:50 -0700)]
pxe: support "devicetree" tag

The specification for extlinux.conf[1] states that "fdt" is an alias for
"devicetree". To date, U-Boot only implements "fdt". Rectify that.

[1] http://freedesktop.org/wiki/Specifications/BootLoaderSpec/

Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoserial: uartlite: Reset RX/TX in init
Michal Simek [Tue, 21 Jan 2014 06:29:47 +0000 (07:29 +0100)]
serial: uartlite: Reset RX/TX in init

Just to be sure that there is no pending data.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agonet: axi_emac: Check if phy was correctly detected
Michal Simek [Thu, 21 Nov 2013 15:15:51 +0000 (16:15 +0100)]
net: axi_emac: Check if phy was correctly detected

As tsec and fm drivers checking phydev->link
ensure that u-boot don't try access device if link is not ready.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agomicroblaze: Add SPL support
Michal Simek [Tue, 21 Jan 2014 06:30:37 +0000 (07:30 +0100)]
microblaze: Add SPL support

Add support for U-BOOT SPL. NOR and RAM mode are supported.
There are 3 images in NOR flash. u-boot.img, dtb and kernel.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agomicroblaze: Enable buffer write for NOR flashes
Michal Simek [Tue, 21 Jan 2014 06:26:58 +0000 (07:26 +0100)]
microblaze: Enable buffer write for NOR flashes

It speeds up writing a lot.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agomicroblaze: Report priviledged or stack protection exception
Michal Simek [Mon, 20 Jan 2014 20:17:07 +0000 (21:17 +0100)]
microblaze: Report priviledged or stack protection exception

Just list one more exception.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agomicroblaze: Show u-boot banner
Michal Simek [Mon, 20 Jan 2014 20:05:47 +0000 (21:05 +0100)]
microblaze: Show u-boot banner

It is nice to see u-boot version.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
10 years agocommon: Add new clk command
Michal Simek [Thu, 21 Nov 2013 21:39:02 +0000 (13:39 -0800)]
common: Add new clk command

Command provides just dump subcommand for showing clock
frequencies in a soc.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Stefano Babic <sbabic@denx.de>
10 years agoARM: tegra: fix "bootp" issue for Tegra124 too
Jim Lin [Fri, 24 Jan 2014 19:46:19 +0000 (12:46 -0700)]
ARM: tegra: fix "bootp" issue for Tegra124 too

Fix the timeout issue after running "bootp" command in U-Boot console.

TXFIFOTHRES bits of TXFILLTUNING register should be set to 0x10 after a
controller reset and before RUN bit is set (per technical reference
manual).

Signed-off-by: Jim Lin <jilin@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: add Venice2 (Tegra124) board
Tom Warren [Fri, 24 Jan 2014 19:46:18 +0000 (12:46 -0700)]
ARM: tegra: add Venice2 (Tegra124) board

These are the board files for Venice2 (Tegra124), plus the AS3722 PMIC
files. PMIC init will be moved to pmic_common_init later.

This builds/boots on Venice2, SPI/MMC/USB/I2C all work. Audio, display
and WB/LP0 are not supported yet.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: add DT files for Tegra124 and Venice2
Tom Warren [Fri, 24 Jan 2014 19:46:17 +0000 (12:46 -0700)]
ARM: tegra: add DT files for Tegra124 and Venice2

These are fairly complete, and near-clones of Tegra114 Venice, with an
additional I2C port, and MMC address changes for Tegra124.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: add common (shared) CPU files
Tom Warren [Fri, 24 Jan 2014 19:46:16 +0000 (12:46 -0700)]
ARM: tegra: add common (shared) CPU files

These files are used by both SPL and main U-Boot.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: Add CPU (armv7) files for Tegra124
Tom Warren [Fri, 24 Jan 2014 19:46:15 +0000 (12:46 -0700)]
ARM: tegra: Add CPU (armv7) files for Tegra124

These files are for code that runs on the CPU (A15) on Tegra124 boards.
At this time, there is no A15-specific code here. The warmboot/LP0 files
aren't included as that code hasn't been ported yet.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: add SPL/AVP (arm720t) CPU files for Tegra124
Tom Warren [Fri, 24 Jan 2014 19:46:14 +0000 (12:46 -0700)]
ARM: tegra: add SPL/AVP (arm720t) CPU files for Tegra124

This provides SPL support for Tegra124 boards - AVP early init, plus
CPU (A15) init/jump to main U-Boot.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: add/edit headers for Tegra124
Tom Warren [Fri, 24 Jan 2014 19:46:13 +0000 (12:46 -0700)]
ARM: tegra: add/edit headers for Tegra124

These headers define the Tegra124 hardware. Add them to the usual
place.

Add Tegra124 chip ID/SKU ID definitions to common headers.

There's no real HW change on Tegra124 for 90% of the toys, so it might
make sense for a future patch to unify some of the content of these
files in a common location.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: fix a typo in the tegra114.dtsi
Stephen Warren [Fri, 24 Jan 2014 19:46:12 +0000 (12:46 -0700)]
ARM: tegra: fix a typo in the tegra114.dtsi

The reg property for node spi@7000d800 was wrong. Fix it to match the
HW. This change was verified against the Linux kernel.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: only build __pinmux_nand() when it's needed
Tom Warren [Fri, 24 Jan 2014 19:46:11 +0000 (12:46 -0700)]
ARM: tegra: only build __pinmux_nand() when it's needed

__pinmux_nand() won't compile if PERIPH_ID_NDFLASH isn't defined.
Prevent this from causing build problems on newer SoCs without NAND
support (or without SW support for NAND yet), but preventing
compilation unless the function will actually be used, i.e. when
CONFIG_TEGRA_NAND is defined.

Signed-off-by: Tom Warren <twarren@nvidia.com>
[swarren, rewrote commit description, moved ifdef around whole function
rather than just body]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: remove a conditional for CSITE rate
Stephen Warren [Fri, 24 Jan 2014 19:46:10 +0000 (12:46 -0700)]
ARM: tegra: remove a conditional for CSITE rate

There's already an SoC-specific conditional in cpu.h to determine the
PLLP rate. Define the CSITE clock rate inside the same conditional, so
that we can remove a conditional from clock_enable_coresight(). This
means one less place to update the code for new SoCs.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: enable PLLX only once it's been fully configured
Stephen Warren [Fri, 24 Jan 2014 19:46:09 +0000 (12:46 -0700)]
ARM: tegra: enable PLLX only once it's been fully configured

This programming sequence is correct per Jimmy Zhang, and makes sense
too!

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: pass just partition ID to power_partition()
Stephen Warren [Fri, 24 Jan 2014 19:46:08 +0000 (12:46 -0700)]
ARM: tegra: pass just partition ID to power_partition()

Pass just the partition ID to power_partition(), rather than also passing
the partition's status register mask too. This makes it simpler to get
call-sites correct, since they don't need to pass two different values
that define the same thing and must match.

Consequently, we can remove the mask definitions from pmc.h.

Suggested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: misc cleanups triggered by Tegra124 review
Stephen Warren [Fri, 24 Jan 2014 19:46:07 +0000 (12:46 -0700)]
ARM: tegra: misc cleanups triggered by Tegra124 review

Use a named constant for the PLL lock bit in enable_cpu_clocks().

Construct the complete value of pmc_pwrgate_toggle, rather than doing a
read-modify-write; the register is simple enough and doesn't need to
maintain state between operations.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agommc: tegra: support Tegra124
Stephen Warren [Fri, 24 Jan 2014 19:46:06 +0000 (12:46 -0700)]
mmc: tegra: support Tegra124

Tegra124's MMC controller is very similar to earlier SoC generations,
and can be supported by the same driver.

However, there are some non-backwards-compatible HW differences, and
hence a new DT compatible value must be used to describe the HW. This
patch updates the driver to support that new compatible value.

That said, the HW differences are only relevant when enabling certain
high-performance transfer modes. Since the driver is currently very
simple and doesn't enable those modes, we don't actually need to address
any of these HW differences in the code yet, hence the simple nature of
this patch.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: don't exceed AVP limits when configuring PLLP
Jimmy Zhang [Fri, 24 Jan 2014 17:37:36 +0000 (10:37 -0700)]
ARM: tegra: don't exceed AVP limits when configuring PLLP

Based on the Tegra TRM, the system clock (which is the AVP clock) can
run up to 275MHz. On power on, the default sytem clock source is set to
PLLP_OUT0. In function clock_early_init(), PLLP_OUT0 will be set to
408MHz which is beyond system clock's upper limit.

The fix is to set the system clock to CLK_M before initializing PLLP,
and then switch back to PLLP_OUT4, which has an appropriate divider
configured, after PLLP has been configured

Implement this logic in new function tegra30_set_up_pllp(),
which sets up PLLP and all PLLP_OUT* dividers, and handles the AVP
clock switching. Remove the duplicate PLLP setup from pllx_set_rate()
and adjust_pllp_out_freqs().

Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com>
[swarren, significantly refactored the change]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: amend pmc.h for Tegra114+
Stephen Warren [Fri, 24 Jan 2014 17:23:02 +0000 (10:23 -0700)]
ARM: tegra: amend pmc.h for Tegra114+

Tegra114 and later's PMC module removes the pwrgate_timer_on register
and replaces it with a clamp_status register. Adjust pmc.h to reflect
this, and update any code affected by the change.

The cpu.c change in this patch was extracted from a much larger patch
by Jimmy Zhang. The pmc.h change was written from scratch, but inspired
by related changes made by Tom Warren.

There could well be other differences in the PMC register set for chips
after Tegra20/30. However, they don't affect the code in U-Boot at
present, so I haven't attempted an exhaustive update of pmc.h.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: implement MASK_BITS_31_29
Tom Warren [Fri, 24 Jan 2014 17:16:22 +0000 (10:16 -0700)]
ARM: tegra: implement MASK_BITS_31_29

Some clock sources have 3-bit muxes in bits 31:29. Implement core
support for this mux field.

Signed-off-by: Tom Warren <twarren@nvidia.com>
[swarren, extracted from a larger patch by Tom]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: MASK_BITS_ no longer needs specific values
Stephen Warren [Fri, 24 Jan 2014 17:16:21 +0000 (10:16 -0700)]
ARM: tegra: MASK_BITS_ no longer needs specific values

Since all code that sets or interprets MASK_BITS_* now uses the enums
to define/compare the values, there is no need for MASK_BITS_* to have
a specific integer value. In fact, having a specific integer value may
encourage people to hard-code those values, or interpret the values in
incorrect ways.

As such, remove the logic that assigns a specific value to the enum
values in order to make it completely clear that it's just an enum, not
something that directly represents some integer value.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: use MASK_BITS_* macros everywhere
Stephen Warren [Fri, 24 Jan 2014 17:16:20 +0000 (10:16 -0700)]
ARM: tegra: use MASK_BITS_* macros everywhere

Not all code that set or interpreted "mux_bits" was using the named
macros, but rather some was simply using hard-coded integer constants.
This makes it hard to determine which pieces of code are affected by
changes to those constants.

Replace the integer constants with the equivalent macro definitions so
that everything is nicely tied together.

Note that I'm not convinced all the code was using the correct integer
constants, and hence I'm not convinced that all the code is now using
the desired macros. However, this change is a purely mechanical
replacement and should have no functional change. Fixing any bugs will
come later, separately.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: rename OUT_CLK_SOURCE_*
Stephen Warren [Fri, 24 Jan 2014 17:16:19 +0000 (10:16 -0700)]
ARM: tegra: rename OUT_CLK_SOURCE_*

OUT_CLK_SOURCE_ are currently named after the number of bits the mask
they represent includes. However, bit count is not the only possible
variable; bit position may also vary. Rename OUT_CLK_SOURCE_ to
OUT_CLK_SOURCE_31_30_ and OUT_CLK_SOURCE4_ to OUT_CLK_SOURCE_31_28 to
more completely describe exactly what they represent, without having to
go look up the definitions.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: rename MASK_BITS_29_28 to MASK_BITS_31_28
Stephen Warren [Fri, 24 Jan 2014 17:16:18 +0000 (10:16 -0700)]
ARM: tegra: rename MASK_BITS_29_28 to MASK_BITS_31_28

The only place where the MASK_BITS_* values are used is in
adjust_periph_pll(), which interprets the value 4 (old MASK_BITS_29_28,
new MASK_BITS_31_28) as being associated with mask OUT_CLK_SOURCE4_MASK,
i.e. bits 31:28. Rename the MASK_BITS_ macro to reflect how it's actually
implemented.

Note that no Tegra clock register actually uses all of bits 31:28 as
the mux field. Rather, bits 30:28, 29:28, or 28 are used. However, in
those cases, nothing is stored in the bits above the mux field, so it's
safe to pretend that the mux field extends all the way to the end of the
register. As such, the U-Boot clock driver is currently a bit lazy, and
doesn't distinguish between 31:28, 30:28, 29:28 and 28; it just lumps
them all together and pretends they're all 31:28. This patch doesn't
cause this issue; it was pre-existing. Hopefully, future patches will
clean this up.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: deduplicate MASK_BITS_xxx clock mux enum
Tom Warren [Fri, 24 Jan 2014 17:16:17 +0000 (10:16 -0700)]
ARM: tegra: deduplicate MASK_BITS_xxx clock mux enum

The enum used to define the set of register bits used to represent a
clock's input mux, MUX_BITS_*, is defined separately for each SoC at
present. Move this definition to a common location to ease fixing up
some issues with the definition, and the code that uses it.

Signed-off-by: Tom Warren <twarren@nvidia.com>
[swarren, extracted from a larger patch by Tom]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: clear $usb_need_init each boot
Stephen Warren [Thu, 23 Jan 2014 20:17:05 +0000 (13:17 -0700)]
ARM: tegra: clear $usb_need_init each boot

$usb_need_init prevents "usb start" from being run multiple times for
each boot attempt, i.e. once for USB storage, another for PXE, and
another for DHCP. However, the flag that's used to determine when to run
"usb start" is never cleared, so a subsequent "boot" command will never
probe for a freshly plugged in USB device. Fix this so that new USB
devices will be probed once per boot attempt.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: set env vars to indicate Cardhu A04 support
Stephen Warren [Thu, 23 Jan 2014 20:17:01 +0000 (13:17 -0700)]
ARM: tegra: set env vars to indicate Cardhu A04 support

The U-Boot "cardhu" build supports only revision 4 of the Cardhu board
and later compatible revisions. Hence, set $board_name in the default
environment to "cardhu-a04" rather than just "cardhu".

The Linux kernel has separate DTs for Cardhu A02 and A04, although the
former isn't really supported any more. Consequently, the kernel DT file
that matches the U-Boot cardhu build is "tegra30-cardhu-a04.dtb" rather
than "tegra30-cardhu.dtb". Set the $fdtfile default environment variable
to reflect this.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agoARM: tegra: accept any SKU ID for most chips
Stephen Warren [Wed, 22 Jan 2014 00:19:19 +0000 (17:19 -0700)]
ARM: tegra: accept any SKU ID for most chips

For Tegra20, the SKU ID actually impacts how U-Boot programs the chip,
and hence we need to explicitly know about each and every SKU ID in order
to operate correctly.

However, for Tegra30/114, this isn't the case. Rather than forcing each
new user with a different SKU to manually add their SKU ID into the code,
simply accept any SKU ID.

If U-Boot ever starts e.g. programming maximal CPU clocks etc., we'll
need to undo this, or make the default case map to conservative defaults,
but for now it's likely the path to least support cost.

Reported-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
10 years agodriver/ifc:Change accessor function to take care of endianness
Prabhakar Kushwaha [Sat, 18 Jan 2014 06:58:30 +0000 (12:28 +0530)]
driver/ifc:Change accessor function to take care of endianness

IFC registers can be of type Little Endian or big Endian depending upon
Freescale SoC. Here SoC defines the register type of IFC IP.

So update acessor functions with common IFC acessor functions to take care
both type of endianness.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Acked-by: York Sun <yorksun@freescale.com>
10 years agokmp204x: initial support for PCIe FPGA configuration
Valentin Longchamp [Mon, 27 Jan 2014 10:49:12 +0000 (11:49 +0100)]
kmp204x: initial support for PCIe FPGA configuration

The PEXHC PCIe configuration mechanism ensures that the FPGA get
configured at power-up. Since all the PCIe devices should be configured
when the kernel start, u-boot has to take care that the FPGA gets
configured also in other reset scenarios, mostly because of possible
configuration change.

The used mechanism is taken from the km_kirkwood design and adapted to
the kmp204x case (slightly different HW and PCIe configuration).

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agokmp204x: enable support for SPANSION SPI NOR
Valentin Longchamp [Mon, 27 Jan 2014 10:49:11 +0000 (11:49 +0100)]
kmp204x: enable support for SPANSION SPI NOR

The new prototype and the final series was moved from Micron to Spansion
to have a better reset sequence that is easier to support.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agoKM: add the KM_UBI_PART_BOOT_OPTS #define
Valentin Longchamp [Mon, 27 Jan 2014 10:49:10 +0000 (11:49 +0100)]
KM: add the KM_UBI_PART_BOOT_OPTS #define

This define can be used if the ubi boot partition (defined for all
Keymile boards with KM_UBI_PARTITION_NAME_BOOT #define to ubi0) needs
some additionnal boot options.

This is the case for the kmp204x boards since u-boot does not support
NAND Flash subpage accesses on this platform, an additionnal argument
that defines the VID offstet must be given to the kernel.

The UBI cmd line option now looks like this "ubi.mtd=ubi0,2048" on this
platform.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agokmp204x: update I2C field of RCW
Valentin Longchamp [Mon, 27 Jan 2014 10:49:09 +0000 (11:49 +0100)]
kmp204x: update I2C field of RCW

On the previous HW revision (now unsupported), there was a need for
external DMA signals and thus the I2C3/4 signals were used
DMA1_DONE/ACK/REQ.

These signals now are configured as GPIO[16:19].

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agokmp204x: add support for the kmcoge4 board
Valentin Longchamp [Mon, 27 Jan 2014 10:49:08 +0000 (11:49 +0100)]
kmp204x: add support for the kmcoge4 board

The kmcoge4 board is the product board derived from the kmlion1
prototype. The main difference between the 2 boards is that the kmcoge4
does not configure the Local Bus controller for LCS2.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
[York Sun: Minor change to boards.cfg to keep targets in order]
Signed-off-by: York Sun <yorksun@freescale.com>
10 years agokmp204x: implement workaround for A-006559
Valentin Longchamp [Mon, 27 Jan 2014 10:49:07 +0000 (11:49 +0100)]
kmp204x: implement workaround for A-006559

According to the errata, some bits of an undocumented register in the
DCSR must be set for every core in order to avoid a possible data or
instruction corruption.

This is required for the 2.0 revision of the P2041 that should be used
as soon as available in our design.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agokmp204x: I2C deblocking support
Rainer Boschung [Mon, 3 Feb 2014 07:45:40 +0000 (08:45 +0100)]
kmp204x: I2C deblocking support

This patch adds support for using some GPIOs that are connected to the
I2C bus to force the bus lines state and perform some bus deblocking
sequences.

The KM common deblocking algorithm from board/keymile/common/common.c is
used. The GPIO lines used for deblocking the I2C bus are some external
GPIOs provided by the QRIO CPLD:
  - SCL = GPIOA_20
  - SDA = GPIOA_21

The QRIO GPIOs act in an open-drain-like manner, for 0 the line is
driven low and for 1 the GPIO is set as input and the line gets
pulled-up.

Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agokmp204x: introduce QRIO GPIO functions
Valentin Longchamp [Mon, 27 Jan 2014 10:49:05 +0000 (11:49 +0100)]
kmp204x: introduce QRIO GPIO functions

The QRIO GPIO functions can be of general interest. They are thus added
to a qrio.c and their prototype are available from kmp204x.h. The QRIO
prst function are also included in this file, as well as the functions
required for the I2C deblocking support (open-drain).

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
[York Sun: Remove extra blank line in board/keymile/kmp204x/qrio.c]
Signed-off-by: York Sun <yorksun@freescale.com>
10 years agokmp204x: support for QRIO1 bootcounter
Rainer Boschung [Mon, 27 Jan 2014 10:49:04 +0000 (11:49 +0100)]
kmp204x: support for QRIO1 bootcounter

Make use of the QRIO1 32bit register at 0x20 as bootcounter register
Check for BOOTCOUNT_MAGIC pattern when before bootcounter value is read

Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
[York Sun: Minor change to commit message]
Signed-off-by: York Sun <yorksun@freescale.com>
10 years agopowerpc/t104xrdb: Add basic ethernet support
Priyanka Jain [Thu, 30 Jan 2014 06:00:04 +0000 (11:30 +0530)]
powerpc/t104xrdb: Add basic ethernet support

This covers only non-L2 switch ethernet interfaces i.e.
RGMII and SGMII interface for both T1040RDB and T1042RDB_PI

T1040RDB is configured as serdes protocol 0x66 which can
support following interfaces
    2 RGMIIS on DTSEC4, DTSEC5
    1 SGMII on DTSEC3

T1042RDB_PI is configured as serdes protocol 0x06 which can
support following interfaces
    2 RGMIIS on DTSEC4, DTSEC5

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
[York Sun: Minor change in commit message]
Signed-off-by: York Sun <yorksun@freescale.com>
10 years agopowerpc/usb: Enable dual phy for T1040
Nikhil Badola [Mon, 27 Jan 2014 09:51:58 +0000 (15:21 +0530)]
powerpc/usb: Enable dual phy for T1040

Define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE macro for enabling dual
phy in t1040

Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agopowerpc/t104xrdb: Update T1042RDB.h in config folder
Prabhakar Kushwaha [Mon, 27 Jan 2014 09:11:55 +0000 (14:41 +0530)]
powerpc/t104xrdb: Update T1042RDB.h in config folder

Add usb2 node entry to hwconfig default

Remove DDR controller interleaving from hwconfig

Move SPI related macros out of "#ifdef CONFIG_SPIFLASH"

Add CONFIG_SYS_CSPR2_EXT to make CPLD accessible in u-boot

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
[York Sun: Fix commit message]
Signed-off-by: York Sun <yorksun@freescale.com>
10 years agopowerpc/t104xrdb: Update T1040RDB.h in config folder
Priyanka Jain [Mon, 27 Jan 2014 08:37:11 +0000 (14:07 +0530)]
powerpc/t104xrdb: Update T1040RDB.h in config folder

Add usb2 node entry in "hwconfig string"

Remove controller interleaving from hwconfig string as T1040
has only one DDR conroller

SPI related macros which were earlier under #ifdef CONFIG_SPIFLASH
are move outside so that they are defined for all cases as these
macros are also used by other u-boot code

Add CONFIG_SYS_CSPR2_EXT to make CPLD accessible

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
[York Sun: Minor change to commit message]
Signed-off-by: York Sun <yorksun@freescale.com>
10 years agoboards/t1040qds: Adds ethernet support for T1040
Prabhakar Kushwaha [Mon, 27 Jan 2014 10:25:20 +0000 (15:55 +0530)]
boards/t1040qds: Adds ethernet support for T1040

Enable entherent for T1040QDS. It enables FM1@DTSEC3, FM1@DTSEC4, FM1@DTSEC5
    Define MDIO related configs
    Added eth.c file
    Update t1040.c to support RGMII and SGMII
    Update t1040qds.c to support ethernet
    Define the PHY address

Signed-off-by: Arpit Goel <B44344@freescale.com>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
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: remove dash from commit message]
Signed-off-by: York Sun <yorksun@freescale.com>
10 years agopowerpc/mpc85xx: Update serdes protocols for T1040
Prabhakar Kushwaha [Fri, 24 Jan 2014 12:21:50 +0000 (17:51 +0530)]
powerpc/mpc85xx: Update serdes protocols for T1040

T1040 has only one SerDes block. so update the code accordingly.

Also, add support of SerDes Protocol 0x00, 0x06, 0x40, 0x69 0x85,
0xA7 and 0xAA

Signed-off-by: Arpit Goel <B44344@freescale.com>
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>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agopowerpc/mpc85xx:Fix README to show correct flash memory map
Prabhakar Kushwaha [Sat, 25 Jan 2014 06:41:23 +0000 (12:11 +0530)]
powerpc/mpc85xx:Fix README to show correct flash memory map

Due to increased size of u-boot, FMAN ucode start address has been shifted
by 256KB causing a overlap with rootfs start address.

Update rootfs start address to reflect correct memory map.

Also fix minor typo in README

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agodriver/fsl_pci:Update print to display PCIe generation
Prabhakar Kushwaha [Sat, 25 Jan 2014 07:23:32 +0000 (12:53 +0530)]
driver/fsl_pci:Update print to display PCIe generation

Current print only display width of PCIe device. Add print to display
PCIe generation supported by the device.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agopowerpc/mpc85xx: Update LIODNs for T1040
poonam aggrwal [Thu, 23 Jan 2014 20:54:59 +0000 (02:24 +0530)]
powerpc/mpc85xx: Update LIODNs for T1040

Removed LIODNs for RMAN, RIO, 10G. T1040 has 10 QMAN portals so assigned
LIODNs accordingly.

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
10 years agoconfig: trats: trats2: extend dfu_alt_info by env update settings
Przemyslaw Marczak [Wed, 22 Jan 2014 11:02:47 +0000 (12:02 +0100)]
config: trats: trats2: extend dfu_alt_info by env update settings

This change allows updating environment stored on MMC by dfu or thor.

New setting:
- "params.bin mmc 0x38 0x8"

File params.bin can be generated by: tools/mkenvimage.
e.g. ./mkenvimage -s 4096 -o params.bin <env_text_file>

Every new env variable in text file should start with a new line.

Sample env text file:
- board/samsung/common/dfu_sample_env.txt

Requirements:
- file name: "params.bin"
- file size: 4096 Bytes - the same as CONFIG_ENV_SIZE.
  Other size will cause CRC miscalculation at boot.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
CC: Piotr Wilczek <p.wilczek@samsung.com>
CC: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agouniversal: add LCD download menu support
Przemyslaw Marczak [Wed, 22 Jan 2014 10:24:20 +0000 (11:24 +0100)]
universal: add LCD download menu support

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agotrats2: add LCD download menu support
Przemyslaw Marczak [Wed, 22 Jan 2014 10:24:19 +0000 (11:24 +0100)]
trats2: add LCD download menu support

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agotrats: add LCD download menu support
Przemyslaw Marczak [Wed, 22 Jan 2014 10:24:18 +0000 (11:24 +0100)]
trats: add LCD download menu support

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agosamsung: misc: Add LCD download menu.
Przemyslaw Marczak [Wed, 22 Jan 2014 10:24:17 +0000 (11:24 +0100)]
samsung: misc: Add LCD download menu.

This simple LCD menu allows run one of download mode on device
without writing on console or for fast and easy upgrade.

This feature check user keys combination at boot:
- power key + volume up - download menu
- power key + volume down - thor mode (without menu)

New configs:
- CONFIG_LCD_MENU
- CONFIG_LCD_MENU_BOARD

For proper effect this feature needs following definitions:

Power key:
- KEY_PWR_PMIC_NAME - (string) pmic which supports power key check

Register address:
- KEY_PWR_STATUS_REG
- KEY_PWR_INTERRUPT_REG

Register power key mask:
- KEY_PWR_STATUS_MASK
- KEY_PWR_INTERRUPT_MASK

Gpio numbers:
- KEY_PWR_INTERRUPT_MASK
- KEY_VOL_DOWN_GPIO

Functions needs to be called:
- keys_init() - for set proper gpio direction
- check_boot_mode() - menu - main function

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
10 years agosamsung: boards: update display configs with 16bpp mode.
Przemyslaw Marczak [Wed, 22 Jan 2014 10:24:16 +0000 (11:24 +0100)]
samsung: boards: update display configs with 16bpp mode.

16 bpp mode is required by LCD console mode.
This change updates exynos board files.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>