]> git.sur5r.net Git - u-boot/log
u-boot
8 years agoARM: rmobile: Allow R8A7796 Salvator-X configuration
Marek Vasut [Sat, 13 May 2017 13:57:40 +0000 (15:57 +0200)]
ARM: rmobile: Allow R8A7796 Salvator-X configuration

The Salvator-X can have both H3 and M3 CPU on it, drop the
select R8A7795 to allow both configurations.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Add R8A7796 support
Marek Vasut [Sat, 13 May 2017 13:57:39 +0000 (15:57 +0200)]
ARM: rmobile: Add R8A7796 support

Add Kconfig entry for the R8A7796 RCar M3 SoC.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Handle R8A7796 r1.1 in the PRR code
Marek Vasut [Sat, 13 May 2017 13:57:38 +0000 (15:57 +0200)]
ARM: rmobile: Handle R8A7796 r1.1 in the PRR code

The R8A7796 r1.1 reports itself as r2.0 , add quirk into the
PRR code to fix this report.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Add R8A7796 into the CPU table
Marek Vasut [Sat, 13 May 2017 13:57:37 +0000 (15:57 +0200)]
ARM: rmobile: Add R8A7796 into the CPU table

Add entry for the R8A7796 RCar M3 SoC into the CPU info table.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Add R8A7795 into the CPU table
Marek Vasut [Sat, 13 May 2017 13:57:36 +0000 (15:57 +0200)]
ARM: rmobile: Add R8A7795 into the CPU table

Add entry for the R8A7795 RCar H3 SoC into the CPU info table.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Make the Gen3 SoC configurable
Marek Vasut [Sat, 13 May 2017 13:57:35 +0000 (15:57 +0200)]
ARM: rmobile: Make the Gen3 SoC configurable

Allow selecting the Gen3 SoC in preparation for RCar M3 .
No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Update link address to match latest BL2
Marek Vasut [Sat, 13 May 2017 13:57:34 +0000 (15:57 +0200)]
ARM: rmobile: Update link address to match latest BL2

Update the CONFIG_SYS_TEXT_BASE to match BL2 Rev.1.0.9 and newer,
which loads the U-Boot to 0x50000000 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Zap RCAR_GEN3_EXTRAM_BOOT
Marek Vasut [Sat, 13 May 2017 13:57:33 +0000 (15:57 +0200)]
ARM: rmobile: Zap RCAR_GEN3_EXTRAM_BOOT

This Kconfig option is not used on any board, so drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Import R8A7796 PFC and GPIO tables
Marek Vasut [Sat, 13 May 2017 13:57:32 +0000 (15:57 +0200)]
ARM: rmobile: Import R8A7796 PFC and GPIO tables

Import the R8A7796 PFC and GPIO tables from the latest 3.5.3 release
from Renesas .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoARM: rmobile: Update R8A7795 PFC and GPIO tables
Marek Vasut [Sat, 13 May 2017 13:57:31 +0000 (15:57 +0200)]
ARM: rmobile: Update R8A7795 PFC and GPIO tables

Sync the PFC and GPIO tables with the latest 3.5.3 release from
Renesas . This adds ES2.0 support.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agoserial: sh: Add r8a7796 support
Hiroyuki Yokoyama [Sat, 13 May 2017 13:55:26 +0000 (15:55 +0200)]
serial: sh: Add r8a7796 support

Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
8 years agonet: ravb: Add Renesas Ethernet RAVB driver
Marek Vasut [Sat, 13 May 2017 13:54:28 +0000 (15:54 +0200)]
net: ravb: Add Renesas Ethernet RAVB driver

Add driver for the Renesas Ethernet AVB block found in RCar H3/M3.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Based on work of:
Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Takeshi Kihara <takeshi.kihara.df@renesas.com>
Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>

8 years agogpio: rcar_gen3: Fix GPIO read support
Kouei Abe [Sat, 13 May 2017 13:48:04 +0000 (15:48 +0200)]
gpio: rcar_gen3: Fix GPIO read support

This patch fixes to read the GPIO status after confirming the
INOUT setting.

Signed-off-by: Kouei Abe <kouei.abe.cp@renesas.com>
Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Tom Rini <trini@konsulko.com>
8 years agonet: usb: mcs7830: fix non-DM ingress path
Uri Mashiach [Sun, 21 May 2017 14:00:52 +0000 (17:00 +0300)]
net: usb: mcs7830: fix non-DM ingress path

