project/bcm63xx/u-boot.git
8 years agosunxi: Re-enable h3 emac support
Hans de Goede [Wed, 27 Jul 2016 16:06:35 +0000 (18:06 +0200)]
sunxi: Re-enable h3 emac support

With the recent bug fixes for the sun8i_emac driver all known issues
are resolved, so we can re-enable the driver.

While at it, also enable the emac on the Orange Pi One.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Corentin LABBE <clabbe.montjoie@gmail.com>
Cc: Amit Singh Tomar <amittomer25@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
Acked-by: Jagan Teki <jteki@openedev.com>
8 years agonet: sun8i_emac: Fix DMA alignment issues with the rx / tx buffers
Hans de Goede [Wed, 27 Jul 2016 15:31:17 +0000 (17:31 +0200)]
net: sun8i_emac: Fix DMA alignment issues with the rx / tx buffers

This fixes the following CACHE warnings when using sun8i_emac:

=> dhcp
BOOTP broadcast 1
BOOTP broadcast 2
CACHE: Misaligned operation at range [7bf594a87bf59628]
BOOTP broadcast 3
CACHE: Misaligned operation at range [7bf59c907bf59e10]
CACHE: Misaligned operation at range [7bf5a4787bf5a5f8]
DHCP client bound to address 10.42.43.80 (1009 ms)

Note this commit also changes the max rx size from 2024 to 2044,
matching what the kernel driver uses.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Corentin LABBE <clabbe.montjoie@gmail.com>
Cc: Amit Singh Tomar <amittomer25@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
8 years agosunxi: On newer SoCs use words 1-3 instead of just word 3 from the SID
Hans de Goede [Fri, 29 Jul 2016 09:47:03 +0000 (11:47 +0200)]
sunxi: On newer SoCs use words 1-3 instead of just word 3 from the SID

It seems that bytes 13-14 of the SID / bytes 1-2 from word 3 of the SID
are always 0 on H3 making it a poor candidate to use as source for the
serialnr / mac-address, and the other non constant words (1 and 2) also
have quite a few bits which are the same for some boards,

This commits switches to using the crc32 of words 1 - 3 to get a
more unique value for the mac-address / serialnr.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Corentin LABBE <clabbe.montjoie@gmail.com>
Cc: Amit Singh Tomar <amittomer25@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
8 years agosunxi: Ensure that the NIC specific bytes of the mac are not all 0
Hans de Goede [Wed, 27 Jul 2016 15:58:06 +0000 (17:58 +0200)]
sunxi: Ensure that the NIC specific bytes of the mac are not all 0

On 2 of my H3 boards bytes 13-15 of the SID are all 0 leading to
the NIC specific bytes of the mac all being 0, which leads to the
boards not getting an ipv6 address from the dhcp server.

This commits adds a check to ensure this does not happen.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Corentin LABBE <clabbe.montjoie@gmail.com>
Cc: Amit Singh Tomar <amittomer25@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
8 years agosunxi: Hummingbird_A31_defconfig: Drop MACPWR option
Chen-Yu Tsai [Fri, 22 Jul 2016 08:13:00 +0000 (16:13 +0800)]
sunxi: Hummingbird_A31_defconfig: Drop MACPWR option

MACPWR was used to bring the Ethernet PHY out of reset. The designware
driver now supports the phy reset gpio binding, so this is no longer
needed. In fact in requesting the same GPIO, it makes the designware
driver fail to probe.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: gpio: Add .xlate function for gpio phandle resolution
Chen-Yu Tsai [Fri, 22 Jul 2016 08:12:59 +0000 (16:12 +0800)]
sunxi: gpio: Add .xlate function for gpio phandle resolution

sunxi uses a 2 cell phandle for gpio bindings. Also there are no
seperate nodes for each pin bank.

Add a custom .xlate function to map gpio phandles to the correct
pin bank device. This fixes gpio_request_by_name usage.

