platform/kernel/u-boot.git
6 years agosunxi: add MMC support for H6
Icenowy Zheng [Sat, 21 Jul 2018 08:20:29 +0000 (16:20 +0800)]
sunxi: add MMC support for H6

The Allwinner H6 SoC has 3 MMC controllers like the ones in A64, with
the MMC2 come with the capability to do crypto by EMCE.

Add MMC support for H6. EMCE support is not added yet.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: add UART0 setup for H6
Icenowy Zheng [Sat, 21 Jul 2018 08:20:28 +0000 (16:20 +0800)]
sunxi: add UART0 setup for H6

The UART0 on H6 is available at PH bank (and PF bank, but the PF one is
muxed with SD card).

Add pinmux configuration.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: use sun6i-style watchdog for H6
Icenowy Zheng [Sat, 21 Jul 2018 08:20:27 +0000 (16:20 +0800)]
sunxi: use sun6i-style watchdog for H6

The H6 SoC has a sun6i-style watchdog in its timer part.

Enable the usage of it.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: add clock code for H6
Icenowy Zheng [Sat, 21 Jul 2018 08:20:26 +0000 (16:20 +0800)]
sunxi: add clock code for H6

The new Allwinner H6 SoC has a brand new CCU layout.

Add clock code for it.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: change GIC address on H6
Icenowy Zheng [Sat, 21 Jul 2018 08:20:25 +0000 (16:20 +0800)]
sunxi: change GIC address on H6

As the Allwinner H6 chip has a new memory map, its GIC MMIO address is
thus different.

Change the address on H6.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: add config for SPL at 0x20000 on H6
Icenowy Zheng [Sat, 21 Jul 2018 08:20:24 +0000 (16:20 +0800)]
sunxi: add config for SPL at 0x20000 on H6

On the new Allwinner H6 SoC, the SRAM A2 address (SPL load address) is
at 0x20000, which is different with any old Allwinner SoCs.

Add SPL position and size configuration for this.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: change ATF position for H6
Icenowy Zheng [Sat, 21 Jul 2018 08:20:23 +0000 (16:20 +0800)]
sunxi: change ATF position for H6

H6 has different SRAM A2 address, so the ATF load address is also
different.

Add judgment code to sunxi 64-bit FIT generation script. It will judge
the SoC by the device tree's name.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: change RMR64's RVBAR address for H6
Icenowy Zheng [Sat, 21 Jul 2018 08:20:22 +0000 (16:20 +0800)]
sunxi: change RMR64's RVBAR address for H6

Allwinner H6 has a different RVBAR address with A64/H5.

Add conditional RVBAR configuration into the code which does RMR switch.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: add basic memory map definitions of H6 SoC
Icenowy Zheng [Sat, 21 Jul 2018 08:20:21 +0000 (16:20 +0800)]
sunxi: add basic memory map definitions of H6 SoC

The Allwinner H6 SoC come with a totally new memory map.

Add basical definition of the new memory map into a header file, and let
the cpu.h header include it in the situation of H6.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: change SUNXI_HIGH_SRAM option to SUNXI_SRAM_ADDRESS
Icenowy Zheng [Sat, 21 Jul 2018 08:20:20 +0000 (16:20 +0800)]
sunxi: change SUNXI_HIGH_SRAM option to SUNXI_SRAM_ADDRESS

The new Allwinner H6 SoC has its SRAM A1 at neither 0x0 nor 0x10000, but
it's at 0x20000. Thus the SUNXI_HIGH_SRAM option needs to be refactored
to support this new configuration.

Change it to SUNXI_SRAM_ADDRESS, which holds the real address of SRAM
A1 in the memory map.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: enable SATA on Banana Pi M2 Berry
Simon Baatz [Mon, 23 Jul 2018 22:22:19 +0000 (00:22 +0200)]
sunxi: enable SATA on Banana Pi M2 Berry

Banana Pi M2 Ultra and M2 Berry are very similar boards.  SATA can be
enabled exactly the same as for M2 Ultra introduced in
commit daa8b75a5527 ("sunxi: enable SATA on Banana Pi M2 Ultra").

Signed-off-by: Simon Baatz <gmbnomis@gmail.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
6 years agoARC: Enable unaligned access in hardware if compiler uses it
Alexey Brodkin [Sun, 29 Jul 2018 06:47:52 +0000 (09:47 +0300)]
ARC: Enable unaligned access in hardware if compiler uses it

Even if ARC core might handle unaligned access to data this
hardware feature by default is disabled.

But GCC starting from 8.1.0 unconditionally uses it for ARC HS cores.
Which leads to quite strange and fatal run-time failures like the one
below if HW is not configured properly:
| hsdk# sf probe
| Misaligned data access exception @ 0xbff794d4
| ECR:    0x000d0000
| RET:    0xbff794d4
| BLINK:  0xbff79644
| STAT32: 0x00000800
| GP: 0x1003e000   r25: 0xbfd58f08
| BTA: 0xbff794a4  SP: 0xbfd58cd4  FP: 0xbfd58ef0
| LPS: 0xbff90240 LPE: 0xbff90244 LPC: 0x00000000
| r00: 0x00000000 r01: 0x00000003 r02: 0x000026bf
| r03: 0x00000000 r04: 0x00000100 r05: 0x00000000
| r06: 0x00000001 r07: 0x00000000 r08: 0x1dcd6500
| r09: 0x00000000 r10: 0x00200000 r11: 0x00000000
| r12: 0x1b3d4440 r13: 0xbff9eca4 r14: 0xbfd59d68
| r15: 0xbfd60cd0 r16: 0x00000000 r17: 0x00000000
| r18: 0xbff9ed14 r19: 0xbfd59c78 r20: 0xbfd58d40
| r21: 0xbfd58d44 r22: 0x00000000 r23: 0x00000000
| r24: 0xbfd59ba8
| Resetting CPU ...

