Commit Graph
93396 Commits
Author SHA1 Message Date
Tom Rini 77ba281c91 Merge patch series "'eeprom' command improvements"
Marek Behún <kabel@kernel.org> says:

This series contains improvements for the 'eeprom' command:
- refactors
- fixes
- improvements
- ability to use driver model EEPROMs (uclass UCLASS_I2C_EEPROM)
- more flexible EEPROM layout support

It should not cause any behavior change for any existing board.

This series is a dependency for some DDR issue fixes for Turris Omnia.
I will be sending that one separately.

github PR link (with CI):
  https://github.com/u-boot/u-boot/pull/540
- there is a failure for
    test.py for sandbox sandbox_clang
  but it seems unrelated to these changes
2024-06-07 10:48:41 -06:00
Marek BehúnandTom Rini 57a9e8d86f cmd: eeprom: Extend to EEPROMs probed via driver model
Extend the 'eeprom' command to allow accessing EEPROMs probed via
driver model, uclass UCLASS_I2C_EEPROM.

When the CONFIG_I2C_EEPROM config option is enabled (and so the
i2c-eeprom driver is built), the 'eeprom' command now accepts driver
model device name as EEPROM specifier for the 'eeprom' command, in
addition to the legacy [[bus] devaddr] specifier.

Moreover if no device specifier is given, then the first
UCLASS_I2C_EEPROM device is used, if found.

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:48:00 -06:00
Marek BehúnandTom Rini e5dbc80fe0 cmd: eeprom: Don't read/write whole EEPROM if not necessary
Don't read/write whole EEPROM if not necessary when printing / updating
EEPROM layout fields. Only read/write layout.data_size bytes.

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:48:00 -06:00
Marek BehúnandTom Rini e9774afedd cmd: eeprom: Refactor command execution into function by action
Refactor the eeprom_execute_command() function into separate functions
do_eeprom_rw(), do_eeprom_print() and do_eeprom_update().

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:48:00 -06:00
Marek BehúnandTom Rini 15f0536f29 cmd: eeprom: Refactor eeprom device specifier parsing
In preparation for allowing to access eeprom by driver-model device
name, refactor the eeprom device specifier parsing. Instead of filling
two parameters (i2c_bus, i2c_addr), the parsing function now fills one
parameter of type struct eeprom_dev_spec.

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:47:59 -06:00
Marek BehúnandTom Rini fda747c8f1 cmd: eeprom: Deduplicate parse_i2c_bus_addr() calls
Deduplicate the calls to parse_i2c_bus_addr().

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:47:59 -06:00
Marek BehúnandTom Rini 2d49dafe4a cmd: eeprom: Hide eeprom layout versioning behind a Kconfig option
Add a new Kconfig option EEPROM_LAYOUT_VERSIONS, and hide eeprom
layout versionsing code behind it. Only print the relevant help in
'eeprom' command usage if this option is enabled.

Enable this new option for cm_fx6_defconfig and cm_t43_defconfig.
These are the only boards using EEPROM layout versioning.

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:47:59 -06:00
Marek BehúnandTom Rini 642ec48c76 cmd: eeprom: Fix usage help for the eeprom command
The bus and devaddr arguments of the eeprom command are optional, and if
only one is given, it is assumed to be devaddr. Change the usage help
from
  <bus> <devaddr>