Fixes: 7aa974858422 ("dm: sunxi: Modify the GPIO driver to support driver
      model")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agom68k: code reformatting for all start.S files
Angelo Dureghello [Sat, 21 May 2016 22:14:29 +0000 (00:14 +0200)]
m68k: code reformatting for all start.S files

This patch is style-related only, to reformat all the start.S code,
actually not following a coherent style inside single files and
between different cpu start.S files.

Linux format has been respected, as
  - max line width at 80 columns
  - one 8 cols tab between asm instructions and operands
  - inline comments, where any, fixed at col 41

Signed-off-by: Angelo Dureghello <angelo@sysam.it>
8 years agoARM: am57xx_evm: Enable QSPI support
Vignesh R [Fri, 29 Jul 2016 08:52:30 +0000 (14:22 +0530)]
ARM: am57xx_evm: Enable QSPI support

AM571x IDK and AM572x IDK EVMs have spansion s25fl256s QSPI flash on the
board connected to TI QSPI IP over CS0. Therefore enable QSPI support.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agoARM: dts: am57xx-idk-common: Enable support for QSPI
Vignesh R [Fri, 29 Jul 2016 08:52:31 +0000 (14:22 +0530)]
ARM: dts: am57xx-idk-common: Enable support for QSPI

AM571x and AM572x IDK have a spansion s25fl256s QSPI flash on the board
connected to TI QSPI over CS0. Hence, add QSPI and flash slave
DT nodes.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agoconfigs: am43xx_evm_defconfig: Enable CONFIG_SPI_FLASH_BAR
Vignesh R [Thu, 28 Jul 2016 11:57:57 +0000 (17:27 +0530)]
configs: am43xx_evm_defconfig: Enable CONFIG_SPI_FLASH_BAR

AM437x SK and AM437x IDK EVMs have 64MB flash, therefore enable
CONFIG_SPI_FLASH_BAR to access flash regions above 16MB.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agoARM: dts: dra7xx: Update spi-max-frequency for QSPI
Vignesh R [Mon, 25 Jul 2016 10:15:47 +0000 (15:45 +0530)]
ARM: dts: dra7xx: Update spi-max-frequency for QSPI

According to AM572x DM SPRS953A, QSPI max bus speed is 76.8MHz.
Therefore update the spi-max-frequency value of QSPI node for DRA74 and
DRA72 evm. This increase flash read speed by ~2MB/s.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
8 years agoconfigs: dra7xx: Update QSPI speed to 76.8MHz
Vignesh R [Mon, 25 Jul 2016 10:15:46 +0000 (15:45 +0530)]
configs: dra7xx: Update QSPI speed to 76.8MHz

Now that QSPI driver can support 76.8MHz, update the
CONFIG_SF_DEFAULT_SPEED to the same value.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
8 years agospi: ti_qspi: dra7xx: Add support to use 76.8MHz clock
Vignesh R [Mon, 25 Jul 2016 10:15:45 +0000 (15:45 +0530)]
spi: ti_qspi: dra7xx: Add support to use 76.8MHz clock

According to AM572x DM SPRS953A, QSPI bus speed can be 76.8MHz, update
the driver to use the same.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
8 years agoARM: dra7xx: Change DPLL_PER_HS13 divider value
Lokesh Vutla [Mon, 25 Jul 2016 10:15:44 +0000 (15:45 +0530)]
ARM: dra7xx: Change DPLL_PER_HS13 divider value

According to AM572x DM SPRS953A, QSPI bus speed can be 76.8MHz, hence
update QSPI input clock divider value (DPLL_PER_HS13) to provide 76.8MHz
clock, so that driver can use the same.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agosf: sf_params: Add AT25DF321 flash support
Wenyou Yang [Tue, 5 Jul 2016 05:17:12 +0000 (13:17 +0800)]
sf: sf_params: Add AT25DF321 flash support

Add AT25DF321 flash support.
Fix AT25DF321A device name.

Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agospi: ti_qspi: Remove delay in read path for dra7xx
Vignesh R [Fri, 22 Jul 2016 05:25:50 +0000 (10:55 +0530)]
spi: ti_qspi: Remove delay in read path for dra7xx

As per commit b545a98f5dc563 ("spi: ti_qspi: Add delay
for successful bulk erase) says its added to meet bulk erase timing
constraints. But bulk erase is a cmd to flash and delay in read path
does not make sense. Morever, testing on DRA74/DRA72 evm has shown that
this delay is no longer required.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
8 years agospi: ti_qspi: Fix compiler warning when DEBUG macro is set
Vignesh R [Fri, 22 Jul 2016 05:25:49 +0000 (10:55 +0530)]
spi: ti_qspi: Fix compiler warning when DEBUG macro is set

clk_div is uninitialized at the beginning of ti_spi_set_speed(), move
debug() print after clk_div calculation to avoid compiler warning and to
have proper value of clk_div printed during debugging.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
8 years agospi: ti_qspi: Fix failure on multiple READ_ID cmd
Vignesh R [Fri, 22 Jul 2016 05:25:48 +0000 (10:55 +0530)]
spi: ti_qspi: Fix failure on multiple READ_ID cmd

Populating QSPI_RD_SNGL bit(0x1) in priv->cmd means that value
QSPI_INVAL (0x4) is not written to CMD field of QSPI_SPI_CMD_REG in
ti_qspi_cs_deactivate(). Therefore CS is never deactivated between
successive READ ID which results in sf probe to fail.
Fix this by not populating priv->cmd with QSPI_RD_SNGL and OR it wih
priv->cmd as required (similar to the convention followed in the
driver).

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
8 years agospi: Add support for N25Q016A
Moritz Fischer [Thu, 14 Jul 2016 23:22:39 +0000 (16:22 -0700)]
spi: Add support for N25Q016A

This commit adds support in the spi-nor driver for the
N25Q016A, a 16Mbit SPI NOR flash from Micron.

Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
8 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Thu, 28 Jul 2016 12:45:00 +0000 (08:45 -0400)]
Merge branch 'master' of git://denx.de/git/u-boot-imx

8 years agoMAINTAINERS: i.MX: Add board/freescale/*mx* path
Fabio Estevam [Wed, 27 Jul 2016 00:27:49 +0000 (21:27 -0300)]
MAINTAINERS: i.MX: Add board/freescale/*mx* path

Pass the board/freescale/*mx*/ path as files maintained by Stefano
Babic.

While this is not ideal and does not cover all the i.MX board cases,
it gives at least a better hint for the /scripts/get_maintainer.pl
tool.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agomx7dsabresd: MAINTAINERS: Add mx7dsabresd_secure_defconfig
Fabio Estevam [Wed, 27 Jul 2016 00:08:58 +0000 (21:08 -0300)]
mx7dsabresd: MAINTAINERS: Add mx7dsabresd_secure_defconfig

Add an entry for the mx7dsabresd_secure_defconfig target.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agomx7_common: initialize generic timer on all CPU's
Stefan Agner [Tue, 26 Jul 2016 05:57:47 +0000 (22:57 -0700)]
mx7_common: initialize generic timer on all CPU's