Now we're checking for __ARC_UNALIGNED__ define emitted by the
compiler if it's going to use unaligned access and then we
force-enable it in hardware too.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoHSDK: Fixes and improvements in README
Alexey Brodkin [Wed, 11 Jul 2018 15:54:48 +0000 (18:54 +0300)]
HSDK: Fixes and improvements in README

1. Explained prerequisites for "make bsp-generate" command.
2. Cleaned-up duplicates

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: AXS10x/HSDK: Use our own version of mkimage
Alexey Brodkin [Wed, 11 Jul 2018 15:24:44 +0000 (18:24 +0300)]
ARC: AXS10x/HSDK: Use our own version of mkimage

Since U-Boot tools are being built anyways it's much nicer
to use them instead of relying on some of them bein installed
on build host (which might easily not be the case).

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: AXS10x: add tool and make target to generate bsp
Eugeniy Paltsev [Wed, 27 Jun 2018 12:20:48 +0000 (15:20 +0300)]
ARC: AXS10x: add tool and make target to generate bsp

AXS10x boards have preloader that reads SPI flash pages and searches
special image header to fetch and load binary.

Add tool, make target (bsp-generate) to generate
update script and u-boot binary image with header for preloader.

Also add script to default environment to apply updates.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoAXS10x: add spi flash support
Eugeniy Paltsev [Fri, 8 Jun 2018 15:52:14 +0000 (18:52 +0300)]
AXS10x: add spi flash support

AXS10x boards have n25q512 spi flash IC, so add corresponding
nodes to device tree and enaple corresponding options in
defconfig.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoCREG GPIO: add device tree bindings
Eugeniy Paltsev [Fri, 8 Jun 2018 14:58:24 +0000 (17:58 +0300)]
CREG GPIO: add device tree bindings

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoGPIO: CREG: improve flexibility of hsdk-creg-gpio driver
Eugeniy Paltsev [Fri, 8 Jun 2018 14:58:23 +0000 (17:58 +0300)]
GPIO: CREG: improve flexibility of hsdk-creg-gpio driver

CREG GPIO is a driver for weird soc-specific output ports, which are
controlled by some fields in memory mapped register.

Example:

31                 9        7        5           0   < bit number
|                  |        |        |           |
[     not used     | gpio-1 | gpio-0 | <-shift-> ]   < 32 bit register
                       ^        ^
                       |        |
                write 0x2 == set output to "1" (activate)
                write 0x3 == set output to "0" (deactivate)

As of tooday we only support fixed (hardcoded) bit per gpio line,
activate / deactivatei and shift values. Fix that by read them from
device tree to be able to use this driver for other boards.

Remove "hsdk" prefix from compatible string as this driver can be
used with different boards like HSDK, AXS101, AXS103, etc.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoPrepare v2017.09-rc1 v2018.09-rc1
Tom Rini [Tue, 31 Jul 2018 01:47:29 +0000 (21:47 -0400)]
Prepare v2017.09-rc1

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agofs-test.sh: Update expected result output
Tom Rini [Mon, 30 Jul 2018 20:06:04 +0000 (16:06 -0400)]
fs-test.sh: Update expected result output

Given 0dc1bfb7302d ("fs: fat: cannot write to subdirectories") we have
changed how the FAT code works from creating the illegal file "./file"
and instead rejecting the path.  The correct behavior would be to write
"file" to "." but not writing an illegal file is a step in the right
direction.  For now, update the expected output to account for the
failure.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoMerge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Tom Rini [Mon, 30 Jul 2018 20:02:29 +0000 (16:02 -0400)]
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot

Patch queue for efi - 2018-07-25

Highlights this time:

  - Many small fixes to improve spec compatibility (found by SCT)
  - Almost enough to run with sandbox target
  - GetTime() improvements
  - Enable EFI_LOADER and HYP entry on ARMv7 with NONSEC=y

6 years agotpmv2: Make it select CMD_LOG
Tom Rini [Sat, 28 Jul 2018 13:20:12 +0000 (09:20 -0400)]
tpmv2: Make it select CMD_LOG

The TPMv2 code requires the log functionality, so select it.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agotools: genboardscfg: move buildman path to first
Peng Fan [Tue, 24 Jul 2018 06:27:18 +0000 (14:27 +0800)]
tools: genboardscfg: move buildman path to first

To system which has kconfiglib installed, genboardscfg will
use system kconfiglib, we need it use U-Boot owned version,
so move the buildman path to first.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoKconfig: Sort bool, default, select and imply options
Michal Simek [Mon, 23 Jul 2018 13:55:15 +0000 (15:55 +0200)]
Kconfig: Sort bool, default, select and imply options

Another round of sorting Kconfig entries aplhabetically.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agodm: Change CMD_DM enabling
Michal Simek [Mon, 23 Jul 2018 13:55:14 +0000 (15:55 +0200)]
dm: Change CMD_DM enabling