The mcs7830_recv() (non-DM) function discards good packets and tries to
process "bad" packets due to incorrect test condition.
Fix the condition and return the proper value as described in function
doc.

Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
8 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Thu, 18 May 2017 21:17:45 +0000 (17:17 -0400)]
Merge branch 'master' of git://www.denx.de/git/u-boot-imx

8 years agoMerge branch 'master' of git://git.denx.de/u-boot-socfpga
Tom Rini [Thu, 18 May 2017 21:17:42 +0000 (17:17 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-socfpga

8 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Thu, 18 May 2017 21:17:39 +0000 (17:17 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

8 years agoARM: dts: am335x-evm: disable mmc3
Jean-Jacques Hiblot [Wed, 17 May 2017 19:22:55 +0000 (21:22 +0200)]
ARM: dts: am335x-evm: disable mmc3

SDIO is not supported in u-boot, there is no point in enabling mmc3.
For this purpose, add u-boot specific dtsi that this will be included
automatically while building the dtb.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoscripts/Makefile.lib: Always have ...-u-boot.dtsi be able to override
Tom Rini [Wed, 17 May 2017 18:06:08 +0000 (14:06 -0400)]
scripts/Makefile.lib: Always have ...-u-boot.dtsi be able to override

The intention of having a -u-boot.dtsi file is to be able to make
changes to the provided upstream dts files as well as to be able to add
nodes.  Change the logic for adding the file from making it the last
included file at the top of the dts to being included at the end of the
file.

Cc: Jean-Jacques Hiblot <jjhiblot@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Tested-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-imx
Stefano Babic [Thu, 18 May 2017 09:53:27 +0000 (11:53 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-imx

Signed-off-by: Stefano Babic <sbabic@denx.de>
8 years agoarm: socfpga: Enable build for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:48 +0000 (02:44 +0800)]
arm: socfpga: Enable build for Arria 10

Update Kconfig and Makefile to enable Arria 10.
Clean up Makefile and sorting *.o alphanumerically.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add board files for the Arria10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:47 +0000 (02:44 +0800)]
arm: socfpga: Add board files for the Arria10

Add support for the Arria10 SoCDK.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add config and defconfig for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:46 +0000 (02:44 +0800)]
arm: socfpga: Add config and defconfig for Arria 10

Add config and defconfig for the Arria10 and update socfpga_common.h.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add SPL support for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:45 +0000 (02:44 +0800)]
arm: socfpga: Add SPL support for Arria 10

Add SPL support for Arria 10.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: dts: Add dts and dtsi for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:44 +0000 (02:44 +0800)]
arm: dts: Add dts and dtsi for Arria 10

Device tree files for Arria 10

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add misc support for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:43 +0000 (02:44 +0800)]
arm: socfpga: Add misc support for Arria 10

Add misc support for Arria 10.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add pinmux for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:42 +0000 (02:44 +0800)]
arm: socfpga: Add pinmux for Arria 10

Add pinmux support for Arria 10.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add sdram header file for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:41 +0000 (02:44 +0800)]
arm: socfpga: Add sdram header file for Arria 10

Add sdram header file for Arria 10.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add system manager for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:40 +0000 (02:44 +0800)]
arm: socfpga: Add system manager for Arria 10

Add system manager register struct and macros for Arria 10.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add clock driver for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:39 +0000 (02:44 +0800)]
arm: socfpga: Add clock driver for Arria 10

Add clock driver support for Arria 10.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add reset driver support for Arria 10
Ley Foon Tan [Tue, 25 Apr 2017 18:44:38 +0000 (02:44 +0800)]
arm: socfpga: Add reset driver support for Arria 10

Add reset driver support for Arria 10.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Add A10 macros
Ley Foon Tan [Tue, 25 Apr 2017 18:44:37 +0000 (02:44 +0800)]
arm: socfpga: Add A10 macros

Add i2c, timer and other A10 macros.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Restructure misc driver
Ley Foon Tan [Tue, 25 Apr 2017 18:44:36 +0000 (02:44 +0800)]
arm: socfpga: Restructure misc driver

Restructure misc driver in the preparation to support A10.
Move the Gen5 specific code to gen5 file.

Change all uint32_t_to u32.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Restructure system manager
Ley Foon Tan [Tue, 25 Apr 2017 18:44:35 +0000 (02:44 +0800)]
arm: socfpga: Restructure system manager

Restructure system manager in the preparation to support A10.
No functional change.

Change uint32_t to u32.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Restructure reset manager driver
Ley Foon Tan [Tue, 25 Apr 2017 18:44:34 +0000 (02:44 +0800)]
arm: socfpga: Restructure reset manager driver