Use CONFIG_TIMER_CLK_FREQ to let the non-secure init code initialize
the generic timer on all CPU's. This allows to make use of the timer
freuquency register also on other CPU than the start CPU which is
important for KVM.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
8 years agomx6ul_14x14_evk: Remove unused define
Diego Dorta [Mon, 25 Jul 2016 16:45:30 +0000 (13:45 -0300)]
mx6ul_14x14_evk: Remove unused define

Remove unused define constant.

Signed-off-by: Diego Dorta <diego.dorta@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agocgtqmx6eval: Remove uneeded PHYS_SDRAM_SIZE
Fabio Estevam [Sat, 23 Jul 2016 16:23:42 +0000 (13:23 -0300)]
cgtqmx6eval: Remove uneeded PHYS_SDRAM_SIZE

cgtqmx6eval uses the imx_ddr_size() function to calculate the DDR size in
runtime, so there is no need to define PHYS_SDRAM_SIZE.

Remove the unneeded definition.

Cc: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
8 years agonovena: Remove uneeded PHYS_SDRAM_SIZE
Fabio Estevam [Sat, 23 Jul 2016 16:23:41 +0000 (13:23 -0300)]
novena: Remove uneeded PHYS_SDRAM_SIZE

novena uses the imx_ddr_size() function to calculate the DDR size in
runtime, so there is no need to define PHYS_SDRAM_SIZE.

Remove the unneeded definition.

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Marek Vasut <marex@denx.de>
8 years agobx50v3: Use imx_ddr_size() for calculating the DDR size
Fabio Estevam [Sat, 23 Jul 2016 16:23:40 +0000 (13:23 -0300)]
bx50v3: Use imx_ddr_size() for calculating the DDR size

imx_ddr_size() can be used to calculate the DDR size in runtime.

By using this function we no longer need to define PHYS_SDRAM_SIZE.

Cc: Martin Donnelly <martin.donnelly@ge.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agoaristainetos: Use imx_ddr_size() for calculating the DDR size
Fabio Estevam [Sat, 23 Jul 2016 16:23:39 +0000 (13:23 -0300)]
aristainetos: Use imx_ddr_size() for calculating the DDR size

imx_ddr_size() can be used to calculate the DDR size in runtime.

By using this function we no longer need to define PHYS_SDRAM_SIZE.

Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Heiko Schocher <hs@denx.de>
8 years agowarp: Use imx_ddr_size() for calculating the DDR size
Fabio Estevam [Sat, 23 Jul 2016 16:23:38 +0000 (13:23 -0300)]
warp: Use imx_ddr_size() for calculating the DDR size

imx_ddr_size() can be used to calculate the DDR size in runtime.

By using this function we no longer need to define PHYS_SDRAM_SIZE.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agowarp7: Move some USB configuration options to defconfig
Breno Lima [Fri, 22 Jul 2016 18:29:30 +0000 (15:29 -0300)]
warp7: Move some USB configuration options to defconfig

Currently it's recommended to move some configuration options to the
defconfig file.

Move some USB related options to the defconfig file.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
8 years agocolibri_imx7: add Colibri iMX7S/iMX7D module support
Stefan Agner [Thu, 21 Jul 2016 04:27:49 +0000 (21:27 -0700)]
colibri_imx7: add Colibri iMX7S/iMX7D module support

This commit adds support for the Toradex Computer on Modules
Colibri iMX7S/iMX7D. The two modules/SoC's are very similar hence
can be easily supported by one board. The board code detects RAM
size at runtime which is one of the differences between the two
boards. The board also uses the UART's in DTE mode, hence making
use of the new DTE support via serial DM.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
8 years agocgtqmx6eval: Replace is_mx6q() for macro
Breno Lima [Fri, 22 Jul 2016 12:12:12 +0000 (09:12 -0300)]
cgtqmx6eval: Replace is_mx6q() for macro

It's not necessary to implement the is_mx6q function, there is a macro in
sys_proto.h already implemented.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agomx6cuboxi: Replace is_mx6q() for macro
Breno Lima [Fri, 22 Jul 2016 12:11:30 +0000 (09:11 -0300)]
mx6cuboxi: Replace is_mx6q() for macro

It's not necessary to implement the is_mx6q function, there is a macro in
sys_proto.h already implemented.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agowandboard: Replace is_cpu_type() for macro
Breno Lima [Fri, 22 Jul 2016 12:11:02 +0000 (09:11 -0300)]
wandboard: Replace is_cpu_type() for macro

It's not necessary to use the is_cpu_type function, there is a macro in
sys_proto.h already implemented.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agoimx: ventana: add dt fixup for watchdog external reset
Tim Harvey [Fri, 15 Jul 2016 14:16:29 +0000 (07:16 -0700)]
imx: ventana: add dt fixup for watchdog external reset

Added removal of the fsl,ext-reset-output property in the wdog node for board
revisions that pre-date the addition of the external watchdog reset signal.

This property is a recent addition to mainline linux kernel in order to
specify that the IMX watchdog external reset should be used instead of the
internal chip-level reset.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: refactor board-specific dt fixups (no functional change)
Tim Harvey [Fri, 15 Jul 2016 14:16:28 +0000 (07:16 -0700)]
imx: ventana: refactor board-specific dt fixups (no functional change)

Re-factor the board-specific dt fixups so that they are easier to follow
and extend in the future:
 - use defines for DT paths
 - use switch/case per board
 - order models numerically

