platform/kernel/u-boot.git
5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv
Tom Rini [Fri, 16 Aug 2019 11:22:21 +0000 (07:22 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv

- Fix sifive serial y-modem transfer.
- Access CSRs using CSR numbers.
- Update doc sifive-fu540
- Support big endian hosts and target.

5 years agoriscv: tools: Add big endian target support to prelink-riscv
Marcus Comstedt [Fri, 2 Aug 2019 17:45:16 +0000 (19:45 +0200)]
riscv: tools: Add big endian target support to prelink-riscv

Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
Cc: Rick Chen <rick@andestech.com>
Reviewed-by: Rick Chen <rick@andestech.com>
5 years agoriscv: tools: Fix prelink-riscv to work on big endian hosts
Marcus Comstedt [Fri, 2 Aug 2019 17:45:15 +0000 (19:45 +0200)]
riscv: tools: Fix prelink-riscv to work on big endian hosts

All ELF fields whose values are inspected by the code are converted to
CPU byteorder first.  Values which are copied verbatim (relocation
fixups) are not swapped to CPU byteorder and back as it is not needed.

Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
Cc: Rick Chen <rick@andestech.com>
Reviewed-by: Rick Chen <rick@andestech.com>
5 years agodoc: sifive-fu540: Update README to explicitly load DTB for Linux
Anup Patel [Fri, 26 Jul 2019 04:24:30 +0000 (04:24 +0000)]
doc: sifive-fu540: Update README to explicitly load DTB for Linux

We should explicitly load DTB from TFTP server or MMC/SD card
for Linux booting. This will allow us:
1. To use different Linux DTB for SiFive Unleashed board with
   expansion board connected.
2. Avoid re-flashing OpenSBI firmware whenever board connections
   change.

This patch updates reference bootlog in SiFive FU540 README
as-per above.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoriscv: Access CSRs using CSR numbers
Bin Meng [Thu, 11 Jul 2019 06:43:13 +0000 (23:43 -0700)]
riscv: Access CSRs using CSR numbers

We should prefer accessing CSRs using their CSR numbers
because:
1. It compiles fine with older toolchains.
2. We can use latest CSR names in #define macro names of CSR
   numbers as-per RISC-V spec.
3. We can access newly added CSRs even if toolchain does not
   recognize newly added CSRs by name.

This commit is inspired from Linux kernel commit a3182c91ef4e
("RISC-V: Access CSRs using CSR numbers").

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
5 years agoriscv: Sync csr.h with Linux kernel v5.2
Bin Meng [Thu, 11 Jul 2019 06:43:12 +0000 (23:43 -0700)]
riscv: Sync csr.h with Linux kernel v5.2

This syncs csr.h with Linux kernel 5.2, and imports asm.h that
is required by csr.h.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
5 years agoriscv : serial: use rx watermark to indicate rx data is present
Sagar Shrikant Kadam [Tue, 9 Jul 2019 12:23:44 +0000 (05:23 -0700)]
riscv : serial: use rx watermark to indicate rx data is present

In y-modem transfer mode, tstc/getc fail to check if there is any
data available / received in RX FIFO, and so y-modem transfer never
succeeds. Using receive watermark bit within ip register fixes the
issue.

This patch is based on commit c7392b7bc4e1 ("Use the RX watermark
interrupt pending bit for TSTC") available at[1]

[1] https://github.com/sifive/HiFive_U-Boot/tree/regression

Signed-off-by: Sagar Shrikant Kadam <sagar.kadam@sifive.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Tested-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Padmarao Begari <padmarao.begari@microchip.com>
Tested-by: Padmarao Begari <padmarao.begari@microchip.com>
5 years agoconfigs: Resync with savedefconfig
Tom Rini [Wed, 14 Aug 2019 12:11:27 +0000 (08:11 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoPrepare v2019.10-rc2 v2019.10-rc2
Tom Rini [Tue, 13 Aug 2019 22:23:35 +0000 (18:23 -0400)]
Prepare v2019.10-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell
Tom Rini [Tue, 13 Aug 2019 03:03:44 +0000 (23:03 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell

- Various improvements to Keymile boards - mostly DT conversation
  (Pascal & Holger)
- Removal of now unsupported Keymile boards (Pascal & Holger)
- Small MVEBU PCI fix (Marek)
- Turris Omnia defconfig update (Marek)
- Misc Allied Telesis defconfig updates (Chris)

5 years agoMerge tag 'u-boot-amlogic-20190812' of https://gitlab.denx.de/u-boot/custodians/u...
Tom Rini [Mon, 12 Aug 2019 22:48:34 +0000 (18:48 -0400)]
Merge tag 'u-boot-amlogic-20190812' of https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic

- amlogic: add support for the SEI Robotic SEI510

5 years agoMerge branch '2019-08-11-ti-imports'
Tom Rini [Mon, 12 Aug 2019 22:47:53 +0000 (18:47 -0400)]
Merge branch '2019-08-11-ti-imports'

- More DaVinci updates and fixes
- PCIe support on am65x
- Watchdog converted to DM
- Assorted other bugfixes

5 years agoMerge branch '2019-08-11-master-imports'
Tom Rini [Mon, 12 Aug 2019 22:46:07 +0000 (18:46 -0400)]
Merge branch '2019-08-11-master-imports'

- environment cleanup
- HiKey 960 support
- Some PCI fixes

5 years agogitlab-ci: Consolidate some testsuite jobs
Tom Rini [Mon, 12 Aug 2019 14:09:08 +0000 (10:09 -0400)]
gitlab-ci: Consolidate some testsuite jobs

We do not need to split binman, buildman, dtoc and patman test suite
runs into 3 jobs.  Instead, run them as a single job.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agogitlab-ci: Add USER environment variable to buildman/patman tests
Tom Rini [Mon, 12 Aug 2019 14:02:18 +0000 (10:02 -0400)]
gitlab-ci: Add USER environment variable to buildman/patman tests

The way that some of the tests here are designed, they expect USER to be
set in the environment.  This is not the case in the docker images, so
set a reasonable value.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoarm: K3: sysfw-loader: Do not require full printf() for version info
Andreas Dannenberg [Mon, 5 Aug 2019 18:46:23 +0000 (13:46 -0500)]
arm: K3: sysfw-loader: Do not require full printf() for version info

A previous commit...

commit 2a51e16bd57a ("configs: Make USE_TINY_PRINTF depend on SPL||TPL and be default")

...causes the System Firmware version string during SPL boot to no longer
getting printed to the console as expected. To fix this issue rework the
handling of that string to only use basic printf() syntax rather than
for example disabling CONFIG_USE_TINY_PRINTF on affected devices, this
way maintaining most of the memory size benefit the initial patch brings
when it comes to SPL.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agofirmware: ti_sci: Parse all resource ranges even if some is not available
Vignesh Raghavendra [Mon, 5 Aug 2019 17:26:44 +0000 (12:26 -0500)]
firmware: ti_sci: Parse all resource ranges even if some is not available

Do not fail if any of the requested subtypes are not available, but set the
number of resources to 0 and continue parsing the resource ranges.

Based on Linux kernel patch by Peter Ujfalusi <peter.ujfalusi@ti.com>

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agoARM: da850-evm: Enable SPI Flash and NAND Flash when booting NOR
Adam Ford [Sat, 3 Aug 2019 12:56:10 +0000 (07:56 -0500)]
ARM: da850-evm: Enable SPI Flash and NAND Flash when booting NOR

Historically there have been various boot options, SPI flash,
NAND or NOR. The NOR flash is mutually exclusive with MMC, but
it isn't mutually exclusive with NAND or SPI Flash, so this patch
enables both NAND flash and SPI Flash when booting from NOR.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: da850-evm: Enable filesystem commands when booting from NOR
Adam Ford [Fri, 2 Aug 2019 21:21:55 +0000 (16:21 -0500)]
ARM: da850-evm: Enable filesystem commands when booting from NOR

The configuration with NOR is mutually exclusive with MMC, and as
such, the filesystem commands were disabled.  With the USB host
enabled, this patch enables the file system command which can
be executed on storage devices attached to the USB.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: da850-evm: Increase environment NOR partition offset
Adam Ford [Fri, 2 Aug 2019 12:03:39 +0000 (07:03 -0500)]
ARM: da850-evm: Increase environment NOR partition offset

The current size allocated to U-Boot is 384k, but U-Boot has grown
to 436K which means that saving the environmental variables wipes
out part of the U-Boot source and the board ceases to function.
Due to the sector and erase size for the NOR part and a desire to
not have to change partition sizes often, this patch moves the
U-Boot environmental variables to an offset of 1M so saveenv
does not brick the board.  This patch also sets up MTDIDS and
MTDPARTS to clearly show where U-Boot and U-Boot's environmental
variables are located.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: da850-evm: Fix Lowlevel init
Adam Ford [Thu, 1 Aug 2019 13:47:55 +0000 (08:47 -0500)]
ARM: da850-evm: Fix Lowlevel init

A previous patch for enabling the NAND config set a flag called
CONFIG_SKIP_LOWLEVEL_INIT when it should have been called
CONFIG_SKIP_LOWLEVEL_INIT_ONLY.  The affect this had was creating
a delay on startup for the NOR version which is XIP and doesn't have
SPL, so the lowlevel initialization functions need to operate.
This delay was not really noticeable at first, but the delays have been
getting longer, finally reached the point of nearly seven seconds
before the board would appear to start.

This patch sets the CONFIG_SKIP_LOWLEVEL_INIT_ONLY instead which means
"The normal CP15 init (such as enabling the instruction cache) is still
performed" per the README.  It doesn't appear to have any adverse
behavior on the SPI Flash or the NAND flash boards which use SPL.

Fixes: 93f3362762f0 ("ARM: configs: Add da850evm_nand to boot from NAND")
Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoconfigs: am65x_evm_a53: enable support for PCIe ethernet cards
Sekhar Nori [Thu, 1 Aug 2019 13:43:01 +0000 (19:13 +0530)]
configs: am65x_evm_a53: enable support for PCIe ethernet cards

Enable support for Intel E1000 based PCIe ethernet cards that
can be used to test PCIe RC functionality on AM65x EVM.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoarm: dts: k3-am65: add support for PCIe and SERDES
Sekhar Nori [Thu, 1 Aug 2019 13:43:00 +0000 (19:13 +0530)]
arm: dts: k3-am65: add support for PCIe and SERDES

Add needed device-tree nodes to support PCIe 0
and SERDES on AM65x SoC. The nodes are kept
disabled by default.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoconfigs: am65x_evm_a53: enable PCIe support
Sekhar Nori [Thu, 1 Aug 2019 13:42:59 +0000 (19:12 +0530)]
configs: am65x_evm_a53: enable PCIe support

Enable support for PCIe and related configurations
on AM654 EVM platform.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agophy: add support for AM654x SERDES
Sekhar Nori [Thu, 1 Aug 2019 13:42:58 +0000 (19:12 +0530)]
phy: add support for AM654x SERDES

Add a new SERDES driver for TI's AM654x SoC which configures
the SERDES only for PCIe. Support fo USB3 can be added later.

SERDES in am654x has three input clocks (left input, external
reference clock and right input) and two output clocks (left
output and right output) in addition to a PLL mux clock which
the SERDES uses for Clock Multiplier Unit (CMU refclock).

The PLL mux clock can select from one of the three input
clocks. The right output can select between left input and
external reference clock while the left output can select
between the right input and external reference clock.

The driver has support to select PLL mux and left/right output
mux as specified in device tree.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agopcie: ti: add driver for AM65x PCIe RC
Sekhar Nori [Thu, 1 Aug 2019 13:42:57 +0000 (19:12 +0530)]
pcie: ti: add driver for AM65x PCIe RC

Add driver supporting PCIe root-complex available
on TI's AM65x SoC.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agodm: core: add support for getting register address and size
Sekhar Nori [Thu, 1 Aug 2019 13:42:56 +0000 (19:12 +0530)]
dm: core: add support for getting register address and size

Current dev_read_*() API lacks support to get address and size
of a "reg" property by name or index. Add support for the same.

Livetree support has been added but not tested on real hardware.

The existing unit tests testing reading address from device-tree
have been updated to test address as well as size.

Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoclk: add support for clk_is_match()
Sekhar Nori [Thu, 1 Aug 2019 13:42:55 +0000 (19:12 +0530)]
clk: add support for clk_is_match()

Add support for clk_is_match() which is required to
know if two clock pointers point to the same exact
physical clock.

Also add a unit test for the new API.

Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agopower: domain: ti-sci-power-domain: Add device ID info to get/set_device failure
Nishanth Menon [Thu, 1 Aug 2019 13:38:24 +0000 (19:08 +0530)]
power: domain: ti-sci-power-domain: Add device ID info to get/set_device failure

Failure log for ti_sci_power_domain_on/off is as below:
"ti_sci_power_domain_on: get/set_device failed (-19)"

The above information is useless for debug without information
on what specific device access failed. So add that information as well.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agoboard/BuR/brsmarc1: initial commit
Hannes Schmelzer [Thu, 1 Aug 2019 05:04:46 +0000 (07:04 +0200)]
board/BuR/brsmarc1: initial commit

This commit adds support for the B&R brsmarc1 SoM.

The SoM is based on TI's AM335x SoC.
Mainly vxWorks 6.9.4.x is running on the board,
doing some PLC stuff on various carrier boards.

Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
5 years agowatchdog: omap_wdt: Disable DM watchdog support in SPL
Suniel Mahesh [Wed, 31 Jul 2019 16:24:07 +0000 (21:54 +0530)]
watchdog: omap_wdt: Disable DM watchdog support in SPL

This patch disables DM watchdog support for SPL builds and uses
the legacy omap watchdog driver on TI AM335x chipsets.

The following build error is reported if DM watchdog support was
enabled in SPL:

  CC      spl/drivers/usb/gadget/rndis.o
  LD      spl/drivers/usb/gadget/built-in.o
  LD      spl/drivers/usb/musb-new/built-in.o
  LD      spl/drivers/built-in.o
  LD      spl/u-boot-spl
arm-linux-ld.bfd: u-boot-spl section .u_boot_list will not fit in region .sram
arm-linux-ld.bfd: region .sram overflowed by 440 bytes
make[1]: *** [spl/u-boot-spl] Error 1
make: *** [spl/u-boot-spl] Error 2

Adjusted WATCHDOG_RESET macro accordingly. Earlier it was pointing
to hw_watchdog_reset. Since CONFIG_WATCHDOG replaces CONFIG_HW_WATCHDOG,
now WATCHDOG_RESET macro points to watchdog_reset. This watchdog_reset
is not defined anywhere for am33xx/omap2 and needs to be defined. Fixed
this by simply calling hw_watchdog_reset in watchdog_reset.

Built and tested on AM335x device (BeagleboneBlack), compile tested for
all other AM33xx/omap2 based boards.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
[trini: Fix watchdog.h logic]
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agopci: pci_mvebu: set BAR0 after memory space is set
Marek Behún [Wed, 7 Aug 2019 13:01:56 +0000 (15:01 +0200)]
pci: pci_mvebu: set BAR0 after memory space is set

The non-DM version of this driver used to set BAR0 register after the
calls to pci_set_region.
I found out that for some strange reason the ath10k driver in kernel
fails to work if this is done the other way around.
I know that Linux's driver should not depend on how U-Boot does things,
but for some strange reason it does and this seems to be the simplest
solution. Fix it since it caused regressions on Omnia.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Stefan Roese <sr@denx.de>
Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
Cc: Mario Six <mario.six@gdsys.cc>
Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Cc: Phil Sutter <phil@nwl.cc>
Cc: VlaoMao <vlaomao@gmail.com>
Tested-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agowatchdog: omap_wdt: Convert watchdog driver to use DT and DM
Suniel Mahesh [Wed, 31 Jul 2019 16:24:06 +0000 (21:54 +0530)]
watchdog: omap_wdt: Convert watchdog driver to use DT and DM

This patch adds device tree and driver model watchdog support,
converts the legacy omap watchdog driver to driver model for
TI AM335x chipsets. The following compile warning is removed:

===================== WARNING ======================
This board does not use CONFIG_WDT (DM watchdog support).
Please update the board to use CONFIG_WDT before the
v2019.10 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/MIGRATION.txt for more info.
====================================================

CONFIG_HW_WATCHDOG is no more a default option for AM33XX devices
after DT/DM conversion, adjusted kconfig accordingly.

DM watchdog support is enabled by default in SPL. The SPL image
doesn't fit into SRAM because of size constraints and build breaks
with an overflow. For this reason DM watchdog support should be
disabled in SPL, driver code should be adjusted accordingly to serve
this purpose.
Built and tested on AM335x device (BeagleboneBlack), compile tested
for all other AM33xx based boards.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
5 years agoARM: omap3: overo: Fix MMC init for SPL
Anselm Busse [Wed, 31 Jul 2019 15:30:28 +0000 (17:30 +0200)]
ARM: omap3: overo: Fix MMC init for SPL

The SPL for the Overo board does not initialise the MMC. Hence, it
cannot load the main boot loader from the SD card susequently. This
patch moves the initialisation code for the MMC so it gets included in
the SPL.

[trini: Add missing header]
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoconfigs: sei510: disable PSCI_RESET to support fastboot reboot_flag
Neil Armstrong [Wed, 22 May 2019 11:30:56 +0000 (13:30 +0200)]
configs: sei510: disable PSCI_RESET to support fastboot reboot_flag

Disable the PSCI_RESET reboot handler to permit handling the reboot
flag and calling the PSCI handler with the flag in parameter.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoARM: meson: Add support for fastboot_set_reboot_flag()
Neil Armstrong [Wed, 22 May 2019 11:30:25 +0000 (13:30 +0200)]
ARM: meson: Add support for fastboot_set_reboot_flag()

Add support for fastboot_set_reboot_flag() by storing the reboot
flag in the common code to be used by the custom PSCI reboot handler.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoboards: meson: add g12a sei510
Jerome Brunet [Fri, 15 Feb 2019 12:53:59 +0000 (13:53 +0100)]
boards: meson: add g12a sei510

The SEI510 board is based on the Amlogic S905X2 SoC
from the Amlogic G12A SoC family.

The board has the following specifications :
- Amlogic S905X2 ARM Cortex-A53 quad-core SoC
- XGB DDR4 SDRAM
- 10/100 Ethernet (Internal PHY)
- 1 x USB 3.0 Host
- eMMC
- SDcard
- Infrared receiver
- SDIO WiFi Module

The board default behaviour is for booting Android and triggers
fastboot on recovery or reboot mode.

USB vendor ID (used by fastboot) is 0x18d1 (Google) for
default udev rules for existing android users work out of the box.

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoarm: meson: add sm command to retrieve the reboot reason
Neil Armstrong [Tue, 6 Aug 2019 15:28:36 +0000 (17:28 +0200)]
arm: meson: add sm command to retrieve the reboot reason

The Secure Monitor offers multiple services, like returning the
SoC unique serial number, and can provide the "reboot reason" as
set by the previous booted system.

This extends the Amlogic specific "sm" cmd with a "reboot_reason" subcommand
to print or set a specified environment variable with the reboot reason in
human readable format.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoarm: meson: add sm cmd to retrieve SoC serial
Neil Armstrong [Tue, 6 Aug 2019 15:21:02 +0000 (17:21 +0200)]
arm: meson: add sm cmd to retrieve SoC serial

The Secure Monitor offers multiple services, like returning the
SoC unique serial number, already used to generate an unique MAC
address.

This adds a new, Amlogic specific, "sm" cmd with a "serial" subcommand
to write the SoC unique serial to memory.

This "cm" command will be extended in further patches.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoconfigs: meson64: permit redefining ENV_SIZE
Neil Armstrong [Tue, 19 Feb 2019 12:42:20 +0000 (13:42 +0100)]
configs: meson64: permit redefining ENV_SIZE

Permit redefining ENV_SIZE for board specific configs.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoARM: dts: Import Amlogic G12A SEI510 DT from Linux 5.3-rc1
Neil Armstrong [Tue, 26 Mar 2019 09:59:56 +0000 (10:59 +0100)]
ARM: dts: Import Amlogic G12A SEI510 DT from Linux 5.3-rc1

Import Linux 5.2-rc1 sei510 DT from 5f9e832c1370 ("Linus 5.3-rc1") for the
meson-g12a-sei510 board.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoarm: mvebu: turris_omnia: update defconfig
Marek Behún [Tue, 16 Jul 2019 13:50:26 +0000 (15:50 +0200)]
arm: mvebu: turris_omnia: update defconfig

Add Macronis SPI flash support - some Omnia routers are shipped with
this SPI flash chip.
Also add the memtest command to defconfig.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoARM: configs: Enable DM_ETH for SBx81LIFKW and SBx81LIFXCAT
Chris Packham [Wed, 10 Jul 2019 09:00:18 +0000 (21:00 +1200)]
ARM: configs: Enable DM_ETH for SBx81LIFKW and SBx81LIFXCAT

The mvgbe driver supports DM_ETH so switch these boards to using it.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agopowerpc/km: remove unmaintained board KMLION1
Holger Brunck [Tue, 9 Jul 2019 07:30:30 +0000 (09:30 +0200)]
powerpc/km: remove unmaintained board KMLION1

This board is unmaintained and can be removed. This also allows us to
remove kmp204x-common.h and integrate it in kmp204x.h.

Signed-off-by: Valentin Longchamp <valentin.longchamp@ch.abb.com>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agopowerpc/km: remove unmaintained target KMVECT1
Holger Brunck [Tue, 9 Jul 2019 07:30:29 +0000 (09:30 +0200)]
powerpc/km: remove unmaintained target KMVECT1

Signed-off-by: Valentin Longchamp <valentin.longchamp@ch.abb.com>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agokm/arm: remove unmaintained target PORTL2
Pascal Linder [Tue, 9 Jul 2019 07:30:28 +0000 (09:30 +0200)]
km/arm: remove unmaintained target PORTL2

Remove the PORTL2 board and all its dependencies as it is no longer
supported by the company.

Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agokm/rgmii: port Ethernet interface of KM Kirkwood boards to driver model
Pascal Linder [Tue, 9 Jul 2019 07:30:27 +0000 (09:30 +0200)]
km/rgmii: port Ethernet interface of KM Kirkwood boards to driver model

Activate the driver model for the Ethernet interface (RGMII) in the KM
Kirkwood Kconfig file. Additionally, raise the auto negotiation timeout
to eight seconds as more time is required for those boards.

Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agokm/uart: port UART interface of KM Kirkwood boards to driver model
Pascal Linder [Tue, 9 Jul 2019 07:30:26 +0000 (09:30 +0200)]
km/uart: port UART interface of KM Kirkwood boards to driver model

Activate the driver model for the serial interface in the KM Kirkwood
Kconfig file. The associated preprocessor definitions could be removed
from the header file. However, the clock of 200 MHz needs to be declared
in the device tree.

Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agokm: fixed typo in KM Kirkwood header file
Pascal Linder [Tue, 9 Jul 2019 07:28:23 +0000 (09:28 +0200)]
km: fixed typo in KM Kirkwood header file

A typo in the km_kirkwood.h header prevented to undefine the initialization
of the Kirkwood PCIe interface.

Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agokm: clean up header files for KM Kirkwood boards
Pascal Linder [Tue, 9 Jul 2019 07:28:22 +0000 (09:28 +0200)]
km: clean up header files for KM Kirkwood boards

Remove unused preprocessor definitions and comments of already eliminated
code.

The Ethernet driver configuration is already declared in
arch/arm/mach-kirkwood/include/mach/config.h and, therefore, superfluous.

Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agokm: remove obsolete definitions in KM header files
Pascal Linder [Tue, 9 Jul 2019 07:28:21 +0000 (09:28 +0200)]
km: remove obsolete definitions in KM header files

After moving the KM specific configurations to Kconfig, the associated
preprocessor definitions can now be removed in the headers. Moreover, the
whitelist has been adapted correspondingly.

Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agokm: add Kconfig menus for KM boards
Pascal Linder [Tue, 9 Jul 2019 07:28:20 +0000 (09:28 +0200)]
km: add Kconfig menus for KM boards

To execute the conversion away from board specific header files, Kconfig
menus have been implemented for all KM boards and additionally for those
having an ARM architecture.

For the moment, the preprocessor definitions stay in the headers. The
boolean types, however, needed a modification (#define CONFIG_* 1).

The default configuration files of some boards required an update in order
to not change the currently defined values of the configurations.

Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agocommon: Add a note about the effort to reduce common.h
Simon Glass [Fri, 2 Aug 2019 15:44:27 +0000 (09:44 -0600)]
common: Add a note about the effort to reduce common.h

This file has quite a lot of general definitions and include files. Add a
note about our intent to remove more of this.

The file should ultimately include the configuration and perhaps a very
other very common things used by most U-Boot files.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoDrop PCMCIA
Simon Glass [Thu, 1 Aug 2019 15:47:14 +0000 (09:47 -0600)]
Drop PCMCIA

This is no-longer used in U-Boot and has not been converted to driver
model. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Rename environment.h to env_internal.h
Simon Glass [Fri, 2 Aug 2019 15:44:25 +0000 (09:44 -0600)]
env: Rename environment.h to env_internal.h

This file contains lots of internal details about the environment. Most
code can include env.h instead, calling the functions there as needed.

Rename this file and add a comment at the top to indicate its internal
nature.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
[trini: Fixup apalis-tk1.c]
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoenv: Drop environment.h header file where not needed
Simon Glass [Thu, 1 Aug 2019 15:47:12 +0000 (09:47 -0600)]
env: Drop environment.h header file where not needed

This header file is now only used by files that access internal
environment features. Drop it from various places where it is not needed.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move TOTAL_MALLOC_LEN to environment.h
Simon Glass [Thu, 1 Aug 2019 15:47:11 +0000 (09:47 -0600)]
env: Move TOTAL_MALLOC_LEN to environment.h

This declaration is only used in three files. Although it relates to
malloc() it is actually only used during malloc() init. It uses CONFIG
options including CONFIG_ENV_ADDR which are defined only in environment.h
so this header must be included anyway, for TOTAL_MALLOC_LEN to be
correct.

Nove it to environment.h to simplify the common file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoenv: Drop the double underscores in search.h
Simon Glass [Thu, 1 Aug 2019 15:47:10 +0000 (09:47 -0600)]
env: Drop the double underscores in search.h

There doesn't seem to be any good reason for using __ in the arguments in
this header file. A double underscore is usually reserved for compiler
features.

Drop these and remove the unnecessary 'extern' as well.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Drop the ACTION typedef
Simon Glass [Thu, 1 Aug 2019 15:47:09 +0000 (09:47 -0600)]
env: Drop the ACTION typedef

Avoid using a typedef here which is unnecessary. Add an 'env_' prefix to
both the enum and its members to make it clear that these are related to
the environment.

Add an ENV prefix to these two flags so that it is clear what they relate
to. Also move them to env.h since they are part of the public API. Use an
enum rather than a #define to tie them together.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Rename the redundancy flags
Simon Glass [Thu, 1 Aug 2019 15:47:08 +0000 (09:47 -0600)]
env: Rename the redundancy flags

Add an ENV prefix to these two flags so that it is clear what they relate
to. Also move them to env.h since they are part of the public API. Use an
enum rather than a #define to tie them together.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Drop _ENTRY
Simon Glass [Fri, 2 Aug 2019 15:44:19 +0000 (09:44 -0600)]
env: Drop _ENTRY

This typedef does not need to be defined in the search.h header since it
is only used in one file (hashtable.c). Remove it from the header and
change it to a struct.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Drop the ENTRY typedef
Simon Glass [Fri, 2 Aug 2019 15:44:18 +0000 (09:44 -0600)]
env: Drop the ENTRY typedef

U-Boot is not supposed to use typedef for structs anymore. Also this name
is the same as the ENTRY() macro used in assembler files, and 'entry'
itself is widely used in U-Boot (>8k matches).

Drop the typedef and rename the struct to env_entry to reduce confusion.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move callback definitions to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:05 +0000 (09:47 -0600)]
env: Move callback definitions to env.h

These definitions are effectively part of the 'public' API of the
environment implementation since they do not require access to any
internal variables. Move them to the env.h header.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_valid to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:04 +0000 (09:47 -0600)]
env: Move env_valid to env.h

This enum is somewhat widely used to determine if the environment is valid
or not. Move it to the common environment header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Rename environment to embedded_environment
Simon Glass [Thu, 1 Aug 2019 15:47:03 +0000 (09:47 -0600)]
env: Rename environment to embedded_environment

The name 'environment' is widely used in U-Boot so is not a very useful
name of a variable. Rename it to better indicate its purpose.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoenv: Move env_reloc() to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:02 +0000 (09:47 -0600)]
env: Move env_reloc() to env.h

Move env_reloc() over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_get_char() to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:01 +0000 (09:47 -0600)]
env: Move env_get_char() to env.h

Move env_get_char() over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move get/set_default_env() to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:00 +0000 (09:47 -0600)]
env: Move get/set_default_env() to env.h

Move these functions to the new header file and rename set_default_env()
to env_set_default() so that it has a consistent env_ prefix.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Drop env_crc_update()
Simon Glass [Thu, 1 Aug 2019 15:46:59 +0000 (09:46 -0600)]
env: Drop env_crc_update()

This function is not defined or used in U-Boot. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env import/export functions to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:58 +0000 (09:46 -0600)]
env: Move env import/export functions to env.h

Move these functions to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_load/save functions to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:57 +0000 (09:46 -0600)]
env: Move env_load/save functions to env.h

Move these function to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move set_default_vars to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:56 +0000 (09:46 -0600)]
env: Move set_default_vars to env.h

