]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
10 months agoPrepare v2024.04-rc2
Tom Rini [Tue, 13 Feb 2024 23:16:57 +0000 (18:16 -0500)]
Prepare v2024.04-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
10 months agoMerge branch '2024-02-13-assorted-updates'
Tom Rini [Tue, 13 Feb 2024 22:31:11 +0000 (17:31 -0500)]
Merge branch '2024-02-13-assorted-updates'

- Add the button command patch, update MAINTAINERS entry for a platform,
  fix a problem with the hash command, fix a problem on K3 platforms and
  revert a change on verdin-am62.

10 months agoRevert "board: verdin-am62: set cpu core voltage depending on speed grade"
Francesco Dolcini [Tue, 13 Feb 2024 16:00:03 +0000 (17:00 +0100)]
Revert "board: verdin-am62: set cpu core voltage depending on speed grade"

This reverts commit d2099587d661c6ca2309256c0e04c06e26c8d34c.

According to TI changing the VDD_CORE while the SoC is running is not
allowed, the voltage must be set before the AM62 device reset is
released, revert this change therefore.

The correct solution would be to program the PMIC during manufactoring
according to the speed grade of the SoC.

Link: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1318338/am623-booting-from-mmc-failed-after-lowering-vdd_core-to-0-75v/5036508#5036508
Fixes: d2099587d661 ("board: verdin-am62: set cpu core voltage depending on speed grade")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
10 months agoboot: add support for button commands
Caleb Connolly [Tue, 9 Jan 2024 11:51:09 +0000 (11:51 +0000)]
boot: add support for button commands

With the relatively new button API in U-Boot, it's now much easier to
model the common usecase of mapping arbitrary actions to different
buttons during boot - for example entering fastboot mode, setting some
additional kernel cmdline arguments, or booting with a custom recovery
ramdisk, to name a few.

Historically, this functionality has been implemented in board code,
making it fixed for a given U-Boot binary and requiring the code be
duplicated and modified for every board.

Implement a generic abstraction to run an arbitrary command during boot
when a specific button is pressed. The button -> command mapping is
configured via environment variables with the following format:

  button_cmd_N_name=<button label>
  button_cmd_N=<command to run>

Where N is the mapping number starting from 0. For example:

  button_cmd_0_name=vol_down
  button_cmd_0=fastboot usb 0

This will cause the device to enter fastboot mode if volume down is held
during boot.

After we enter the cli loop the button commands are no longer valid,
this allows the buttons to additionally be used for navigating a boot
menu.

Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Tegra30
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
10 months agocmd: hash: fix param count check
Igor Opaniuk [Wed, 7 Feb 2024 00:01:32 +0000 (01:01 +0100)]
cmd: hash: fix param count check

Add correct check for parameter count.

This fixes this issue when `hash` cmd is invoked without params:

=> hash
data abort
pc : [<bf739204>]    lr : [<ba6effa8>]
reloc pc : [<60019204>]    lr : [<5afcffa8>]
sp : ba6dd9c8  ip : bf7391f0  fp : bf74ec14
r10: 00000001  r9 : ba6dfea0  r8 : bf7ea030
r7 : 00000000  r6 : ba6effa8  r5 : 00000000  r4 : ffffffff
r3 : bf7c257c  r2 : 00000001  r1 : 00000000  r0 : bf7e6e34
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32
Code: e5934004 e1a0e003 e59f3050 e2444001 (e5f4c001)
Resetting CPU ...

resetting ...

Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
10 months agomemory: ti-gpmc: Fix lock up at A53 SPL during NAND boot on AM64-EVM
Roger Quadros [Tue, 6 Feb 2024 14:02:51 +0000 (16:02 +0200)]
memory: ti-gpmc: Fix lock up at A53 SPL during NAND boot on AM64-EVM

AM64 ES2.0 bootrom seems to enable WAIT0EDGEDETECTION interrupt.
This causes a lockup at A53 SPL when accessing NAND controller
or ELM registers.

A good option would be to softrest GPMC block at probe
but this cannot be done for AM64 as SOFTRESET bit is marked
as reserved in SYSCONFIG register.

Fix the issue by disabling all IRQs at probe.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
10 months agopoplar: add myself as co-maintainer
Igor Opaniuk [Fri, 2 Feb 2024 21:44:29 +0000 (22:44 +0100)]
poplar: add myself as co-maintainer

Add myself as co-maintainer for Poplar board, as I'm currently
working on it (re-testing releases, addressing issues etc).

CC: Jorge Ramirez-Ortiz <jorge.ramirez.ortiz@gmail.com>
CC: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Jorge Ramirez-Ortiz <jorge.ramirez.ortiz@gmail.com>
10 months agoMerge tag 'doc-2024-04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Mon, 12 Feb 2024 20:22:05 +0000 (15:22 -0500)]
Merge tag 'doc-2024-04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request doc-2024-04-rc2

Documentation:

* Fix and extend utf8_to_utf32_stream() documentation
* Fix rendering of OpenSBI logo in VisionFive 2 description
* Document imxrt1170-evk board
* codingstyle.rst: Clarify include section

UEFI:

* simplify error message in efi_disk_create_raw()

10 months agonet: designware: Support high memory nodes
Nils Le Roux [Sat, 2 Dec 2023 09:39:49 +0000 (10:39 +0100)]
net: designware: Support high memory nodes

Some platforms (such as the Lichee Pi 4A) have their dwmac device
addressable only in high memory space. Storing the node's base address
on 32 bits is not possible in such case.

Use platform's physical address type to store the base address.

Signed-off-by: Nils Le Roux <gilbsgilbert@gmail.com>
Cc: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
10 months agodoc/develop/codingstyle.rst: Clarify include section
Tom Rini [Fri, 9 Feb 2024 14:35:20 +0000 (09:35 -0500)]
doc/develop/codingstyle.rst: Clarify include section

Rework the section about includes slightly. We should not be using
common.h anywhere, so remove that from examples and ask people to send
patches removing it when found. Doing this also means we need to reword
other parts of this section. Be clearer about using alphabetical
ordering.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
10 months agolib: charset: Fix and extend utf8_to_utf32_stream() documentation
Janne Grunau [Sat, 10 Feb 2024 12:46:39 +0000 (13:46 +0100)]
lib: charset: Fix and extend utf8_to_utf32_stream() documentation