There is no functional change in the code

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: make hwconfig initialize based on board configuration
Tim Harvey [Fri, 15 Jul 2016 14:14:25 +0000 (07:14 -0700)]
imx: ventana: make hwconfig initialize based on board configuration

The hwconfig env var allows user to control hardware specific configuration
of board specific features but not all Ventana boards have the same features.

We will use the magic default value of "_UNKNOWN_" to signify that the
bootloader should create this based on detected board model.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: add extra DIO's for GW5520
Tim Harvey [Fri, 15 Jul 2016 14:14:24 +0000 (07:14 -0700)]
imx: ventana: add extra DIO's for GW5520

The GW5520 has 10 DIO's instead of the typical 4 found on the Ventana
product family.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: make number of digital I/O's dynamic
Tim Harvey [Fri, 15 Jul 2016 14:14:23 +0000 (07:14 -0700)]
imx: ventana: make number of digital I/O's dynamic

Replace the static list of board-specific digital I/O's with a dynamic list.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: make RS232 enable board specific
Tim Harvey [Fri, 15 Jul 2016 14:14:22 +0000 (07:14 -0700)]
imx: ventana: make RS232 enable board specific

Not all Ventana boards have an RS232 transceiver, make it board specific.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: re-enable late board info display
Tim Harvey [Wed, 29 Jun 2016 15:58:00 +0000 (08:58 -0700)]
imx: ventana: re-enable late board info display

3b1f681131149b5f62602f582a7e60b0185a2a49 caused a regression that removes
board info dispaly for Gateworks Ventana boards because it made the invalid
assumption that CONFIG_DISPLAY_BOARDINFO_LATE was the same thing as
CONFIG_DISPLAY_BOARDINFO.

Ventana needs to call show_board_info in late init because we need to have
the i2c eeprom based model info. Re-define CONFIG_DISPLAY_BOARDINFO_LATE
to allow that to happen.

Cc: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: default pci to disabled
Tim Harvey [Fri, 17 Jun 2016 13:20:26 +0000 (06:20 -0700)]
imx: ventana: default pci to disabled

The IMX6 PCIe host controller does not have a proper reset and as such there
are several issues that can arise if PCI is enabled in the bootloader follwed
by Linux trying to re-configure LTSSM and/or toggling PERST# to the devices.

For now, the best approach seems to default to disabling PCI by defaulting
pciedisable=1. This can be overridden by the user if they need PCI in the
bootloader, for example:
 - GW552x needing ethernet access in bootloader
 - GW16082 expansion board needing a device-tree fixup for irq mapping

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agopci: allow disabling of pci init/enum via env
Tim Harvey [Fri, 17 Jun 2016 13:20:25 +0000 (06:20 -0700)]
pci: allow disabling of pci init/enum via env

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: add dt fixup for eth1 mac-address
Tim Harvey [Fri, 17 Jun 2016 13:10:42 +0000 (06:10 -0700)]
imx: ventana: add dt fixup for eth1 mac-address

Ventana boards with a PCI Marvell Sky2 GigE MAC require the MAC address to
be placed in a DT node in order for the mainline linux driver to obtain it.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: add dt fixup for GW16082 irq mapping
Tim Harvey [Fri, 17 Jun 2016 13:10:41 +0000 (06:10 -0700)]
imx: ventana: add dt fixup for GW16082 irq mapping

The GW16082 mini-PCI expansion mezzanine uses a TI XIO2001 PCIe-to-PCI
bridge with legacy INTA/B/C/D interrupts. These interrupts are assigned
in the reverse order according to the PCI spec.

If the TI bridge is found on the Ventana PCI bus, add device-tree nodes
according to bus enumeration explicitly defining the interrupt mapping
to override the default PCI mapping in the Linux kernel. This allows
the GW16082 to work with upstream kernels that support device-tree
irq parsing.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agomx7dsabresd_secure_defconfig: Use CONFIG_ARMV7_BOOT_SEC_DEFAULT
Fabio Estevam [Fri, 22 Jul 2016 18:21:12 +0000 (15:21 -0300)]
mx7dsabresd_secure_defconfig: Use CONFIG_ARMV7_BOOT_SEC_DEFAULT

There is no need for introducing MX7_SEC, as there is the
CONFIG_ARMV7_BOOT_SEC_DEFAULT option for this purpose.

Switch to CONFIG_ARMV7_BOOT_SEC_DEFAULT and get rid of
MX7_SEC.

Tested by booting a 4.1.15 NXP kernel with mx7dsabresd_secure_defconfig
target.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
8 years agopico-imx6ul: drop warning due to redefined
Stefano Babic [Wed, 20 Jul 2016 15:54:07 +0000 (17:54 +0200)]
pico-imx6ul: drop warning due to redefined

USB gadget configuration is set in defconfig and
must be removed from pico-imx6ul.h.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agomx6: wandboard: fix warning due to missing prototype
Stefano Babic [Wed, 20 Jul 2016 15:53:56 +0000 (17:53 +0200)]
mx6: wandboard: fix warning due to missing prototype

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agoFix build for mx7dsabresd (secure config)
Stefano Babic [Wed, 20 Jul 2016 15:52:53 +0000 (17:52 +0200)]
Fix build for mx7dsabresd (secure config)

After moving CONFIG_USB_EHCI_MX7 to Kconfig,
the flag must be set in defconfig for mx7dsabresd.
It is already for the not secure config, it is
missing in the secure configuration.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Thu, 28 Jul 2016 02:30:20 +0000 (22:30 -0400)]
Merge git://git.denx.de/u-boot-dm

