93598 Commits

Author SHA1 Message Date
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
Marek Vasut
c52e59ec68 ARM: dts: stm32: Add pinmux nodes for DH electronics STM32MP13xx DHCOR SoM and DHSBC board
Add new pinmux nodes for DH electronics STM32MP13xx DHCOR SoM and DHSBC board.
The following pinmux nodes are added:
- ADC pins
- ADC CC pins
- ETH1 pins
- ETH2 pins
- I2C5 pins
- MCAN1 pins
- MCAN2 pins
- PWM13 pins
- PWM5 pins
- QSPI pins
- SAI1 pins
- SDMMC2 D4..D7 pins
- SPI2 pins
- SPI3 pins
- UART4 pins
- UART7 pins
- USART1 pins
- USART2 pins

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
Christophe Roullier
94ee7be1e4 ARM: dts: stm32: add eth1 and eth2 support on stm32mp13
Add both ethernet MACs based on GMAC SNPS IP on stm32mp13.

Signed-off-by: Christophe Roullier <christophe.roullier@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:52 +02:00
Marek Vasut
196cbe652b ARM: dts: stm32: Make PWR regulator driver available on STM32MP13xx
This patch makes STM32 PWR regulators available on stm32mp13xx.
This requires TFA to clear RCC_SECCFGR, is disabled by default
on stm32mp13xx and can only be enabled on board config level.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:51 +02:00
Marek Vasut
298e532e56 ARM: dts: stm32: add PWR regulators support on stm32mp131
This patch adds STM32 PWR regulators DT support on stm32mp131.
This requires TFA to clear RCC_SECCFGR, is disabled by default
and can only be enabled on board DT level.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:51 +02:00
Heesub Shin
0da5d2243e net: dwc_eth_qos: add support for phy-reset-gpios property
This commit adds support for a property 'phy-reset-gpios' to reset PHY
chipset.

Signed-off-by: Heesub Shin <heesub@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2024-06-18 08:55:51 +02:00
Patrice Chotard
2ec88086c9 stm32mp: Reserve OPTEE area in EFI memory map
Since commit 7b78d6438a2b3 ("efi_loader: Reserve unaccessible memory")
memory region above ram_top is tagged in EFI memory map as
EFI_BOOT_SERVICES_DATA.
In case of STM32MP1/STM32MP13 platforms, above ram_top, there is one
reserved-memory region tagged "no-map" dedicated to OP-TEE :
 _ addr=de000000 size=2000000 for stm32mp157x-dkx and stm32mp135f-dk
 _ addr=fe000000 size=2000000 for stm32mp157c-ev1

Before booting kernel, EFI memory map is first built, the OPTEE region is
tagged as EFI_BOOT_SERVICES_DATA and when reserving LMB, the tag LMB_NONE
is used.

Then after, the LMB are completed by boot_fdt_add_mem_rsv_regions()
which try to add again the same OPTEE region (addr=de000000 size=2000000
in case of stm32mp157x-dkx / stm32mp135f-dk or addr=fe000000 size=2000000
in case for stm2mp157c-ev1)
but now with LMB_NOMAP tag which produces the following error message :

 _ for stm32mp157x-dkx / stm32mp135f-dk :
  "ERROR: reserving fdt memory region failed (addr=de000000 size=2000000 flags=4)"

 _ for stm32mp157c-ev1 :
  "ERROR: reserving fdt memory region failed (addr=fe000000 size=2000000 flags=4)"

To avoid this, OPTEE area shouldn't be used by EFI, so we need to mark
it as reserved.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2024-06-18 08:55:16 +02:00
Tom Rini
f1de28e67a AMD/Xilinx changes for v2024.10-rc1
common:
 - spl: Introduce SoC specific init function
 
 xilinx:
 - Enable FF-A and NVMEM
 - Rename spl_board_init() to spl_soc_init()
 
 zynqmp:
 - DT alignments
 - Enable reset from SPL
 - Enable USB3 for KD240
 - Align multiboot register on Kria for proper reboot
 - Allow multiboot environment write even in saved environment
 - Move zynqmp commands from board/ to arch/
 - Clean up xilinx_zynqmp.h
 
 versal:
 - Do not prioritize boot device if driver is not enabled
 
 versal-net:
 - Setup location for redundant variables in SPI
 
 versal2:
 - Add support for new SOC
 
 mmc:
 - Fix tap delay for SD on Versal NET
 
 spi:
 - Add SPI_NOR_OCTAL_READ flag for mx66uw2g345gx0 flash part
 
 gpio:
 - Cover MODEPIN firmware dependency
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZnBfewAKCRDKSWXLKUoM
 Ib/7AJ0cn3q7lMpxbSbRj33oftI8Vy8+owCeN35Nl8TN9l/DHbfusER4uVfnOVw=
 =YMIB
 -----END PGP SIGNATURE-----

