platform/kernel/u-boot.git
8 years agoboard/BuR: split bur_am335x_common.h into am335x-specific and BuR common parts
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:45 +0000 (12:09 +0100)]
board/BuR: split bur_am335x_common.h into am335x-specific and BuR common parts

bur_am335x_common.h today holds all common configuration which is shared
over all B&R boards.

In future we want to bring up boards which are not based on AM335x only
but we still want to have common configuration over all B&R boards
independent from their architecture.

To prepare this we introduce a new file "bur_cfg_common.h", where we
move all common things, which are not architecture specific, from
bur_am335x_common.h.

On B&R am335x boards we include from now:

#include <configs/bur_cfg_common.h>
#include <configs/bur_am335x_common.h>

On other B&R boards, we include only
#include <configs/bur_cfg_common.h>

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoboard/BuR: move everything possible from board's headerfile to KConfig
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:44 +0000 (12:09 +0100)]
board/BuR: move everything possible from board's headerfile to KConfig

We drop everything possible things from board headerfiles and replace
this functionality with responsible settings in Kconfig (_defconfig).

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoboard/BuR: use default u-boot prompt on all B&R boards
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:43 +0000 (12:09 +0100)]
board/BuR: use default u-boot prompt on all B&R boards

There is no need to have some specific prompt, so we drop this within
defconfigs.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoboard/BuR: drop ETH-support in SPL-Stage
Hannes Schmelzer [Fri, 19 Feb 2016 11:09:42 +0000 (12:09 +0100)]
board/BuR: drop ETH-support in SPL-Stage

During very early prototype-phase we did boot the AM335x boards
initially from CPSW-EMAC.

Now we don't need this feature anymore.

So we drop it to save MLO-space and having therefore a more quickly
boot.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoOMAP3SOM BOARD: Auto detect Logic PD Models
Adam Ford [Thu, 18 Feb 2016 03:49:49 +0000 (21:49 -0600)]
OMAP3SOM BOARD: Auto detect Logic PD Models

Logic PD makes four different system on modules.  This patch will auto
detect the board type and identify the corresponding device tree image.

V2:
Added 'default:' case to switch statement
Since board_late_init() is defined as int, we now return 0

Signed-off-by: Derald Woods <woods.technical@gmail.com>
Signed-off-by: Adam Ford <aford173@gmail.com>
8 years agotest/py: only check for SPL signature if SPL uses serial output
Heiko Schocher [Wed, 17 Feb 2016 17:32:51 +0000 (18:32 +0100)]
test/py: only check for SPL signature if SPL uses serial output

check for U-Boot SPL signature only if SPL really has a serial output.
So check if CONFIG_SPL_SERIAL_SUPPORT is active in board config.

Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
8 years agopci_rom: fix may be used uninitialized warning
Andreas Bießmann [Tue, 16 Feb 2016 22:29:31 +0000 (23:29 +0100)]
pci_rom: fix may be used uninitialized warning

Building pci_rom.c with my toolchain complains about may be used uninitialized
rom varaible:

---8<---
+drivers/pci/pci_rom.c:269:25: note: 'rom' was declared here
w+drivers/pci/pci_rom.c: In function 'dm_pci_run_vga_bios':
w+drivers/pci/pci_rom.c:154:14: warning: 'rom' may be used uninitialized in this function [-Wmaybe-uninitialized]
--->8---

Fix this as done in 55616b86c745fcac5a791268ab8e7cba36965c0f the ram variable.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Acked-by: Anatolij Gustschin <agust@denx.de>
8 years agosamsung: fix mkorigenspl for darwin
Andreas Bießmann [Tue, 16 Feb 2016 22:29:30 +0000 (23:29 +0100)]
samsung: fix mkorigenspl for darwin

Compiling the mkorigenspl tool on darwin complains about undefined ulong. Fix
this by using the unified way.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
8 years agotools: -Wno-deprecated-declarations for OpenSSL on darwin
Andreas Bießmann [Tue, 16 Feb 2016 22:29:28 +0000 (23:29 +0100)]
tools: -Wno-deprecated-declarations for OpenSSL on darwin

Since OpenSSL is deprecated on OS X in favour of Common Crypto API disable the
warning for this host OS.

Another solution would be to add some glue layer for crypto stuff, but I think
this is not worth the effort.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoGracefully handle 64-bit signed-extended 32-bit Load addresses
William Cohen [Tue, 16 Feb 2016 13:57:46 +0000 (08:57 -0500)]
Gracefully handle 64-bit signed-extended 32-bit Load addresses

To follow the MIPS 32-bit and 64-bit memory map conventions (*) recent
MIPS Linux kernels are using a 64-bit sign extended value
(0xffffffff80010000) for the 32-bit load address (0x80010000) of the
Creator CI20 board kernel.  When this 64-bit argument was passed to
mkimage running on a 32-bit machine such as the Creator CI20 board the
load address was incorrectly formed from the upper 32-bit sign-extend
bits (0xffffffff) by the strtoul instead of from the lower 32-bits
(0x80010000).  The mkimage should be able to tolerate the longer
sign-extended 64-bit version of the 32-bit arguments with the use of
strtoull.  Use of the strtoll in place of the strtol in mkimage.c
resolves the issue of self hosted kernel builds for the Creator CI20
board (+) and (++).

(*) http://techpubs.sgi.com/library/dynaweb_docs/0620/SGI_Developer/books/DevDriver_PG/sgi_html/ch01.html
(+) https://github.com/MIPS/CI20_linux/issues/23
(++) https://github.com/MIPS/CI20_linux/issues/22