CMD_DM is used for debug purpose and it shouldn't be enabled by default
via Kconfig. Unfortunately this is in the tree for quite a long time
that's why solution is to use imply DM for all targets which are
enabling DM.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agoKconfig: Sort bool, default, select and imply options
Michal Simek [Mon, 23 Jul 2018 13:55:13 +0000 (15:55 +0200)]
Kconfig: Sort bool, default, select and imply options

Fix Kconfig bool, default, select and imply options to be
alphabetically sorted.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agoKconfig: Replace spaces with tabs and missing newline
Michal Simek [Mon, 23 Jul 2018 13:55:12 +0000 (15:55 +0200)]
Kconfig: Replace spaces with tabs and missing newline

Trivial Kconfig cleanup. Use tabs instead of spaces and every Kconfig
entry should be separated by newline.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agocommon: Log should depends on DM not be selected by DM
Michal Simek [Mon, 23 Jul 2018 13:55:11 +0000 (15:55 +0200)]
common: Log should depends on DM not be selected by DM

Better use depends on instead of select.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agou-boot: remove driver lookup loop from env_save()
Nicholas Faustini [Mon, 23 Jul 2018 08:01:07 +0000 (10:01 +0200)]
u-boot: remove driver lookup loop from env_save()

When called with ENVOP_SAVE, env_get_location() only returns the
gd->env_load_location variable without actually checking for
the environment location and priority.

This behaviour causes env_save() to fall into an infinite loop when
the low-level drv->save() call fails.

The env_save() function should not loop through the environment
location list but it should save the environment into the location
stored in gd->env_load_location by the last env_load() call.

Signed-off-by: Nicholas Faustini <nicholas.faustini@azcomtech.com>
Reviewed-by: Simon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com>
6 years agoKconfig: Remove trailing whitespaces in prompt
Michal Simek [Mon, 23 Jul 2018 06:38:56 +0000 (08:38 +0200)]
Kconfig: Remove trailing whitespaces in prompt

Remove additional trailing whitespaces in prompt reported by kconfiglib:

warning: DM_PMIC_SANDBOX (defined at drivers/power/pmic/Kconfig:133) has
leading or trailing whitespace in its prompt
warning: <choice> (defined at dts/Kconfig:204) has leading or trailing
whitespace in its prompt

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Felix Brack <fb@ltec.ch>
6 years agoRevert "fdt_support: Use CONFIG_NR_DRAM_BANKS if defined"
Ramon Fried [Sun, 22 Jul 2018 05:12:14 +0000 (08:12 +0300)]
Revert "fdt_support: Use CONFIG_NR_DRAM_BANKS if defined"

This reverts commit 5e5745465c94605720295fab942eacbdd215db90.

The reverted commit didn't support the scenario where there are less
DRAM banks in U-Boot than in Linux.
Also, it didn't introduce any new functionality, only limitaion.
User could just increase MEMORY_BANKS_MAX if it's too small.
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoconfigs: omap3_logic: Remove USB Storage and enable CONFIG_BLK
Adam Ford [Sat, 21 Jul 2018 17:53:59 +0000 (12:53 -0500)]
configs: omap3_logic: Remove USB Storage and enable CONFIG_BLK

With the pending requirement for CONFIG_BLK, this patch removes
the USB_STORAGE option which assumes that DM_USB is enabled, but isn't
yet available for the omap2340 musb glue among other issues.  Once
the USB issues are resolved, a future patch can enable them again.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agodrivers: rtc: correctly set week day for mc146818
Heinrich Schuchardt [Sat, 21 Jul 2018 16:40:20 +0000 (18:40 +0200)]
drivers: rtc: correctly set week day for mc146818

The driver sets the weekday incorrectly when called by the
'date set' command.

Sunday is 1, Saturday is 7 unlike in U-Boot (see data sheet
https://www.nxp.com/docs/en/data-sheet/MC146818.pdf, table 3).

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
6 years agosandbox: compile both TPM stack versions and drivers
Miquel Raynal [Thu, 19 Jul 2018 20:35:12 +0000 (22:35 +0200)]
sandbox: compile both TPM stack versions and drivers

Now that TPMv1 and TPMv2 can be compiled at the same time, let's compile
them both with Sandbox as well as both drivers (and, it is already
implied in Kconfig: both commands).

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotpm: make TPM_V2 be compiled by default
Miquel Raynal [Thu, 19 Jul 2018 20:35:11 +0000 (22:35 +0200)]
tpm: make TPM_V2 be compiled by default

TPM_V1 was already compiled by default. Now that both can be compiled
at the same time, compiled them both by default.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotest/py: tpm2: switch from 'tpm' to 'tpm2' command
Miquel Raynal [Thu, 19 Jul 2018 20:35:10 +0000 (22:35 +0200)]
test/py: tpm2: switch from 'tpm' to 'tpm2' command

While using the 'tpm' command should work on most cases, this test suite
only works with TPMv2 and since the work to make both versions build at
the same time, we might end up having both 'tpm' (TPMv1) and 'tpm2'
(TPMv2) commands available at the same time. Ensure this test suite
always use the right one.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotpm: allow TPM v1 and v2 to be compiled at the same time
Miquel Raynal [Thu, 19 Jul 2018 20:35:09 +0000 (22:35 +0200)]
tpm: allow TPM v1 and v2 to be compiled at the same time

While there is probably no reason to do so in a real life situation, it
will allow to compile test both stacks with the same sandbox defconfig.

As we cannot define two 'tpm' commands at the same time, the command for
TPM v1 is still called 'tpm' and the one for TPM v2 'tpm2'. While this
is the exact command name that must be written into eg. test files, any
user already using the TPM v2 stack can continue to do so by just writing
'tpm' because as long as TPM v1 support is not compiled, U-Boot prompt
will search for the closest command named after 'tpm'.

The command set can also be changed at runtime (not supported yet, but
ready to be), but as one can compile only either one stack or the other,
there is still one spot in the code where conditionals are used: to
retrieve the v1 or v2 command set.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
[trini: In sandbox_tpm2_fill_buf() use NULL not \0 to ensure NULL
terminated string due to LLVM warning]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agotpm: remove stale symbol in Kconfig
Miquel Raynal [Thu, 19 Jul 2018 20:35:08 +0000 (22:35 +0200)]
tpm: remove stale symbol in Kconfig

The TPM_DRIVER_SELECTED symbol was used in one of the initial series
about TPMv2 but its use has been dropped, making these selects
useless, remove them.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotpm: compile Sandbox driver by default
Miquel Raynal [Thu, 19 Jul 2018 20:35:07 +0000 (22:35 +0200)]
tpm: compile Sandbox driver by default

When Sandbox and the TPM stack are both selected, compile Sandbox TPM
driver by default.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotpm: fix typo in kernel doc
Miquel Raynal [Thu, 19 Jul 2018 20:35:06 +0000 (22:35 +0200)]
tpm: fix typo in kernel doc

The udevice given to the open() function of course must be opened,
not closed.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoMerge git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Fri, 27 Jul 2018 17:09:30 +0000 (13:09 -0400)]
Merge git://git.denx.de/u-boot-fsl-qoriq