8 years agommc: dw_mmc: reduce timeout detection cycle
Xu Ziyuan [Tue, 19 Jul 2016 01:38:22 +0000 (09:38 +0800)]
mmc: dw_mmc: reduce timeout detection cycle

It's no need to speed 10 seconds to wait the mmc device out from busy
status. 500 milliseconds enough.

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Tested-by: Jaehoon Chung <jh80.chung@samsung.com>
8 years agoAdd a power domain framework/uclass
Stephen Warren [Wed, 13 Jul 2016 19:45:31 +0000 (13:45 -0600)]
Add a power domain framework/uclass

Many SoCs allow power to be applied to or removed from portions of the SoC
(power domains). This may be used to save power. This API provides the
means to control such power management hardware.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agodm: spl: mmc: Support raw partitions with CONFIG_BLK
Simon Glass [Tue, 5 Jul 2016 23:10:18 +0000 (17:10 -0600)]
dm: spl: mmc: Support raw partitions with CONFIG_BLK

Fix up the call in mmc_load_image_raw_partition() to use the correct
function to obtain the MMC device, so that this code can support driver
model.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: usb: Use blk_dread/write() instead of direct calls
Simon Glass [Tue, 5 Jul 2016 23:10:17 +0000 (17:10 -0600)]
dm: usb: Use blk_dread/write() instead of direct calls

Update the USB mass storage code to allow it to work with driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: socfpga: mmc: Support CONFIG_BLK
Simon Glass [Tue, 5 Jul 2016 23:10:16 +0000 (17:10 -0600)]
dm: socfpga: mmc: Support CONFIG_BLK

Update the driver to support using driver model for block devices.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: mmc: zynq: Convert zynq to use driver model for MMC
Simon Glass [Tue, 5 Jul 2016 23:10:15 +0000 (17:10 -0600)]
dm: mmc: zynq: Convert zynq to use driver model for MMC

Move zynq to the latest driver model support by enabling CONFIG_DM_MMC,
CONFIG_DM_MMC_OPS and CONFIG_BLK.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: zynq: usb: Convert to CONFIG_DM_USB
Simon Glass [Tue, 5 Jul 2016 23:10:14 +0000 (17:10 -0600)]
dm: zynq: usb: Convert to CONFIG_DM_USB

Convert zynq USB to driver model. Note this is tested on zynq-zybo only.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agozynq: Increase the early malloc() size
Simon Glass [Tue, 5 Jul 2016 23:10:13 +0000 (17:10 -0600)]
zynq: Increase the early malloc() size

This is needed to support driver-model conversion of USB and block devices.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agonet: phy: marvell: Add a missing errno.h header
Simon Glass [Tue, 5 Jul 2016 23:10:12 +0000 (17:10 -0600)]
net: phy: marvell: Add a missing errno.h header

This corrects a build error on zynqmp.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoarm: Show early-malloc() usage in bdinfo
Simon Glass [Tue, 5 Jul 2016 23:10:11 +0000 (17:10 -0600)]
arm: Show early-malloc() usage in bdinfo

This is useful information to show how close we are to the limit. At present
it is only available by enabling DEBUG in board_r.c.

Make it available with the 'bdinfo' command also.

Note that this affects ARM only. The bdinfo command is different for each
architecture. Rather than duplicating the code it would be better to
refactor it (as was done with global_data).

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: Use dm_scan_fdt_dev() directly where possible
Simon Glass [Tue, 5 Jul 2016 23:10:10 +0000 (17:10 -0600)]
dm: Use dm_scan_fdt_dev() directly where possible

Quite a few places have a bind() method which just calls dm_scan_fdt_dev().
We may as well call dm_scan_fdt_dev() directly. Update the code to do this.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev()
Simon Glass [Tue, 5 Jul 2016 23:10:09 +0000 (17:10 -0600)]
dm: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev()

This new function is more convenient for callers, and handles pre-relocation
situations automatically.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: core: Add a function to bind child devices
Simon Glass [Tue, 5 Jul 2016 23:10:08 +0000 (17:10 -0600)]
dm: core: Add a function to bind child devices

We currently use dm_scan_fdt_node() to bind devices. It is an internal
function and it requires the caller to know whether we are pre- or post-
relocation.

This requirement has become quite common in drivers, so the current function
is not ideal.

Add a new function with fewer arguments, that does not require internal
headers. This can be used directly as a post_bind() method if needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: mmc: dwmmc: use the callback functions as static
Jaehoon Chung [Tue, 28 Jun 2016 06:52:21 +0000 (15:52 +0900)]
dm: mmc: dwmmc: use the callback functions as static

There are no places to call these functions.
It should be used the callback function.
Then it can be used as static functions.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agodm: mmc: dwmmc: fix the wrong explanation for clock values
Jaehoon Chung [Tue, 28 Jun 2016 06:52:20 +0000 (15:52 +0900)]
dm: mmc: dwmmc: fix the wrong explanation for clock values