Move this function to the new header file and rename it so it has an env_
prefix.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_fix_drivers() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:55 +0000 (09:46 -0600)]
env: Move env_fix_drivers() to env.h

Move this function over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: net: Move eth_parse_enetaddr() to net.c/h
Simon Glass [Thu, 1 Aug 2019 15:46:54 +0000 (09:46 -0600)]
env: net: Move eth_parse_enetaddr() to net.c/h

This function fits better with the network subsystem, so move it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move eth_env_get/set_enetaddr() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:53 +0000 (09:46 -0600)]
env: Move eth_env_get/set_enetaddr() to env.h

Move these two functions over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_get() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:52 +0000 (09:46 -0600)]
env: Move env_get() to env.h

Move env_get() over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_set() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:51 +0000 (09:46 -0600)]
env: Move env_set() to env.h

Move env_set() over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_get_hex() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:50 +0000 (09:46 -0600)]
env: Move env_get_hex() to env.h

Move env_get_hex() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_get_yesno() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:49 +0000 (09:46 -0600)]
env: Move env_get_yesno() to env.h

Move env_get_yesno() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_get_ulong() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:48 +0000 (09:46 -0600)]
env: Move env_get_ulong() to env.h

Move env_get_ulong() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_set_ulong() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:47 +0000 (09:46 -0600)]
env: Move env_set_ulong() to env.h