Clarify usage of buffer argument.

Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
10 months agoefi_loader: simplify error message in efi_disk_create_raw()
Heinrich Schuchardt [Fri, 2 Feb 2024 14:12:52 +0000 (15:12 +0100)]
efi_loader: simplify error message in efi_disk_create_raw()

The error message

    Adding disk for usb_mass_storage.lun0 failed (err=-9223372036854775788/0x8000000000000014)

provides a decimal and a hexadecimal notation of the EFI status code
EFI_ALREADY_STARTED which is defined as (EFI_ERROR_MASK | 20).
The decimal output does not convey the value 20 clearly.

With the patch we write

    Adding block device usb_mass_storage.lun0 failed, r = 20

similar to other EFI error messages.

Fixes: 952018117ab4 ("dm: sandbox: Switch over to using the new host uclass")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
10 months agodoc: board: starfive: fix rendering of OpenSBI logo
Heinrich Schuchardt [Thu, 1 Feb 2024 16:32:53 +0000 (17:32 +0100)]
doc: board: starfive: fix rendering of OpenSBI logo

The rendering of the OpenSBI logo should look like the screen output.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
10 months agodoc: imx: imxrt1170: Document imxrt1170-evk board
Jesse Taube [Thu, 1 Feb 2024 15:00:04 +0000 (10:00 -0500)]
doc: imx: imxrt1170: Document imxrt1170-evk board

Add documentation for imxrt1170-evk.

Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Add index page entry, adjust formatting.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
10 months agoMerge tag 'u-boot-imx-master-20240212' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 12 Feb 2024 14:26:20 +0000 (09:26 -0500)]
Merge tag 'u-boot-imx-master-20240212' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

CI:
https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/19583

- Fix the i.MX8MP SPI compatible string.
- Let the SPL clock code do the configuration on Data Modul i.MX8M Plus
  eDM SBC.
- Enable secure boot on the imx93_var_som board.

10 months agoMerge branch 'master-779h0-r2' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sun, 11 Feb 2024 17:42:25 +0000 (12:42 -0500)]
Merge branch 'master-779h0-r2' of https://source.denx.de/u-boot/custodians/u-boot-sh

10 months agoconfigs: imx93_var_som: Enable AHAB support
Mathieu Othacehe [Fri, 9 Feb 2024 10:30:09 +0000 (11:30 +0100)]
configs: imx93_var_som: Enable AHAB support

Enable AHAB support in the imx93_var_som configuration.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
10 months agoboard: imx93_var_som: Probe ELE MU
Mathieu Othacehe [Fri, 9 Feb 2024 10:30:08 +0000 (11:30 +0100)]
board: imx93_var_som: Probe ELE MU

Probing the MU is needed to prevent this error in the SPL:

ele dev is not initialized
Authenticate container hdr failed, return -19, resp 0x0
IND = INVALID

ele dev is not initialized
Error: release container failed, resp 0x0!
IND = INVALID

SPL: failed to boot from all boot devices

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
10 months agoimx93: Use a header for imx9_probe_mu declaration
Mathieu Othacehe [Fri, 9 Feb 2024 10:30:07 +0000 (11:30 +0100)]
imx93: Use a header for imx9_probe_mu declaration

Put imx9_probe_mu declaration in a new mu.h header file.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
10 months agospi: mxc_spi: Add imx6ul-ecspi compatible string
Marek Vasut [Thu, 8 Feb 2024 23:59:50 +0000 (00:59 +0100)]
spi: mxc_spi: Add imx6ul-ecspi compatible string

Recent i.MX8MP DTs use new fsl,imx6ul-ecspi compatible string instead
of the fsl,imx51-ecspi compatible string. Add the new compatible string
to fix ECSPI operation on i.MX8MP.

For details, see Linux:
48d74376fb68 ("arm64: dts: imx8mp: update ecspi compatible and clk")
8eb1252bbedf ("spi: imx: remove ERR009165 workaround on i.mx6ul")

Fixes: 451799a6ceac ("arm: dts: imx8mp: Sync the DT with kernel 6.4-rc4")
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Marek Vasut <marex@denx.de>
10 months agoARM: imx: Let SPL configure ECSPI1 clock on Data Modul i.MX8M Plus eDM SBC
Marek Vasut [Thu, 8 Feb 2024 17:33:50 +0000 (18:33 +0100)]
ARM: imx: Let SPL configure ECSPI1 clock on Data Modul i.MX8M Plus eDM SBC

The SPL clock code does configure the ECSPI clock frequency, which has
to match the mxc-spi driver configuration for successful SPI NOR boot.
Drop the assigned-clock from DT ecspi1 node on this board to let the
SPL clock code do the configuration and keep it aligned with the driver
expectation.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
10 months agoARM: renesas: Add Renesas R8A779H0 V4M Gray Hawk board code
Hai Pham [Sun, 28 Jan 2024 15:52:09 +0000 (16:52 +0100)]
ARM: renesas: Add Renesas R8A779H0 V4M Gray Hawk board code

Add board code for the Renesas R8A779H0 V4M Gray Hawk board.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agoARM: dts: renesas: Add Renesas Gray Hawk boards support
Hai Pham [Sun, 28 Jan 2024 15:52:08 +0000 (16:52 +0100)]
ARM: dts: renesas: Add Renesas Gray Hawk boards support

Initial support for the Renesas Gray Hawk CPU and BreakOut boards.

The arch/arm/dts/r8a779h0-gray-hawk-cpu.dtsi is extended version of:
https://lore.kernel.org/linux-renesas-soc/b657402113267acd57aece0b4c681b707e704455.1706194617.git.geert+renesas@glider.be/
The version currenty submitted upstream lacks functionality which is
present in this series. Once the upstream support implements that
missing functionality, these DTs will be updated to match.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agoARM: dts: renesas: Add Renesas R8A779H0 V4M DT extras
Hai Pham [Sun, 28 Jan 2024 15:52:07 +0000 (16:52 +0100)]
ARM: dts: renesas: Add Renesas R8A779H0 V4M DT extras

Add Renesas R8A779H0 V4M DT extras for U-Boot.

Until the RPC node becomes part of main DT, keep it here as
an extension so that board code can enable and use the RPC
to access SPI NOR.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agoARM: dts: renesas: Add Renesas R8A779H0 V4M SoC support
Hai Pham [Sun, 28 Jan 2024 15:52:06 +0000 (16:52 +0100)]
ARM: dts: renesas: Add Renesas R8A779H0 V4M SoC support