Restructure reset manager driver in the preparation to support A10.
Move the Gen5 specific code to gen5 files.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agoarm: socfpga: Restructure clock manager driver
Ley Foon Tan [Tue, 25 Apr 2017 18:44:33 +0000 (02:44 +0800)]
arm: socfpga: Restructure clock manager driver

Restructure clock manager driver in the preparation to support A10.
Move the Gen5 specific code to _gen5 files.

- Change all uint32_t to u32 and change to use macro BIT(n) for bit shift.
- Check return value from wait_for_bit(). So change return type to int for
  cm_write_with_phase() and cm_basic_init().

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
8 years agousb: lpc32xx: add i2c DM support
Liam Beguin [Wed, 17 May 2017 17:01:15 +0000 (13:01 -0400)]
usb: lpc32xx: add i2c DM support

Add DM support for i2c functions.

Signed-off-by: Liam Beguin <lbeguin@tycoint.com>
Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com>
Reviewed-by: Marek Vasut <marex@denx.de>
8 years agopinctrl: imx: fix memory leak
Peng Fan [Thu, 11 May 2017 09:34:14 +0000 (17:34 +0800)]
pinctrl: imx: fix memory leak

Each time set_state is called, a new piece memory will
be allocated for pin_data, but not freed, this will
incur memory leak.

When error, the devm API could not free memory automatically.
So need call devm_kfree when error.

Issue reported by Coverity

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefan Agner <stefan.agner@toradex.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx7dsabresd: fix secure config after switching to DM
Stefano Babic [Thu, 18 May 2017 08:37:01 +0000 (10:37 +0200)]
imx: mx7dsabresd: fix secure config after switching to DM

mx7dsabresd_secure_defconfig was not updated after moving to DM.

Signed-off-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx7dsabresd: switch to DM USB
Peng Fan [Thu, 13 Apr 2017 06:09:59 +0000 (14:09 +0800)]
imx: mx7dsabresd: switch to DM USB

Switch to use DM USB.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoimx: mx7dsabresd: reset ENET_RST_B
Peng Fan [Thu, 13 Apr 2017 06:09:58 +0000 (14:09 +0800)]
imx: mx7dsabresd: reset ENET_RST_B

Reset ENET_RST_B to make ENET function stable.
Since DM_GPIO enabled, we use "gpio_spi@0_5" which corresponds
to ENET_RST_B.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx7dsabresd: enable more DM drivers
Peng Fan [Thu, 13 Apr 2017 06:09:57 +0000 (14:09 +0800)]
imx: mx7dsabresd: enable more DM drivers

Enable more DM drivers. The imx I2C/MMC DM drivers needs DM_GPIO
enabled. The 74x164 drivers needs SOFT_SPI and DM_GPIO enabled.
So needs to enable them together.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agogpio: 74x164: make oe-pins optional
Peng Fan [Thu, 13 Apr 2017 06:09:56 +0000 (14:09 +0800)]
gpio: 74x164: make oe-pins optional

Make oe-pins optional because some boards have fixed it to enable.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agospi: kconfig: add soft spi Kconfig entry
Peng Fan [Thu, 13 Apr 2017 06:09:55 +0000 (14:09 +0800)]
spi: kconfig: add soft spi Kconfig entry

Add the Kconfig entry for SOFT_SPI which uses gpio to simulate the
SPI signals. We use it for accessing 74x164 on some i.MX boards.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Jagan Teki <jagan@openedev.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoarm: dts: imx7d-sdb: add usdhc support
Peng Fan [Thu, 13 Apr 2017 06:09:54 +0000 (14:09 +0800)]
arm: dts: imx7d-sdb: add usdhc support

Add usdhc support

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 years agoarm: dts: imx7d-sdb: add i2c support
Peng Fan [Thu, 13 Apr 2017 06:09:53 +0000 (14:09 +0800)]
arm: dts: imx7d-sdb: add i2c support

Add i2c support.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoarm: dts: imx7d-sdb: add regulator node for usb and mmc
Peng Fan [Thu, 13 Apr 2017 06:09:52 +0000 (14:09 +0800)]
arm: dts: imx7d-sdb: add regulator node for usb and mmc

Add regulator node for usb and mmc.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoarm: dts: imx7d-sdb: add spi gpio node
Peng Fan [Thu, 13 Apr 2017 06:09:51 +0000 (14:09 +0800)]
arm: dts: imx7d-sdb: add spi gpio node