6 years agoopenrd: Once again shrink binary size
Tom Rini [Fri, 27 Jul 2018 11:56:59 +0000 (07:56 -0400)]
openrd: Once again shrink binary size

With some recent changes to relevant drivers here the openrd board
(openrd_client in this case) does not fit within its size constraint.
We can however drop the slightly extended baudrate table and then the
duplication of mtdparts/mtdids in the default environment.  These
defaults are set in the environment by the 'mtdparts' command and
otherwise referenced throughout the code.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Fri, 27 Jul 2018 03:12:47 +0000 (23:12 -0400)]
Merge git://git.denx.de/u-boot-dm

6 years agoMerge branch 'master' of git://git.denx.de/u-boot-tegra
Tom Rini [Fri, 27 Jul 2018 03:12:39 +0000 (23:12 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-tegra

6 years agofdt_support: make FDT_FIXUP_PARTITIONS depend on CMD_MTDPARTS
Masahiro Yamada [Fri, 20 Jul 2018 02:04:09 +0000 (11:04 +0900)]
fdt_support: make FDT_FIXUP_PARTITIONS depend on CMD_MTDPARTS

fdt_fixup_mtdparts() calls mtdparts_init() and device_find(),
which are defined in cmd/mtdparts.c

The combination of FDT_FIXUP_PARTITIONS=y and CMD_MTDPARTS=n
emits the following link error:

  common/fdt_support.c:903: undefined reference to `mtdparts_init'
  common/fdt_support.c:914: undefined reference to `device_find'

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agofdt: fix fdtdec_setup_memory_banksize()
Jens Wiklander [Fri, 13 Jul 2018 10:12:11 +0000 (12:12 +0200)]
fdt: fix fdtdec_setup_memory_banksize()

Prior to this patch is fdtdec_setup_memory_banksize() incorrectly
ignoring the "status" field. This patch fixes that by testing the status
with fdtdec_get_is_enabled() before using a memory node.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodoc: driver-model: Fix typo
Chris Packham [Fri, 6 Jul 2018 10:29:46 +0000 (22:29 +1200)]
doc: driver-model: Fix typo

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agopatman: Split alias entries on arbitrary whitespace
Adam Sampson [Wed, 27 Jun 2018 13:38:58 +0000 (14:38 +0100)]
patman: Split alias entries on arbitrary whitespace

Previously the first three words in a git-mailrc alias entry could only
be separated by spaces. git-send-email and Mutt both allow arbitrary
whitespace here.

Signed-off-by: Adam Sampson <ats@offog.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agogit-mailrc: Replace tabs with spaces in alias entries
Adam Sampson [Wed, 27 Jun 2018 13:38:57 +0000 (14:38 +0100)]
git-mailrc: Replace tabs with spaces in alias entries

patman's _ReadAliasFile only splits on spaces, not tabs, so the entries
for dinh and maxime weren't being recognised as valid. I'll fix patman
in a separate patch, but this makes all the entries consistent.

Signed-off-by: Adam Sampson <ats@offog.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotegra: beaver/apalis: Fix DTC warning
Tom Warren [Thu, 26 Jul 2018 20:14:15 +0000 (13:14 -0700)]
tegra: beaver/apalis: Fix DTC warning

Fix warning when compiling tegra30-beaver/-apalis.dts with latest DTC:

  "Warning (avoid_unnecessary_addr_size): /pci/pch@1f,0: unnecessary
   #address-cells/#size-cells without "ranges" or child "reg" property"

Signed-off-by: Tom Warren <twarren@nvidia.com>
6 years agoARM: tegra: avoid using secure carveout RAM
Stephen Warren [Fri, 22 Jun 2018 19:03:19 +0000 (13:03 -0600)]
ARM: tegra: avoid using secure carveout RAM

If a secure carveout exists, U-Boot cannot use that memory. Fix
carveout_size() to reflect this, and hence transitively fix
usable_ram_size_below_4g() and board_get_usable_ram_top(). This change
ensures that when U-Boot copies the secure monitor code to install it, the
copy target is not in-use for U-Boot code/data.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
6 years agoARM: PSCI: Enable the PSCI node
Stephen Warren [Fri, 22 Jun 2018 19:03:18 +0000 (13:03 -0600)]
ARM: PSCI: Enable the PSCI node

When fixing up the DT to report PSCI support, explicitly enable the node.
DTs may ship with the node disabled in case a PSCI implementation is not
present, and expect any PSCI implementation to enable the node if they are
actually present.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
6 years agoARM: PSCI: Support PSCI v0.2
Stephen Warren [Fri, 22 Jun 2018 19:03:17 +0000 (13:03 -0600)]
ARM: PSCI: Support PSCI v0.2

Enhance the PSCI DT editing code to allow setting a PSCI v0.2 compatible
value in the DT. The CONFIG_ option is added to the whitelist to match the
existing PSCI_1_0 option. While not adding new options to Kconfig isn't
ideal, I figure it's better to keep related options together.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
6 years agoARM: define MON_MODE
Stephen Warren [Fri, 22 Jun 2018 19:03:16 +0000 (13:03 -0600)]
ARM: define MON_MODE

Add a MON_MODE define for ARM's monitor mode. This can be used later by
a secure monitor to avoid hard-coding mode IDs.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
6 years agoARM: tegra: implement RAM repair
Bibek Basu [Fri, 22 Jun 2018 19:02:28 +0000 (13:02 -0600)]
ARM: tegra: implement RAM repair

RAM repair has a few pre-requisites:
1) PMIC power supply (rail) enabled.
2) PMC CRAIL power partition powered.
3) Fuse clock active (it's the default).
4) PLLP reshift branch enabled (it's the default, when PLLP is active).

RAM repair also only need run whenever specific partitions are powered
(main SoC and CCPLEX respectively); RAM repair does not need to be
triggered when any other partition changes state.

start_cpu() needs to be re-ordered slightly to match these requirements.
Note that C0NC and CE0 aren't required for RAM repair to
operate, but they also do no harm, so the entire of powerup_cpus() is
moved rather than splitting it up. The call to remove_cpu_resets() is
moved last to ensure that all other actions complete before releasing
reset; since the PMC power partitions are now enabled early, releasing
reset is what causes the CPUs to start executing code, and RAM repair must
complete before the CPU boots.

Note that this commit is the result of squashing a numbmer of commits
in NVIDIA's downstream L4T branch, hence the multiple signoffs below.

Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Signed-off-by: Sandipan Patra <spatra@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
6 years agoRevert "tegra: Introduce SRAM repair on tegra124"
Stephen Warren [Fri, 22 Jun 2018 19:02:27 +0000 (13:02 -0600)]
Revert "tegra: Introduce SRAM repair on tegra124"

This reverts commit 701b7b1d2cf657d435d2bd6caf43d0247d37220d. It will
be immediately replaced by a different implementation that is more
complete and runs are more targetted times.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
6 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Tom Rini [Thu, 26 Jul 2018 19:55:42 +0000 (15:55 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-net

6 years agotegra: Indicate that binman makes all three output files
Simon Glass [Sat, 21 Jul 2018 01:49:27 +0000 (19:49 -0600)]
tegra: Indicate that binman makes all three output files

Use GNU make pattern rules to indicate that a single run of binman
produces all three Tegra output files. The avoids make running binman
three times (perhaps in parallel) and those instances inteferring with
each other.

See http://patchwork.ozlabs.org/patch/944611/ for the bug report.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
6 years agoMAINTAINERS: Mark NAND as Orphaned
Tom Rini [Thu, 26 Jul 2018 16:02:03 +0000 (12:02 -0400)]
MAINTAINERS: Mark NAND as Orphaned

Scott is no longer maintaining the NAND subsystem, mark as orphaned for
now.

Acked-by: Scott Wood <oss@buserror.net>
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agonet: zynq_gem: convert to use livetree
Siva Durga Prasad Paladugu [Mon, 16 Jul 2018 12:55:45 +0000 (18:25 +0530)]
net: zynq_gem: convert to use livetree

This patch updates the zynq gem driver to support livetree.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Vipul Kumar <vipul.kumar@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agodrivers: net: zynq_gem: fix phy dt node setting
Grygorii Strashko [Thu, 5 Jul 2018 17:02:52 +0000 (12:02 -0500)]
drivers: net: zynq_gem: fix phy dt node setting

Now zynq_gem driver will overwrite UCLASS_ETH node when PHY is
connected and configured which is not correct.
Use struct phydev->node instead.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Tested-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
6 years agodrivers: net: cpsw: fix phy dt node setting
Grygorii Strashko [Thu, 5 Jul 2018 17:02:51 +0000 (12:02 -0500)]
drivers: net: cpsw: fix phy dt node setting

Now CPSW driver will overwrite UCLASS_ETH node when PHY is
connected and configured which is not correct.
Use struct phydev->node instead.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: phy: xilinx: switch to use phy_get_ofnode()
Grygorii Strashko [Thu, 5 Jul 2018 17:02:50 +0000 (12:02 -0500)]
net: phy: xilinx: switch to use phy_get_ofnode()

Use PHY API phy_get_ofnode() helper to get PHY DT node.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: phy: dp83867: switch to use phy_get_ofnode()
Grygorii Strashko [Thu, 5 Jul 2018 17:02:49 +0000 (12:02 -0500)]
net: phy: dp83867: switch to use phy_get_ofnode()

Use PHY API phy_get_ofnode() helper to get PHY DT node.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Tested-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
6 years agonet: phy: add ofnode node to struct phy_device
Grygorii Strashko [Thu, 5 Jul 2018 17:02:48 +0000 (12:02 -0500)]
net: phy: add ofnode node to struct phy_device

Now the UCLASS_ETH device "node" field is owerwritten by some network drivers in
case of Ethernet PHYs which are linked to UCLASS_ETH device using
"phy-handle" DT property and when Ethernet PHY driver needs to read some
additional information from DT. In such cases following happens (in
general):

- network drivers
priv->phydev = phy_connect(priv->bus, priv->phyaddr, dev,
   priv->interface);
<-- phydev is connected to dev which is UCLASS_ETH device

if (priv->phy_of_handle > 0)
dev_set_of_offset(priv->phydev->dev, priv->phy_of_handle);
<-- phydev->dev->node is overwritten by phy-handle DT node

- PHY driver in .config() callback
int node = dev_of_offset(dev);
<-- PHY driver uses overwritten dev->node
        const void *fdt = gd->fdt_blob;

 if (fdtdec_get_bool(fdt, node, "property"))
...

As result, UCLASS_ETH device can't be used any more for DT accessing.

This patch adds additional ofnode node field to struct phy_device which can
be set explicitly by network drivers and used by PHY drivers, so
overwriting can be avoided. Also add helper function phy_get_ofnode()
which will check and return phy_device->node or dev_ofnode(phydev->dev) for
backward compatibility with existing drivers.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: phy: Clean up includes of common.h
Joe Hershberger [Wed, 25 Jul 2018 17:59:22 +0000 (12:59 -0500)]
net: phy: Clean up includes of common.h

We want to be able to include some other system headers in phy.h but
that requires us to have included common.h in the top-level first.

Also, common.h includes config.h as the first thing it does, so don't
include it directly.

Series-to: u-boot
Series-cc: Grygorii Strashko <grygorii.strashko@ti.com>
Seried-cc: ti
Series-process-log: sort, uniq
Cover-letter:
Prepare for net: phy: prevent uclass_eth device "node" field overwriting
Prepare for [1] so that it doesn't break the build for a bunch of
boards. There are a number of reasons this series broke the build
but none of them depend on changes in the series, so fix up those
situations ahead of applying that series.

[1] https://patchwork.ozlabs.org/cover/940104/
END
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agophy: Break include cycle
Joe Hershberger [Tue, 17 Jul 2018 20:02:30 +0000 (15:02 -0500)]
phy: Break include cycle

Because some phy wants to export some functions [1], export.h was
including the whole phy subsystem which pulls in lots of stuff that
causes some ordering and redefinition issues. Split out the only part
that is actually needed in export.h and include it there and in phy.h.

[1] commit 95279315076c ("board/ls2085rdb: Export functions for
  standalone AQ FW load apps")

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agoarm: Prevent redefinition error in fsl-layerscape
Joe Hershberger [Mon, 16 Jul 2018 20:33:51 +0000 (15:33 -0500)]
arm: Prevent redefinition error in fsl-layerscape

The include/phy.h will start including dm.h, which pulls in
linux/compat.h after the attempted redefinition in
arch/arm/include/asm/armv8/mmu.h, so move this include to allow
redefinition.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: phy: dp83867: switch to use ofnode api
Grygorii Strashko [Thu, 28 Jun 2018 19:26:35 +0000 (14:26 -0500)]
net: phy: dp83867: switch to use ofnode api

Switch to use more generic ofnode API instead of FDT API.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Tested-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
6 years agonet: phy: dp83867: add workaround for incorrect RX_CTRL pin strap
Murali Karicheri [Thu, 28 Jun 2018 19:26:34 +0000 (14:26 -0500)]
net: phy: dp83867: add workaround for incorrect RX_CTRL pin strap

The data manual for DP83867IR/CR, SNLS484E[1], revised march 2017,
advises that strapping RX_DV/RX_CTRL pin in mode 1 and 2 is not
supported (see note below Table 5 (4-Level Strap Pins)).

It further advises that if a board has this pin strapped in mode 1 and
mode 2, then bit[7] of Configuration Register 4 (address 0x0031) must
be cleared to 0. This is to ensure proper operation of PHY.

Since it is not possible to detect in software if RX_DV/RX_CTRL pin is
incorrectly strapped, add a device-tree property to advertise this and
allow corrective action in software.
[1] http://www.ti.com/lit/ds/snls484e/snls484e.pdf

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Reviewed-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Tested-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
6 years agonet: mvgbe: convert to DM
Chris Packham [Mon, 9 Jul 2018 09:34:00 +0000 (21:34 +1200)]
net: mvgbe: convert to DM

Add driver model support to the mvgbe driver. As a temporary measure
both DM and non-DM uses are supported. Once all the users have been
converted the non-DM support can be dropped.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Tested-by: Michael Walle <michael@walle.cc>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: mvgbe: prepare for conversion to driver model
Chris Packham [Mon, 9 Jul 2018 09:33:59 +0000 (21:33 +1200)]
net: mvgbe: prepare for conversion to driver model

Extract some function bodies to helper functions that can be reused in
the DM/non-DM implementations.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agoinitialize net_mode.if_type
Andrew Thomas [Thu, 21 Jun 2018 23:21:01 +0000 (16:21 -0700)]
initialize net_mode.if_type

if_type is not correctly initialized

Failure to initialize if_type means that grub2/efinet sends
a bogus arp request. It therefore gets no response. On Raspberry Pi 3B+
this leads to a pause at:

lan78xx_eth Waiting for PHY auto negotiation to complete....... done
lan78xx_eth Waiting for PHY auto negotiation to complete....... done

Signed-off-by: Andrew Thomas <andrew.thomas@oracle.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Consolidate the parsing of bootfile
Joe Hershberger [Wed, 4 Jul 2018 00:36:43 +0000 (19:36 -0500)]
net: Consolidate the parsing of bootfile

The same basic parsing was implemented in tftp and nfs, so add a helper
function to do the work once.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Read bootfile from env on netboot_common()
Joe Hershberger [Wed, 4 Jul 2018 00:36:42 +0000 (19:36 -0500)]
net: Read bootfile from env on netboot_common()

Instead of depending on a env callback for bootfile, read it explicitly.

We do this because the bootfile can be specified on the command line and
if it is, we will overwrite the internal variable. If a netboot_common()
is called again with no bootfile parameter, we want to use the one in
the environment.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Make copy_filename() accept NULL src
Joe Hershberger [Wed, 4 Jul 2018 00:36:41 +0000 (19:36 -0500)]
net: Make copy_filename() accept NULL src

Rather than crashing, check the src ptr and set dst to empty string.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Re-check prerequisites when autoloading
Joe Hershberger [Wed, 4 Jul 2018 00:36:40 +0000 (19:36 -0500)]
net: Re-check prerequisites when autoloading

With net autoload, we check the prerequisites for the initial command,
but the greater prerequisites when autoloading are not checked.

If we would attempt to autoload, check those prerequisites too.

If we are not expecting a serverip from the server, then don't worry
about it not being set, but don't attempt to load if it isn't.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: When checking prerequisites, consider boot_file_name
Joe Hershberger [Wed, 4 Jul 2018 00:36:39 +0000 (19:36 -0500)]
net: When checking prerequisites, consider boot_file_name

For net_boot_common, we allow the serverip to be specified as part of
the boot file name. For net commands that require serverip, include that
source as a valid specification of serverip.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
6 years agonet: Always print basic info for nfs, just like tftp
Joe Hershberger [Wed, 4 Jul 2018 00:22:56 +0000 (19:22 -0500)]
net: Always print basic info for nfs, just like tftp

nfs was only printing basic info about the transfer in the case of a
DEBUG build. Print the same level of detail as tftp always.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Check subnet against the actual ip address in use for nfs
Joe Hershberger [Wed, 4 Jul 2018 00:22:55 +0000 (19:22 -0500)]
net: Check subnet against the actual ip address in use for nfs

The check for sending to the gateway was not using the correct variable
for comparison, so it was reporting that packets are sent to the gateway
when they were not.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Correct size of NFS buffers
Joe Hershberger [Wed, 4 Jul 2018 00:22:54 +0000 (19:22 -0500)]
net: Correct size of NFS buffers

Reported-by: Coverity (CID: 152888)
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agosandbox: eth-raw: Add a SIMPLE_BUS to enumerate host interfaces
Joe Hershberger [Mon, 2 Jul 2018 19:47:54 +0000 (14:47 -0500)]
sandbox: eth-raw: Add a SIMPLE_BUS to enumerate host interfaces

Ask the OS for each of its interfaces and for each one, bind a U-Boot
device and then probe it. This will allocate the priv data structure
that is then populated.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agosandbox: eth-raw: Make random MAC addresses available to eth-raw
Joe Hershberger [Mon, 2 Jul 2018 19:47:53 +0000 (14:47 -0500)]
sandbox: eth-raw: Make random MAC addresses available to eth-raw

We don't necessarily know how many MAC addresses we'll need, so implement
a ROM read so we always have something valid.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agosandbox: eth-raw: Allow interface to be specified by index
Joe Hershberger [Mon, 2 Jul 2018 19:47:52 +0000 (14:47 -0500)]
sandbox: eth-raw: Allow interface to be specified by index

With systemd stable interface names, eth0 will almost never exist.
Instead of using that name in the sandbox.dts, use an index.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agosandbox: eth-raw: Add a function to ask the host about localhost
Joe Hershberger [Mon, 2 Jul 2018 19:47:51 +0000 (14:47 -0500)]
sandbox: eth-raw: Add a function to ask the host about localhost

Instead of doing a simple string compare against "lo", look for the flag
that indicates a localhost interface.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agonet: sandbox-raw: Convert raw eth driver to livetree
Joe Hershberger [Mon, 2 Jul 2018 19:47:50 +0000 (14:47 -0500)]
net: sandbox-raw: Convert raw eth driver to livetree

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agonet: sandbox: Convert sandbox mock eth driver to livetree
Joe Hershberger [Mon, 2 Jul 2018 19:47:49 +0000 (14:47 -0500)]
net: sandbox: Convert sandbox mock eth driver to livetree

Use the dev_ functions to access DT properties.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agonet: Correct comment in Kconfig
Joe Hershberger [Mon, 2 Jul 2018 19:47:48 +0000 (14:47 -0500)]
net: Correct comment in Kconfig

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agosandbox: eth-raw: Make sure descriptors are always initialized
Joe Hershberger [Mon, 2 Jul 2018 19:47:47 +0000 (14:47 -0500)]
sandbox: eth-raw: Make sure descriptors are always initialized

If we let descriptors equal 0, we can end up closing STDIN. Make sure
they start out as -1.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agonet: Only call halt on a driver that has been init'ed
Joe Hershberger [Mon, 2 Jul 2018 19:47:46 +0000 (14:47 -0500)]
net: Only call halt on a driver that has been init'ed

With driver model, we were not checking if the state of the device was
marked as active before calling the halt function. Check that the device
is probed and also marked as active. This avoids the case where we were
calling halt on the first device in net_init() and the driver would
operate on bogus data structures causing problems. In this case, the
priv was all 0, so halt() would close STDIN.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agosandbox: Fix format of fake-host-hwaddr in test.dts
Joe Hershberger [Mon, 2 Jul 2018 19:47:45 +0000 (14:47 -0500)]
sandbox: Fix format of fake-host-hwaddr in test.dts

test.dts specified the fake MAC address as a u32 array. Instead it
should be a u8 array.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agosandbox: eth-raw: Correct valid socket test in send/recv
Joe Hershberger [Mon, 2 Jul 2018 19:47:44 +0000 (14:47 -0500)]
sandbox: eth-raw: Correct valid socket test in send/recv

In open, the socket is correctly checked to be -1 in the error case.
In send and recv, we checked for 0, but that is a valid socket number.

Correct this by checking for -1 as a bad socket everywhere.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agosandbox: Don't disable ctrlc() on sandbox if in raw mode
Joe Hershberger [Tue, 3 Jul 2018 01:06:49 +0000 (20:06 -0500)]
sandbox: Don't disable ctrlc() on sandbox if in raw mode

In raw mode, handle ctrl-c as normal. This allows normal ctrl-c behavior
such as aborting a command that is timing out without completely
terminating the sandbox executable.

In [1], Simon disabled this.  His reason for it was that it interferes
with piping test scripts. Piping should be done in cooked mode, so this
change should still not interfere.

[1] commit 8969ea3e9f2db04a6b3675 ("sandbox: Disable Ctrl-C")

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoconsole: Remember if ctrlc is disabled in console_tstc()
Joe Hershberger [Tue, 3 Jul 2018 01:06:48 +0000 (20:06 -0500)]
console: Remember if ctrlc is disabled in console_tstc()

We don't necessarily want to re-enable ctrl-c if it was already disabled
when calling tstc().

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodrivers/ddr/fsl: fix '__hwconfig without a buffer' messages
Jeremy Gebben [Fri, 20 Jul 2018 22:00:36 +0000 (16:00 -0600)]
drivers/ddr/fsl: fix '__hwconfig without a buffer' messages

Pass an empty buffer instead of NULL if the hwconfig environment
variable isn't set.

Signed-off-by: Jeremy Gebben <jgebben@sweptlaser.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: York Sun <york.sun@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoarmv8: ls1046ardb: Add falcon mode for for QSPI boot
York Sun [Tue, 26 Jun 2018 21:48:29 +0000 (14:48 -0700)]
armv8: ls1046ardb: Add falcon mode for for QSPI boot

A new defconfig is introduced to support SPL boot from QSPI NOR
flash. This is to support falcon mode for faster booting into
Linux.

Signed-off-by: York Sun <york.sun@nxp.com>
6 years agoarmv8: layerscape: spl: Initialize QSPI AHB for QSPI boot
York Sun [Tue, 26 Jun 2018 21:48:28 +0000 (14:48 -0700)]
armv8: layerscape: spl: Initialize QSPI AHB for QSPI boot

To get full access of QSPI space, initialize AHB interface.

Signed-off-by: York Sun <york.sun@nxp.com>
6 years agospl: Add option SPL_PAYLOAD
York Sun [Thu, 14 Jun 2018 21:38:48 +0000 (14:38 -0700)]
spl: Add option SPL_PAYLOAD

Some legacy boards use RAW image for SPL boot. Add Kconfig option
SPL_PAYLOAD to set alternative image.

Signed-off-by: York Sun <york.sun@nxp.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agopowerpc: mpc85xx: Drop u-boot-with-spl.bin on selected boards
York Sun [Thu, 14 Jun 2018 21:25:52 +0000 (14:25 -0700)]
powerpc: mpc85xx: Drop u-boot-with-spl.bin on selected boards

For SoCs with PBL, u-boot-with-spl-pbl.bin is the final image for
SPL boot. Drop unused u-boot-with-spl.bin.

Signed-off-by: York Sun <york.sun@nxp.com>
CC: Ashish Kumar <ashish.kumar@nxp.com>
CC: Ruchika Gupta <ruchika.gupta@nxp.com>
CC: Priyanka Jain <priyanka.jain@nxp.com>
CC: Shengzhou Liu <Shengzhou.Liu@nxp.com>
6 years agoarmv8: layerscape: Drop u-boot-with-spl.bin for selected boards
York Sun [Thu, 14 Jun 2018 21:25:51 +0000 (14:25 -0700)]
armv8: layerscape: Drop u-boot-with-spl.bin for selected boards

For SPL boot with PBL, u-boot-with-spl-pbl.bin is the final image.
Drop unused u-boot-with-spl.bin.

Signed-off-by: York Sun <york.sun@nxp.com>
CC: Mingkai Hu <mingkai.hu@nxp.com>
CC: Ruchika Gupta <ruchika.gupta@nxp.com>
CC: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
CC: Udit Agarwal <udit.agarwal@nxp.com>
CC: Sumit Garg <sumit.garg@nxp.com>
CC: Priyanka Jain <priyanka.jain@nxp.com>