Signed-off-by: William Cohen <wcohen@redhat.com>
8 years agostm32: add support for stm32f7 & stm32f746 discovery board
Vikas Manocha [Thu, 11 Feb 2016 23:47:20 +0000 (15:47 -0800)]
stm32: add support for stm32f7 & stm32f746 discovery board

This patch adds support for stm32f7 family & stm32f746 board.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
8 years agostm32x7: add support for stm32x7 serial driver
Vikas Manocha [Thu, 11 Feb 2016 23:47:19 +0000 (15:47 -0800)]
stm32x7: add support for stm32x7 serial driver

This patch adds support for stm32f7 family usart peripheral.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agogpio: stm32_gpio: move base addresses to the soc file
Vikas Manocha [Thu, 11 Feb 2016 23:47:18 +0000 (15:47 -0800)]
gpio: stm32_gpio: move base addresses to the soc file

Base addresses for GPIOs could be different for different socs, this
patch moves the base addresses from driver to the soc specific location.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
8 years agogpio: stm32_gpio: move clock config from driver to board
Vikas Manocha [Thu, 11 Feb 2016 23:47:17 +0000 (15:47 -0800)]
gpio: stm32_gpio: move clock config from driver to board

This patch removes the gpio clock enable from gpio driver & move it in the
board code, making it possible to use the gpio driver with other socs.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
8 years agoarm: socfpga: Fix ethernet reset handling
Marek Vasut [Thu, 11 Feb 2016 15:36:43 +0000 (16:36 +0100)]
arm: socfpga: Fix ethernet reset handling

The following patch caused cpu_eth_init() to not be called anymore
for DM-capable boards:

commit c32a6fd07b1839e4a45729587ebc8e1c55601a4d
Date:   Sun Jan 17 14:51:56 2016 -0700
    net: Don't call board/cpu_eth_init() with driver model

This breaks ethernet on SoCFPGA, since we use that function to un-reset
the ethernet blocks. Invoke the ethernet reset function from arch_misc_init()
instead to fix the breakage.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
8 years agoarm: socfpga: Remove bashisms from qts filter
Marek Vasut [Thu, 11 Feb 2016 15:03:49 +0000 (16:03 +0100)]
arm: socfpga: Remove bashisms from qts filter

Weed out bashisms from the script. The echo -e does not work in dash,
which is the default /bin/sh in debian .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Dalon Westergreen <dwesterg@gmail.com>
8 years agoarm: socfpga: cv_socdk: Add support for QSPI boot
Marek Vasut [Thu, 11 Feb 2016 14:54:10 +0000 (15:54 +0100)]
arm: socfpga: cv_socdk: Add support for QSPI boot

Add missing DT nodes to allow booting from QSPI NOR.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
8 years agoarm: socfpga: av_socdk: Add support for QSPI boot
Marek Vasut [Thu, 11 Feb 2016 14:53:51 +0000 (15:53 +0100)]
arm: socfpga: av_socdk: Add support for QSPI boot

Add missing DT nodes to allow booting from QSPI NOR.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
8 years agoarm: socfpga: Add missing CONFIG_BUILD_TARGET
Marek Vasut [Thu, 11 Feb 2016 12:59:46 +0000 (13:59 +0100)]
arm: socfpga: Add missing CONFIG_BUILD_TARGET

Add the missing CONFIG_BUILD_TARGET to get u-boot-with-spl.sfp built
automatically upon running make in the source tree.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Denis Bakhvalov <denis.bakhvalov@nokia.com>
8 years agoimplement Fastboot via USB OTG on bcm28155_ap boards
Steve Rae [Wed, 27 Jan 2016 22:45:45 +0000 (14:45 -0800)]
implement Fastboot via USB OTG on bcm28155_ap boards

Don't understand how it happened, but this change got applied twice!
Therefore, removing the duplicated items.

Signed-off-by: Steve Rae <srae@broadcom.com>
8 years agofastboot: update error and warning messages
Steve Rae [Wed, 27 Jan 2016 23:02:41 +0000 (15:02 -0800)]
fastboot: update error and warning messages

Fix the formatting in error messages, and demote one error message
to a warning, as it is only informational.

Signed-off-by: Steve Rae <srae@broadcom.com>
8 years agousb: eth: fix memalign() parameter order
Stephen Warren [Fri, 12 Feb 2016 20:56:01 +0000 (13:56 -0700)]
usb: eth: fix memalign() parameter order

The alignment and size were swapped, leading to malloc heap corruption.

On my system, this sometimes caused U-Boot to crash during or after
certain USB Ethernet operations.

Fixes: c8c2797c3810 ("dm: usb: eth: Support driver model with USB Ethernet")
Signed-off-by: Stephen Warren <swarren@nvidia.com>
8 years agodfu: odroid xu3: Define DFU_MANIFEST_POLL_TIMEOUT to handle large files transmission...
Lukasz Majewski [Thu, 28 Jan 2016 16:14:52 +0000 (17:14 +0100)]
dfu: odroid xu3: Define DFU_MANIFEST_POLL_TIMEOUT to handle large files transmission and storage

As tested on the Odroid XU3, large files to be stored on the file system
require considerable time to be physically written to the medium.

The default 300 ms is not enough to store large file (e.g. 26 MiB).
To fix this situation the DFU_MANIFEST_POLL_TIMEOUT has been defined.

It is used to cease the communication with dfu-util and allow the target
board to store the data on file system.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
8 years agodfu: usb: f_dfu: Set deferred call for dfu_flush() function
Lukasz Majewski [Thu, 28 Jan 2016 15:14:49 +0000 (16:14 +0100)]
dfu: usb: f_dfu: Set deferred call for dfu_flush() function