to
  [[bus] [devaddr]

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:47:59 -06:00
Marek BehúnandTom Rini 951dc4e077 common: eeprom_field: Drop unnecessary comparison
The byte variable is of type unsigned char, it is never less than zero.
The error case is handled by *endptr, so drop the comparison altogether.

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:47:59 -06:00
Marek BehúnandTom Rini 96dfa5869d common: eeprom_field: Fix updating binary field
The __eeprom_field_update_bin() function is expected to parse a hex
string into bytes (potentially in reverse order), but the
simple_strtoul() function is given 0 as base. This does not work since
the string does not contain '0x' prefix. Add explicit base 16.

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:47:59 -06:00
Marek BehúnandTom Rini 15378a3fe1 common: eeprom_layout: Split field finding code from the field update function
Split the eeprom layout field finding code from the
eeprom_layout_update_field() function in order to make it usable in
alternative implementations of update method.

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:47:59 -06:00
Marek BehúnandTom Rini a804c8dc5f common: eeprom_layout: Assign default layout methods and parameters before specific ones
Assign the default eeprom layout parameter .data_size and methods
.print() and .update() before calling eeprom_layout_assign() in
eeprom_layout_setup().

This allows eeprom_layout_assign() to overwrite these if needed.

Signed-off-by: Marek Behún <kabel@kernel.org>
2024-06-07 10:47:59 -06:00
Tom Rini 227be29df3 Merge tag 'v2024.07-rc4' into next
Prepare v2024.070-rc4
2024-06-04 08:09:09 -06:00
Tom Rini c0ea27bccf Prepare v2024.07-rc4
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-06-03 18:34:59 -06:00
Tom Rini 15d0dcc0ec Merge tag 'u-boot-imx-next-20240603' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/20956

- Support different RAM sizes on imx8m phycoce boards.
- Support new toradex variants.
- Support Samsung 4GB DDR and Realtek RTL8211E PHY on imx8mm-cl-iot-gate.
- Convert imx8mm-phycore and imx8mp-phycore boards to use OF_UPSTREAM.
2024-06-03 11:42:51 -06:00
Tom Rini 38ba407ff4 Merge branch 'next-cleanup' of https://source.denx.de/u-boot/custodians/u-boot-sh into next 2024-06-03 11:42:38 -06:00
Tom Rini e9ac56e222 Merge https://source.denx.de/u-boot/custodians/u-boot-samsung 2024-06-03 09:48:03 -06:00
Tom Rini 45ab5baacd Merge branch 'master-cleanup' of https://source.denx.de/u-boot/custodians/u-boot-sh 2024-06-03 09:47:43 -06:00
Fabio EstevamandFabio Estevam fb95661116 imx8mm-cl-iot-gate: Add support for the Realtek RTL8211E PHY
Newer imx8mm-cl-iot-gate versions are populated with a Realtek RTL8211E
PHY instead of the Atheros AR8033.

Adapted Compulab's patch from:
https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8_5.10.72/recipes-bsp/u-boot/compulab/imx8mm/0125-imx8mm-net-enable-phy-Realtek-RTL8211E.patch

to support both PHYs in U-Boot.

Signed-off-by: Fabio Estevam <festevam@denx.de>
2024-06-03 12:14:29 -03:00
Fabio EstevamandFabio Estevam 93bfb458f4 imx8mm-cl-iot-gate: Add support for Samsung 4GB DDR
Newer versions of the imx8mm-cl-iot-gate boards may come populated with a
Samsung 4GB DDR model.

Add support for it.

Signed-off-by: Fabio Estevam <festevam@denx.de>
2024-06-03 12:14:29 -03:00
Benjamin HahnandFabio Estevam 95cf918f16 board: phycore_imx8mp: enable setting 2GHz timings without RAM size
make it possible to set the RAM timing frequency statically independent
from the RAM size. Fixed RAM timing frequency can be used while the
RAM size is still determined by the EEPROM image.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2024-06-03 12:14:00 -03:00
Teresa RemmetandFabio Estevam 8869c2324d board: phytec: phycore_imx8mp: Make RAM size configuration fix
We might not be able to always rely on the EEPROM introspection data.
So add a config option alternative which configures the RAM size
to a fix value.

We still try to read the EEPROM introspection data at this point.
So we can print the SoM information if available.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2024-06-03 12:14:00 -03:00
Teresa RemmetandFabio Estevam cff451e03f board: phytec: phycore_imx8mp: Add support for different RAM sizes
Add support for different RAM sizes and speed grades on the
phyCORE-i.MX8MP.
Add support for 1GB 1.5GHz, 1GB 2GHz, 4GB 1.5GHz,
4GB 2GHz and 8GB 2GHz RAM.
The RAM size and speed grade is detected by the information
stored in the EEPROM on the SoM.

Co-developed-by: Benjamin Hahn <B.Hahn@phytec.de>
Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Co-developed-by: Yannic Moog <y.moog@phytec.de>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
Co-developed-by: Yashwanth Varakala <y.varakala@phytec.de>
Signed-off-by: Yashwanth Varakala <y.varakala@phytec.de>
Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2024-06-03 12:14:00 -03:00
Teresa RemmetandFabio Estevam 7d1895bd4b board: phytec: phycore-imx8mp: spl: Fix syle issue
Use tabs instead of spaces.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2024-06-03 12:14:00 -03:00
Yannic MoogandFabio Estevam 518c40dfa0 arm: imx8mp-phycore: move to OF_UPSTREAM
The PHYCORE_IMX8MP is used by the phyBOARD-Pollux. Migrate board to
OF_UPSTREAM. Linux kernel device tree for the board can be used as is,
corresponding U-Boot device tree files are removed. U-Boot tweaks are
kept unchanged.

Signed-off-by: Yannic Moog <y.moog@phytec.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Teresa Remmet <t.remmet@phytec.de>
2024-06-03 12:13:41 -03:00
Yannic MoogandFabio Estevam c16aa668fd arm: imx8mm-phycore: move to OF_UPSTREAM
The PHYCORE_IMX8MM is used by the phyBOARD-Polis and the
phyGATE-Tauri-L. Migrate both boards to OF_UPSTREAM. Linux kernel device
trees for both boards can be used as is, corresponding U-Boot device
tree files are removed. U-Boot tweaks are kept unchanged.

Signed-off-by: Yannic Moog <y.moog@phytec.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Teresa Remmet <t.remmet@phytec.de>
2024-06-03 12:13:41 -03:00
Emanuele GhidoliandFabio Estevam a4e37613bd toradex: tdx-cfg-block: add verdin i.mx8m mini 0090 pid4
Add new PID4 0090 Verdin iMX8M Mini Quad 4GB WB ET to support
the new hardware variant.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-06-03 12:13:22 -03:00
Emanuele GhidoliandFabio Estevam ce53f46f33 toradex: tdx-cfg-block: add verdin imx95 sku 0089 pid4
Add new PID4 0089 Verdin iMX95 Hexa 16GB WB IT to config block handling.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-06-03 12:13:22 -03:00
Emanuele GhidoliandFabio Estevam 76a24b0f10 toradex: tdx-cfg-block: add aquila am69 sku 0088 pid4
Add new PID4 0088 Aquila AM69 Octa 32GB WB IT to config block handling.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-06-03 12:13:22 -03:00
Emanuele GhidoliandFabio Estevam 2884e5df69 board: toradex: verdin-imx8mm: increase maximum addressable ram to 4GB
Add support for SKUs with higher memory sizes.
Actual memory size is auto-detected.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-06-03 12:13:22 -03:00
Emanuele GhidoliandFabio Estevam 3ca48ec85d board: toradex: verdin-imx8mm: add 4 GB lpddr4 memory support
Add support for MT53E512M32D1ZW-046 IT:C memory.
This 4 GB memory has 17 row bits instead of 16 and requires 380 ns of
tRFC (tRFCab) instead of 280 ns due to increased channel density to 16 Gb.
Both modifications are retro-compatible with previous memories.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-06-03 12:13:22 -03:00
Marek Vasut 63da3a795e ARM: dts: renesas: Drop R8A779H0 V4M DTs with OF_UPSTREAM counterparts
Remove R8A779H0 V4M DTs which are now replaced by OF_UPSTREAM counterparts.
No functional change expected.

This patch finalizes OF_UPSTREAM conversion of R8A779H0 V4M which DTs landed
in Linux 6.9 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
2024-06-02 02:30:13 +02:00
Marek Vasut 56f668e25e ARM: dts: renesas: Switch to using upstream DT on Renesas R8A779H0 V4M
Enable OF_UPSTREAM to use upstream DT and add renesas/ prefix to the
DEFAULT_DEVICE_TREE. And thereby directly build DTB from dts/upstream/src/
including *-u-boot.dtsi files from arch/$(ARCH)/dts/ directory.

This patch finalizes OF_UPSTREAM conversion of R8A779H0 V4M which DTs
landed in Linux 6.9 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
2024-06-02 02:30:13 +02:00
Adam FordandMarek Vasut ecfa301911 configs: rzg2_beacon: Realign ENV location and offset
The ENV size and offset were changed to different
values in Beacon's downstream release.  Change them to the
same values as the downstream for consistent behavior.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-06-02 02:30:01 +02:00
Adam FordandMarek Vasut 7ab8406c49 renesas: beacon-rzg2m: Add Marek to MAINTAINER file
Since any changes to the RZ/G2 family go through Marek's tree,
update the MAINTAINER file to automatically show his name
when running get_maintainer.pl.  Without this, he is not
copied.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-06-02 02:30:01 +02:00
Marek Vasut f34c5cd11b ARM: dts: renesas: Reserve space in 64bit R-Car DTs
Reserve 4 kiB of space in 64bit R-Car DTs when those DTs are compiled
to permit patching in OpTee-OS /firmware node, /reserved-memory node,
possibly also additional /memory@ nodes and RPC node by TFA.

This duplicates behavior in arch/arm/dts/Makefile with OF_UPSTREAM.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
2024-06-01 21:52:19 +02:00
Marek Vasut 7764f147f9 ARM: dts: renesas: Remove leftovers after OF_UPSTREAM conversion
Remove leftover DTSI files after OF_UPSTREAM conversion.
Those are no longer used and no longer necessary, remove them.
No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Adam Ford <aford173@gmail.com>
2024-06-01 21:52:07 +02:00
Tom Rini c2d15c4b79 Merge https://source.denx.de/u-boot/custodians/u-boot-riscv
- board: fix support for icicle
- board: support Star64 board
- andes: minor fixes
- riscv: deprecate cache enablement in start.S
2024-05-30 07:23:30 -06:00
Tom Rini b1d2af984f Merge patch series "omap3: igep0x00: Fix boot failure and modernize the boards support"
Javier Martinez Canillas <javier@dowhile0.org> says:

Hello,

I noticed that the IGEPv2 board did not boot anymore with mainline U-Boot.
This was caused by a driver change to allocate its platform data before
relocation and U-Boot not having enough pre-relocation heap size for this.

This series fixes this issue and also makes the board support more modern,
by enabling DM for SPL and migrating the IGEP boards to use upstream DTBs.
2024-05-30 07:07:51 -06:00
Javier Martinez CanillasandTom Rini c0c173d813 omap3: igep0x00: Migrate to use upstream DT
Enable OF_UPSTREAM to use upstream DT and add a ti/omap/ prefix to the
DEFAULT_DEVICE_TREE config option.

That way, a DTS from the upstream dts/upstream/src/ directory is used
instead of the arch/$(ARCH)/dts/ directory. These in turn are removed.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2024-05-30 07:07:44 -06:00
Javier Martinez CanillasandTom Rini 261bb9c4fa omap3: igep0x00: Update for DM SPL support
This change is heavily based on commit e0cc7df9fd ("omap3_beagle: Update
for DM SPL support"), that did the same update for the OMAP3 Beagle board.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2024-05-30 07:07:44 -06:00
Javier Martinez CanillasandTom Rini 2c35704d97 omap3: igep0x00: Drop unused SPI support
There are no SPI peripherals in neither the IGEPv2 board nor the IGEP COM
Module, so there's no reason to have this enabled in the boards defconfig.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2024-05-30 07:07:44 -06:00
Javier Martinez CanillasandTom Rini 690a214b8a omap3: igep00x0: Increase malloc() pool size
The IGEPv2 board boot started to fail since the commit afd4f15a39 ("spi:
omap3_spi: Read platform data in ofdata_to_platdata()"). Because this made
the OMAP3 SPI controller driver to allocate its platform data before doing
a relocation, but the igep0x00 config sets this pool size to just 1 KiB.

Increase the pre-relocation malloc heap size to 16 KiB, as is set by other
OMAP3 boards. This not only restores booting but also makes it consistent.

Leave the SPL pool size to the previous 1 KiB size since 16 KiB may not be
a possible size in that constrained environment and is also the value that
is set by other OMAP3 boards.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2024-05-30 07:07:44 -06:00
Leo Yu-Chi Liang 1d29c718b7 andes: Use UCCTLCOMMAND instead of MCCTLCOMMAND
Use CSR_UCCTLCOMMAND instead of CSR_MCCTLCOMMAND
to do cache flush operation in M-mode and S-mode.

Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-05-30 16:01:13 +08:00
Leo Yu-Chi Liang cea0ed2e3f riscv: remove cache enablement in start.S
Cache could be enabled in harts_early_init board-specific hook,
so remove cache enablement in start.S

Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-05-30 16:01:09 +08:00
Leo Yu-Chi Liang ceec476114 andes: l2 cache driver: fixes typos and cctl status
Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-05-30 16:01:06 +08:00
H BellandLeo Yu-Chi Liang a0dce09222 board: starfive: support Pine64 Star64 board
Add documentation files

Signed-off-by: Henry Bell <dmoo_dv@protonmail.com>
Cc: ycliang@andestech.com
Cc: heinrich.schuchardt@canonical.com
Reviewed-by: E Shattow <lucent@gmail.com>
2024-05-30 16:01:00 +08:00
H BellandLeo Yu-Chi Liang 7ebf7e77c0 board: starfive: support Pine64 Star64 board
Similar to the Milk-V Mars, The Star64 board contains few differences to the
VisionFive 2 boards, so can be part of the same U-boot build.

Signed-off-by: Henry Bell <dmoo_dv@protonmail.com>
Cc: ycliang@andestech.com
Cc: heinrich.schuchardt@canonical.com
Reviewed-by: E Shattow <lucent@gmail.com>
2024-05-30 16:01:00 +08:00
Conor DooleyandLeo Yu-Chi Liang 684775fec9 board: microchip: icicle: make both ethernets optional
A given AMP configuration for a board may make either one, or neither
of, the ethernet ports available to U-Boot. The Icicle's init code will
fail if mac1 is not present, so move it to the optional approach taken
for mac0.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-05-30 16:00:52 +08:00
Conor DooleyandLeo Yu-Chi Liang d4573c05cb board: microchip: icicle: correct type for node offset
Node offsets returned by libfdt can contain negative error numbers, so
the variable type should be "int". As things stand, if the ethernet
nodes are not found in the early init callback, the if (node < 0) tests
pass and the code errors out while trying to set the local-mac-address
for a non-existent node.

Fixes: 64413e1b7c ("riscv: Add Microchip MPFS Icicle Kit support")
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-05-30 16:00:52 +08:00