Add spi gpio node for 74LV595.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoarm: dts: imx7d-sdb add basic dts
Peng Fan [Thu, 13 Apr 2017 06:09:50 +0000 (14:09 +0800)]
arm: dts: imx7d-sdb add basic dts

Add basic dts for i.MX7D-SDB board.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoarm: dts: imx7: sync with Linux
Peng Fan [Thu, 13 Apr 2017 06:09:49 +0000 (14:09 +0800)]
arm: dts: imx7: sync with Linux

Sync with Linux commit 308ac756("Merge tag 'gpio-v4.11-3'").

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefan Agner <stefan.agner@toradex.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: ventana: update imx wdog external reset dt property
Tim Harvey [Mon, 15 May 2017 17:05:07 +0000 (10:05 -0700)]
imx: ventana: update imx wdog external reset dt property

Early backports of the imx wdog external reset feature occured before the
property was accepted upstream and used 'ext-reset-output' instead of
'fsl,ext-reset-output'. In order to support older kernels remove both
properties.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoimx: ventana: fix GW520x external watchdog dt update
Tim Harvey [Mon, 15 May 2017 17:05:06 +0000 (10:05 -0700)]
imx: ventana: fix GW520x external watchdog dt update

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agomx6sabresd: Remove non-SPL targets
Fabio Estevam [Sun, 14 May 2017 23:00:24 +0000 (20:00 -0300)]
mx6sabresd: Remove non-SPL targets

Now that mx6sabresd_spl_defconfig can be used to boot all
mx6sabresd variants, the non-SPL targets can be safely removed.

Signed-off-by: Fabio Estevam <fabio.estvam@nxp.com>
8 years agomx6sabresd: Add SPL support for the mx6dl variant
Fabio Estevam [Fri, 12 May 2017 15:45:24 +0000 (12:45 -0300)]
mx6sabresd: Add SPL support for the mx6dl variant

Add support for the mx6dlsabresd board in SPL.

Retrieved the DCD table from:
board/freescale/mx6sabresd/mx6dlsabresd.cfg
(NXP U-Boot branch imx_v2015.04_4.1.15_1.0.0_ga)

Flashed SPL and u-boot.img to an SD card and could successfully boot it
on mx6q, mx6qp and mx6dl sabresd boards.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agomx6sabresd: Prepare for supporting MX6DL
Fabio Estevam [Fri, 12 May 2017 15:45:23 +0000 (12:45 -0300)]
mx6sabresd: Prepare for supporting MX6DL

Currently only MX6Q/QP sabresd boards are supported in SPL.

In order to also support MX6DL we need to convert to using
IOMUX_PADS and SETUP_IOMUX_PADS macros.

Other than that move the <asm/arch/mx6-ddr.h> header inclusion to the
SPL code block in order to avoid build error.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agoengicam: common: Move board_late_init
Jagan Teki [Sat, 6 May 2017 21:13:15 +0000 (02:43 +0530)]
engicam: common: Move board_late_init

Move board_late_init into common area from supported boards.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoengicam: common: Move common board code
Jagan Teki [Sat, 6 May 2017 21:13:14 +0000 (02:43 +0530)]
engicam: common: Move common board code

Move possible common board code into common area
from supported boards.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agogeam6/isiot: Move the spl code common
Jagan Teki [Sat, 6 May 2017 21:13:13 +0000 (02:43 +0530)]
geam6/isiot: Move the spl code common

SPL code for geam6 and isiot are same, so
move them in common area.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoicorem6[_rqs]: Move the spl code common
Jagan Teki [Sat, 6 May 2017 21:13:12 +0000 (02:43 +0530)]
icorem6[_rqs]: Move the spl code common

SPL code for icorem6 and icorem6_rqs are same, so
move them in common area.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoi.MX6UL: isiot: Add SETUP_IOMUX_PADS
Jagan Teki [Sat, 6 May 2017 21:13:11 +0000 (02:43 +0530)]
i.MX6UL: isiot: Add SETUP_IOMUX_PADS

Add generic SETUP_IOMUX_PADS function, for imx6ul mux pads
and use them in Is.IoT board.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoisiot: Fix to use usdhc2_pads for mmc2
Jagan Teki [Sat, 6 May 2017 21:13:10 +0000 (02:43 +0530)]
isiot: Fix to use usdhc2_pads for mmc2

mmc2 in Is.IoT using usdhc1_pads instead usdhc2_pads,
so update the same.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoi.MX6UL: geam6ul: Add SETUP_IOMUX_PADS
Jagan Teki [Sat, 6 May 2017 21:13:09 +0000 (02:43 +0530)]
i.MX6UL: geam6ul: Add SETUP_IOMUX_PADS

