93612 Commits

Author SHA1 Message Date
Tom Rini
01a5d7547e Merge patch series "EFI: ti: Enable EFI capsule updates"
Jonathan Humphreys <j-humphreys@ti.com> says:

Enable on disk capsule updates, which includes defining the firmware
components (tiboot3, spl, u-boot) and enabling processing of raw capsule
updates.

This is enabled for several TI SoC based platforms: AM64, AM62, AM62p,
AM69, BeaglePlay, J7, and BeagleboneAI. The configs to enable this are in a
single base config file. This will make it more scalable to add additional
EFI capsule features (like authentication) across all TI boards that have
capsules enabled.

This series also includes enabling serial flash DFU for AM62 and MMC DFU
for beagleplay.
2024-06-18 10:47:10 -06:00
Jonathan Humphreys
3e6fd29aa8 doc: board: ti: j784s4: document OSPI NOR layout
Added OSPI NOR flash layout diagram, as well as example commands to flash
firmware to it.  Added OSPI boot mode pin setting.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
f29f6f1262 configs: j784s4: Enable EFI capsule update
Enable on disk, raw capsule update.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
a4d5e5daa8 board: sk-am69: Define capsule update firmware info
Define the firmware components updatable via EFI capsule update, including
defining capsule GUIDs for the various firmware components for the AM69
SK.

TODO: possibly make the struct's sk specific.
TODO: add doc commit (and make sure doc is sk/NOR specific, and add OSIP
boot mode)
TODO: update doc to show sk defconfig when building

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
865b272c84 configs: j784s4_evm: Enable serial flash DFU support
Enable serial flash DFU support for capsule update of firmware.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
25e171c5a0 configs: beagleboneai64: Enable EFI capsule update
Enable on disk, raw capsule update.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
c6de7a339e board: beagleboneai64: Define capsule update firmware info
Define the firmware components updatable via EFI capsule update, including
defining capsule GUIDs for the various firmware components for the
BeagleBoneAI64.

Note this involved creating BeagleBoneAI64's own beagleboneai64.h board
header file instead of reusing j721e_evm's.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
a5cf86d584 doc: board: ti: am62px: document OSPI layout
Added OSPI flash layout diagram, as well as example commands to flash
firmware to it.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
81ab0f0fe0 configs: am62px: Enable EFI capsule update
Enable on disk, raw capsule update.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
0af78a1a72 board: am62px: Define capsule update firmware info
Define the firmware components updatable via EFI capsule update, including
defining capsule GUIDs for the various firmware components for the AM62px
SK.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
3b7a4b5d1a doc: board: ti: am62x: document OSPI layout
Added OSPI flash layout diagram, as well as example commands to flash
firmware to it.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
0040f07e5a configs: am62x: Enable EFI capsule update
Enable on disk, raw capsule update.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
2af879df86 board: am62x: Define capsule update firmware info
Define the firmware components updatable via EFI capsule update, including
defining capsule GUIDs for the various firmware components for the AM62x
SK.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
8e117372c2 configs: beagleplay: Enable EFI capsule update
Enable on disk, raw capsule update.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
29ec1c8f3f configs: beagleplay: Enable DFU for MMC
MMC DFU is required for capsule updates.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
195f0e3a93 board: beagleplay: Define capsule update firmware info
Define the firmware components updatable via EFI capsule update, including
defining capsule GUIDs for the various firmware components for the
BeaglePlay.