This e,g is wrong. Maximum/minimum e.g values are swapped each other.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-video
Tom Rini [Wed, 27 Jul 2016 19:22:21 +0000 (15:22 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-video

8 years agoMerge branch 'master' of http://git.denx.de/u-boot-sunxi
Tom Rini [Tue, 26 Jul 2016 22:33:04 +0000 (18:33 -0400)]
Merge branch 'master' of git.denx.de/u-boot-sunxi

8 years agosunxi: Disable sun8i emac driver
Hans de Goede [Tue, 26 Jul 2016 20:26:39 +0000 (22:26 +0200)]
sunxi: Disable sun8i emac driver

Disable the sun8i emac driver for now, there are 2 issues with it:

1) It is causing issues with network connectivity under the kernel driver,
when booting the kernel with v2 of Corentin's sun8i-h3 emac driver, I get
the connection status bouncing between connected at 100mbps full-duplex
and being down every second.

The second issue is that when trying to use it from u-boot
I get a number of unaligned cache flush errors:

=> dhcp
BOOTP broadcast 1
BOOTP broadcast 2
CACHE: Misaligned operation at range [7bf594a87bf59628]
BOOTP broadcast 3
CACHE: Misaligned operation at range [7bf59c907bf59e10]
CACHE: Misaligned operation at range [7bf5a4787bf5a5f8]
DHCP client bound to address 10.42.43.80 (1009 ms)

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Corentin LABBE <clabbe.montjoie@gmail.com>
Cc: Amit Singh Tomar <amittomer25@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agoARM: uniphier: move CONFIG_I2C_EEPROM to defconfig
Masahiro Yamada [Tue, 26 Jul 2016 18:47:58 +0000 (03:47 +0900)]
ARM: uniphier: move CONFIG_I2C_EEPROM to defconfig

We already have the entry for this option in Kconfig, so let's
migrate to it.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoMerge git://git.denx.de/u-boot-mpc86xx
Tom Rini [Tue, 26 Jul 2016 21:34:51 +0000 (17:34 -0400)]
Merge git://git.denx.de/u-boot-mpc86xx

8 years agoMerge git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Tue, 26 Jul 2016 21:34:28 +0000 (17:34 -0400)]
Merge git://git.denx.de/u-boot-fsl-qoriq

8 years agonet: sun8i_emac: Drop redundant and incorrect setting of syscon register
Chen-Yu Tsai [Fri, 22 Jul 2016 10:16:10 +0000 (18:16 +0800)]
net: sun8i_emac: Drop redundant and incorrect setting of syscon register

In sun8i_emac_board_setup, the driver partially configures the syscon
register for H3 EPHY. However, the settings are incomplete, and
completely unusable. The correct settings are later set in
sun8i_emac_set_syscon, but the incorrect CLK_SEL setting persists.

It is incorrect to use CLK_SEL to select 25 MHz, as the SoC does not
have a 25 MHz clock the EPHY can use.

This patch removes the setting of the syscon register in board_setup,
and also moves set_syscon above mdio_init. While mdio_init does not
access the PHY, it is better to have the PHY parameters setup before
the MDIO bus is registered.

Fixes: a29710c525ff ("net: Add EMAC driver for H3/A83T/A64 SoCs.")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agonet: sun8i_emac: Do not configure AHB2 clock
Chen-Yu Tsai [Fri, 22 Jul 2016 10:16:09 +0000 (18:16 +0800)]
net: sun8i_emac: Do not configure AHB2 clock

The sun8i_emac driver erroneously configures the AHB2 clock when it
assumes it is configuring the AXI gates, which is not even documented
or ever appeared in either the WiP kernel driver or Allwinner's original
driver.

As a result, AHB2 clock mux is set to an invalid setting, making the
EPHY unusable.

Fixes: a29710c525ff ("net: Add EMAC driver for H3/A83T/A64 SoCs.")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Add EMAC ethernet0 alias for H3 dtsi
Chen-Yu Tsai [Fri, 22 Jul 2016 10:16:08 +0000 (18:16 +0800)]
sunxi: Add EMAC ethernet0 alias for H3 dtsi

The sunxi ethernet address generation code looks for ethernet[0-3]
aliases to find ethernet controllers to generate MAC addresses for.

Without a valid address, the driver fails to register.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Add defconfig and dts file for the Orange Pi PC Plus SBC
Hans de Goede [Tue, 26 Jul 2016 15:47:16 +0000 (17:47 +0200)]
sunxi: Add defconfig and dts file for the Orange Pi PC Plus SBC

There is a new Orange Pi PC *Plus* version available now,
this is an extended version of the regular Orange Pi PC
with sdio wifi and an eMMC.

The upstream kernel devs have decided that they want a separate
dts for the PC Plus rather then sharing a single dts between the
regular PC and the PC Plus. So add a new orangepi_pc_plus_defconfig
to match.

The added dts file matches the one submitted to the upstream kernel.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agoarmv8: ls1043aqds: add IFC fixup in case QSPI is enabled
Qianyu Gong [Thu, 21 Jul 2016 04:39:27 +0000 (12:39 +0800)]
armv8: ls1043aqds: add IFC fixup in case QSPI is enabled

QSPI and IFC are pin-multiplexed on LS1043AQDS board. If QSPI is
enabled, IFC would not be initialized correctly. So disable the IFC
node for Linux.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8/ls1043a: Add MTD partition scheme
Wenbin Song [Thu, 21 Jul 2016 10:55:16 +0000 (18:55 +0800)]
armv8/ls1043a: Add MTD partition scheme

Add and share the the MTD partition scheme with kernel by default
bootargs. And add the "mtdparts" env.

Signed-off-by: Wenbin Song <wenbin.song@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoARMv8/ls1046a: Cleanup the environment variables
Wenbin Song [Thu, 21 Jul 2016 10:31:23 +0000 (18:31 +0800)]
ARMv8/ls1046a: Cleanup the environment variables

Cleanup the variables: "kernel_addr","ramdisk_addr",
"ramdisk_size","console".