Add generic SETUP_IOMUX_PADS function, for imx6ul mux pads.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoicorem6: Use drive strength macros
Jagan Teki [Sat, 6 May 2017 21:13:08 +0000 (02:43 +0530)]
icorem6: Use drive strength macros

Use driver strength macros instead of hex numbers.
- IMX6DQ_DRIVE_STRENGTH - 0x30
- IMX6SDL_DRIVE_STRENGTH - 0x28

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoicorem6: Use proper iomux_ddr_regs drive strength values
Jagan Teki [Sat, 6 May 2017 21:13:07 +0000 (02:43 +0530)]
icorem6: Use proper iomux_ddr_regs drive strength values

Usually the drive strength values for DQ and SDL are 0x30 and
0x28 respectively, update them accordingly.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoengicam: Move uart mux init to SPL
Jagan Teki [Sat, 6 May 2017 21:13:06 +0000 (02:43 +0530)]
engicam: Move uart mux init to SPL

Since, u-boot handle fdt through uart so move the UART code
to SPL instead make it to global area.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoicorem6: Make SPL to pick suitable fdt
Jagan Teki [Sat, 6 May 2017 21:13:05 +0000 (02:43 +0530)]
icorem6: Make SPL to pick suitable fdt

SPL FIT is able to pick the suitable fdt file for u-boot,
so add that function through board_fit_config_name_match.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoengicam: Set fdt_file env during run-time
Jagan Teki [Sat, 6 May 2017 21:13:04 +0000 (02:43 +0530)]
engicam: Set fdt_file env during run-time

Set fdt_file env variable during board_late_init

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agogeam6ul: Add mmc_late_init
Jagan Teki [Sat, 6 May 2017 21:13:03 +0000 (02:43 +0530)]
geam6ul: Add mmc_late_init

Let the runtime code can set the mmcdev and mmcroot based
on the devno using mmc_get_env_dev instead of defining
separately in build-time configs using mmc_late_init func.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agogeam6ul: Add modeboot env via board_late_init
Jagan Teki [Sat, 6 May 2017 21:13:02 +0000 (02:43 +0530)]
geam6ul: Add modeboot env via board_late_init

Add runtime, modeboot env which is setting mmcboot, or
nandboot based on the bootdevice so-that conditional
macros b/w MMC and NAND for CONFIG_BOOTCOMMAND should
be avoided in config files.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoicorem6: Add mmc_late_init
Jagan Teki [Sat, 6 May 2017 21:13:01 +0000 (02:43 +0530)]
icorem6: Add mmc_late_init

Let the runtime code can set the mmcdev and mmcroot based
on the devno using mmc_get_env_dev instead of defining
separately in build-time configs using mmc_late_init func.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoicorem6: Add modeboot env via board_late_init
Jagan Teki [Sat, 6 May 2017 21:13:00 +0000 (02:43 +0530)]
icorem6: Add modeboot env via board_late_init

Add runtime, modeboot env which is setting mmcboot, or
nandboot based on the bootdevice so-that conditional
macros b/w MMC and NAND for CONFIG_BOOTCOMMAND should
be avoided in config files.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 years agoimx-common: rdc-sema: correct return value
Peng Fan [Fri, 21 Apr 2017 08:56:50 +0000 (16:56 +0800)]
imx-common: rdc-sema: correct return value

When unlock, if caller is not the sema owner,
return -EACCES, not 1.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agothermal: imx: fix calculation
Peng Fan [Tue, 18 Apr 2017 12:41:53 +0000 (20:41 +0800)]
thermal: imx: fix calculation

Fix calculation. do_div can not handle negative values.
Use div_s64_rem to handle the calculation.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx: thermal: update imx6 thermal driver according new equation
Peng Fan [Tue, 18 Apr 2017 12:41:52 +0000 (20:41 +0800)]
imx: thermal: update imx6 thermal driver according new equation

>From IC guys:
"
After a thorough accuracy study of the Temp sense circuit,
we found that with our current equation, an average part can
read 7 degrees lower than a known forced temperature.
We also found out that the standard variance was around 2C;
which is the tightest distribution that we could create.
We need to change the temp sense equation to center the average
part around the target temperature.
"

New equation:
Tmeas = (Nmeas - n1) / slope + t1 + offset
n1= fused room count
t1= 25
offset=3.580661
slope= 0.4148468 – 0.0015423*n1

According the new equation, update the thermal driver.
c1 and c2 changed to u64 type and update comments.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx-common: timer: clean up
Peng Fan [Wed, 19 Apr 2017 09:05:55 +0000 (17:05 +0800)]
imx-common: timer: clean up