Add initial support for the Renesas R8A779H0 (R-Car V4M) SoC.

The current version is imported and modified from:
https://lore.kernel.org/linux-renesas-soc/4107bc3d7c31932da29e671ddf4b1564ba38a84c.1706194617.git.geert+renesas@glider.be/
The modifications contain nodes from previous version
which are useful in U-Boot and not part of the Linux
kernel DT yet. The following nodes were added:
- pfc
- gpio0..gpio7
- i2c0..i2c3
- avb0..avb2
- mmc0

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agomtd: spi: renesas: Add R8A779H0 V4M support
Hai Pham [Sun, 28 Jan 2024 15:52:05 +0000 (16:52 +0100)]
mtd: spi: renesas: Add R8A779H0 V4M support

Support RPC SPI on R8A779H0 V4M SoC.

Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
10 months agoARM: renesas: Add R8A779H0 V4M Kconfig entry and PRR ID
Hai Pham [Sun, 28 Jan 2024 15:52:04 +0000 (16:52 +0100)]
ARM: renesas: Add R8A779H0 V4M Kconfig entry and PRR ID

Add Kconfig entry and PRR ID to support R8A779H0 V4M SoC.

Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agopinctrl: renesas: Add R8A779H0 V4M PFC tables
Hai Pham [Sun, 28 Jan 2024 15:52:03 +0000 (16:52 +0100)]
pinctrl: renesas: Add R8A779H0 V4M PFC tables

Add pinctrl tables for R8A779H0 V4M SoC.

The current version of these PFC tables is imported and squashed from:
https://lore.kernel.org/linux-renesas-soc/cover.1706264667.git.geert+renesas@glider.be/

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agoclk: renesas: Implement R8A779H0 V4M PLL7 support
Marek Vasut [Sun, 28 Jan 2024 15:52:02 +0000 (16:52 +0100)]
clk: renesas: Implement R8A779H0 V4M PLL7 support

Add PLL7 support to Gen3/Gen4 common clock driver. Add initial PLL7
multiplier and divider values into table in R8A779H0 V4M clock driver.

The PLL7 is new PLL added in R8A779H0 V4M SoC. Only integer multiplication
mode is supported by PLL7. The PLL reference clock are either 16.66 MHz or
20 MHz on R8A779H0 V4M SoC, and the output frequency must be 2000 MHz. The
multiplier values fitting this requirement are calculated to 120 or 100.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 months agoclk: renesas: Add R8A779H0 V4M clock tables
Hai Pham [Sun, 28 Jan 2024 15:52:01 +0000 (16:52 +0100)]
clk: renesas: Add R8A779H0 V4M clock tables

Add clock tables for R8A779H0 V4M SoC.

The current version is imported from:
https://lore.kernel.org/linux-renesas-soc/c678ef7164e3777fa91572f72e47ef385cea64b8.1706194617.git.geert+renesas@glider.be/
The current version still contains PLL7 extras from the
previous version to provide ethernet support in U-Boot.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agodt-bindings: power: Add R8A779H0 V4M SYSC power domain definitions
Duy Nguyen [Sun, 28 Jan 2024 15:52:00 +0000 (16:52 +0100)]
dt-bindings: power: Add R8A779H0 V4M SYSC power domain definitions

Add power domain indices for R-Car V4M (R8A779H0).

The current version is imported from:
https://lore.kernel.org/linux-renesas-soc/c5cbef71178cada761e9da7bcbb6f21334f93ef8.1706194617.git.geert+renesas@glider.be/

Signed-off-by: Duy Nguyen <duy.nguyen.rh@renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agodt-bindings: clock: Add R8A779H0 V4M CPG Core Clock Definitions
Duy Nguyen [Sun, 28 Jan 2024 15:51:59 +0000 (16:51 +0100)]
dt-bindings: clock: Add R8A779H0 V4M CPG Core Clock Definitions

Add all Clock Pulse Generator Core Clock Outputs for the Renesas R-Car
V4M (R8A779H0) SoC.

The current version is imported from:
https://lore.kernel.org/linux-renesas-soc/11acbd2a30b58607474e9c32eb798b3a00e85e73.1706194617.git.geert+renesas@glider.be/

Signed-off-by: Duy Nguyen <duy.nguyen.rh@renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
10 months agoMerge tag 'u-boot-dfu-20240209' of https://source.denx.de/u-boot/custodians/u-boot-dfu
Tom Rini [Fri, 9 Feb 2024 14:00:42 +0000 (09:00 -0500)]
Merge tag 'u-boot-dfu-20240209' of https://source.denx.de/u-boot/custodians/u-boot-dfu

u-boot-dfu-20240209

- sparse error checking fix when using raw chunks
- 2 new additions (AVB, AB) of myself to the MAINTAINERS file

10 months agolib: sparse: Fix error checking for write_sparse_chunk_raw
Sean Anderson [Thu, 1 Feb 2024 18:18:51 +0000 (13:18 -0500)]
lib: sparse: Fix error checking for write_sparse_chunk_raw

The return value of write_sparse_chunk_raw is unsigned, so the existing
check has no effect. Use IS_ERR_VALUE to detect error instead, which is
what write_sparse_chunk_raw does itself.

Fixes: 62649165cb0 ("lib: sparse: Make CHUNK_TYPE_RAW buffer aligned")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/u-boot/1b323ec3-59b0-490b-a2f0-fd961dafcf49@moroto.mountain/
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240201181851.221701-1-sean.anderson@seco.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
10 months agoMAINTAINERS: add Mattijs for Android AVB
Mattijs Korpershoek [Fri, 12 Jan 2024 08:40:45 +0000 (09:40 +0100)]
MAINTAINERS: add Mattijs for Android AVB

Igor has not been active for quite some time on lore:
https://lore.kernel.org/all/?q=igor.opaniuk@gmail.com

I'm interested in helping with maintaining the android_avb
command. I'm a long time android/aosp developer and my daily job is
still doing android work.

Add myself as maintainer for Android AVB.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Acked-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20240112-maintainers-ab-v1-2-f2a538eab18a@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
10 months agoMAINTAINERS: add Mattijs for Android AB
Mattijs Korpershoek [Fri, 12 Jan 2024 08:40:44 +0000 (09:40 +0100)]
MAINTAINERS: add Mattijs for Android AB