Move env_set_ulong() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_set_hex() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:46 +0000 (09:46 -0600)]
env: Move env_set_hex() to env.h

Move env_set_hex() over to the new header file along with env_set_addr()
which uses it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move envmatch() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:45 +0000 (09:46 -0600)]
env: Move envmatch() to env.h

Move envmatch() over to the new header file. Also rename it to env_match()
to better line up with other functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_relocate() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:44 +0000 (09:46 -0600)]
env: Move env_relocate() to env.h

Move env_relocate() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_init() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:43 +0000 (09:46 -0600)]
env: Move env_init() to env.h

Move env_init() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_get_f() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:42 +0000 (09:46 -0600)]
env: Move env_get_f() to env.h

Move this function over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move get_env_id() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:41 +0000 (09:46 -0600)]
env: Move get_env_id() to env.h

Move this function over to the new header file. Also rename it to have an
env_ prefix like the other functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Create a new file for environment functions
Simon Glass [Thu, 1 Aug 2019 15:46:40 +0000 (09:46 -0600)]
env: Create a new file for environment functions

At present we have environment.h but this file includes all the
environment-related header files as well as internals such as
default_environment.

It seems desirable to have a new header to hold the commonly used
environment functions, so that most files can avoid including all of this
unnecessary stuff.