Drop the unneeded code. lib/time.c use timebase_l/h.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agomx25pdk: Add fuse API support
Fabio Estevam [Mon, 17 Apr 2017 22:29:05 +0000 (19:29 -0300)]
mx25pdk: Add fuse API support

Select CONFIG_FSL_IIM and CONFIG_CMD_FUSE so that the fuse API can
be used.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agonet: fec_mxc: specify the registered eth index by dev_id
Andy Duan [Mon, 10 Apr 2017 11:44:35 +0000 (19:44 +0800)]
net: fec_mxc: specify the registered eth index by dev_id

Specify the registered eth index by dev_id.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: fec_mxc: avoid transfer dev_id -1 to get mac address from fuse
Andy Duan [Mon, 10 Apr 2017 11:44:34 +0000 (19:44 +0800)]
net: fec_mxc: avoid transfer dev_id -1 to get mac address from fuse

Avoid transfer parameter dev_id value with "-1" to .fec_get_hwaddr(),
it should transfer fec->dev_id to get mac address from fuse.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Stefano Babic <sbabic@denx.de>
8 years agonet: fec: do not access reserved register for i.MX6ULL
Peng Fan [Mon, 10 Apr 2017 11:44:33 +0000 (19:44 +0800)]
net: fec: do not access reserved register for i.MX6ULL

The MIB RAM and FIFO receive start register does not exist on
i.MX6ULL. Accessing these register will cause enet not work well or
cause system report fault.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
8 years agoMerge git://git.denx.de/u-boot-uniphier
Tom Rini [Wed, 17 May 2017 18:13:58 +0000 (14:13 -0400)]
Merge git://git.denx.de/u-boot-uniphier

- Add workaround code to make LD20 SoC boot from ARM Trusted Firmware
- Sync DT with Linux to fix DTC warnings
- Add new SoC support code
- Misc fix, updates

8 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Wed, 17 May 2017 18:13:16 +0000 (14:13 -0400)]
Merge git://git.denx.de/u-boot-x86

8 years agosunxi: Move maintainership for Pine64
Andre Przywara [Wed, 26 Apr 2017 00:32:52 +0000 (01:32 +0100)]
sunxi: Move maintainership for Pine64

After speaking to Hans at FOSDEM, he is fine with transferring the
maintainership of the Pine64 boards over to me.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agosunxi: update Pine64 README
Andre Przywara [Wed, 26 Apr 2017 00:32:51 +0000 (01:32 +0100)]
sunxi: update Pine64 README

With the DRAM init code and the SPL's ability to load the ATF binary as
well, we can now officially get rid of the boot0 boot method, which
involed a closed-source proprietary blob to be used.
Rework the Pine64 README file to document how to build the firmware.
Also since these instructions now cover more boards, rename the
file to README.sunxi64 to reflect this.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agosunxi: use SPL header DT name for FIT board matching
Andre Przywara [Wed, 26 Apr 2017 00:32:50 +0000 (01:32 +0100)]
sunxi: use SPL header DT name for FIT board matching

Now that we can store a DT name in the SPL header, use this string (if
available) when finding the right DT blob to load for U-Boot proper.
This allows a generic U-Boot (proper) image to be combined with a bunch
of supported DTs, with just the SPL (possibly only that string) to be
different.
Eventually this string can be written after the build process by some
firmware update tool.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agosunxi: Store the device tree name in the SPL header
Siarhei Siamashka [Wed, 26 Apr 2017 00:32:49 +0000 (01:32 +0100)]
sunxi: Store the device tree name in the SPL header

This patch updates the mksunxiboot tool to optionally add
the default device tree name string to the SPL header. This
information can be used by the firmware upgrade tools to
protect users from harming themselves by trying to upgrade
to an incompatible bootloader.

The primary use case here is a non-removable bootable media
(such as NAND, eMMC or SPI flash), which already may have
a properly working, but a little bit outdated bootloader
installed. For example, the user may download or build a
new U-Boot image for "Cubieboard", and then attemept to
install it on a "Cubieboard2" hardware by mistake as a
replacement for the already existing bootloader. If this
happens, the flash programming tool can identify this
problem and warn the user.

The size of the SPL header is also increased from 64 bytes
to 96 bytes to provide enough space for the device tree name
string.
[Andre: split patch to remove OF_LIST hash feature]

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
8 years agosunxi: enable automatic FIT build for 64-bit SoCs
Andre Przywara [Wed, 26 Apr 2017 00:32:48 +0000 (01:32 +0100)]
sunxi: enable automatic FIT build for 64-bit SoCs