Merge tag 'xilinx-for-v2024.10-rc1' of https://source.denx.de/u-boot/custodians/u-boot-microblaze into next

AMD/Xilinx changes for v2024.10-rc1

common:
- spl: Introduce SoC specific init function

xilinx:
- Enable FF-A and NVMEM
- Rename spl_board_init() to spl_soc_init()

zynqmp:
- DT alignments
- Enable reset from SPL
- Enable USB3 for KD240
- Align multiboot register on Kria for proper reboot
- Allow multiboot environment write even in saved environment
- Move zynqmp commands from board/ to arch/
- Clean up xilinx_zynqmp.h

versal:
- Do not prioritize boot device if driver is not enabled

versal-net:
- Setup location for redundant variables in SPI

versal2:
- Add support for new SOC

mmc:
- Fix tap delay for SD on Versal NET

spi:
- Add SPI_NOR_OCTAL_READ flag for mx66uw2g345gx0 flash part

gpio:
- Cover MODEPIN firmware dependency
2024-06-17 11:01:35 -06:00
Michal Simek
e4a11e984d xilinx: Enable FF-A for all our arm64 SoCs
Enable FFA_TRANSPORT which also enable FFA command.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/5a850b1558fad0f05c61de82110abe4c0e7fd2e4.1718104009.git.michal.simek@amd.com
2024-06-17 16:02:30 +02:00
Venkatesh Yadav Abbarapu
37bd125513 xilinx: versal-net: Add env redund offset
ENV_OFFSET_REDUND config is by default set to 0 for flashes.
Saving the env variables is overwriting data at 0 offset,
which is wrong. So add default redund env offset
ENV_OFFSET_REDUND at 0x7F00000 for Versal NET platform.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20240614125110.23058-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2024-06-17 16:02:30 +02:00
Michal Simek
62a3e4016a gpio: Add proper dependency on ZYNQMP_FIRMWARE
ZYNQMP_FIRMWARE can be disabled and driver depends on it that's why record
this dependency via Kconfig.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/c3ca38fbb2f4e6948a5ef95b369015de96259709.1717685091.git.michal.simek@amd.com
2024-06-17 16:02:30 +02:00
Michal Simek
ee3630f0bc arm64: zynqmp: Align #address/size-cells with node
zynqmp-mini-nand wasn't aligned with dt binding that's why fix it.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/3916fde2e896b8be8863505305118903e0644ab0.1717684544.git.michal.simek@amd.com
2024-06-17 16:02:30 +02:00
Lukas Funke
081f3a1991 xilinx: zynqmp: Enable reset_cpu() in SPL
This commit enables SPL to reset the CPU via PMU-firmware. The usual
reset mechanism requires bl31 to be loaded which may not be the case in
SPL.

Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com>
Link: https://lore.kernel.org/r/20240607092608.712996-2-lukas.funke-oss@weidmueller.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2024-06-17 16:02:30 +02:00
Neal Frager
d67558b358 arm64: zynqmp: Enable usb3 for k24 som
This patch corrects the mio and pll configuration registers for using usb3
on the kd240 starter kit.  Without this patch, the usb3 to sd card bridge does
not initialize correctly and u-boot is unable to find the OS located on the
kd240 starter kit sd card.

In addition, this patch correctly configures mio76 and mio77 as gpio pins
which are used as reset gpio pins on the kd240 starter kit.

Signed-off-by: Neal Frager <neal.frager@amd.com>
Link: https://lore.kernel.org/r/20240604083854.2033917-1-neal.frager@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2024-06-17 16:02:30 +02:00
Michal Simek
8ef61c22cd arm64: zynqmp: Setup multiboot register to 0
On Kria when board starts from Image A or Image B partition multiboot
register is already setup to that location. When reset command is called
board is issuing soft reset which start SW at already used location (offset
of multiboot * 32k).
But board should continue to run from multiboot offset 0 (start of QSPI)
and call early bootloader every reboot that's why clear multiboot register
to 0 by default to go that route all the time.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/edaf714a778bdd7447533a77b3455e4fd623f9da.1717420131.git.michal.simek@amd.com
2024-06-17 16:02:29 +02:00