Signed-off-by: Wenbin Song <wenbin.song@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: fsl-layerscape: mmu: Fix enabling MMU
York Sun [Fri, 22 Jul 2016 17:52:23 +0000 (10:52 -0700)]
armv8: fsl-layerscape: mmu: Fix enabling MMU

MMU bit in SCTLR needs to be set explicitly after tables are
created. It isn't an issue for EL3 becuase this bit is already
set by early MMU setup. But for other exception levels this
bit was not set.

Signed-off-by: York Sun <york.sun@nxp.com>
8 years agoARMv7: PSCI: ls102xa: move secure text section into OCRAM
Hongbo Zhang [Thu, 21 Jul 2016 10:09:39 +0000 (18:09 +0800)]
ARMv7: PSCI: ls102xa: move secure text section into OCRAM

LS1021 offers two secure OCRAM blocks for trustzone.
This patch moves all the secure text sections into the OCRAM.

Signed-off-by: Wang Dongsheng <dongsheng.wang@nxp.com>
Signed-off-by: Hongbo Zhang <hongbo.zhang@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoARMv7: PSCI: ls102xa: add more PSCI v1.0 functions implemention
Hongbo Zhang [Thu, 21 Jul 2016 10:09:38 +0000 (18:09 +0800)]
ARMv7: PSCI: ls102xa: add more PSCI v1.0 functions implemention

This patch implements PSCI functions for ls102xa SoC following PSCI v1.0,
they are as the list:
    psci_version,
    psci_features,
    psci_cpu_suspend,
    psci_affinity_info,
    psci_system_reset,
    psci_system_off.

Tested on LS1021aQDS, LS1021aTWR.

Signed-off-by: Wang Dongsheng <dongsheng.wang@nxp.com>
Signed-off-by: Hongbo Zhang <hongbo.zhang@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoARMv7: PSCI: ls102xa: check target CPU ID before further operations
Hongbo Zhang [Thu, 21 Jul 2016 10:09:37 +0000 (18:09 +0800)]
ARMv7: PSCI: ls102xa: check target CPU ID before further operations

The input parameter CPU ID needs to be validated before furher oprations such
as CPU_ON, this patch introduces the function to do this.

Signed-off-by: Wang Dongsheng <dongsheng.wang@nxp.com>
Signed-off-by: Hongbo Zhang <hongbo.zhang@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoARMv7: PSCI: add PSCI v1.0 functions skeleton
Hongbo Zhang [Thu, 21 Jul 2016 10:09:36 +0000 (18:09 +0800)]
ARMv7: PSCI: add PSCI v1.0 functions skeleton

This patch adds all the PSCI v1.0 functions in to the common framework, with
all the functions returning "not implemented" by default, as a common framework
all the dummy functions are added here, it is up to every platform developer to
decide which version of PSCI and which functions to implement.

Signed-off-by: Hongbo Zhang <hongbo.zhang@nxp.com>
Signed-off-by: Wang Dongsheng <dongsheng.wang@nxp.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agodrivers: net/fm: Add Fman support for LS1046A
Mingkai Hu [Tue, 5 Jul 2016 08:01:56 +0000 (16:01 +0800)]
drivers: net/fm: Add Fman support for LS1046A

The Fman module on LS1046A is similiar with that on LS1043A but
LS1046A has one more XFI (10GbE) interface.

Signed-off-by: Shaohui Xie <Shaohui.Xie@nxp.com>
Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: fsl_lsch2: Add LS1046A SoC support
Mingkai Hu [Tue, 5 Jul 2016 08:01:55 +0000 (16:01 +0800)]
armv8: fsl_lsch2: Add LS1046A SoC support

The LS1046A processor is built on the QorIQ LS series architecture
combining four ARM A72 processor cores with DPAA 1.0 support.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Mihai Bantea <mihai.bantea@freescale.com>
Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: fsl_lsch2: Add SerDes 2 support
Qianyu Gong [Tue, 5 Jul 2016 08:01:54 +0000 (16:01 +0800)]
armv8: fsl_lsch2: Add SerDes 2 support

New SoC LS1046A belongs to Freescale Chassis Generation 2 and
has two SerDes so we need to add this support in fsl_lsch2.
The SoC related SerDes 2 support will be added in SoC patch.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: fsl-layerscape: Consolidate the LSCH2 common defines
Qianyu Gong [Tue, 5 Jul 2016 08:01:53 +0000 (16:01 +0800)]
armv8: fsl-layerscape: Consolidate the LSCH2 common defines

Both LS1012A and LS1043A belong to FSL_LSCH2 and share some common
configurations. So put the common define under FSL_LSCH2 to increase
readability.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: fsl-layerscape: Add A72 core detection
Alison Wang [Tue, 5 Jul 2016 08:01:52 +0000 (16:01 +0800)]
armv8: fsl-layerscape: Add A72 core detection

Add support to detect Cortex-A72 core for printing it out.
The Initiator Version of A72 core should be 0x4.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: ls1043aqds: Update MAINTAINERS
York Sun [Fri, 1 Jul 2016 14:40:40 +0000 (07:40 -0700)]
armv8: ls1043aqds: Update MAINTAINERS

Add ls1043aqds_lpuart_defconfig to file list.

Signed-off-by: York Sun <york.sun@nxp.com>
8 years agoarmv8: ls2080aqds: Update MAINTAINERS
York Sun [Fri, 1 Jul 2016 14:40:39 +0000 (07:40 -0700)]
armv8: ls2080aqds: Update MAINTAINERS