Igor has not been active for quite some time on lore:
https://lore.kernel.org/all/?q=igor.opaniuk@gmail.com

I'm interested in helping with maintaining the android_ab
command. I'm a long time android/aosp developer and my daily job is
still doing android work.

Add myself as maintainer for Android AB.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Acked-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Link: https://lore.kernel.org/r/20240112-maintainers-ab-v1-1-f2a538eab18a@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
10 months agoti: keystone2: Move common Kconfig selections to under ARCH_KEYSTONE
Andrew Davis [Tue, 25 Jul 2023 15:54:16 +0000 (10:54 -0500)]
ti: keystone2: Move common Kconfig selections to under ARCH_KEYSTONE

These select/imply settings are common to the whole architecture not just
these boards, move these settings to the architecture config.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
10 months agoti: keystone2: Imply NFS command support
Andrew Davis [Tue, 25 Jul 2023 15:54:15 +0000 (10:54 -0500)]
ti: keystone2: Imply NFS command support

TI KS2 boards have the nfs command in their common environment boot
configuration, enable this command.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
10 months agoMerge tag 'u-boot-imx-master-20240208' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Thu, 8 Feb 2024 14:37:16 +0000 (09:37 -0500)]
Merge tag 'u-boot-imx-master-20240208' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

- Add USB support for phycore-imx8mp
- Fix environment corruption, reset on mx6sabresd
- Print reset cause on imx8
- Extend mkimage to support generating an image for i.MXRT FlexSPI
- Add new apalis and colibri variants
- Add support for phyBOARD-Segin-i.MX93 support
- Fix when FEC is primarily used instead of EQOS on i.MX93.

10 months agoMerge tag 'fsl-qoriq-2024-2-8' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 8 Feb 2024 14:10:41 +0000 (09:10 -0500)]
Merge tag 'fsl-qoriq-2024-2-8' of https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq

Add TJA1120 driver support
fsl-layerscape/soc.c: do not destroy bootcmd environment

10 months agophycore-imx8mp: add support for booting and flashing emmc via UUU
Benjamin Hahn [Thu, 8 Feb 2024 12:03:11 +0000 (13:03 +0100)]
phycore-imx8mp: add support for booting and flashing emmc via UUU

add support for Serial Downloader Boot via UUU as well as flashing emmc
via UUU on USB0 Port of phyBOARD Pollux.

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
10 months agophycore-imx8mp: add USB mass storage support
Benjamin Hahn [Thu, 8 Feb 2024 12:03:10 +0000 (13:03 +0100)]
phycore-imx8mp: add USB mass storage support

add support for USB mass storage to USB0 port of phyBOARD Pollux.

tested with "ums 0 mmc 2"

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
10 months agophycore-imx8mp: add USB host support
Benjamin Hahn [Thu, 8 Feb 2024 12:03:09 +0000 (13:03 +0100)]
phycore-imx8mp: add USB host support

The phyBOARD Pollux has two USB ports. Add support for USB host and USB
storage for the USB1 port.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
10 months agoimx8mp-phyboard-pollux-rdk: sync with kernel devicetree from v6.8-rc2
Benjamin Hahn [Thu, 8 Feb 2024 12:03:08 +0000 (13:03 +0100)]
imx8mp-phyboard-pollux-rdk: sync with kernel devicetree from v6.8-rc2

sync devicetree with kernel v6.8-rc2.

New commits on kernel v6.8-rc2:
4a58fcdb1818 arm64: dts: imx8mp-phyboard-pollux: Add support for RS232/RS485
3bd7fdcc359e arm64: dts: imx8mp-phyboard-pollux: Add gpio-line-names
f5faa633daf8 arm64: dts: imx8mp-phyboard-pollux: Enable USB support
27c0dc128d04 arm64: dts: imx8mp-phyboard-pollux: Add flexcan support
fa2a1ec50456 arm64: dts: imx8mp-phyboard-pollux: Add missing usdhc clocks assignment
055e38c76388 arm64: dts: imx8mp-phyboard-pollux-rdk: Fix led sub-node names

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
10 months agomx6sabresd: Remove board_phy_config()
Fabio Estevam [Fri, 2 Feb 2024 16:04:05 +0000 (13:04 -0300)]
mx6sabresd: Remove board_phy_config()

With Ethernet DM in place, there is no longer the need for having
the board_phy_config() anymore.

Remove it.

Confirmed that TFTP transfer still works fine without board_phy_config().

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
10 months agomx6sabresd: Convert to watchdog driver model
Fabio Estevam [Fri, 2 Feb 2024 16:04:04 +0000 (13:04 -0300)]
mx6sabresd: Convert to watchdog driver model

Commit 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") caused
the 'reset' command in U-Boot to not cause a board reset.

Fix it by switching to the watchdog driver model via sysreset, which
is the preferred method for implementing the watchdog reset.

Signed-off-by: Fabio Estevam <festevam@denx.de>
10 months agomx6sabresd: Fix U-Boot corruption after saving the environment
Fabio Estevam [Fri, 2 Feb 2024 16:04:03 +0000 (13:04 -0300)]
mx6sabresd: Fix U-Boot corruption after saving the environment

U-Boot binary has grown in such a way that it goes beyond the reserved
area for the environment variables.

Running "saveenv" and rebooting the board causes U-Boot to hang because
of this overlap.

Fix this problem by selecting CONFIG_LTO so that the U-Boot proper
size can be reduced.

Also, to prevent this same problem to happen in the future, use
CONFIG_BOARD_SIZE_LIMIT, which can detect the overlap in build-time.

CONFIG_BOARD_SIZE_LIMIT is calculated as follows:

CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot-img.dtb offset
CONFIG_BOARD_SIZE_LIMIT = 0xc000 - 69 * 1024
CONFIG_BOARD_SIZE_LIMIT = 715766

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
10 months agotoradex: tdx-cfg-block: add 0086 i.mx8m mini sku
Joao Paulo Goncalves [Wed, 31 Jan 2024 17:32:04 +0000 (14:32 -0300)]
toradex: tdx-cfg-block: add 0086 i.mx8m mini sku

Add new product id 0086 Verdin iMX8M Mini DualLite 2GB IT.

Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
10 months agoimx: imx8: print reset cause
Igor Opaniuk [Wed, 31 Jan 2024 12:49:26 +0000 (13:49 +0100)]
imx: imx8: print reset cause

