oweals/u-boot.git
4 years agoPrepare v2020.07-rc5 v2020.07-rc5
Tom Rini [Tue, 23 Jun 2020 00:49:04 +0000 (20:49 -0400)]
Prepare v2020.07-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sat, 20 Jun 2020 22:51:50 +0000 (18:51 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-sh

4 years agoMerge tag 'efi-2020-07-rc5-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 19 Jun 2020 18:22:23 +0000 (14:22 -0400)]
Merge tag 'efi-2020-07-rc5-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-07-rc5 (2)

Fix memory reservations: do not use random bytes from the stack.

4 years agoMerge tag 'u-boot-stm32-20200619' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Fri, 19 Jun 2020 16:41:24 +0000 (12:41 -0400)]
Merge tag 'u-boot-stm32-20200619' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm

- fix SD card cart detect on DHCOM and ST boards

4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-tegra
Tom Rini [Fri, 19 Jun 2020 16:41:05 +0000 (12:41 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-tegra

4 years agoARM: dts: stm32: Reinstate card detect behavior on ST boards
Patrick Delaunay [Fri, 19 Jun 2020 09:19:45 +0000 (11:19 +0200)]
ARM: dts: stm32: Reinstate card detect behavior on ST boards

The cd-gpios with (GPIO_ACTIVE_LOW | GPIO_PULL_UP) gpio is thus far
unsupported, reinstate the old cd-gpios behavior until this handling
is fully implemented. This avoid potential issue for SDCard boot:
the card detect fails with floating gpio.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoARM: dts: stm32: Reinstate card detect behavior on DHSOM
Marek Vasut [Thu, 18 Jun 2020 18:35:17 +0000 (20:35 +0200)]
ARM: dts: stm32: Reinstate card detect behavior on DHSOM

The cd-gpios with (GPIO_ACTIVE_LOW | GPIO_PULL_UP) gpio is thus far
unsupported, reinstate the old cd-gpios behavior until this handling
is fully implemented. This permits the DHSOM to boot from SD again,
without this patch the card detect fails.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agocmd: bootefi: Honor the address & size cells properties correctly
Atish Patra [Fri, 19 Jun 2020 01:51:50 +0000 (18:51 -0700)]
cmd: bootefi: Honor the address & size cells properties correctly

fdtdec_get_addr_size reads the uses a fixed value for address & size
cell properties which may not be correct always.

Use the auto variant of the function which automatically reads
 #address-cells & #size-cells from parent and uses to read the "reg"
property.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
On 32 bit systems fdt_addr_t may be 4 bytes long but size is defined as
u64. Avoid filling the upper 4 bytes of the sizep parameter of
fdtdec_get_addr_size_auto_parent() with random bytes from the stack by
defining a separate variable fdt_size.

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agot210: Nano: Add NVME support
Tom Warren [Mon, 11 May 2020 23:38:58 +0000 (16:38 -0700)]
t210: Nano: Add NVME support

This allows Nano to use the key M.2 on the CVB to connect and use a M.2
NVMe SSD stick. Works on my Nano B00, WD SN750 NVMe SSD shows up
w/'nvme' commands. Will add booting from NVMe via distro cmds in a future
patch.

Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoMerge tag 'fixes-for-v2020.07-rc4' of https://gitlab.denx.de/u-boot/custodians/u...
Tom Rini [Thu, 18 Jun 2020 22:00:05 +0000 (18:00 -0400)]
Merge tag 'fixes-for-v2020.07-rc4' of https://gitlab.denx.de/u-boot/custodians/u-boot-video

- fix stdout in default environment for apalis_imx6, colibri_imx6
  and cm_fx6 boards

4 years agocolibri_t20: change maintainer
Igor Opaniuk [Mon, 13 Apr 2020 15:11:42 +0000 (18:11 +0300)]
colibri_t20: change maintainer

Take over maintainership for Colibri T20 module.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Acked-by: Lucas Stach <dev@lynxeye.de>
4 years agoARM: tegra: Enable PSCI support for Tegra210 and Tegra186
Jon Hunter [Thu, 18 Jun 2020 11:54:39 +0000 (12:54 +0100)]
ARM: tegra: Enable PSCI support for Tegra210 and Tegra186

The PSCI nodes are currently not populated for the Tegra210 and Tegra186
devices. This prevents the PSCI driver from being able to identify the
PSCI method used by these devices and causes the probe of the PSCI
driver to fail.

Since commit 81ea00838c68 ("efi_loader: PSCI reset and shutdown") was
added, which moves the PSCI EFI system reset handler into the PSCI
driver, this has prevented the EFI system reset from working for
Tegra210 and Tegra186. Therefore, populating these nodes is necessary
to fix the EFI system reset for Tegra210 and Tegra186.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
4 years agofirmware: PSCI: Fix PSCI support for OF live trees
Jon Hunter [Thu, 18 Jun 2020 11:54:38 +0000 (12:54 +0100)]
firmware: PSCI: Fix PSCI support for OF live trees

When CONFIG_OF_LIVE is enabled, dev_of_offset() cannot be used and
if used returns an invalid offset. This causes the call to
fdt_stringlist_get() in the psci_probe() to fail to read the 'method'
property from the PSCI node for the device and hence prevents PSCI
from working. Fix this by using the ofnode_read_string() API instead
of the fdt_stringlist_get() because this will handle reading the
property both when CONFIG_OF_LIVE is enabled or disabled.

Due to the above problem and since commit 81ea00838c68 ("efi_loader:
PSCI reset and shutdown") was added, the EFI system reset has been
broken for Tegra210 and Tegra196 platforms. This also fixes the EFI
system reset for these Tegra platforms.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
4 years agoAzure/GitLab: Move to latest Docker image
Tom Rini [Thu, 18 Jun 2020 17:51:39 +0000 (13:51 -0400)]
Azure/GitLab: Move to latest Docker image

- Add guestfstools, efitools
- Latest Ubuntu/bionic snapshot

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoARM: rmobile: Increase PHY auto-negotiation timeout to 20s
Marek Vasut [Sun, 14 Jun 2020 12:41:07 +0000 (14:41 +0200)]
ARM: rmobile: Increase PHY auto-negotiation timeout to 20s

The ethernet PHY on all known Gen3 boards takes a while to come out
of reset, increase the auto-negotiation timeout to prevent it from
timing out in case the ethernet is used right after the board was
reset.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 years agocolibri_imx6: fix video stdout in default environment
Anatolij Gustschin [Tue, 26 May 2020 08:50:17 +0000 (10:50 +0200)]
colibri_imx6: fix video stdout in default environment

After migration to DM 'vga' name is not longer supported,
change it to 'vidconsole' in the default environment.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agoapalis_imx6: fix video stdout in default environment
Anatolij Gustschin [Tue, 26 May 2020 08:43:44 +0000 (10:43 +0200)]
apalis_imx6: fix video stdout in default environment

After migration to DM 'vga' name is not longer supported,
change it to 'vidconsole' in the default environment.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocm_fx6: fix video stdout in default environment
Anatolij Gustschin [Tue, 26 May 2020 08:52:00 +0000 (10:52 +0200)]
cm_fx6: fix video stdout in default environment

After migration to DM 'vga' name is not longer supported,
change it to 'vidconsole' in the default environment.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Nikita Kiryanov <nikita@compulab.co.il>
4 years agoMerge tag 'u-boot-amlogic-20200618' of https://gitlab.denx.de/u-boot/custodians/u...
Tom Rini [Thu, 18 Jun 2020 13:46:55 +0000 (09:46 -0400)]
Merge tag 'u-boot-amlogic-20200618' of https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic

- move amlogic board documentation into doc/board in RsT format

4 years agoboard: amlogic: add board doc files to MAINTAINERS
Neil Armstrong [Thu, 11 Jun 2020 08:57:39 +0000 (10:57 +0200)]
board: amlogic: add board doc files to MAINTAINERS

Add the recently added reStructuredText board documentation in the
appropriate MAINTAINERS files.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoboard: amlogic: move boards doc into doc/board/amlogic
Neil Armstrong [Thu, 11 Jun 2020 08:53:49 +0000 (10:53 +0200)]
board: amlogic: move boards doc into doc/board/amlogic

Move the natural text Amlogic board README files to doc/board/amlogic
into reStructuredText and :
- add reStructuredText markup for bash code
- fix secondary titles markup
- move board support into global support matrix

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoMerge tag 'u-boot-stm32-20200616' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Tue, 16 Jun 2020 13:18:56 +0000 (09:18 -0400)]
Merge tag 'u-boot-stm32-20200616' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm

- fix boot with OP-TEE for stm32mp15 boards

4 years agodts: ARM: stm32mp15: add OP-TEE node in u-boot DTSI
Etienne Carriere [Fri, 5 Jun 2020 07:24:30 +0000 (09:24 +0200)]
dts: ARM: stm32mp15: add OP-TEE node in u-boot DTSI

Add OP-TEE firmware node in stm32mp15 U-Boot DTSI. This node is
needed since commit [1] that changed U-Boot/stm32mp15 to detect
OP-TEE availability by probing the resource instead of relying on
U-Boot configuration. The software sequence implemented by [1] is
fine but U-Boot DTS/DTSI files were not updated accordingly since,
hence OP-TEE presence is never detected by U-Boot, preventing Linux
kernel from using OP-TEE resources.

For consistency and to synchronize stm32mp15 DTSI files (excluding
U-Boot specific DTSI files) with the Linux kernel ones, this change
also moves the OP-TEE reserved memory nodes from board generic DTSI
files to U-Boot specific board DTSI files.

Link: [1] commit 43df0a159df6 ("stm32mp1: dynamically detect op-tee presence")
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoboard: stm32mp1: fix handling of DT OP-TEE reserved memory nodes
Etienne Carriere [Fri, 5 Jun 2020 07:24:29 +0000 (09:24 +0200)]
board: stm32mp1: fix handling of DT OP-TEE reserved memory nodes

Fix the sequence in stm32mp1 fdt.c that disables OP-TEE resources
defined in FDT when U-boot detects OP-TEE firmware is not present.

Before this change, helper function stm32_fdt_disable_optee()
set property status to "disabled" for the OP-TEE reserved memory
nodes but this has no impact since Linux kernel does not consider
the status property for reserved-memory subnodes. This change
make U-Boot to attempt to delete the node instead.

Fixes: 4a1b975dac02 ("board: stm32mp1: reserve memory for OP-TEE in device tree")
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoMerge tag 'efi-2020-07-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Mon, 15 Jun 2020 20:44:58 +0000 (16:44 -0400)]
Merge tag 'efi-2020-07-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-07-rc5

Use correct printf code in efi_image_parse().
Add random number generation to HTML documentation.

4 years agoregulator: fix: enable gpio when requested
Mark Kettenis [Mon, 27 Apr 2020 09:09:47 +0000 (11:09 +0200)]
regulator: fix: enable gpio when requested

The fix in commit b7adcdd073c0 has the side-effect that the regulator
will be disabled when requesting the relevant gpio in
regulator_common_ofdata_to_platdata() and enabled in
regulator_pre_probe() when the regulator was already enabled.
This leads to a short interruption in the 3.3V power to the PCIe
slot on the firefly-rk3399 which makes an ADATA SX8000NP NVMe SSD
unhappy.

Fix this by setting the GPIOD_IS_OUT_ACTIVE flag again when the
'regulator-boot-on' property is set, but check for this property
explicitly instead of relying on the "boot_on" member of
the uclass platdata.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Tested-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoMerge branch '2020-06-15-misc-bugfixes'
Tom Rini [Mon, 15 Jun 2020 15:24:42 +0000 (11:24 -0400)]
Merge branch '2020-06-15-misc-bugfixes'

- Assorted bug fixes

4 years agoenv: Kconfig: cosmetics: update comment for SYS_RELOC_GD_ENV_ADDR
Patrick Delaunay [Wed, 10 Jun 2020 17:28:42 +0000 (19:28 +0200)]
env: Kconfig: cosmetics: update comment for SYS_RELOC_GD_ENV_ADDR

Update the comment for SYS_RELOC_GD_ENV_ADDR as gd->env_addr is updated
in board_r.c::initr_reloc_global_data() under the compilation flags
CONFIG_SYS_RELOC_GD_ENV_ADDR

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agoconfig: qemu: increase SYS_MALLOC_F_LEN
Heinrich Schuchardt [Sun, 7 Jun 2020 09:54:00 +0000 (11:54 +0200)]
config: qemu: increase SYS_MALLOC_F_LEN

Several configutation options require additional memory before relocation:

* CONSOLE_RECORD
* LOG
* RSA

The current default of 0x400 is too small to encompass them all. Increase
the value of SYS_MALLOC_F_LEN to 0x2000 for ARCH_QEMU.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoRevert "lib: Improve _parse_integer_fixup_radix base 16 detection"
Sean Anderson [Sun, 7 Jun 2020 05:36:45 +0000 (01:36 -0400)]
Revert "lib: Improve _parse_integer_fixup_radix base 16 detection"

This reverts commit 0486497e2b5f4d36fa968a1a60fea358cbf70b65.

The strtoul has well-defined semantics. It is defined by the C standard and
POSIX. To quote the relevant section of the man pages,

> If base is zero or 16, the string may then include a "0x" prefix, and the
> number will be read in base 16; otherwise, a zero base is taken as 10
> (decimal) unless the next character is '0', in which case it is taken as
> 8 (octal).

Keeping these semantics is important for several reasons. First, it is very
surprising for standard library functions to behave differently than usual.
Every other implementation of strtoul has different semantics than the
implementation in U-Boot at the moment. Second, it can result in very
surprising results from small changes. For example, changing the string
"1f" to "20" causes the parsed value to *decrease*. Forcing use of the "0x"
prefix to specify hexidecimal numbers is a feature, not a bug. Lastly, this
is slightly less performant, since the entire number is parsed twice.

This fixes the str_simple_strtoul test failing with

test/str_ut.c:29, run_strtoul(): expect_val == val: Expected 0x44b (1099), got 0x1099ab (1087915)
test/str_ut.c:46, str_simple_strtoul(): 0 == run_strtoul(uts, str2, 0, 1099, 4): Expected 0x0 (0), got 0x1 (1)

Signed-off-by: Sean Anderson <seanga2@gmail.com>
CC: Michal Simek <michal.simek@xilinx.com>
CC: Shiril Tichkule <shirilt@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agotrivial: Fix booot occurences
Michal Simek [Fri, 5 Jun 2020 09:45:12 +0000 (11:45 +0200)]
trivial: Fix booot occurences

s/booot/boot/g

The first ase is booot instead of boot and second u-booot instead of
u-boot.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agooptee: fix copy of optee reserved-memory node
Etienne Carriere [Fri, 5 Jun 2020 07:22:11 +0000 (09:22 +0200)]
optee: fix copy of optee reserved-memory node

Fix the loop that parses FDT for a reserved memory node named "optee".

Before this change, if at least one subnode was found in the
reserved-memory node, the function endlessly looped since instruction
continue returned back in the loop without updating variable subnode.
This change fixes the issue by using a for loop.

Fixes: 6ccb05eae01b ("image: fdt: copy possible optee nodes to a loaded devicetree")
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agoMerge tag 'mmc-2020-6-15' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc
Tom Rini [Mon, 15 Jun 2020 14:20:35 +0000 (10:20 -0400)]
Merge tag 'mmc-2020-6-15' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc

- fsl_esdhc sdr104 and hs200 fix and error path fix
- fsl_esdhc workaround 3.3v io issue
- ca_dw_mmc cleanup
- presidio-asic emmc DT update.

4 years agommc: fsl_esdhc: Gracefully fail on unsupported voltage switch
Marek Vasut [Fri, 22 May 2020 16:28:33 +0000 (18:28 +0200)]
mmc: fsl_esdhc: Gracefully fail on unsupported voltage switch

Unsupported voltage on voltage switch is not an error, do not
print error message in such a case. This happens e.g. if the
eMMC is already in 1V8 mode or when testing 1V2 mode operation
on systems which only do 3V3/1V8 switching.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agommc: fsl_esdhc: Fix SDR104 and HS200 support
Marek Vasut [Fri, 22 May 2020 16:19:08 +0000 (18:19 +0200)]
mmc: fsl_esdhc: Fix SDR104 and HS200 support

The 3V3/1V8 switching could never have worked on any of the iMXes
ever since 51313b49f2 ("mmc: fsl_esdhc: support SDR104 and HS200"),
because that commit uses priv->vqmmc_dev when switching voltages on
mode switch, while local vqmmc_dev in probe to store the regulator
pointer. Those are two different variables with the same name. So
the priv->vqmmc_dev was always NULL and thus voltage switch between
modes never really suceeded.

Fix this by assigning priv->vqmmc_dev with value of the vqmmc_dev
in probe.

Fixes: 51313b49f2 ("mmc: fsl_esdhc: support SDR104 and HS200")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoboard: presidio-asic: update eMMC DT information
Alex Nemirovsky [Fri, 22 May 2020 00:24:23 +0000 (17:24 -0700)]
board: presidio-asic: update eMMC DT information

Change DT compatibility name to match change in driver's name.
Remove unused io_ds and fifo_mode fields from DT.

Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com>
CC: Peng Fan <peng.fan@nxp.com>
CC: Jaehoon Chung <jh80.chung@samsung.com>
CC: Tom Rini <trini@konsulko.com>
4 years agommc: ca_dw_mmc: Misc cleanup of driver
Arthur Li [Fri, 22 May 2020 00:24:22 +0000 (17:24 -0700)]
mmc: ca_dw_mmc: Misc cleanup of driver

- Rename DT compatible name
- Remove uneccessary if-statement to support 8-bit buswidth
- Remove redundant error msg
- Use symbolic constants in switch statement

Signed-off-by: Arthur Li <arthur.li@cortina-access.com>
Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com>
CC: Peng Fan <peng.fan@nxp.com>
CC: Jaehoon Chung <jh80.chung@samsung.com>
CC: Tom Rini <trini@konsulko.com>
4 years agommc: fsl_esdhc: workaround for hardware 3.3v IO reliability issue
Yangbo Lu [Tue, 19 May 2020 03:06:44 +0000 (11:06 +0800)]
mmc: fsl_esdhc: workaround for hardware 3.3v IO reliability issue

When eSDHC operates at 3.3v, damage can accumulate in an internal
level shifter at a higher than expected rate. The faster the interface
runs, the more damage accumulates. This issue now is found on LX2160A
eSDHC1 for only SD card.

The hardware workaround is recommended to use an on-board level shifter
that is 1.8v on SoC side and 3.3v on SD card side.

For boards without hardware workaround, this option could be enabled,
ensuring 1.8v IO voltage and disabling eSDHC if no card.
This option assumes no hotplug, and u-boot has to make all the way to
to linux to use 1.8v UHS-I speed mode if has card.
If you do not want the workaround for better user experience, of course
you can choose to not select it running eSDHC in unsafe mode.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
4 years agommc: fsl_esdhc: read register once for card inserted status
Yangbo Lu [Tue, 19 May 2020 03:06:43 +0000 (11:06 +0800)]
mmc: fsl_esdhc: read register once for card inserted status

No need to poll register for card inserted status.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
4 years agoefi_loader: printf code in efi_image_parse()
Heinrich Schuchardt [Sat, 6 Jun 2020 11:17:48 +0000 (13:17 +0200)]
efi_loader: printf code in efi_image_parse()

For size_t we have to use %zu for printing not %lu.

Fixes: 4540dabdcaca ("efi_loader: image_loader: support image
authentication")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agodoc: random number generation
Heinrich Schuchardt [Sat, 13 Jun 2020 10:29:52 +0000 (12:29 +0200)]
doc: random number generation

Add random number generation APIs to the HTML documentation.
Fix style issues.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-usb
Tom Rini [Sun, 14 Jun 2020 16:01:14 +0000 (12:01 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usb

- eth/r8152: update the firmware

4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-socfpga
Tom Rini [Sun, 14 Jun 2020 16:00:50 +0000 (12:00 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-socfpga

- cyclone5 bugfix

4 years agoarm: dts: socfpga: cyclone5: Update i2c-scl-falling-time-ns
Ley Foon Tan [Wed, 10 Jun 2020 05:24:16 +0000 (13:24 +0800)]
arm: dts: socfpga: cyclone5: Update i2c-scl-falling-time-ns

Commit e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing calculation")
change the hcnt and lcnt timing calculation. New timing calculation is
based on calculation from Designware i2c databook.

After this new timing calculation, hcnt will have negative value
with i2c-scl-falling-time-ns 5000 that set in socfpga_cyclone5_socdk.dts.

This patch overwrite i2c-scl-falling-time-ns to 300ns (default SCL fall
time used in Designware i2c driver) for Uboot.

Before the fix:
=> i2c dev 0
Setting bus to 0
Failure changing bus number (-22)

After the fix:
=> i2c dev 0
Setting bus to 0
=> i2c probe
Valid chip addresses: 17 51 55 5B 5C 5E 66 68 70

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoeth/r8152: update the firmware
Hayes Wang [Fri, 5 Jun 2020 07:23:40 +0000 (15:23 +0800)]
eth/r8152: update the firmware

Update the firmware to improve compatibility for none-intel USB
host controller. The more information is as following.

The device has auto-installed driver feature - via switch CD-ROM/NIC
mode. But in some corner cases, it would switch to CD-ROM unexpected.
This issue results in Lan Function Disabled.

While USB PHY transits to P3 from P0 due to the absent of transmitter
control, it would issues undefined signal to its link partner.
Some Down Stream Port misidentify the undefined signal as wakeup
signal. So the link state will not keep in suspend even the system
is idle.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-spi
Tom Rini [Fri, 12 Jun 2020 21:20:35 +0000 (17:20 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-spi

- Drop davinci, mxs spi nondm code
- Zap nondm soft_spi
- Switch few board to DM_SPI
- Drop omap3_pandora, pcm051 boards

4 years agoam335x: sl50: Enable DM_SPI
Jagan Teki [Wed, 27 May 2020 12:56:16 +0000 (18:26 +0530)]
am335x: sl50: Enable DM_SPI

Enable DM_SPI for am355x sl50 board.

Build is fine, but not tested.

Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
4 years agoconfigs: igep00x0: Enable DM_SPI
Jagan Teki [Wed, 27 May 2020 12:56:15 +0000 (18:26 +0530)]
configs: igep00x0: Enable DM_SPI

Enable DM_SPI for igep00x0 board.

Build is fine, but not tested.

Cc: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
4 years agoarm: Remove pcm051 board
Jagan Teki [Mon, 1 Jun 2020 13:19:45 +0000 (18:49 +0530)]
arm: Remove pcm051 board

OF_CONTROL, DM_SPI and other driver model migration deadlines
are expired for this board.

Remove it.

Acked-by: Lars Poeschel <poeschel@lemonage.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoarm: Remove omap3_pandora_defconfig board
Jagan Teki [Mon, 1 Jun 2020 13:17:52 +0000 (18:47 +0530)]
arm: Remove omap3_pandora_defconfig board

OF_CONTROL, DM_SPI and other driver model migration deadlines
are expired for this board.

Remove it.

Acked-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: davinci: Drop non-dm code
Jagan Teki [Tue, 26 May 2020 08:04:26 +0000 (13:34 +0530)]
spi: davinci: Drop non-dm code

Now all boards which are using davinci SPI driver
have moved to SPL_DM so drop the unneeded non-dm code.

Cc: Adam Ford <aford173@gmail.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
4 years agoks2_evm: Switch to DM_SPL, SPL_OF_CONTROL
Jagan Teki [Tue, 26 May 2020 08:04:25 +0000 (13:34 +0530)]
ks2_evm: Switch to DM_SPL, SPL_OF_CONTROL

This would make SPL build to DM_SPL, SPL_OF_CONTROL.

Build fine with but not tested.

Cc: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: atmel: Drop atmel_spi.h
Jagan Teki [Wed, 27 May 2020 17:33:33 +0000 (23:03 +0530)]
spi: atmel: Drop atmel_spi.h

atmel_spi.h has register offsets, and atmel_spi_slave
structure, move it into .c file for better readability
and drop atmel_spi.h

Cc: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: atmel: Remove nondm code
Jagan Teki [Wed, 27 May 2020 17:29:12 +0000 (22:59 +0530)]
spi: atmel: Remove nondm code

atmel spi driver now accessible only when DM_SPI enabled.

So, remove nondm code.

Cc: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: atmel: Drop CONFIG_SYS_SPI_WRITE_TOUT
Jagan Teki [Wed, 27 May 2020 17:20:47 +0000 (22:50 +0530)]
spi: atmel: Drop CONFIG_SYS_SPI_WRITE_TOUT

Drop CONFIG_SYS_SPI_WRITE_TOUT there is no code usage.

Cc: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: fsl_dspi: Drop nondm code
Jagan Teki [Mon, 25 May 2020 18:10:11 +0000 (23:40 +0530)]
spi: fsl_dspi: Drop nondm code

Drop the nondm code from fsl_dspi.c since there
is no board or any other code using for it.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: Zap SOFT_SPI (non-dm)
Jagan Teki [Tue, 26 May 2020 03:04:37 +0000 (08:34 +0530)]
spi: Zap SOFT_SPI (non-dm)

- Deadline for DM migration already passed by months.
- Sent couple of zap patches and
- No response on dm conversation
hence removed the driver.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agospi: mxs: Code cleanup
Jagan Teki [Mon, 25 May 2020 18:01:59 +0000 (23:31 +0530)]
spi: mxs: Code cleanup

Order the macros, private structures and simple functions
in a proper way to have more code readability.

No functionality changed.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: mxs: Drop nondm code
Jagan Teki [Mon, 25 May 2020 17:54:23 +0000 (23:24 +0530)]
spi: mxs: Drop nondm code

Deadline for DM migration already passed by months
and no response on full dm conversation hence removed
the nondm code.

Note: Look like there is no user for nondm code
for this driver.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoMerge tag 'u-boot-imx-20200609' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Tom Rini [Tue, 9 Jun 2020 13:17:24 +0000 (09:17 -0400)]
Merge tag 'u-boot-imx-20200609' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

Fixes for 2020.07
-----------------

- mx53: mx53menlo Convert to DM_ETH, fix fail boot
- imx8mp_evk: fix boot issue
- MX6, display5: fix environment
- drop warnings (watchdog) for i.MX8mm i.mx8mp
- enable bootaux for i.MX8M

Travis: https://travis-ci.org/github/sbabic/u-boot-imx/builds/695929999

4 years agoRevert "imx: rom api: fix image offset computation"
Stefano Babic [Tue, 9 Jun 2020 09:19:55 +0000 (11:19 +0200)]
Revert "imx: rom api: fix image offset computation"

This reverts commit 1f63ee656698724bcdc4e711b4ccd267f6bf64ab.

As reported by Ye Li on ML:

1. Removing the image_offset will break secondary (redundant) boot support for sd and emmc.
2. When booting from emmc boot partition, the image_offset is 0. But the flash.bin
generated by mkimage with imximage-8mp-lpddr4.cfg is for sd. It expects to be burn at 32KB offset.
The fit offset 0x60000 has already included the 32KB offset.  So when you burn this flash.bin
to emmc boot partition at offset 0, the fit offset should subtract the 32KB (0x60000 - 0x8000).

Signed-off-by: Stefano Babic <sbabic@denx.de>
4 years agoPrepare v2020.07-rc4 v2020.07-rc4
Tom Rini [Tue, 9 Jun 2020 00:30:26 +0000 (20:30 -0400)]
Prepare v2020.07-rc4

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agocmd: Correct the 'md.q' command
Simon Glass [Mon, 8 Jun 2020 02:33:00 +0000 (20:33 -0600)]
cmd: Correct the 'md.q' command

This displays incorrect data at present due to a missing header file
in display_options. Fix it.

Fixes: 09140113108 ("command: Remove the cmd_tbl_t typedef")

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xx
Tom Rini [Mon, 8 Jun 2020 12:51:59 +0000 (08:51 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xx

- DM_ETH support for P2041RDB, T1024RDB, P5040DS, P3041DS, P4080DS, bug
  fixes
- Add TBI PHY access through MII
- DDR: Rework errata workaround for A008109A008378, 009942

4 years agoMerge tag 'u-boot-rockchip-20200607' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 8 Jun 2020 12:51:30 +0000 (08:51 -0400)]
Merge tag 'u-boot-rockchip-20200607' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- revive rk3399 puma board to adapt mainline dts;
- Fix rk3399-evb stdout path;
- Enable PCIe for rk3399: Rockpro64, firefly, pinebookpro;
- Add rk3328 Rock-pi-e board;
- Enable SPI boot for rockpro64 and roc-pc-rk3399;

4 years agoARM: dts: imx: m53menlo: Convert to DM_ETH
Marek Vasut [Sat, 30 May 2020 20:44:46 +0000 (22:44 +0200)]
ARM: dts: imx: m53menlo: Convert to DM_ETH

Convert the board to DM_ETH instead of legacy networking. This requires
a minor addition to the DT to satisfy the requirement for specifying a
PHY node. No functional change from board user perspective.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
4 years agoARM: imx: m53menlo: Do not fail boot on invalid splash screen
Marek Vasut [Sat, 30 May 2020 20:44:45 +0000 (22:44 +0200)]
ARM: imx: m53menlo: Do not fail boot on invalid splash screen

None of these splash screen loading errors are so critical as to
justify complete failure to boot, so just print error message as
needed and return 0, the boot can very likely continue without
the splash.

Fix a couple of missing free(dst) instances as well.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
4 years agoARM: imx: ddr: Add missing PHY reset
Marek Vasut [Sat, 30 May 2020 00:14:48 +0000 (02:14 +0200)]
ARM: imx: ddr: Add missing PHY reset

The iMX7D RM 9.2.4.9.3 Power removal flow Table 9-11. Re-enabling power
explicitly says both the DDR controller and the PHY must be reset in the
correct sequence. Currently the code only resets the controller. This
leads to a misbehavior where the system brings the DRAM up after reboot,
but the DRAM is unstable. Add the missing reset.

The easiest way to trigger this is by triggering WDT without having the
WDT assert WDOG_B signal, i.e. mw.w 0x30280000 0x25 .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
4 years agopower: pmic: Add SPL Kconfig entry for PFUZE100
Marek Vasut [Fri, 29 May 2020 17:22:41 +0000 (19:22 +0200)]
power: pmic: Add SPL Kconfig entry for PFUZE100

Add Kconfig entry for the PFUZE PMIC, SPL variant.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoimx: imx8mp_evk: fix boot issue
Peng Fan [Tue, 26 May 2020 23:33:50 +0000 (20:33 -0300)]
imx: imx8mp_evk: fix boot issue

The u-boot-spl.bin pad with ddr firmware conflicts with the
CONFIG_MALLOC_F_ADDR area, the ddr firmware will be overwritten
by malloc in SPL stage and cause ddr initialization not able
to finish. So update the related addresses to fix the issue.

Reported-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx8mp_evk: spl: no need the code since spl framework could do that
Peng Fan [Tue, 26 May 2020 23:33:49 +0000 (20:33 -0300)]
imx8mp_evk: spl: no need the code since spl framework could do that

We no need invoke the code, since spl framework could help
us do that.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx8mp_evk: spl: use spl_early_init
Peng Fan [Tue, 26 May 2020 23:33:48 +0000 (20:33 -0300)]
imx8mp_evk: spl: use spl_early_init

Use spl_early_init to replace spl_init, spl_init will be invoked
in board_init_r, we only need use spl_early_init to setup malloc
and scan early dt.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx8mp_evk: spl: drop timer_init
Peng Fan [Tue, 26 May 2020 23:33:47 +0000 (20:33 -0300)]
imx8mp_evk: spl: drop timer_init

timer_init has been invoked in arch_cpu_init, no need to invoke
it again in board code.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx8mp_evk: spl: drop useless code
Peng Fan [Tue, 26 May 2020 23:33:46 +0000 (20:33 -0300)]
imx8mp_evk: spl: drop useless code

Drop useless getting ccm device, there is no need to explicted do this
in board code, and we not enable SPL CLK currently.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx: Update MTD partitions layout for display5 (i.MX6Q) board
Lukasz Majewski [Wed, 13 May 2020 15:45:15 +0000 (17:45 +0200)]
imx: Update MTD partitions layout for display5 (i.MX6Q) board

This change updates the MTD partition layout on SPI-NOR memory for display5
board.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agoimx: rom api: fix image offset computation
Sébastien Szymanski [Wed, 13 May 2020 14:02:28 +0000 (16:02 +0200)]
imx: rom api: fix image offset computation

When not booting from FlexSPI, the offset computation is:

offset = image_offset + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512 - 0x8000;

When booting from SD card or eMMC user partition, image_offset is
0x8000. It is useless to add and remove 0x8000.
When booting from other device, image_offset is 0 so this computation is wrong.

Simplfy this computation to work on all booting devices.

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
4 years agoverdin-imx8mm: Select the watchdog driver
Fabio Estevam [Mon, 11 May 2020 14:00:31 +0000 (11:00 -0300)]
verdin-imx8mm: Select the watchdog driver

Currently watchdog driver is not selected, which causes system to reboot
after staying 60s in the U-Boot prompt.

Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be
properly serviced.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agoimx8mp_evk: Select the watchdog driver
Fabio Estevam [Mon, 11 May 2020 14:00:30 +0000 (11:00 -0300)]
imx8mp_evk: Select the watchdog driver

Currently watchdog driver is not selected, which causes system to reboot
after staying 60s in the U-Boot prompt.

Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be
properly serviced.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx8mm_beacon: Select the watchdog driver
Fabio Estevam [Mon, 11 May 2020 14:00:29 +0000 (11:00 -0300)]
imx8mm_beacon: Select the watchdog driver

Currently watchdog driver is not selected, which causes system to reboot
after staying 60s in the U-Boot prompt.

Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be
properly serviced.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Adam Ford <aford173@gmail.com>
4 years agoimx8mn_ddr4_evk: Select the watchdog driver
Fabio Estevam [Mon, 11 May 2020 14:00:28 +0000 (11:00 -0300)]
imx8mn_ddr4_evk: Select the watchdog driver

Currently watchdog driver is not selected, which causes system to reboot
after staying 60s in the U-Boot prompt.

Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be
properly serviced.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx8mm_evk: Select the watchdog driver
Fabio Estevam [Mon, 11 May 2020 14:00:27 +0000 (11:00 -0300)]
imx8mm_evk: Select the watchdog driver

Currently the watchdog driver is not selected, which causes the following
warnings in both SPL and U-Boot proper:

U-Boot SPL 2020.07-rc1-00387-g67887903af (May 07 2020 - 23:49:27 -0300)
Normal Boot
WDT:   Started without servicing (60s timeout)
Trying to boot from MMC1

U-Boot 2020.07-rc1-00387-g67887903af (May 07 2020 - 23:49:27 -0300)

CPU:   Freescale i.MX8MMQ rev1.0 at 1200 MHz
Reset cause: POR
Model: FSL i.MX8MM EVK board
DRAM:  2 GiB
WDT:   Started without servicing (60s timeout)
....

System reboots after staying 60s in the U-Boot prompt.

Fix this problem by enabling CONFIG_WATCHDOG so that watchdog can be
properly serviced.

Suggested-by: Marek Vasut <marex@denx.de>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx8mp_evk: Add a README file
Fabio Estevam [Mon, 11 May 2020 12:45:51 +0000 (09:45 -0300)]
imx8mp_evk: Add a README file

Add a README file explaining the U-Boot build and SD card flash procedures.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoimx: move ATF to the back of the FIT to fix loading over yModem
Patrick Wildt [Fri, 8 May 2020 09:59:47 +0000 (11:59 +0200)]
imx: move ATF to the back of the FIT to fix loading over yModem

With yModem the FIT Image is only supplied once, so we can only
seek forward in the yModem supplied image and never backwards.
With the recent changes to the SPL mechanism, including loading
U-Boot first, FDT after, then the loadables, we must also reorder
the FIT image script to make sure that the loadables are last in
the FIT image.

Signed-off-by: Patrick Wildt <patrick@blueri.se>
Tested-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
4 years agoimx: Kconfig: enable IMX_BOOTAUX for i.MX8M
Peng Fan [Tue, 5 May 2020 12:18:02 +0000 (20:18 +0800)]
imx: Kconfig: enable IMX_BOOTAUX for i.MX8M

i.MX8M could use imx bootaux to boot m4/m7 core, so let's add it
to the dependency list.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agoARM: dts: imxrt1050: indent lcdif node correctly
Giulio Benetti [Tue, 28 Apr 2020 16:20:11 +0000 (18:20 +0200)]
ARM: dts: imxrt1050: indent lcdif node correctly

Accidentally submitted a patch with indentation not correct, let's fix it
by indenting wrong lines.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
4 years agorockchip: enable PCIe and NVMe on Pinebook Pro
Patrick Wildt [Sun, 7 Jun 2020 10:08:35 +0000 (12:08 +0200)]
rockchip: enable PCIe and NVMe on Pinebook Pro

Enable CONFIG_PCI and CONFIG_NVME and related configs for the
Pinebook Pro.

Signed-off-by: Patrick Wildt <patrick@blueri.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: puma: enable new usb config options
Heiko Stuebner [Fri, 5 Jun 2020 10:06:43 +0000 (12:06 +0200)]
rockchip: puma: enable new usb config options

With recently added changes we get support for usb3 including handling
of the phys (type-c and inno-usb2), so enable the necessary config
options on puma.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: puma: drop special handling of usb host regulator
Heiko Stuebner [Fri, 5 Jun 2020 10:06:42 +0000 (12:06 +0200)]
rockchip: puma: drop special handling of usb host regulator

With the current usb stack in u-boot, all host ports on puma work
flawlessly without any additional special handling, so drop that
usb hub hacking from the puma board.

Tested with mass-storage and usb-ethernet on both usb3 and usb2 ports.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
4 years agorockchip: puma: remove separate fit generator
Heiko Stuebner [Fri, 5 Jun 2020 10:06:41 +0000 (12:06 +0200)]
rockchip: puma: remove separate fit generator

The introduction of the puma-specific generator was mainly a way
to split the pmu firmware from the ATF binary and not having to
distribute that 4GB (sparse) image that was created before moving
to the bl31.elf as base.

Looking at the publically available repository for that separate
pmu firmware
    https://git.theobroma-systems.com/rk3399-cortex-m0.git/
there is also no activity for 3 years and apart from some build
customizations no other changes were done.

And even then, if changes need to be made, this can very well also
happen in the atf context itself, so there is no real need to
diverge from the established build procedure and we can just go
back to using the main make_fit_atf.py script.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: puma: reorganize devicetrees to actually work and match upstream
Heiko Stuebner [Fri, 5 Jun 2020 10:06:40 +0000 (12:06 +0200)]
rockchip: puma: reorganize devicetrees to actually work and match upstream

So far the puma dts files only just included the main puma dtsi without
handling the actual baseboard and rk3399-puma.dtsi was very much
detached from the variant in the mainline Linux kernel.

Recent changes resulted in a strange situation with nonworking puma boards.

Commit ab800e5a6f28 ("arm: dts: rockchip: puma: move U-Boot specific bits to u-boot.dtsi")
moved the sdram include from rk3399-puma-ddrX.dts to new files
rk3399-puma-ddrx-u-boot.dtsi which were never included anywhere though.

Commit 167efc2c7a46 ("arm64: dts: rk3399: Sync v5.7-rc1 from Linux")
replaced the rk3399-puma.dtsi nearly completely, but in the kernel
it definitly depends on a baseboard dts to actually enable peripherals
like sd-slot, uarts, etc.

So to untagle this and bring the whole thing more in line with mainline
Linux, bring the rk3399-puma-haikou.dts over as well, drop the separate
DDR-option devicetrees and instead replace them with a puma Kconfig option
to select and include the needed DDR variant.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: puma: fix indentation of misc_init_r
Heiko Stuebner [Fri, 5 Jun 2020 10:06:39 +0000 (12:06 +0200)]
rockchip: puma: fix indentation of misc_init_r

The commit moving puma to the generic cpuid/macaddr helpers used 7 spaces
as indentation, so correct that by moving to the required tabs.

Fixes: fa177ff0208b ("board: puma: Use rockchip_* helpers to setup cpuid and macaddr")
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: puma: fix indentation for -u-boot.dtsi
Heiko Stuebner [Fri, 5 Jun 2020 10:06:38 +0000 (12:06 +0200)]
rockchip: puma: fix indentation for -u-boot.dtsi

Tabs not spaces, so transform it to the common styling.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm64: dts: rk3399-puma: fix gpio levels for vcc5v0-host regulator
Heiko Stuebner [Fri, 5 Jun 2020 10:06:37 +0000 (12:06 +0200)]
arm64: dts: rk3399-puma: fix gpio levels for vcc5v0-host regulator

The regulator enable-gpio uses opposite values for the declaration
vs. the enable_active_low property, breaking the regulator enablement.

Make the usbhost-supply work again by bringing them in sync again.

This mimics the upstream Linux change found on:
http://lore.kernel.org/r/20200604091239.424318-1-heiko@sntech.de

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
4 years agoarm64: dts: rk3399-puma: fix gpio levels for gmac reset pin
Heiko Stuebner [Fri, 5 Jun 2020 10:06:36 +0000 (12:06 +0200)]
arm64: dts: rk3399-puma: fix gpio levels for gmac reset pin

The gmac reset has opposite values for the gpio declaration
and the separate reset-active, bring this in line to make
u-boot also find the ethernet-phy.

This mimics the upstream Linux commit found on
https://lore.kernel.org/r/20200603132836.362519-1-heiko@sntech.de

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rockpro64: add SPI boot
Marcin Juszkiewicz [Wed, 3 Jun 2020 15:15:13 +0000 (17:15 +0200)]
rockchip: rockpro64: add SPI boot

U-Boot TPL 2020.07-rc3-00121-gab88251130 (Jun 03 2020 - 16:43:42)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=16/15 CS=1 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=16/15 CS=1 Die BW=16 Size=2048MB
256B stride
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2020.07-rc3-00121-gab88251130 (Jun 03 2020 - 16:43:42 +0200)
Trying to boot from SPI

U-Boot 2020.07-rc3-00121-gab88251130 (Jun 03 2020 - 16:43:42 +0200)

SoC: Rockchip rk3399
Reset cause: RST
Model: Pine64 RockPro64 v2.1
DRAM:  3.9 GiB
PMIC:  RK808
MMC:   mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from SPI Flash... SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Model: Pine64 RockPro64 v2.1
Net:   eth0: ethernet@fe300000
Hit any key to stop autoboot:  0
=>

Signed-off-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rockpro64: Store default env into SPI
Marcin Juszkiewicz [Wed, 3 Jun 2020 15:15:12 +0000 (17:15 +0200)]
rockchip: rockpro64: Store default env into SPI

Board has flash chip on board so let store U-Boot environment there.

Signed-off-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agodoc: rockchip: Document SPI flash program steps
Jagan Teki [Thu, 4 Jun 2020 14:51:41 +0000 (20:21 +0530)]
doc: rockchip: Document SPI flash program steps

Document SPI flash program steps for rockchip platforms.

Suggested-by: Hugh Cole-Baker <sigmaris@gmail.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoroc-rk3399-pc: Add SPI boot
Jagan Teki [Thu, 4 Jun 2020 14:51:40 +0000 (20:21 +0530)]
roc-rk3399-pc: Add SPI boot

U-Boot TPL 2020.07-rc3-00090-gd4e919f927-dirty (Jun 01 2020 - 23:45:53)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2020.07-rc3-00087-ga21e9fd385 (Jun 02 2020 - 00:09:45 +0530)
Trying to boot from MMC1
NOTICE:  BL31: v2.2(release):
NOTICE:  BL31: Built : 15:05:37, May 12 2020

U-Boot 2020.07-rc3-00087-ga21e9fd385 (Jun 02 2020 - 00:09:45 +0530)

SoC: Rockchip rk3399
Reset cause: POR
Model: Firefly ROC-RK3399-PC Board
DRAM:  3.9 GiB
PMIC:  RK808
MMC:   mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from SPI Flash... SF: Detected w25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Firefly ROC-RK3399-PC Board

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoroc-rk3399-pc: Mark default env from SPI
Jagan Teki [Thu, 4 Jun 2020 14:51:39 +0000 (20:21 +0530)]
roc-rk3399-pc: Mark default env from SPI

Mark the default U-Boot environment as SPI flash since
this is an on board flash device.

Updated env offset, size in contrast with default since
the U-Boot proper has to start from 384K.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoMakefile: Drop to handle rkspi image type
Jagan Teki [Thu, 4 Jun 2020 14:51:38 +0000 (20:21 +0530)]
Makefile: Drop to handle rkspi image type

On rockchip platforms, SPI boot image creation is not
straightforward like MMC boot image creation where former
requires to specify tpl, spl in multimage format in mkimage,
and later simply do a concatenate mkimaged-tpl with spl.

On this note, let drop rkspi image type creation via kbuild
and let inform via rockchip.rst

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>