The Allwinner SoCs with 64-bit cores use an ARM Trusted Firmware binary,
which needs to be loaded alongside U-Boot proper.
Set the respective Kconfig options to let them select this feature and
also automatically build the FIT image.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
[Rename Kconfig path to arch/arm/mach-sunxi/Kconfig]
Signed-off-by: Jagan Teki <jagan@openedev.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agosunxi: defconfig: add supported DT list for Pine64
Andre Przywara [Wed, 26 Apr 2017 00:32:47 +0000 (01:32 +0100)]
sunxi: defconfig: add supported DT list for Pine64

When a board uses a FIT image to load U-Boot proper, it requires a list
of supported device trees to be supplied in CONFIG_OF_LIST, from which it
chooses the right one at runtime.
For boards with just one possible DT (like the OrangePi PC2) this
defaults to CONFIG_DEFAULT_DEVICE_TREE, but for the Pine64 with its two
possible models we provide all compatible DTs in this config symbol.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@openedev.com>
8 years agosunxi: 64-bit SoCs: introduce FIT generator script
Andre Przywara [Wed, 26 Apr 2017 00:32:46 +0000 (01:32 +0100)]
sunxi: 64-bit SoCs: introduce FIT generator script

Now that the Makefile can call a generator script to build a more
advanced FIT image, let's use this feature to address the needs of
Allwinner boards with 64-bit SoCs (A64 and H5).
The (DTB stripped) U-Boot binary and the ATF are static, but we allow
an arbitrary number of supported device trees to be passed.
The script enters both a DT entry in the /images node and the respective
subnode in /configurations to support all listed DTBs.

The location of the bl31.bin image from the ARM Trusted Firmware build
can either by specified via the BL31 environment variable. If this is not
set, the script looks for bl31.bin in U-Boot's build directory (which
could be a symlink as well).

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
8 years agoMakefile: add rules to generate SPL FIT images
Andre Przywara [Wed, 26 Apr 2017 00:32:45 +0000 (01:32 +0100)]
Makefile: add rules to generate SPL FIT images

Some platforms require more complex U-Boot images than we can easily
generate via the mkimage command line, for instance to load additional
image files.
Introduce a CONFIG_SPL_FIT_SOURCE and CONFIG_SPL_FIT_GENERATOR symbol,
which can either hold an .its source file describing the image layout,
or, in the second case, a generator tool (script) to create such
a source file. This script gets passed the list of device tree files
from the CONFIG_OF_LIST variable.
A platform or board can define either of those in their defconfig file
to allow an easy building of such an image.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agosunxi: SPL: add FIT config selector for Pine64 boards
Andre Przywara [Wed, 26 Apr 2017 00:32:44 +0000 (01:32 +0100)]
sunxi: SPL: add FIT config selector for Pine64 boards

For a board or platform to support FIT loading in the SPL, it has to
provide a board_fit_config_name_match() routine, which helps to select
one of possibly multiple DTBs contained in a FIT image.
Provide a simple function which chooses the DT name U-Boot was
configured with.
If the DT name is one of the two Pine64 versions, determine the exact
model by checking the DRAM size.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@openedev.com>
8 years agosunxi: SPL: store RAM size in gd
Andre Przywara [Wed, 26 Apr 2017 00:32:43 +0000 (01:32 +0100)]
sunxi: SPL: store RAM size in gd

The sunxi SPL was holding the detected RAM size in some local variable
only, so it wasn't accessible for other functions.
Store the value in gd->ram_size instead, so it can be used later on.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agosunxi: A64: move SPL stack to end of SRAM A2
Andre Przywara [Wed, 26 Apr 2017 00:32:42 +0000 (01:32 +0100)]
sunxi: A64: move SPL stack to end of SRAM A2

The SPL stack is usually located at the end of SRAM A1, where it grows
towards the end of the SPL.
For the really big AArch64 binaries the stack overwrites code pretty
soon, so move the SPL stack to the end of SRAM A2, which is unused at this
time.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jagan Teki <jagan@openedev.com>
8 years agoarmv8: fsl: move ccn504 code into FSL Makefile
Andre Przywara [Wed, 26 Apr 2017 00:32:41 +0000 (01:32 +0100)]
armv8: fsl: move ccn504 code into FSL Makefile