Note this involved creating BeaglePlay's own beagleplay.h board header file
instead of reusing am62_evm's.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
44ba2836d4 doc: board: ti: j721e: document OSPI layout
Updated OSPI flash layout diagram.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
40abc84b1d configs: j721e: Enable EFI capsule update
Enable on disk, raw capsule update.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
9bd6cc292f board: j721e: Define capsule update firmware info
Define the firmware components updatable via EFI capsule update, including
defining capsule GUIDs for the various firmware components for the
SK-TDA4VM.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
11c29ef01a doc: board: ti: am64x: document OSPI layout
Added OSPI flash layout diagram, as well as example commands to flash
firmware to it.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
86c6dd7491 configs: am64x: Enable EFI capsule update
Enable on disk, raw capsule update.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
5b84d2de5e board: am64x: Define capsule update firmware info
Define the firmware components updatable via EFI capsule update, including
defining capsule GUIDs for the various firmware components for the AM64x
SK.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
287c08e413 configs: ti: Create base EFI capsule configs for TI K3 devices
To better scale with the number of boards, separate TI K3 EFI capsule
configs into its own file that can be shared across TI K3 boards.  This
will allow any platform level config changes to be done once.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
bf240862a8 doc: ti: k3: Correct spelling mistakes and improve clarity
Few cosmetic fixes for clarity and spelling mistakes.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
cedad0670e doc: uefi: capsules: Add Capsule Update porting section
Created a capsule update porting section in the documentation that outlines
the steps a board developer must do when porting from an existing reference
board implementation.

In particular, added a big warning that new capsule GUID's need to be
defined.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-18 10:43:29 -06:00
Jonathan Humphreys
2c92ec69d1 configs: j784s4: Enable basic EFI CMD support
Enable basic configs for EFI CMD support.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:18 -06:00
Jonathan Humphreys
eda78690bf configs: j784s4: Enable RTC emulation
Enable RTC emulation for System Ready IR tests.

Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-18 10:43:12 -06:00
Quentin Schulz
512ed81e56 smbios: only look for a SYSINFO udevice if SYSINFO support is enabled
If SYSINFO support isn't enabled, it's a given that uclass_first_device
for UCLASS_SYSINFO will not find anything, therefore let's skip the test
entirely.

This allows to get rid of the following debug message that may be
confusing:

Cannot find uclass for id 118: please add the UCLASS_DRIVER() declaration for this UCLASS_... id

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-18 10:41:15 -06:00
Tom Rini
ca4becc149 Merge patch series "*** Various fixes & improvements for phycore-AM6* SoMs ***"
Wadim Egorov <w.egorov@phytec.de> says:

It includes various fixes and improvements for phyCORE-AM62x and
phyCORE-AM64x SoMs. Notable is the last patch which prepares for use
with future ECC memory fixups.
2024-06-18 10:29:35 -06:00
Wadim Egorov
680fcbcf55 board: phytec: phycore-am62x: Use memory nodes in higher boot stages
There is no need to reread the EEPROM multiple times in different stages
to detect the RAM size. We can do this once at an early stage and let
higher stages decode memory nodes using fdtdec.
Make sure to pass fixup memory nodes before passing to u-boot stage.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
86c2af9c2e doc: board: phytec: phycore-am6: Use mtd commands
Update Flash to SPI NOR chapter for use with mtd commands.
This is more convenient as we do not have to remember any
offsets in the SPI.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
aa52bf1af7 doc: board: phytec: phycore-am62x: Add USB DFU switch config
Provide boot switch config for USB DFU boot.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
9fa4865547 configs: phycore_am6xx: Update MTD & SPI configs
Enable mtd command and remove SPI NOR flashes we do not
populate on our SoMs.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
623c337c34 board: phytec: phycore-am62x: Pull in k3_dfu.env
Pull in ti/k3_dfu.env for dfu_alt_info_ram in SPL stage.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
2bc8c110ec configs: phycore_am62x_a53_defconfig: Enable DFU boot
Enable configs required for booting via DFU.
Configs taken from the am62x_a53_usbdfu.config config fragment.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
6ad83912a4 arm: dts: k3-am625-phyboard-lyra-rdk: Enable usb port in u-boot
Enable usb0 in all boot phases for use with DFU.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
001550b498 configs: phycore_am64x: Update environment location
Update environment location to align with OSPI fixed-partition
definitions and provide a redundant environment at a 2nd location.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
3f3f7bf84d configs: phycore_am62x: Update environment location
Update environment location to align with OSPI fixed-partition
definitions and provide a redundant environment at a 2nd location.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:29:00 -06:00
Wadim Egorov
aca776e6dc board: phytec: phycore-am62x: Fix CONFIG_SPL_BOARD_INIT
Make sure spl_board_init() gets compiled by enabling missing
CONFIG_SPL_BOARD_INIT and including hardware.h.