Create a new env.h header and move one function over to it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agocommon: Remove video_setmem()
Simon Glass [Thu, 1 Aug 2019 15:46:39 +0000 (09:46 -0600)]
common: Remove video_setmem()

This function is no-longer defined in U-Boot. Drop the declaration from
common.h

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agocommon: Move lcd_setmem() to lcd.h
Simon Glass [Thu, 1 Aug 2019 15:46:38 +0000 (09:46 -0600)]
common: Move lcd_setmem() to lcd.h

This function relates to lcd.h and is about to become obsolete with the
driver-model conversion. Move it out of common.h

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agocommon: Drop the dpram_... functions
Simon Glass [Thu, 1 Aug 2019 15:46:37 +0000 (09:46 -0600)]
common: Drop the dpram_... functions

These declarations are not used anymore, so drop them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agocommon: Move gzip functions into a new gzip header
Simon Glass [Thu, 1 Aug 2019 15:46:36 +0000 (09:46 -0600)]
common: Move gzip functions into a new gzip header

As part of the effort to remove things from common.h, create a new header
for the gzip functions. Move the function declarations to it and add
missing documentation.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoMAINTAINERS: Add entries for Android A/B and AVB
Igor Opaniuk [Thu, 8 Aug 2019 12:33:09 +0000 (15:33 +0300)]
MAINTAINERS: Add entries for Android A/B and AVB