Add support for printing reset cause during boot.

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
10 months agoimx: scu_api: add implementation of sc_pm_reset_reason
Igor Opaniuk [Wed, 31 Jan 2024 12:49:25 +0000 (13:49 +0100)]
imx: scu_api: add implementation of sc_pm_reset_reason

Add implementation of sc_pm_reset_reason() call for obtaining
reset reason.

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
10 months agoboard: phytec: phycore-imx93: Add phyBOARD-Segin-i.MX93 support
Mathieu Othacehe [Tue, 30 Jan 2024 14:50:37 +0000 (15:50 +0100)]
board: phytec: phycore-imx93: Add phyBOARD-Segin-i.MX93 support

Add initial support for the PHYTEC phyBOARD-Segin-i.MX93 board based on
the PHYTEC phyCORE-i.MX93 SoM.

Supported features:
- 1GB LPDDR4 RAM
- eMMC
- external SD
- FEC Ethernet
- debug UART
- watchdog

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Tested-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Yannic Moog <y.moog@phytec.de>
10 months agoimx9: clock: Fix board_interface_eth_init for FEC
Primoz Fiser [Tue, 30 Jan 2024 12:43:37 +0000 (13:43 +0100)]
imx9: clock: Fix board_interface_eth_init for FEC

Commit d5eae216d833 ("net: dwc_eth_qos: Add board_interface_eth_init()
for i.MX93") implemented board_interface_eth_init for i.MX9 platforms.
However it only accounted for the EQOS interface while any board using
FEC as primary Ethernet interface was left out as return value -EINVAL
is always returned from the function in such case.

Fix this by returning 0 (success) when FEC interface is primarily used
instead of EQOS interface on i.MX93.

Fixes: d5eae216d833 ("net: dwc_eth_qos: Add board_interface_eth_init() for i.MX93")
Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Tested-by: Mathieu Othacehe <m.othacehe@gmail.com>
10 months agotools: mkimage: Add support for i.MXRT FlexSPI Header
Jesse Taube [Wed, 24 Jan 2024 02:15:16 +0000 (21:15 -0500)]
tools: mkimage: Add support for i.MXRT FlexSPI Header

Modify imx8m Flex SPI Configuration Block to work with imxrt.
Add more Flex SPI configuration options to Kconfig.

Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx8mn-beacon
10 months agoARM: imx: Enable kaslrseed command on Data Modul i.MX8M Mini/Plus eDM SBC
Marek Vasut [Mon, 22 Jan 2024 14:55:48 +0000 (15:55 +0100)]
ARM: imx: Enable kaslrseed command on Data Modul i.MX8M Mini/Plus eDM SBC

Linux 6.6.y with KASLR enabled would print the following message on boot:
"
KASLR disabled due to lack of seed
"
Enable the 'kaslrseed' command so a random number seed can be pulled
from CAAM and inserted into the /chosen node 'kaslr-seed' property of
Linux kernel DT before boot, thus letting KASLR work properly.

Signed-off-by: Marek Vasut <marex@denx.de>
10 months agotoradex: tdx-cfg-block: Add new apalis and colibri pid
Joao Paulo Goncalves [Mon, 22 Jan 2024 20:09:30 +0000 (17:09 -0300)]
toradex: tdx-cfg-block: Add new apalis and colibri pid

Add new apalis imx6 and colibri imx6/imx7 products IDs.

Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
10 months agofsl-layerscape/soc.c: do not destroy bootcmd environment
Mike Looijmans [Tue, 30 Jan 2024 14:26:56 +0000 (15:26 +0100)]
fsl-layerscape/soc.c: do not destroy bootcmd environment

When an XXX_BOOTCOMMAND isn't defined, the result is that bootcmd is set
to some random memory content. Fix it so that the function does nothing
in that case and leaves the bootcmd environment unmodified.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
10 months agonet: phy: nxp-c45-tja11xx: add tja1120 support
Radu Pirea (NXP OSS) [Wed, 13 Dec 2023 16:14:23 +0000 (18:14 +0200)]
net: phy: nxp-c45-tja11xx: add tja1120 support

Add TJA1120 driver structure and report 1G speed.

Signed-off-by: "Radu Pirea (NXP OSS)" <radu-nicolae.pirea@oss.nxp.com>
10 months agonet: phy: nxp-c45-tja11xx: rename nxp_c45_tja11xx structure
Radu Pirea (NXP OSS) [Wed, 13 Dec 2023 16:14:22 +0000 (18:14 +0200)]
net: phy: nxp-c45-tja11xx: rename nxp_c45_tja11xx structure

Rename nxp_c45_tja11xx structure to nxp_c45_tja1103. The driver will
support more PHYs and nxp_c45_tja11xx is too generic.

Signed-off-by: "Radu Pirea (NXP OSS)" <radu-nicolae.pirea@oss.nxp.com>
10 months agonet: phy: nxp-c45-tja11xx: read PHY the speed from hardware
Radu Pirea (NXP OSS) [Wed, 13 Dec 2023 16:14:21 +0000 (18:14 +0200)]
net: phy: nxp-c45-tja11xx: read PHY the speed from hardware

Read PHY speed from hardware instead of assuming 100Mbps by default.
The TJA1103 works only at 100Mbps, but the driver will support more PHYs.

Signed-off-by: "Radu Pirea (NXP OSS)" <radu-nicolae.pirea@oss.nxp.com>
10 months agonet: phy: nxp-c45-tja11xx: use local definion of features
Radu Pirea (NXP OSS) [Wed, 13 Dec 2023 16:14:20 +0000 (18:14 +0200)]
net: phy: nxp-c45-tja11xx: use local definion of features

Use a local definition for the PHY features. PHY_100BT1_FEATURES are
not defined using the 100BaseT1 bit, so keep this workaround in the driver.

Signed-off-by: "Radu Pirea (NXP OSS)" <radu-nicolae.pirea@oss.nxp.com>
10 months agoMerge branch '2024-02-06-assorted-fixes'
Tom Rini [Wed, 7 Feb 2024 14:47:47 +0000 (09:47 -0500)]
Merge branch '2024-02-06-assorted-fixes'

A number of assorted fixes

10 months agoMerge tag 'u-boot-rockchip-20240207' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 7 Feb 2024 13:33:47 +0000 (08:33 -0500)]
Merge tag 'u-boot-rockchip-20240207' of https://source.denx.de/u-boot/custodians/u-boot-rockchip