Fixes: 085cd6459dae ("board: phytec: am62x: Add PHYTEC phyCORE-AM62x SoM")

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:28:59 -06:00
Wadim Egorov
e9c4448f80 board: phytec: common: k3: Copy fixed partitions to OS device tree
Copy fixed-partitions nodes from U-Boot device tree to OS device tree.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:28:59 -06:00
Nathan Morrisson
43f078ca83 arch: arm: dts: k3-am642-phyboard-electra: Add fixed partitions
Add a fixed partitions node to the AM64x device tree so that it can
be used to fixup the Linux device tree.

Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:28:59 -06:00
Nathan Morrisson
c99b2a9e9e arch: arm: dts: k3-am625-phyboard-lyra: Add fixed partitions
Add a fixed partitions node to the AM62x device tree so that it can
be used to fixup the Linux device tree.

Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Daniel Schultz <d.schultz@phytec.de>
2024-06-18 10:28:59 -06:00
Tom Rini
f8eb6b4a03 STM32MP15/13
------------
   _ Reserve OPTEE area in EFI memory map
   _ net: dwc_eth_qos: add support for phy-reset-gpios property
   _ Add eth1/2 support for stm32mp13
   _ Add PWR regulator support for stm32mp13
   _ Add pinmux nodes for DH electronics STM32MP13xx DHCOR SoM and DHSBC board
   _ Add support for STM32MP13xx DHCOR SoM and DHSBC board
   _ Set PLL4_P to 125Mhz for ETH_CLK for stm32mp157c-odyssey
   _ Use internal clock for Tx for stm32mp157c-odyssey
   _ Fix incorrect PHY address for stm32mp157c-odyssey
   _ Add phy-reset-gpios property to ethernet node for stm32mp157c-odyssey
   _ Add generic SoM compatible to STM32MP15xx DH electronics DHSOM
   _ Auto-detect second MAC on STM32MP15xx DH electronics DHCOM
 -----BEGIN PGP SIGNATURE-----
 
 iQJQBAABCgA6FiEEXyrViUccKBz9c35Jysd4L3sz/6YFAmZxMkMcHHBhdHJpY2Uu
 Y2hvdGFyZEBmb3NzLnN0LmNvbQAKCRDKx3gvezP/pkt2D/9uOTIBoGBfF5p4ZLDL
 CuEjWT9HPGfRwoDK+b31NI6MDl34tWOqNcykK3ePucLzcNVxlxQN6jND0hTISksG
 xpL7KhqWJNmi4joanIdQCHjMjLP0Lo9X7TzjJhG2rwkJQ0Z5nP2OZhxlGoZH+tyM
 funpVh8OanAmgPXMl7iUgz9mzALXfavPedXCksFouuPLl+2s7W3ACPuokzTfJf9R
 a6befEN1EEgNYrJda21rw8rchhGbX93bjcBngrgZvHCxjHveUgDXDJHQyRxtEV3Y
 qgmLeE0WYd5YmDWNt9fbW89OQt1iGNM6DaDl99kqF3dDy1mPXnF6G5APy2al2KN8
 IdAp30Hy4CQ1nCjPjfl/789rFQeCJwTzBE6+28PnBaJ/2i4CwwJiRPrsEn0EJVdV
 0WPePQJvLDBYB9qg+tBpZhERIHMEwKL7oBQRKGXDnT7/wJ3a8qiImQ9JfYp3a7pB
 wyYviripadyYfcdz6H6RaqjW736/NbRnu8zUN8GT34AOroeYxtq044zDHTMlp6ft
 WjcKcvjofWR5eL8a7AfbS2Jm/MCGBSU98/HSZEZHfA+Ky8QUtiMWugERjOH76BpT
 1b/JeRkD62oABHfOSY4ptyDAldkQiqjQfsmEfK40EtKg6J1OuRt8JCCxt44bTzam
 oreRZTn4/zR79AJWYugdLpKMpA==
 =tW2d
 -----END PGP SIGNATURE-----

Merge tag 'u-boot-stm32-20240618' of https://source.denx.de/u-boot/custodians/u-boot-stm into next