The generic ARMv8 assembly code contains routines for setting up
a CCN interconnect, though the Freescale SoCs are the only user.
Link this code only for Freescale targets, this saves some precious
bytes in the chronically tight SPL.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
8 years agoarmv8: SPL: only compile GIC code if needed
Andre Przywara [Wed, 26 Apr 2017 00:32:40 +0000 (01:32 +0100)]
armv8: SPL: only compile GIC code if needed

Not every SoC needs to set up the GIC interrupt controller, so link
think code only when the respective config option is set.
This shaves off some bytes from the SPL code size.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agotools: mksunxiboot: allow larger SPL binaries
Andre Przywara [Wed, 26 Apr 2017 00:32:39 +0000 (01:32 +0100)]
tools: mksunxiboot: allow larger SPL binaries

mksunxiboot limits the size of the resulting SPL binaries to pretty
conservative values to cover all SoCs and all boot media (NAND).
It turns out that we have limit checks in place in the build process,
so mksunxiboot can be relaxed and allow packaging binaries up to the
actual 32KB the mask boot ROM actually imposes.
This allows to have a bigger SPL, which is crucial for AArch64 builds.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agoKconfig: fix SPL_FIT dependency
Andre Przywara [Wed, 26 Apr 2017 00:32:38 +0000 (01:32 +0100)]
Kconfig: fix SPL_FIT dependency

SPL_FIT obviously requires libfdt in SPL, so let Kconfig express that by
selecting SPL_OF_LIBFDT.
Also make the actual options that users want (SPL signature and SPL FIT
loading) visible in the menu and let them select the SPL_FIT as a
requirement.
Also remove the now redundant SPL_OF_LIBFDT from those Kconfigs that had
it in for the SPL FIT loading feature.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
[Remove change from configs/evb-rk3399_defconfig]
Signed-off-by: Jagan Teki <jagan@openedev.com>
8 years agoSPL: FIT: allow loading multiple images
Andre Przywara [Wed, 26 Apr 2017 00:32:37 +0000 (01:32 +0100)]
SPL: FIT: allow loading multiple images

So far we were not using the FIT image format to its full potential:
The SPL FIT loader was just loading the first image from the /images
node plus one of the listed DTBs.
Now with the refactored loader code it's easy to load an arbitrary
number of images in addition to the two mentioned above.
As described in the FIT image source file format description, iterate
over all images listed at the "loadables" property in the configuration
node and load every image at its desired location.
This allows to load any kind of images:
- firmware images to execute before U-Boot proper (for instance
  ARM Trusted Firmware (ATF))
- firmware images for management processors (SCP, arisc, ...)
- firmware images for devices like WiFi controllers
- bit files for FPGAs
- additional configuration data
- kernels and/or ramdisks
The actual usage of this feature would be platform and/or board specific.

Also update the FIT documentation to mention the new SPL feature and
provide an example .its file to demonstrate its features.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lokesh Vutla <lokeshvuta@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Jagan Teki <jagan@openedev.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agoSPL: FIT: factor out spl_load_fit_image()
Andre Przywara [Wed, 26 Apr 2017 00:32:36 +0000 (01:32 +0100)]
SPL: FIT: factor out spl_load_fit_image()

At the moment we load two images from a FIT image: the actual U-Boot
image and the .dtb file. Both times we have very similar code, that deals
with alignment requirements the media we load from imposes upon us.
Factor out this code into a new function, which we just call twice.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Jagan Teki <jagan@openedev.com>
8 years agoSPL: FIT: improve error handling
Andre Przywara [Wed, 26 Apr 2017 00:32:35 +0000 (01:32 +0100)]
SPL: FIT: improve error handling

At the moment we ignore any errors due to missing FIT properties,
instead go ahead and calculate our addresses with the -1 return value.
Fix this and bail out if any of the mandatory properties are missing.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Jagan Teki <jagan@openedev.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
8 years agoSPL: FIT: rework U-Boot image loading
Andre Przywara [Wed, 26 Apr 2017 00:32:34 +0000 (01:32 +0100)]
SPL: FIT: rework U-Boot image loading

Currently the SPL FIT loader always looks only for the first image in
the /images node a FIT tree, which it loads and later executes.

Generalize this by looking for a "firmware" property in the matched
configuration subnode, or, if that does not exist, for the first string
in the "loadables" property. Then using the string in that property,
load the image of that name from the /images node.
This still loads only one image at the moment, but refactors the code to
allow extending this in a following patch.
To simplify later re-usage, we also generalize the spl_fit_select_index()
function to not return the image location, but just the node offset.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lokesh Vutla <lokeshvuta@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Jagan Teki <jagan@openedev.com>