- Add board: rv1126 Sonoff iHost board
- rv1126 ddr4 support;
- Enable BOOTSTD_FULL for RK3399 and RK3588;
- rk3036 spl stack addr fix;
- dts sync from linux v6.8-rc1 for rk356x, rk3588, rv1126;
- Enable eMMC HS200 mode by default for rk3568 and rk3588;

10 months agoarm: dts: rockpro64: Add RockPro64 smbios
Shantur Rathore [Mon, 13 Nov 2023 11:23:09 +0000 (11:23 +0000)]
arm: dts: rockpro64: Add RockPro64 smbios

Add smbios information for Pine64 RockPro64 board and enable in
config

Signed-off-by: Shantur Rathore <i@shantur.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
10 months agoblk: host_dev: Fix error code in host_sb_attach_file()
Dan Carpenter [Wed, 31 Jan 2024 07:09:52 +0000 (10:09 +0300)]
blk: host_dev: Fix error code in host_sb_attach_file()

This error path should return -EINVAL instead of success.

Fixes: e261fbf34785 ("blk: host_dev: Sanity check on the size of host backing file")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
10 months agofirmware: ti_sci: Add comment explaining the is_secure code
Dhruva Gole [Tue, 30 Jan 2024 15:00:00 +0000 (20:30 +0530)]
firmware: ti_sci: Add comment explaining the is_secure code

Add a comment to explain the code under is_secure condition of
ti_sci_do_xfer. This will help avoid confusion amongst people who may in
future touch upon this code.

Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
10 months agofirmware: ti_sci: fix the secure_hdr in do_xfer
Dhruva Gole [Tue, 30 Jan 2024 14:59:59 +0000 (20:29 +0530)]
firmware: ti_sci: fix the secure_hdr in do_xfer

The ti_sci driver in U-Boot has support for secure_msg as part of it's
do_xfer function. This let's U-boot send secure messages during boot up.

The protocol to send such secure messages is described as part of the
struct ti_sci_secure_msg_hdr. As part of this, there are 2 fields for
checksum and reserved that occupy the first 4 bytes of any secure
message. This is called as the secure_hdr.

As of now, the secure_hdr needs to be 0 init-ed before sending secure
messages. However the existing code was never putting the zero-inited vars
into the secure_buf, leading to possibility of the first 4 bytes of
secure_buf being possibly garbage.

Fix this by initialising the secure_hdr itself to the secure_buf
location, thus when we make secure_hdr members 0, it automatically ensures
the first 4 bytes of secure_buf are 0.

Fixes: 32cd25128bd849 ("firmware: Add basic support for TI System Control Interface (TI SCI)")
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
10 months agoarm: mach-k3: j721s2_init: Support less than max DDR controllers
Neha Malcom Francis [Tue, 30 Jan 2024 10:23:56 +0000 (15:53 +0530)]
arm: mach-k3: j721s2_init: Support less than max DDR controllers

The number of DDR controllers to be initialised and used should depend
on the device tree with the constraint of the maximum number of
controllers the device supports. Since J721S2 has multiple (2)
controllers, instead of hardcoding the number of probes, move to
depending on the device tree UCLASS_RAM nodes present.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
10 months agodma: ti: k3-udma: Use ring_idx to pair k3 nav rings
MD Danish Anwar [Tue, 30 Jan 2024 06:18:04 +0000 (11:48 +0530)]
dma: ti: k3-udma: Use ring_idx to pair k3 nav rings

Use ring_idx to pair rings. ring_idx will be same as tx flow_id for all
non-negative flow_ids. For negative flow_ids, ring_idx will be tchan->id
added with bchan_cnt.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/ti/k3-udma.c?h=v6.8-rc2#n1686
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Reviewed-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
10 months agovexpress_ca9x4: Enable DM_SERIAL
Ole P. Orhagen [Fri, 26 Jan 2024 12:47:50 +0000 (13:47 +0100)]
vexpress_ca9x4: Enable DM_SERIAL

This commit enables support for DM_SERIAL in the vexpress_ca9x4 boards.

When running the board with the DM_SERIAL driver, the board ran out of
memory in SPL when initialising the DM serial driver.

Thus this required an increase in the pre-allocated SRAM memory. I did
increase it to 0x800, and it now works graciously.

It could probably be set lower, but I do not see any reason not to use the
available SRAM at this point.

Also adds stdout-path to the 'chosen' node in the device tree.

Signed-off-by: Ole P. Orhagen <ole.orhagen@northern.tech>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
10 months agocommon: event: check event_type_name() argument
Heinrich Schuchardt [Sun, 28 Jan 2024 07:58:55 +0000 (08:58 +0100)]
common: event: check event_type_name() argument

In event_type_name() we should avoid possible buffer overruns by checking
the type argument.

Addresses-Coverity-ID: 478862 Out-of-bounds access
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
10 months agoarm: dts: nuvoton: modify npcm8xx reset property
Jim Liu [Wed, 24 Jan 2024 01:54:51 +0000 (09:54 +0800)]
arm: dts: nuvoton: modify npcm8xx reset property

Change reset method from generic to reset driver

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
10 months agoscripts/gen_compile_commands: update to Linux v6.7
Brandon Maier [Mon, 22 Jan 2024 18:45:50 +0000 (18:45 +0000)]
scripts/gen_compile_commands: update to Linux v6.7