1. Add myself as Android A/B and AVB maintainer
2. Add Sam Protsenko as Designated reviewer for A/B

Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
5 years agoMAINTAINERS: Add entry for HI3660 SoC
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:11 +0000 (20:40 +0530)]
MAINTAINERS: Add entry for HI3660 SoC

Add MAINTAINERS entry for HI3660 SoC by adding the arch includes.
While doing so, adding myself as the co-maintainer for HISILICON
SoCs since I'm planning to maintain HI3660 SoC separately and considering
doing improvements to the existing HiSilicon SoC architecture.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agommc: Add support for HI3660 SoC reusing hi6220_dw_mmc driver
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:10 +0000 (20:40 +0530)]
mmc: Add support for HI3660 SoC reusing hi6220_dw_mmc driver

This commit adds MMC driver support for HI3660 SoC reusing hi6220_dw_mmc
driver. Since HI3660 operates at different clock rate and uses fifo
mode now, let's introduce the platform data and utilize it for different
SoCs supported by this driver.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agoboard: hisilicon: Add support for Hikey960 board
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:09 +0000 (20:40 +0530)]
board: hisilicon: Add support for Hikey960 board

This commit adds board support for Hikey960 board from Hisilicon. This
board is one of the Consumer Edition boards of the 96Boards family
powered by Kirin960 SoC.