Add ls2080aqds_qspi_defconfig to file list.

Signed-off-by: York Sun <york.sun@nxp.com>
8 years agoarm: ls1021atwr: Add SD secure boot target
Sumit Garg [Tue, 14 Jun 2016 17:52:40 +0000 (13:52 -0400)]
arm: ls1021atwr: Add SD secure boot target

Add SD secure boot target for ls1021atwr.
Implement board specific spl_board_init() to setup CAAM stream ID and
corresponding stream ID in SMMU. Change the u-boot size defined by a
macro for copying the main U-Boot by SPL to also include the u-boot
Secure Boot header size as header is appended to u-boot image. So header
will also be copied from SD to DDR.

Reviewed-by: Aneesh Bansal <aneesh.bansal@nxp.com>
Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoSECURE_BOOT: Enable SD as a source for bootscript
Sumit Garg [Tue, 14 Jun 2016 17:52:39 +0000 (13:52 -0400)]
SECURE_BOOT: Enable SD as a source for bootscript

Add support for reading bootscript and bootscript header from SD. Also
renamed macros *_FLASH to *_DEVICE to represent SD alongwith NAND and
NOR flash.

Reviewed-by: Aneesh Bansal <aneesh.bansal@nxp.com>
Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoSECURE_BOOT: Enable chain of trust in SPL framework
Sumit Garg [Tue, 14 Jun 2016 17:52:38 +0000 (13:52 -0400)]
SECURE_BOOT: Enable chain of trust in SPL framework

Override jump_to_image_no_args function to include validation of
u-boot image using spl_validate_uboot before jumping to u-boot image.
Also define macros in SPL framework to enable crypto operations.

Reviewed-by: Aneesh Bansal <aneesh.bansal@nxp.com>
Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoDM: crypto/fsl: Enable rsa DM driver usage before relocation
Sumit Garg [Tue, 14 Jun 2016 17:52:37 +0000 (13:52 -0400)]
DM: crypto/fsl: Enable rsa DM driver usage before relocation

Enable rsa signature verification in SPL framework before relocation for
verification of main u-boot.

Reviewed-by: Aneesh Bansal <aneesh.bansal@nxp.com>
Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoinclude: usb: Rename USB controller base address mapping
Rajesh Bhagat [Tue, 7 Jun 2016 13:29:34 +0000 (18:59 +0530)]
include: usb: Rename USB controller base address mapping

Remove Soc specific defines and use generic chasis specific defines
for USB controller base address mapping.

Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoi2c: fsl: Fix driver initialization
mario.six@gdsys.cc [Mon, 23 May 2016 08:12:11 +0000 (10:12 +0200)]
i2c: fsl: Fix driver initialization

Due to a oversight in testing, the initialization of the recently
introduced Freescale I2C DM driver works only for 36 bit mode of e.g.
the MPC85XX SoCs (specifically, if the physical addresses are 64 bit
wide and the DT addresses 32 bit wide).

This patch corrects the initialization so that it will work in a more
general setting.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: York Sun <york.sun@nxp.com>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Tom Rini [Tue, 26 Jul 2016 12:29:30 +0000 (08:29 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c

8 years agoi2c: mvtwsi: Add documentation
mario.six@gdsys.cc [Thu, 21 Jul 2016 09:57:13 +0000 (11:57 +0200)]
i2c: mvtwsi: Add documentation

Add full documentation to all driver functions.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Stefan Roese <sr@denx.de>
8 years agoi2c: mvtwsi: Make delay times frequency-dependent
mario.six@gdsys.cc [Thu, 21 Jul 2016 09:57:12 +0000 (11:57 +0200)]
i2c: mvtwsi: Make delay times frequency-dependent

Some devices using the MVTWSI driver have the option to run at speeds
faster than Standard Mode (100kHZ). On the Armada 38x controllers, this
is actually necessary, since due to erratum FE-8471889, a timing
violation concerning repeated starts prevents the controller from
working correctly in Standard Mode. One of the workarounds recommended
in the erratum is to set the bus to Fast Mode (400kHZ) operation and
ensure all connected devices are set to Fast Mode.

In the current version of the driver, however, the delay times are
hard-coded to 10ms, corresponding to Standard Mode operation. To take
full advantage of the faster modes, we would need to either keep the
currently configured I2C speed in a globally accessible variable, or
pass it to the necessary functions as a parameter. For DM, the first
option is not a problem, and we can simply keep the speed in the private
data of the driver. For the legacy interface, however, we would need to
introduce a static variable, which would cause problems with boots from
NOR flashes; see commit d6b7757 "i2c: mvtwsi: Eliminate
twsi_control_flags."

As to not clutter the interface with yet another parameter, we therefore
keep the default 10ms delays for the legacy functions.

In DM mode, we make the delay time dependant on the frequency to allow
taking full advantage of faster modes of operation (tested with up to
1MHZ frequency on Armada MV88F6820).

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Stefan Roese <sr@denx.de>
8 years agoi2c: mvtwsi: Handle zero-length offsets properly
mario.six@gdsys.cc [Thu, 21 Jul 2016 09:57:11 +0000 (11:57 +0200)]
i2c: mvtwsi: Handle zero-length offsets properly

Zero-length offsets are not properly handled by the driver. When a read
operation with a zero-length offset is started, a START condition is
asserted, and since no offset bytes are transferred, a repeated START is
issued immediately after, which confuses the controller.

To fix this, we send the first START only if any address bytes need to
be sent, and keep track of the expected start status accordingly.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Stefan Roese <sr@denx.de>