Adds support for assembly files and updates the LINE_PATTERN so it
supports both "cmd" and "savedcmd", which allows reverting the U-Boot
modification in commit 97fbb2eb016b ("scripts/gen_compile_commands.py:
adapt _LINE_PATTERN").

Upstream commits:

880946158b011 gen_compile_commands.py: fix path resolve with symlinks in it
9e56d3be4bfd2 gen_compile_commands: Sort output compile commands by file name
52c15e7e79285 gen_compile_commands: Allow the line prefix to still be cmd_
1c67921444bf6 gen_compile_commands: add assembly files to compilation database

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Cc: Joao Marcos Costa <jmcosta944@gmail.com>
10 months agoMerge patch series "board: siemens: clean up subfolders"
Tom Rini [Mon, 5 Feb 2024 18:33:01 +0000 (13:33 -0500)]
Merge patch series "board: siemens: clean up subfolders"

Enrico Leto <enrico.leto@siemens.com> says:

    The common folder was initialially created for the common parts of
    the products based on draco-am355x board family. We have the
    product lines 'pxm2', 'rut' and the base line unfortunately named
    'draco'! Adding the new capricorn-imx8 board family, the files
    were enhanced without cleanup.

    Simplify first EEPROM probe and access that implements both i2c
    with & without driver model. Use abstraction functions for this.

    Move all am355x specifics to a new file 'board_am335x'.

    Clean-up includes, config checks, maintainer.

10 months agosiemens: factoryset: use correct config for soc specific implementation
Enrico Leto [Wed, 24 Jan 2024 14:43:55 +0000 (15:43 +0100)]
siemens: factoryset: use correct config for soc specific implementation

Adding the capricorn board family some parts diverge from draco family.
The switches used were not pertinent and need to be enhanced for each new
board of the capricorn family. Replace them through the SOC name 'AM33XX'
and 'IMX8'.

Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
10 months agosiemens: board: clean up includes
Enrico Leto [Wed, 24 Jan 2024 14:43:54 +0000 (15:43 +0100)]
siemens: board: clean up includes

Many includes were not removed when code parts were moved or removed.

Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
10 months agosiemens: board: clean up products folders vs common
Enrico Leto [Wed, 24 Jan 2024 14:43:53 +0000 (15:43 +0100)]
siemens: board: clean up products folders vs common

The common folder was initialially created for the common parts of the
products based on draco-am355x board family. These are the product lines
'pxm2', 'rut' and the base line named 'draco'!

Adding the new capricorn-imx8 board family, common was enhanced without
cleanup.
- rename 'common/board.c' to 'common/board_am335x.c'
- add 'common/board_am335x.h' for export to the product lines

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
10 months agosiemens: board: etamin: remove deprecated nand config
Enrico Leto [Wed, 24 Jan 2024 14:43:52 +0000 (15:43 +0100)]
siemens: board: etamin: remove deprecated nand config

NAND was used in the early development phase of etamin. The board runs now
on MMC. This setting is no more used -> remove to simplify the board file.

Further clean-up of etamin should remove all NAND settings. Complete clean-
up of etamin board will take place in a separate patch serie.

Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
10 months agosiemens draco: i2c: use driver model for u-boot
Enrico Leto [Wed, 24 Jan 2024 14:43:51 +0000 (15:43 +0100)]
siemens draco: i2c: use driver model for u-boot

Add support for driver model where EEPROM data are read in draco board.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
10 months agosiemens: eeprom: simplify setup & read
Enrico Leto [Wed, 24 Jan 2024 14:43:50 +0000 (15:43 +0100)]
siemens: eeprom: simplify setup & read

Since we have boards using the driver model or not for i2c, use abstraction
function to probe the i2c, check the EEPROM and read from EEPROM.

Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
10 months agosiemens: eeprom: clean up definitions
Enrico Leto [Wed, 24 Jan 2024 14:43:49 +0000 (15:43 +0100)]
siemens: eeprom: clean up definitions

Move the I2C and EEPROM address definitions in common board header.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
10 months agoMerge tag 'rpi-next-2024.04' of https://source.denx.de/u-boot/custodians/u-boot-raspb...
Tom Rini [Mon, 5 Feb 2024 14:31:48 +0000 (09:31 -0500)]
Merge tag 'rpi-next-2024.04' of https://source.denx.de/u-boot/custodians/u-boot-raspberrypi

Add RaspberryPi5 basic support.

Acked-by: Peter Robinson <pbrobinson@gmail.com>
10 months agorockchip: rk3568-generic: Enable eMMC HS200 mode
Jonas Karlman [Wed, 31 Jan 2024 22:07:14 +0000 (22:07 +0000)]
rockchip: rk3568-generic: Enable eMMC HS200 mode

Writing to eMMC using HS200 mode work more reliably then other modes on
RK356x boards.

Add device tree props and enable Kconfig options for eMMC HS200 mode on
the generic RK3566/RK3568 board. Also enable the pinctrl driver in SPL
and add missing rk3568-generic.dtb to Makefile.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk3588-evb: Enable USB support
Andy Yan [Sat, 3 Feb 2024 11:31:07 +0000 (19:31 +0800)]
rockchip: rk3588-evb: Enable USB support

Enable USB releated config to support
boot from usb.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agommc: rockchip_sdhci: Fix HS400 mode write on RK3568
Jonas Karlman [Sun, 4 Feb 2024 20:53:07 +0000 (20:53 +0000)]
mmc: rockchip_sdhci: Fix HS400 mode write on RK3568

Testing has shown that writing to eMMC using HS400 modes on RK3568
result in an ERROR.

Change the tap number for transmit clock to fix this.

Also stop DLL when config_dll() is called to disable DLL.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk35xx: Enable eMMC HS200 mode by default
Jonas Karlman [Sun, 4 Feb 2024 20:53:06 +0000 (20:53 +0000)]
rockchip: rk35xx: Enable eMMC HS200 mode by default

Testing has shown that writing to eMMC using a slower mode then HS200
typically generate an ERROR on first attempt on RK3588.

  # Rescan using MMC legacy mode
  => mmc rescan 0

  # Write a single block to sector 0x4000 fails with ERROR
  => mmc write 20000000 4000 1

  # Write a single block to sector 0x4000 now works
  => mmc write 20000000 4000 1

With the MMC_SPEED_MODE_SET Kconfig option enabled.

Writing to eMMC using HS200 mode work more reliably than slower modes on
RK35xx boards. Enable MMC_HS200_SUPPORT Kconfig option by default to
prefer use of HS200 mode on RK356x and RK3588.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk35xx: Remove use of eMMC DDR52 mode
Jonas Karlman [Sun, 4 Feb 2024 20:53:05 +0000 (20:53 +0000)]
rockchip: rk35xx: Remove use of eMMC DDR52 mode

Testing has shown that writing to eMMC using DDR52 mode does not seem to
work on RK356x and RK3588 boards.

A simple test of writing a single block to e.g. sector 0x4000 fails:

  # Rescan using DDR52 mode
  => mmc rescan 4

  # Write a single block to sector 0x4000 fails with ERROR
  => mmc write 20000000 4000 1

With the MMC_SPEED_MODE_SET Kconfig option enabled.

Fix this by removing the mmc-ddr-1_8v prop from sdhci nodes in affected
board u-boot.dtsi files.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk3588-quartzpro64: Enable AHCI, PCI and USB
Jonas Karlman [Fri, 26 Jan 2024 23:39:05 +0000 (23:39 +0000)]
rockchip: rk3588-quartzpro64: Enable AHCI, PCI and USB

Enable Kconfig options to support AHCI, PCI and USB features. This help
keep rk3588-quartzpro64 in sync with other RK3588 boards.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk3588: Enable eMMC HS200 mode
Jonas Karlman [Fri, 26 Jan 2024 23:26:09 +0000 (23:26 +0000)]
rockchip: rk3588: Enable eMMC HS200 mode

Writing to eMMC using HS200 mode work more reliably then other modes on
RK3588 boards.

Enable MMC_HS200_SUPPORT Kconfig option to prefer use of HS200 mode.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Weizhao Ouyang <o451686892@gmail.com>
10 months agorockchip: rk35xx: Remove unnecessary status props
Jonas Karlman [Fri, 26 Jan 2024 22:14:55 +0000 (22:14 +0000)]
rockchip: rk35xx: Remove unnecessary status props

Remove unnecessary status props from rk35xx u-boot.dtsi files, regular
device tree files or default value already enable the affected nodes.

Also reorder bootph-pre-ram and clock-frequency props alphabetically in
rk3588s-u-boot.dtsi uart2 node.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk3588: Add default u-boot,spl-boot-order prop
Jonas Karlman [Fri, 26 Jan 2024 22:14:54 +0000 (22:14 +0000)]
rockchip: rk3588: Add default u-boot,spl-boot-order prop

Add a default u-boot,spl-boot-order prop to rk3588s-u-boot.dtsi and
remove the prop from board u-boot.dtsi files using the default value.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk3588: Sync device tree from linux v6.8-rc1
Jonas Karlman [Fri, 26 Jan 2024 22:14:53 +0000 (22:14 +0000)]
rockchip: rk3588: Sync device tree from linux v6.8-rc1

Sync rk3588 device tree from linux v6.8-rc1.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
10 months agorockchip: rk3588: Sync device tree with linux v6.7
Jonas Karlman [Fri, 26 Jan 2024 22:14:52 +0000 (22:14 +0000)]
rockchip: rk3588: Sync device tree with linux v6.7

Sync rk3588 device tree from linux v6.7.

Also drop the rockchip,rk3568-dwc3 compatible now that dwc3-generic
driver support the rockchip,rk3588-dwc3 compatible.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
10 months agorockchip: rk356x: Move common uart2 props to rk356x-u-boot.dtsi
Jonas Karlman [Fri, 26 Jan 2024 22:14:51 +0000 (22:14 +0000)]
rockchip: rk356x: Move common uart2 props to rk356x-u-boot.dtsi

Move uart2 bootph-pre-ram and clock-frequency props from board to SoC
u-boot.dtsi. Regular board device tree already enables the uart2 node,
so status prop is dropped from u-boot.dtsi file.

Also remove unnecessary stdout-path = &uart2, regular board device tree
already provide a stdout-path = "serial2:" value.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk356x: Sync device tree from linux v6.8-rc1
Jonas Karlman [Fri, 26 Jan 2024 22:14:50 +0000 (22:14 +0000)]
rockchip: rk356x: Sync device tree from linux v6.8-rc1

Sync rk356x device tree from linux v6.8-rc1.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rk356x: Sync device tree from linux v6.7
Jonas Karlman [Fri, 26 Jan 2024 22:14:49 +0000 (22:14 +0000)]
rockchip: rk356x: Sync device tree from linux v6.7

Sync rk356x device tree from linux v6.7.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agoarch: arm: mach-rockchip: Kconfig: Enable BOOTSTD_FULL for RK3399 and RK3588
Shantur Rathore [Sun, 21 Jan 2024 22:04:47 +0000 (22:04 +0000)]
arch: arm: mach-rockchip: Kconfig: Enable BOOTSTD_FULL for RK3399 and RK3588

Rockchip RK3399 and RK3588 SoCs can support wide range of bootflows.
Without full bootflow commands, it can be difficult to
figure out issues if any, hence enable by default.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Shantur Rathore <i@shantur.com>
10 months agorockchip: rv1126: Move RAM disk address
Tim Lunn [Wed, 24 Jan 2024 03:26:02 +0000 (14:26 +1100)]
rockchip: rv1126: Move RAM disk address

OPTEE gets loaded into a memory region overlapping with the ram disk.

Fix the ramdisk address so it doesn't overlap with the OPTEE memory
region.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: rv1126: select SPL_OPTEE_IMAGE
Tim Lunn [Wed, 24 Jan 2024 03:26:01 +0000 (14:26 +1100)]
rockchip: rv1126: select SPL_OPTEE_IMAGE

rv1126 requires OPTEE as it provides pcsi support. Mainline Linux
kernel will fail to boot without this.

Select SPL_OPTEE_IMAGE when building FIT image. TEE must be provided
when building.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agoboard: rockchip: Add Sonoff iHost board
Tim Lunn [Wed, 24 Jan 2024 03:26:00 +0000 (14:26 +1100)]
board: rockchip: Add Sonoff iHost board

Sonoff iHost is gateway device designed to provide a Smart Home Hub,
it is based on Rockchip RV1126. There is also a version with 2GB RAM
based off the RV1109 dual core SoC however this works with the same
config as the RV1126 for uboot purposes.

Features:
- Rockchip RV1126
- 4GB DDR4
- 8GB eMMC
- microSD slot
- RMII Ethernet PHY
- 1x USB 2.0 Host
- 1x USB 2.0 OTG
- Realtek RTL8723DS WiFi/BT
- EFR32MG21 Silabs Zigbee radio
- Speaker/Microphone

Signed-off-by: Tim Lunn <tim@feathertop.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
10 months agorockchip: Convert rv1126 to standard boot
Tim Lunn [Wed, 24 Jan 2024 03:25:59 +0000 (14:25 +1100)]
rockchip: Convert rv1126 to standard boot

RV1126 soc appears to have been missed with the conversion of
rockchip socs to standard boot.

Remove remnants of distro boot for rv1126 common and the one
existing board.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Link: https://lore.kernel.org/all/20230407223645.v8.8.I4cf7708a1ba953b9abd81375d93af34665c7b251@changeid/
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>