More information about this board can be found in 96Boards website:
https://www.96boards.org/product/hikey960/

The initial supported/tested devices include:
 - Debug serial
 - SD

With these support, it's good enough for loading Linux Kernel from SD.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agoarm: dts: Add devicetree for Hikey960 board
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:08 +0000 (20:40 +0530)]
arm: dts: Add devicetree for Hikey960 board

This commit adds devicetree for Hikey960 board. Most of the contents are
copied from Linux kernel with some modifications for u-boot. To be
more precise, SD card's speed related properties are removed due to a
bug in u-boot clock implementation. Hence forcing the SD controller to
work in standard speed.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agoarm: dts: Import HI3660 devicetree from Linux
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:07 +0000 (20:40 +0530)]
arm: dts: Import HI3660 devicetree from Linux

This commit imports HI3660 SoC devicetree from Linux

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agospl: implement stack usage check
Simon Goldschmidt [Tue, 16 Jul 2019 20:30:36 +0000 (22:30 +0200)]
spl: implement stack usage check

This implements a stack usage check in SPL.

Many boards start up SPL to run code + data from one common, rather small
SRAM. To implement a sophisticated SPL binary size limit on such boards,
the stack size (as well as malloc size and global data size) must be
subtracted from this SRAM size.

However, to do that properly, the stack size first needs to be known.

This patch adds a new Kconfig option:
- SPL_SYS_REPORT_STACK_F_USAGE: memset(0xaa) the whole area of the stack
  very early and check stack usage based on this constant later before the
  stack is switched to DRAM

Initializing the stack and checking it is implemented in weak functions,
in case a board does not use the stack as saved in gd->start_addr_sp.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoserial_lpuart: Fix config check issue when using clk driver in SPL
Ye Li [Thu, 11 Jul 2019 03:33:34 +0000 (03:33 +0000)]
serial_lpuart: Fix config check issue when using clk driver in SPL

Should use CONFIG_IS_ENABLED not IS_ENABLED for CLK driver, so it will
check the CONFIG_SPL_CLK when building SPL

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>