STM32MP15/13
------------
  _ Reserve OPTEE area in EFI memory map
  _ net: dwc_eth_qos: add support for phy-reset-gpios property
  _ Add eth1/2 support for stm32mp13
  _ Add PWR regulator support for stm32mp13
  _ Add pinmux nodes for DH electronics STM32MP13xx DHCOR SoM and DHSBC board
  _ Add support for STM32MP13xx DHCOR SoM and DHSBC board
  _ Set PLL4_P to 125Mhz for ETH_CLK for stm32mp157c-odyssey
  _ Use internal clock for Tx for stm32mp157c-odyssey
  _ Fix incorrect PHY address for stm32mp157c-odyssey
  _ Add phy-reset-gpios property to ethernet node for stm32mp157c-odyssey
  _ Add generic SoM compatible to STM32MP15xx DH electronics DHSOM
  _ Auto-detect second MAC on STM32MP15xx DH electronics DHCOM
2024-06-18 08:35:30 -06:00
Marek Vasut
f4a5651044 ARM: dts: stm32: Auto-detect second MAC on STM32MP15xx DH electronics DHCOM
Test whether this system is compatible with STM32MP15xx DHCOM SoM,
if so, test whether R292 pull up is populated on pin PC3, which is
an indication that the second MAC chip, KS8851-16MLL, is populated.
Use this information to patch 'status' DT property into the second
ethernet MAC DT node and enable/disable the MAC on systems where
the chip is/isn't populated respectively.

Use spl_perform_fixups() to patch the U-Boot proper DT from SPL and
ft_board_setup() to patch Linux DT from U-Boot proper. This way both
software components are configured the same way.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:52 +02:00
Marek Vasut
ff51ef85d6 ARM: dts: stm32: Add generic SoM compatible to STM32MP15xx DH electronics DHSOM
Add generic SoM compatible string into machine compatible string
for all STM32MP15xx based DH electronics DHSOM. This way, common
board code can match on this compatible. No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:52 +02:00
Heesub Shin
cf03330549 ARM: dts: stm32: add phy-reset-gpios property to ethernet node for stm32mp157c-odyssey
In Odyssey board, we should reset the PHY chipset, toggling G0 pin.

Signed-off-by: Heesub Shin <heesub@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:52 +02:00
Heesub Shin
6a4c90093b ARM: dts: stm32: fix incorrect PHY address for stm32mp157c-odyssey
In Odyssey board, KSZ9031 is at the PHY address 0x7, not 0x0. This
commit fixes it.

Signed-off-by: Heesub Shin <heesub@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:52 +02:00
Heesub Shin
9ea73f6f53 ARM: dts: stm32: use internal clock for Tx for stm32mp157c-odyssey
In Odyssey board, we should use the internal clock from RCC as the
transmit clock, instead of the external clock from ETH_CLK125 pad. This
commit adds a property, st,eth-clk-sel, so that the ETH_CLK_SEL mux
selects ETH_CLK.

Signed-off-by: Heesub Shin <heesub@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:52 +02:00
Heesub Shin
2ae44edf1d ARM: dts: stm32: set PLL4_P to 125Mhz for ETH_CLK for stm32mp157c-odyssey
Odyssey board requires ETH_CLK of 125Mhz. This commit sets PLL4_P/Q/R to
125, 62.5 and 62.5Mhz in respectively.

Signed-off-by: Heesub Shin <heesub@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:52 +02:00
Marek Vasut
69374aa86a ARM: dts: stm32: Add support for STM32MP13xx DHCOR SoM and DHSBC board
This stm32mp135f-dhcor-dhsbc board is a stack of DHCOR SoM based on
STM32MP135F SoC (900MHz / crypto capabilities) populated on DHSBC
carrier board.

The SoM contains the following peripherals:
- STPMIC (power delivery)
- 512MB DDR3L memory
- eMMC and SDIO WiFi module

The DHSBC carrier board contains the following peripherals:
- Two RGMII Ethernet ports
- USB-A Host port, USB-C peripheral port, USB-C power supply plug
- Expansion connector

Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Marek Vasut <marex@denx.de>
2024-06-18 08:55:52 +02:00