This patch fixes situation when one would like to write large file into
medium with the file system (fat, ext4, etc).
This change sets file size limitation to the DFU internal buffer size.

Since u-boot is not supporting interrupts and seek on file systems, it
becomes challenging to store large file appropriately.

To reproduce this error - create large file (around 26 MiB) and sent it
to the target board.

Lets examine the flow of USB transactions:

0. DFU uses EP0 with 64B MPS [Max Packet Size]

1. Send file - OUT (PC->target) - dat_26MiB.img is sent with 4096 B transactions

2. Get status - OUT (PC->target) - wait for DFU_STATE_dfuDNLOAD_IDLE (0x05) sent
   from target board - IN transaction
   (target->PC)

3. The whole file content is sent to target - OUT (PC->target) with ZLP [Zero
      Length Packet]

Now the interesting part starts:

4. OUT (PC->target) Setup transaction (request to share DFU state)

5. IN (target->PC) - reply the current DFU state
- In the UDC driver the req->completion (with dfu_flush) is called
  after successful IN transfer.
- The dfu_flush() (called from req->completion callback) saves the
  whole file at once (u-boot doesn't support seek on fs).
  Such operation takes considerable time. When the file
  is large - e.g. 26MiB - this time may be more than 5 seconds.

6. OUT (PC->target) - ZLP, is send in the same time when dfu_flush()
 writes data to eMMC memory.
 The dfu-util application has hard coded timeout on USB transaction
 completion set to 5 seconds (it uses libusb calls).

When the file to store is large (e.g. 26 MiB) the time needed to write it
may excess the dfu-util timeout and following error message will be displayed:
"unable to read DFU status" on the HOST PC console.

This change is supposed to leverage DFU's part responsible for storing files
on file systems. Other DFU operations - i.e. raw/partition write to NAND and
eMMC should work as before.

The only functional change is the error reporting. When dfu_flush() fails
the u-boot prompt will exit with error information and dfu-util application
exits afterwards as well.

Test HW:
- Odroid XU3 (Exynos5433) - test with large file
- Trats (Exynos4210) - test for regression - eMMC, raw,

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Reported-by: Alex Gdalevich <agdalevich@axion-biosystems.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Heiko Schocher <hs@denx.de>
8 years agousb: ehci: Be explicit about the BE IO accessors
Marek Vasut [Sat, 23 Jan 2016 20:04:46 +0000 (21:04 +0100)]
usb: ehci: Be explicit about the BE IO accessors

Add explicit cpu_to_be32()/be32_to_cpu() conversion to BE EHCI I/O
accessors to align them with their LE counterpart. No functional
change.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
8 years agousb: ehci: Clear USBMODE_BE on LE MMIO
Marek Vasut [Sat, 23 Jan 2016 20:04:46 +0000 (21:04 +0100)]
usb: ehci: Clear USBMODE_BE on LE MMIO

If the USB EHCI is configured for little endian MMIO, make sure to
clear the USBMODE_BE flag from the USBMODE register.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
8 years agousb: ehci: Implement V2P mapping
Marek Vasut [Sat, 23 Jan 2016 20:04:46 +0000 (21:04 +0100)]
usb: ehci: Implement V2P mapping

Certain processor architectures, like MIPS, require that the USB
structures and transfer buffers are passed with their PA to the
USB controller. If VA is passed, the USB will not work. Add the
necessary virt_to_phys() calls into the USB EHCI code to make it
work.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
8 years agousb: ehci: Use map_physmem in ehci-generic
Marek Vasut [Sat, 23 Jan 2016 20:04:46 +0000 (21:04 +0100)]
usb: ehci: Use map_physmem in ehci-generic

Some architectures, like MIPS, require remapping of the registers.
Add the map_physmem() call to handle it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
8 years agoarmv7: ls102xa: Move smmu and stream id initialization into the common soc code
Alison Wang [Fri, 5 Feb 2016 04:48:17 +0000 (12:48 +0800)]
armv7: ls102xa: Move smmu and stream id initialization into the common soc code

The initialization for smmu and stream id is moved into the common soc
code.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoboard: ls1043ardb: Modify pin-muxing code for USB and QE-HDLC
Zhao Qiang [Fri, 5 Feb 2016 02:04:19 +0000 (10:04 +0800)]
board: ls1043ardb: Modify pin-muxing code for USB and QE-HDLC

QE-HDLC and USB multi-use the pins, modify the pin-muxing code
for them, when set "hwconfig=qe-hdlc" in uboot, assign the pins
to QE-HDLC, if not, assgin it to USB

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoboard: ls1043rdb: Move USB muxing config to config_board_mux
Zhao Qiang [Fri, 5 Feb 2016 02:04:18 +0000 (10:04 +0800)]
board: ls1043rdb: Move USB muxing config to config_board_mux

Pin-muxing code should be in config_board_mux, move USB muxing
config to config_board_mux.

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoboard: ls1043ardb: Add micro QE support for ls1043ardb
Zhao Qiang [Fri, 5 Feb 2016 02:04:17 +0000 (10:04 +0800)]
board: ls1043ardb: Add micro QE support for ls1043ardb

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agodriver: qe: Mask the codes not used for micro QE
Zhao Qiang [Fri, 5 Feb 2016 02:04:16 +0000 (10:04 +0800)]
driver: qe: Mask the codes not used for micro QE

there are some code in qe.c not used for micro QE,
use "#ifdef CONFIG_QE" to mask them.

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8/ls1043aqds: Add USB support for ls1043aqds
Qianyu Gong [Tue, 16 Feb 2016 05:12:53 +0000 (13:12 +0800)]
armv8/ls1043aqds: Add USB support for ls1043aqds

Add USB XHCI support for ls1043qds board.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8/fsl-layerscape: fdt: add fixup for Fman ucode
Qianyu Gong [Thu, 18 Feb 2016 05:02:02 +0000 (13:02 +0800)]
armv8/fsl-layerscape: fdt: add fixup for Fman ucode

Add fdt fixup to insert Fman firmware into the device tree.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agodriver/fm: fdt.c: fix fdt_fixup_fman_firmware() to support ARM platforms
Qianyu Gong [Thu, 18 Feb 2016 05:02:01 +0000 (13:02 +0800)]
driver/fm: fdt.c: fix fdt_fixup_fman_firmware() to support ARM platforms

Use fdt32_to_cpu() to convert the data correctly for both endianness
platforms.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agofm: fdt: Move fman ucode fixup to driver code
Qianyu Gong [Thu, 18 Feb 2016 05:02:00 +0000 (13:02 +0800)]
fm: fdt: Move fman ucode fixup to driver code

Not only powerpc/mpc85xx but also Freescale Layerscape platforms will
use fdt_fixup_fman_firmware() to insert Fman ucode blob into the device
tree. So move the function to Fman driver code.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoqe: move drivers/qe/qe.h to include/fsl_qe.h
Qianyu Gong [Thu, 18 Feb 2016 05:01:59 +0000 (13:01 +0800)]
qe: move drivers/qe/qe.h to include/fsl_qe.h

As the QE firmware struct is shared with Fman, move the header file
out of drivers/qe/.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: ls2080: Update bootcmd env variable
Prabhakar Kushwaha [Wed, 3 Feb 2016 11:34:07 +0000 (17:04 +0530)]
armv8: ls2080: Update bootcmd env variable

Before Linux boot DPL must be deployed to DPAA2 interface.
So update bootcmd env variable to make sure DPL deployment before
Linux boot.

Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: ls2080: Add mcinitcmd env variable in default env
Prabhakar Kushwaha [Wed, 3 Feb 2016 11:33:51 +0000 (17:03 +0530)]
armv8: ls2080: Add mcinitcmd env variable in default env

Define mcinitcmd env variable to load Management complex during
u-boot boot sequence.

Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarm: ls1021a: Add QSPI or IFC support in SD boot for LS1021AQDS board
Alison Wang [Tue, 2 Feb 2016 07:16:23 +0000 (15:16 +0800)]
arm: ls1021a: Add QSPI or IFC support in SD boot for LS1021AQDS board

As QSPI and IFC are pin-multiplexed on LS1021A, only IFC is supported
in SD boot now. For the customer's demand, QSPI needs to be supported
in SD boot too.

This patch adds QSPI or IFC support in SD boot according to the
corresponding defconfig. For detail, ls1021aqds_sdcard_ifc_defconfig
is used to support IFC in SD boot and ls1021aqds_sdcard_qspi_defconfig
is used to support QSPI in SD boot.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8/ls1043a: Implement workaround for erratum A009660
Mingkai Hu [Tue, 2 Feb 2016 03:28:03 +0000 (11:28 +0800)]
armv8/ls1043a: Implement workaround for erratum A009660

Memory controller performance is not optimal with default internal
target queue register value, write required value for optimal DDR
performance.

Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8/ls1043a: enable workaround for errarum A009942
Shengzhou Liu [Fri, 29 Jan 2016 08:56:01 +0000 (16:56 +0800)]
armv8/ls1043a: enable workaround for errarum A009942

DDR erratum A-009942 applies to LS1043A.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agopowerpc/SECURE_BOOT: Add PAMU driver
Aneesh Bansal [Fri, 22 Jan 2016 11:35:59 +0000 (17:05 +0530)]
powerpc/SECURE_BOOT: Add PAMU driver

PAMU driver basic support for usage in Secure Boot.
In secure boot PAMU is not in bypass mode. Hence to use
any peripheral (SEC Job ring in our case), PAMU has to be
configured.

The patch reverts commit 7cad2e38d61e27ea59fb7944f7e647e97ef292d3.

The Header file pamu.h and few functions in driver have been derived
from Freescale Libos.

Signed-off-by: Ruchika Gupta <ruchika.gupta@nxp.com>
Signed-off-by: Aneesh Bansal <aneesh.bansal@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agodrivers/crypto/fsl : Allocate output ring with size aligned to CACHELNE SIZE
Ruchika Gupta [Fri, 22 Jan 2016 10:42:55 +0000 (16:12 +0530)]
drivers/crypto/fsl : Allocate output ring with size aligned to CACHELNE SIZE

The output ring needs to be invalidated before enqueuing the job to SEC.
While allocation of space to output ring, it should be taken care that the
size is cacheline size aligned inorder to prevent invalidating valid data.

The patch also correct the method of aligning end of structs while flushing caches

    Since start = align(start_of_struct), it is incorrect to assign
    end = align(start + struct_size). It should instead be,
    end = align(start_of_struct + struct_size).

Signed-off-by: Saksham Jain <saksham@nxp.com>
Signed-off-by: Ruchika Gupta <ruchika.gupta@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: ls2080a: Increase default hugepage count
Ashish Kumar [Thu, 14 Jan 2016 12:42:29 +0000 (18:12 +0530)]
armv8: ls2080a: Increase default hugepage count

Increase default hugepage count to 256 from 16

Signed-off-by: Ashish Kumar <Ashish.Kumar@freescale.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarm: ls1021aqds: Enable driver model lpuart serial driver
York Sun [Mon, 8 Feb 2016 21:47:29 +0000 (13:47 -0800)]
arm: ls1021aqds: Enable driver model lpuart serial driver

Convert ls1021aqds_nor_lpuart and ls1021aqds_ddr4_nor_lpuart
to driver model suport. Enable lpuart port driver.

Signed-off-by: York Sun <york.sun@nxp.com>
CC: Alison Wang <alison.wang@nxp.com>
CC: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alison Wang <alison.wang@nxp.com>
8 years agoMerge branch 'master' of http://git.denx.de/u-boot-sunxi
Tom Rini [Tue, 23 Feb 2016 20:35:47 +0000 (15:35 -0500)]
Merge branch 'master' of git.denx.de/u-boot-sunxi

8 years agosunxi: H3: Add support for the host usb-phys
Jelle van der Waa [Tue, 9 Feb 2016 22:59:33 +0000 (23:59 +0100)]
sunxi: H3: Add support for the host usb-phys

Add support for phy 1-3.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
[hdegoede@redhat.com: use setclrbits_le32 instead of read-modify-write]
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: power: add support for sy8106a driver
Jelle van der Waa [Tue, 23 Feb 2016 17:47:19 +0000 (18:47 +0100)]
sunxi: power: add support for sy8106a driver

SY8106A is a PMIC which is used on the Allwinner
H3 Orange Pi Pc and Plus board. The VOUT1_SEL register is
implemented to set the default V-CPU voltage to 1200 mV.

This driver is required to ensure the SY8106A V-CPU
voltage is set to 1200 mV after a software reset. On cold
boot the default SY8106A output voltage is selected to be
1200 mV by a pair of resistors on the Orange Pi PC and Plus.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Tested-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agoarm: ls1021aqds: Convert to driver model and enable serial support
York Sun [Mon, 8 Feb 2016 21:04:17 +0000 (13:04 -0800)]
arm: ls1021aqds: Convert to driver model and enable serial support

Split duart configuration as device tree file. Move /chosen node
out of board commone device tree. Convert ls1021aqds nor and SD
configurations to driver model support (qspi already uses DM).
Enable ns16550 DM serial driver for nor configurations.

Signed-off-by: York Sun <york.sun@nxp.com>
CC: Alison Wang <alison.wang@nxp.com>
CC: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alison Wang <alison.wang@nxp.com>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Tue, 23 Feb 2016 13:13:46 +0000 (08:13 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-spi

8 years agospi: spi-uclass: Set slave wordlen with SPI_DEFAULT_WORDLEN
Christophe Ricard [Sun, 17 Jan 2016 10:56:48 +0000 (11:56 +0100)]
spi: spi-uclass: Set slave wordlen with SPI_DEFAULT_WORDLEN

In some case wordlen may not be set. Use SPI_DEFAULT_WORDLEN as default.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agospi: omap3: Remove unused variable irqstatus in omap3_spi_txrx
Christophe Ricard [Sun, 17 Jan 2016 10:56:47 +0000 (11:56 +0100)]
spi: omap3: Remove unused variable irqstatus in omap3_spi_txrx

Remove unused variable irqstatus in omap3_spi_txrx

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agodefconfig: am437x_sk_evm: enable dma driver model
Mugunthan V N [Mon, 15 Feb 2016 10:01:42 +0000 (15:31 +0530)]
defconfig: am437x_sk_evm: enable dma driver model

enable dma driver model for am437x_sk_evm as ti-edma3 supports
driver model

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agodrivers: dma: ti-edma3: convert driver to adopt driver model
Mugunthan V N [Mon, 15 Feb 2016 10:01:41 +0000 (15:31 +0530)]
drivers: dma: ti-edma3: convert driver to adopt driver model

adopt ti-edma3 driver to device driver model

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agospi: ti_qspi: compile out spi_flash_copy_mmap when CONFIG_DMA is defined
Mugunthan V N [Mon, 15 Feb 2016 10:01:40 +0000 (15:31 +0530)]
spi: ti_qspi: compile out spi_flash_copy_mmap when CONFIG_DMA is defined

When CONFIG_DMA is defined the default spi_flash_copy_mmap() can
handle dma memory copy, so compile out spi_flash_copy_mmap() from
ti_qspi driver when CONFIG_DMA config is defined.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agosf: spi_flash: use dma to copy data from mmap region if platform supports
Mugunthan V N [Mon, 15 Feb 2016 10:01:39 +0000 (15:31 +0530)]
sf: spi_flash: use dma to copy data from mmap region if platform supports

Add dma memcpy api to the default spi_flash_copy_mmap(), so that
dma will be used to copy data when CONFIG_DMA is defined for the
platform.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agodma: Kconfig: Add TI_EDMA3 entry
Mugunthan V N [Mon, 15 Feb 2016 10:01:38 +0000 (15:31 +0530)]
dma: Kconfig: Add TI_EDMA3 entry

Add TI_EDMA3 entry on Kconfig with help description.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agodm: implement a DMA uclass
Mugunthan V N [Mon, 15 Feb 2016 10:01:37 +0000 (15:31 +0530)]
dm: implement a DMA uclass

Implement a DMA uclass so that the devices like ethernet, spi,
mmc etc can offload the data transfers from/to the device and
memory.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agoARM: zynq: Wire-up saving environment to QSPI
Michal Simek [Sat, 13 Feb 2016 11:02:53 +0000 (12:02 +0100)]
ARM: zynq: Wire-up saving environment to QSPI

Extend options for saving variables to QSPI.

Reviewed-by: Jagan Teki <jteki@openedev.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-video
Tom Rini [Mon, 22 Feb 2016 18:12:47 +0000 (13:12 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-video

8 years agovideo: Add S3C24xx framebuffer support
Marek Vasut [Sat, 11 Oct 2014 16:42:49 +0000 (18:42 +0200)]
video: Add S3C24xx framebuffer support

Add basic framebuffer driver for the S3C24xx family of CPUs.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Vladimir Zapolskiy <vz@mleia.com>
V2: Keep the Makefile sorted.
Acked-by: Anatolij Gustschin <agust@denx.de>
8 years agoARM: zynq: Enable EDID for zybo
Michal Simek [Sat, 13 Feb 2016 09:49:03 +0000 (10:49 +0100)]
ARM: zynq: Enable EDID for zybo

Zybo contains on board HDMI that's why enable EDID.
Doing it via config because zynq i2c driver hasn't been moved to DM yet
and enabling via Kconfig requires DM_I2C.
This will be moved that driver is moved to DM.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Add reset-gpio property for USB on Zybo
Michal Simek [Sat, 13 Feb 2016 09:38:08 +0000 (10:38 +0100)]
ARM: zynq: Add reset-gpio property for USB on Zybo

DTS syncup with Linux kernel.
Add missing reset-gpio property.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agonet: phy: realtek: Use generic genphy_parse_link() for RTL8211E
Michal Simek [Sat, 13 Feb 2016 09:31:32 +0000 (10:31 +0100)]
net: phy: realtek: Use generic genphy_parse_link() for RTL8211E

The problem with current implementation is that SPDDONE bit is 1
but link bit is zero. That's why phydev->link is setup to 0
which ending up in driver failure that link is not up.

Log:
Zynq> dhcp
ethernet@e000b000 Waiting for PHY auto negotiation to complete.......
done
ethernet@e000b000: No link.

There is at least 1ms delay between spddone bit and link up.

Use genphy_read_status() instead of realtek implemenation which is
working with page 11. Linux driver is also using generic implementation.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Enable Realtek phys by default
Michal Simek [Sat, 6 Feb 2016 12:34:54 +0000 (13:34 +0100)]
ARM: zynq: Enable Realtek phys by default

This phy is available at Zybo board.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoi2c: spd: Extend SPD memory types
Michal Simek [Mon, 15 Feb 2016 10:58:37 +0000 (11:58 +0100)]
i2c: spd: Extend SPD memory types

Decode DDR, DDR3 and DDR4 memories.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agodm: ns16550: Add support for reg-offset property
Michal Simek [Tue, 16 Feb 2016 15:05:23 +0000 (16:05 +0100)]
dm: ns16550: Add support for reg-offset property

reg-offset is the part of standard 8250 binding in the kernel.
It is shifting start of address space by reg-offset.
On Xilinx platform this offset is typically 0x1000.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agozynq-common: Fix usbboot env variable
Jason Wu [Mon, 22 Feb 2016 12:07:49 +0000 (22:07 +1000)]
zynq-common: Fix usbboot env variable

Remove the miss-placed \0 and add missing ; for usbboot env variable.

Signed-off-by: Jason Wu <jason.wu.misc@gmail.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Enable SPL RAM support by default
Michal Simek [Wed, 17 Feb 2016 07:38:38 +0000 (08:38 +0100)]
ARM: zynq: Enable SPL RAM support by default

Use RAM support in jtagboot mode.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
8 years agoARM: zynq: Enable u-boot,dm-pre-reloc for qspi
Nathan Rossi [Tue, 16 Feb 2016 13:05:03 +0000 (23:05 +1000)]
ARM: zynq: Enable u-boot,dm-pre-reloc for qspi

Enable u-boot,dm-pre-reloc for qspi for zc706, zed and microzed.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoserial: zynq: Change logic in putc
Michal Simek [Wed, 3 Feb 2016 14:16:51 +0000 (15:16 +0100)]
serial: zynq: Change logic in putc

Sync logic with Linux kernel where TX empty flag is checked before char
is sent.
This logic is fixing problem with console on zynqmp platform.

For example:
DRAM:  2 GiB
Enabling Caches...
EL Level: ��   sdhci@ff170000: 0
Using default environment

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
8 years agoARM: zynq: Remove ZYNQ_BOOT_FREEBSD option
Michal Simek [Thu, 4 Feb 2016 10:08:26 +0000 (11:08 +0100)]
ARM: zynq: Remove ZYNQ_BOOT_FREEBSD option

Remove CONFIG_ZYNQ_BOOT_FREEBSD configuration option and setup
CONFIG_SYS_MMC_MAX_DEVICE 1 for all Zynq boards.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Read memory size setting from DT
Michal Simek [Thu, 4 Feb 2016 10:03:20 +0000 (11:03 +0100)]
ARM: zynq: Read memory size setting from DT

OF_CONTROL is setup by default and memory reading is done via DT. Remove
all config files with memory references.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agommc: Kconfig: Add Arasan SDHCI entry
Michal Simek [Thu, 4 Feb 2016 10:43:40 +0000 (11:43 +0100)]
mmc: Kconfig: Add Arasan SDHCI entry

Add Arasan SDHCI entry to Kconfig and fix all references.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agozynq: zc770: Remove unused ifdefs for xm011 and xm013
Michal Simek [Thu, 4 Feb 2016 09:56:23 +0000 (10:56 +0100)]
zynq: zc770: Remove unused ifdefs for xm011 and xm013

Clean config file.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agoARM: zynq: Remove unused SPI base addresses
Michal Simek [Thu, 4 Feb 2016 07:35:53 +0000 (08:35 +0100)]
ARM: zynq: Remove unused SPI base addresses

Remove unused macros. Adresses are taken from DT.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
8 years agovideo: freetype: Fix a memory leak with a bad parameter
Simon Glass [Mon, 22 Feb 2016 04:10:26 +0000 (21:10 -0700)]
video: freetype: Fix a memory leak with a bad parameter

Make sure to free memory used when the scale facture is incorrect.

Reported-by: Coverity (CID: 24068)
Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agovideo: truetype: Fix a memory leak on error
Simon Glass [Mon, 22 Feb 2016 04:10:25 +0000 (21:10 -0700)]
video: truetype: Fix a memory leak on error

When the resolution is not supported we should free the memory we don't plan
to use.

Reported-by: Coverity (CID: 135127)
Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Sun, 21 Feb 2016 12:56:16 +0000 (07:56 -0500)]
Merge branch 'master' of git://denx.de/git/u-boot-imx

8 years agoimx: mx7d: isolate resources to domain 0 for A7 core
Peng Fan [Thu, 28 Jan 2016 08:55:09 +0000 (16:55 +0800)]
imx: mx7d: isolate resources to domain 0 for A7 core

In current design, if any peripheral was assigned to both A7 and M4,
it will receive ipg_stop or ipg_wait when any of the 2 platforms
enter low power mode. We will have a risk that, if A7 enter wait,
M4 enter stop, peripheral will have chance to get ipg_stop and ipg_wait
asserted same time. Also if M4 enters stop mode, A7 will have no
chance to access the peripheral.
There are 26 peripherals affected by this IC issue:
SIM2(sim2/emvsim2)
SIM1(sim1/emvsim1)
UART1/UART2/UART3/UART4/UART5/UART6/UART7
SAI1/SAI2/SAI3
WDOG1/WDOG2/WDOG3/WDOG4
GPT1/GPT2/GPT3/GPT4
PWM1/PWM2/PWM3/PWM4
ENET1/ENET2
Software Workaround:
The solution is to set the peripherals to Domain0 by A core, since A core
in Domain0. The peripherals which will be used by M4, will be set to Domain1
by M4.
For example, A core set WDOG4 to domain0, but when M4 boots up, M4 will
set WDOG4 to domain1, because M4 will use WDOG4.

So the peripherals are not shared by them. This way requires
the uboot implemented the RDC driver and set the 26 IPs above
to domain 0 only. M4 image will set the M4 to domain 1 and
set peripheral which it will use to domain 1.

This patch enables the CONFIG_IMX_RDC and CONFIG_IMX_BOOTAUX for
i.MX7D SABRESD board, and setup the 26 IP resources to domain 0.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx7dsabresd: add command and macros for boot m4 core
Peng Fan [Thu, 28 Jan 2016 08:55:08 +0000 (16:55 +0800)]
imx: mx7dsabresd: add command and macros for boot m4 core

Introduce macros and command to support booting M4 core for
i.MX7D SabreSD board.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx7: implement functions to boot auxiliary core
Peng Fan [Thu, 28 Jan 2016 08:55:07 +0000 (16:55 +0800)]
imx: mx7: implement functions to boot auxiliary core

Implement arch_auxiliary_core_up and arch_auxiliary_core_check_up.

arch_auxiliary_core_check_up is used to check whether M4 is running
or not. arch_auxiliary_core_up is to boot M4 core, the m4 core will
use the pc and stack which is set in arch_auxiliary_core_up to set R15
and R13 register and boot.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx6sxsabresd: add command and macros for boot m4 core
Peng Fan [Thu, 28 Jan 2016 08:55:06 +0000 (16:55 +0800)]
imx: mx6sxsabresd: add command and macros for boot m4 core

Introduce macros and command to support booting M4 core for
i.MX6SX SabreSD board.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx6: implement functions to boot auxiliary core
Peng Fan [Thu, 28 Jan 2016 08:55:05 +0000 (16:55 +0800)]
imx: mx6: implement functions to boot auxiliary core

Implement arch_auxiliary_core_up and arch_auxiliary_core_check_up.

arch_auxiliary_core_check_up is used to check whether M4 is running
or not. arch_auxiliary_core_up is to boot M4 core, the m4 core will
use the pc and stack which is set in arch_auxiliary_core_up to set R15
and R13 register and boot.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: imx-common: introduce boot auxiliary core
Peng Fan [Thu, 28 Jan 2016 08:55:04 +0000 (16:55 +0800)]
imx: imx-common: introduce boot auxiliary core

To boot a auxiliary core in asymmetric multicore system, introduce the
new command "bootaux" to do it. Example of boot auxliary core from
0x70000000 where stores the boot head information that should be
parsed by auxiliary core, "bootaux 0x70000000".
Introduce Kconfig option IMX_BOOTAUX.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx7d: clock support for RDC
Peng Fan [Thu, 28 Jan 2016 08:55:03 +0000 (16:55 +0800)]
imx: mx7d: clock support for RDC

If CONFIG_IMX_RDC is enabled, enable clock for RDC and SEMAPHORE.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx7d: Add RDC support
Peng Fan [Thu, 28 Jan 2016 08:55:02 +0000 (16:55 +0800)]
imx: mx7d: Add RDC support

Add the peripherals/masters definitions and registers base addresses
for mx7d RDC.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx6sx Add RDC mappings of masters and peripherals
Peng Fan [Thu, 28 Jan 2016 08:55:01 +0000 (16:55 +0800)]
imx: mx6sx Add RDC mappings of masters and peripherals

Add the definitions for the RDC mappings for i.MX6 SoloX.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: imx-common: introduce Resource Domain Controller support
Peng Fan [Thu, 28 Jan 2016 08:55:00 +0000 (16:55 +0800)]
imx: imx-common: introduce Resource Domain Controller support

Introduce Resource Domain Controller support for i.MX.
Now i.MX6SX and i.MX7D supports this feature to assign masters
and peripherals to different domains.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx6: introduce rdc regs
Peng Fan [Thu, 28 Jan 2016 08:54:59 +0000 (16:54 +0800)]
imx: mx6: introduce rdc regs

Introudce rdc regs structure and rdc sema reg structure for i.MX6.
For now, to i.MX6, only i.MX6SX supports this.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx6quq7: add sd card detection
Julien CORJON [Fri, 5 Feb 2016 15:19:33 +0000 (16:19 +0100)]
imx: mx6quq7: add sd card detection

Add board_mmc_getcd function and declare CD_GPIO for SDCard.

Signed-off-by: Julien Corjon <corjon.j@ecagroup.com>
8 years agoimx: mx6quq7: specify max_bus_witdh directly in usdhc_cfg
Julien CORJON [Fri, 5 Feb 2016 15:19:32 +0000 (16:19 +0100)]
imx: mx6quq7: specify max_bus_witdh directly in usdhc_cfg

Specify max_bus_width directly in usdhc_cfg static definition instead
of tweaking it in the board_mmc_init() function.

Signed-off-by: Julien Corjon <corjon.j@ecagroup.com>
8 years agoimx: mx6quq7: fix USDHC4 declaration
Julien CORJON [Fri, 5 Feb 2016 15:19:31 +0000 (16:19 +0100)]
imx: mx6quq7: fix USDHC4 declaration

USDHC2 does not exist on mx6quq7 board, as USDHC4 was already been
declared this is probably a typo.

Signed-off-by: Julien Corjon <corjon.j@ecagroup.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
8 years agoboard: tbs2910: Autoselect environment device when booting from SD
Soeren Moch [Thu, 4 Feb 2016 13:41:16 +0000 (14:41 +0100)]
board: tbs2910: Autoselect environment device when booting from SD

Implement board specific functions to select the environment device and
partition when booting from SD/MMC.

SD2:  mmc 0 0
SD3:  mmc 1 0
eMMC: mmc 2 1

Signed-off-by: Soeren Moch <smoch@web.de>
8 years agoimx: mx6: Implement mmc_get_env_part
Soeren Moch [Thu, 4 Feb 2016 13:41:15 +0000 (14:41 +0100)]
imx: mx6: Implement mmc_get_env_part

commit 216d286c7e3d3d83d4d8ccaf0415192e1b1040c0 [imx: mx6: implement
mmc_get_env_dev] introduced selection of the environment device according
to the boot device when booting from SD/MMC.

Extend this functionality for also selecting the device partition.

Signed-off-by: Soeren Moch <smoch@web.de>
8 years agopinctrl: imx: Support i.MX7D
Peng Fan [Wed, 3 Feb 2016 02:06:08 +0000 (10:06 +0800)]
pinctrl: imx: Support i.MX7D

Introudce i.MX7 pinctrl driver support.
For now only i.MX7D supported.
There are two iomux controllers in i.MX7D, iomuxc and iomuxc_lpsr.
To iomuxc_lpsr, ZERO_OFFSET_VALID is set, means offset of mux_reg
and conf_reg can begin at 0.

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agopinctrl: imx: Introduce pinctrl driver for i.MX6
Peng Fan [Wed, 3 Feb 2016 02:06:07 +0000 (10:06 +0800)]
pinctrl: imx: Introduce pinctrl driver for i.MX6

Introduce pinctrl for i.MX6
1. pinctrl-imx.c is for common usage. It's used by i.MX6/7.
2. Add PINCTRL_IMX PINCTRL_IMX6 Kconfig entry.
3. To the pinctrl_ops implementation, only set_state is implemented.
   To i.MX6/7, the pinctrl dts entry is as following:
&iomuxc {
        pinctrl-names = "default";

        pinctrl_csi1: csi1grp {
                fsl,pins = <
                MX6UL_PAD_CSI_MCLK__CSI_MCLK            0x1b088
                MX6UL_PAD_CSI_PIXCLK__CSI_PIXCLK        0x1b088
                MX6UL_PAD_CSI_VSYNC__CSI_VSYNC          0x1b088
                >;
        };

        [.....]
};
  there is no property named function or groups. So pinctrl_generic_set_state
  can not be used here.
5. This driver is a simple implementation for i.mx iomux controller,
   only parse the fsl,pins property and write value to registers.
6. With DEBUG enabled, we can see log when "i2c bus 0":
   "
   set_state_simple op missing
   imx_pinctrl_set_state: i2c1grp
   mux_reg 0x14c, conf_reg 0x3bc, input_reg 0x5d8, mux_mode 0x0, input_val 0x1, config_val 0x4000007f
   write mux: offset 0x14c val 0x10
   select_input: offset 0x5d8 val 0x1
   write config: offset 0x3bc val 0x7f
   mux_reg 0x148, conf_reg 0x3b8, input_reg 0x5d4, mux_mode 0x0, input_val 0x1, config_val 0x4000007f
   write mux: offset 0x148 val 0x10
   select_input: offset 0x5d4 val 0x1
   write config: offset 0x3b8 val 0x7f
   "
   this means imx6 pinctrl driver works as expected.

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoimx: Refactoring CAAM Job Ring structure and Secure Memory for imx7
Ulises Cardenas [Tue, 2 Feb 2016 10:39:39 +0000 (04:39 -0600)]
imx: Refactoring CAAM Job Ring structure and Secure Memory for imx7

Refactored data structure for CAAM's job ring and Secure Memory
to support i.MX7.

The new memory map use macros to resolve SM's offset by version.
This will solve the versioning issue caused by the new version of
secure memory of i.MX7

Signed-off-by: Ulises Cardenas <raul.casas@nxp.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>