summaryrefslogtreecommitdiff
path: root/board/phytec
AgeCommit message (Collapse)Author
2025-03-19phycore_imx8mp: Rework some of the RAM related Kconfig symbolsTom Rini
As the code is today, we get a warning about "select" statements on "choice" options not doing anything. In this case we can easily fix this by dropping the select line as the following choice statement handles things correctly. We also drop the "default false" line as false / n is the default. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Teresa Remmet <[email protected]>
2025-03-18Merge patch series "*** Various Improvements for phyCORE-AM62/A SoMs ***"Tom Rini
Wadim Egorov <[email protected]> says: This patch series syncs the phyCORE-AM62Ax feature-wise with our other K3-based SoMs by adding SoM overlay handling and capsule updates. It also introduces support for USBDFU boot and includes various minor fixes. Link: https://lore.kernel.org/r/[email protected]
2025-03-18board: phytec: common: Add phyCORE-AM62AxDaniel Schultz
Add the phyCORE-AM62Ax to our common board directory to enable our SOM detection for this product. Signed-off-by: Daniel Schultz <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2025-03-18board: phytec: common: k3: Make configure_capsule_updates() staticWadim Egorov
This function is only used in the board.c file. Make it static. Signed-off-by: Wadim Egorov <[email protected]>
2025-03-18board: phytec: phycore_am62ax: Add Network/SPI/DFU env variablesWadim Egorov
Include the boot logic to boot via Network, from a OSPI/QSPI NOR flash or via USB DFU. Signed-off-by: Wadim Egorov <[email protected]>
2025-03-18board: phytec: phycore_am62x: Use custom k3_dfu.env fragmentWadim Egorov
TI's k3_dfu.env includes redundant dfu_alt_info_* data, some of which is incompatible with our board configuration. Replace it with a custom variant that better aligns with our setup, ensuring correct offsets and eliminating unnecessary entries. Signed-off-by: Wadim Egorov <[email protected]>
2025-03-18configs: Add phycore_am62ax_r5_usbdfu_defconfigWadim Egorov
This config includes the phycore_am62ax_r5_defconfig file as well as the am62x_r5_usbdfu.config fragment. We need another defconfig because the AM62Ax has not enough internal SRAM to support all boot sources. The normal phycore_am62ax_r5_defconfig should allow to boot from MMC and OSPI while this new defconfig allows to boot from USB. Signed-off-by: Wadim Egorov <[email protected]>
2025-03-18doc: phytec: k3: Add a common part for Environment and EFI CapsulesWadim Egorov
Provide a common part for our K3 based boards including general details about environment handling and EFI capsule updates. Signed-off-by: Wadim Egorov <[email protected]>
2025-02-20board: Phytec: phycore_am62x: Increase size for Image in SPIDaniel Schultz
Increase the maximum Image size from 23 MB to 26 MB by moving the initramfs start address up. This gives us a bigger ranger to provide kernel images which are not stripped down too much. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-02-20board: Phytec: phycore_am64x: Increase size for Image in SPIDaniel Schultz
Increase the maximum Image size from 23 MB to 26 MB by moving the initramfs start address up. This gives us a bigger ranger to provide kernel images which are not stripped down too much. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-02-10board: phytec: phycore_am64x: Add support for 1 GB RAM variant and ECCWadim Egorov
Detect RAM size via EEPROM and adjust DDR size and banks accordingly. Include necessary fixups to handle ECC-enabled configurations. Signed-off-by: Wadim Egorov <[email protected]> Tested-by: Daniel Schultz <[email protected]>
2025-01-31board: phytec: common: k3: Expose product infos to LinuxDaniel Schultz
Call 'phytec_ft_board_fixup' in the common K3 board code to expose the product name and part number to Linux. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-01-31board: phytec: common: Add product information to FTDDaniel Schultz
ft_board_setup inside the board code allows to alter device-tree during the boot process. Introduce a new function for the PHYTEC SOM detection to read the product name and part number from the EEPROM content and include both into the device-tree as * phytec,som-part-number * phytec,som-product-name This function can be called from the board code when those values should be exposed to Linux. This patch also updates the phytec_print_som_info function and changes the output. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-01-23board: phytec: common: k3: Add missing boot source to envDaniel Schultz
We set the boot source as environment variable 'boot'. Also include 'uart' and 'usbdfu' as possible boot sources. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-01-23board: phytec: phycore-am62x: Add DDR size fixups if ECC is enabledWadim Egorov
With commit 22ce56a3ebdb ("ram: k3-ddrss: Add k3_ddrss_ddr_bank_base_size_calc() to solve 'calculations restricted to 32 bits' issue") we need to provide the detected RAM size in the device tree node prio to K3 DDRSS driver probe. This is done by calling fdt_fixup_memory_banks() in do_board_detect(). After probing, call into k3-ddrss driver to fixup device tree and resize the available amount of DDR if ECC is enabled. A third fixup is required from A53 SPL to take the fixup as done from R5 SPL and apply it to DT passed to A53 U-boot, which in turn passes this to the OS. Signed-off-by: Wadim Egorov <[email protected]>
2025-01-20phycore-imx8mp: Enable CAAM in splLeonard Anderweit
Enable CAAM in spl. Signed-off-by: Leonard Anderweit <[email protected]>
2025-01-16doc: phytec: imx8mm: add OP-TEE documentationYannic Moog
Add instructions on how to build and package OP-TEE for the phycore-imx8mm based boards. The build instructions are identical for phyGATE-Tauri-L and phyBOARD-Polis. Also fix missig '-' for TF-A build instructions. Signed-off-by: Yannic Moog <[email protected]>
2024-12-13Merge patch series "Add phyCORE AM62Ax"Tom Rini
Garrett Giordano <[email protected]> says: This patch set adds the phyCORE AM62Ax board support and documenation to u-boot. The phyCORE-AM62Ax is a SoM (System on Module) featuring TI's AM62Ax SoC. It can be used in combination with different carrier boards. This module can come with different sizes and models for DDR, eMMC, SPI NOR Flash and various SoCs from the AM62x family. A development Kit, called phyBOARD-Lyra is used as a carrier board reference design around the AM62x SoM. This series depends on the following two patches: - [PATCH v2] arm: mach-k3: am62a7: Provide a way to obtain boot device for non SPL https://lists.denx.de/pipermail/u-boot/2024-October/570156.html - [PATCH] board: phytec: common: Introduce CONFIG_PHYTEC_K3_DDR_PATCH https://lists.denx.de/pipermail/u-boot/2024-November/571543.html Link: https://lore.kernel.org/r/[email protected] [trini: Fix warning in board/phytec/common/k3/board.c when CONFIG_EFI_HAVE_CAPSULE_SUPPORT is not enabled] Signed-off-by: Tom Rini <[email protected]>
2024-12-13board: phytec: am62a7: Add PHYTEC phyCORE-AM62A7 SoMGarrett Giordano
Add support for PHYTEC phyCORE-AM62A7 SoM. Supported features: - 2GB LPDDR4 RAM - eMMC - External SD - Ethernet - debug UART Signed-off-by: Garrett Giordano <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2024-12-13Merge patch series "Enable EFI capsule updates for PHYTEC K3 SoMs"Tom Rini
Wadim Egorov <[email protected]> says: This implements capsule updates for all our K3 SoMs for eMMC, OSPI NOR and uSD cards. We can use capsule updates to update the bootloader on all our supported flash devices. Link: https://lore.kernel.org/r/[email protected]
2024-12-13board: phytec: k3: Add EFI capsule update supportWadim Egorov
Implement EFI capsule update functionality for PHYTEC K3-based SoMs. These SoMs feature various flash device options, including eMMC, OSPI NOR, and uSD card at the board level. This update provides the necessary logic to enable EFI capsule updates across all three flash devices, ensuring flexible and robust firmware upgrade capabilities. The GUID is dynamically generated for the board, to get it: efidebug capsule esrt ======================================== ESRT: fw_resource_count=3 ESRT: fw_resource_count_max=3 ESRT: fw_resource_version=1 [entry 0]============================== ESRT: fw_class=C7D64D6D-10B2-54BC-A3BF-06A9DC3653D9 ESRT: fw_type=unknown ESRT: fw_version=0 ESRT: lowest_supported_fw_version=0 ESRT: capsule_flags=0 ESRT: last_attempt_version=0 ESRT: last_attempt_status=success [entry 1]============================== ESRT: fw_class=09841C3F-F177-5D57-B1F6-754D92879205 ESRT: fw_type=unknown ESRT: fw_version=0 ESRT: lowest_supported_fw_version=0 ESRT: capsule_flags=0 ESRT: last_attempt_version=0 ESRT: last_attempt_status=success [entry 2]============================== ESRT: fw_class=D11A9016-515E-503A-8872-3FF65384D0C4 ESRT: fw_type=unknown ESRT: fw_version=0 ESRT: lowest_supported_fw_version=0 ESRT: capsule_flags=0 ESRT: last_attempt_version=0 ESRT: last_attempt_status=success ======================================== On the board (from uSD card containing capsule binaries at boot): load mmc 1:1 $loadaddr tiboot3-capsule.bin efidebug capsule update $loadaddr load mmc 1:1 $loadaddr tispl-capsule.bin efidebug capsule update $loadaddr load mmc 1:1 $loadaddr uboot-capsule.bin efidebug capsule update $loadaddr The binaries will be flashed to the flash device you are booted from. Signed-off-by: Wadim Egorov <[email protected]>
2024-12-07board: phytec: phycore_imx8mm: Add RAUC boot logic to environmentYunus Bas
Add RAUC boot logic to the environment. Signed-off-by: Yunus Bas <[email protected]>
2024-12-07phycore_imx8mm: Move default bootcmd to board envYunus Bas
Move the default bootcmd from the defconfig to the board environment. Signed-off-by: Yunus Bas <[email protected]>
2024-12-07phycore_imx8mm: Switch to using env text filesYunus Bas
Move the environment into the board directory and convert header to a txt file. In addition, this patch also applies following changes: - Change default nfsroot path to /srv/nfs due to compliance with Linux FHS 3.0. - Rename specific variables as stated in the bootstd documentation. Renamed variables: fdt_addr => fdt_addr_r fdt_file => fdtfile Signed-off-by: Yunus Bas <[email protected]>
2024-12-04board: phytec: common: Introduce CONFIG_PHYTEC_K3_DDR_PATCHGarrett Giordano
Introduce CONFIG_PHYTEC_K3_DDR_PATCH to make DDR timing patch code optional for PHYTEC K3 boards. This allows better control over which boards receive DDR timing patches, rather than compiling the code for all boards with K3_DDRSS enabled. Also enable the feature by default for PHYCORE_AM62X_R5. Signed-off-by: Garrett Giordano <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-11-25board: phytec: phycore-imx8mm: Add EEPROM detection initialisationYunus Bas
Add EEPROM detection initialisation for phyCORE-i.MX8MM. Signed-off-by: Yunus Bas <[email protected]>
2024-11-25board: phytec: imx93: Add phyCORE-i.MX 93 support for all SOM variantsChristoph Stoidner
The phyCORE-i.MX 93 is available in various variants (e.g. different ram sizes, eMMC HS400 yes/no). Enable hardware introspection for the imx93-phyboard-segin_defconfig, so that during startup the SOM module variant can be detected, and the hardware can be configured accordingly. The resulting SPL and u-boot binary shall able to boot each phyCORE-i.MX 93 module variant on each carrier board. Finally rename imx93-phyboard-segin_defconfig to imx93-phycore_defconfig, to highlight its SOM scope. Signed-off-by: Christoph Stoidner <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> Reviewed-by: Yannic Moog <[email protected]>
2024-11-25board: phytec: imx93: Add eeprom-based hardware introspectionChristoph Stoidner
The phyCORE-i.MX 93 is available in various variants. Relevant variant options for the spl/u-boot are: - with or without HS400 support for the eMMC - with 1GB ram chip, or 2GB ram chip The phyCORE's eeprom contains all information about the existing variant options. Add evaluation of the eeprom data to the spl/u-boot to enable/disable HS400 and to select the appropriate ram configuration at startup. Signed-off-by: Christoph Stoidner <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Primoz Fiser <[email protected]>
2024-11-25board: phytec: phycore-imx93: Add 2GB LPDDR4X RAM timingsChristoph Stoidner
The phyCORE-i.MX 93 is available with a 1GB ram chip or a 2GB ram chip. Add the ram timings for the 2GB chip, in form of a diff compared to the existing LPDDR4X 1GB timings. With that, the SPL can select the appropriate timings at startup. Update also the 1GB ram timings with new version of the DDR Tool. Signed-off-by: Christoph Stoidner <[email protected]> Tested-by: Primoz Fiser <[email protected]>
2024-11-14board: phytec: common: k3: Apply SoM-specific overlays to OS device treeWadim Egorov
Our SoMs are available in multiple configurations, managed via device tree overlays. To determine the specific variant in use, we read the EEPROM and apply the appropriate overlays during boot to the device tree used by the OS. Signed-off-by: Wadim Egorov <[email protected]> Acked-by: Neha Malcom Francis <[email protected]>
2024-10-11board: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-09-19imx9: clock: Update clock init function and sequenceYe Li
Since we use SPEED GRADE fuse to set A55 frequency, remove the set_arm_core_low_drive_clk function which has hard coded frequency. And adjust clock_init called sequence and split it to early and late functions. Set the authen register in early function, because CCF driver checks NS bit. Set bus and core clock in late function, because the fuse read and SoC type/rev depend on ELE. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2024-09-10Merge patch series "phycore-am62/4: Add more boot sources"Tom Rini
Daniel Schultz <[email protected]> says: This patch stack extends the phyCORE-AM62x/AM64x U-Boot by following boot sources: - Load U-Boot with USB DFU - Load a Linux and initramfs from OSPI/QSPI NOR flash - Load a Linux and rootfs from Network Moreover, it adds required changes to the environment to boot an A/B system with RAUC and includes some minor fixes.
2024-09-10board: phytec: phycore_am64x: Add Network/SPI BootDaniel Schultz
Include the boot logic to boot via Network or from a OSPI/QSPI NOR flash. Moreover, set all required variables to both boot methods to the environment. Note: The phyBOARD-Electra AM64x is not able to load the U-Boot via Network. However, it's still possible to load the kernel. Signed-off-by: Daniel Schultz <[email protected]>
2024-09-10board: phytec: phycore_am62x: Add Network/SPI BootDaniel Schultz
Include the boot logic to boot via Network or from a OSPI/QSPI NOR flash. Moreover, set all required variables to both boot methods to the environment. Signed-off-by: Daniel Schultz <[email protected]>
2024-08-30board: phytec: phycore_imx8mp: Add mtd spi partitionsBenjamin Hahn
Depending on if a SPI-NOR flash is populated add the mtd partition table to the device tree. For this we have to also probe the flash before booting. Signed-off-by: Benjamin Hahn <[email protected]>
2024-08-23board: phytec: phycore_imx8mp: Add mcore supportYashwanth Varakala
Added m7 core support in uboot for imx8mp by adding the boot variable prepare_mcore. Based on commit 0ed32cc8568a ("LF-6555 imx8m[m/n/p/q]_evk: add bootargs to support mcore") Signed-off-by: Yashwanth Varakala <[email protected]>
2024-07-22board: phytec: phycore_am64x: Use k3_mmc.env logicDaniel Schultz
Use our common environment file to implement MMC boot. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-07-22board: phytec: phycore_am62x: Use k3_mmc.env logicDaniel Schultz
Use our common environment file to implement MMC boot. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Dhruva Gole <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-07-22board: phytec: renaming of variables according to bootstd docBenjamin Hahn
Rename existing environment variables according to the bootstd doc. Renamed variables are fdto_addr, bootenv_addr, fdt_addr and fdt_file. Signed-off-by: Benjamin Hahn <[email protected]> Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-07-22phycore_imx93: include common overlays.envBenjamin Hahn
Include the common overlays env file for phycore_imx93. The common overlays env file supports disabling loading overlays by setting the no_overlays variable. Signed-off-by: Benjamin Hahn <[email protected]> Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-07-22phycore-imx8mp: Add overlay and bootenv.txt supportBenjamin Hahn
Add support for loading bootenv.txt as well as loading and applying overlays during boot from mmc and net. ${no_bootenv}: Prevent loading external bootenv.txt environment. Use ${overlays} variable directly from u-boot environment. ${no_overlay}: Do not load overlays defined in ${overlays} variable. Overlays loaded over the extension command are still being applied. Signed-off-by: Benjamin Hahn <[email protected]> Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Teresa Remmet <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-07-16Merge patch series "configs: phycore_am62x_a53: Add more commands"Tom Rini
2024-07-16board: phytec: phycore_am64x: Move earlycon into own variableDaniel Schultz
By moving the earlycon definition into a dedicated variable, it's easier to change these values in case the kernel should print on a different serial interface. Signed-off-by: Daniel Schultz <[email protected]>
2024-07-16board: phytec: phycore_am62x: Move earlycon into own variableDaniel Schultz
By moving the earlycon definition into a dedicated variable, it's easier to change these values in case the kernel should print on a different serial interface. Signed-off-by: Daniel Schultz <[email protected]>
2024-07-10board: phytec: k3: k3_ddrss_patch: Add ddr phy reg countDominik Haller
Add and use the correct number of ddr phy registers to update the corresponding settings. Fixes: cbf5c99ef317 ("board: phytec: common: Introduce a method to inject DDR timings deltas") Signed-off-by: Dominik Haller <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-06-18board: phytec: phycore-am62x: Use memory nodes in higher boot stagesWadim Egorov
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 <[email protected]> Reviewed-by: Daniel Schultz <[email protected]>
2024-06-18board: phytec: phycore-am62x: Pull in k3_dfu.envWadim Egorov
Pull in ti/k3_dfu.env for dfu_alt_info_ram in SPL stage. Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Daniel Schultz <[email protected]>
2024-06-18board: phytec: phycore-am62x: Fix CONFIG_SPL_BOARD_INITWadim Egorov
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 <[email protected]> Reviewed-by: Daniel Schultz <[email protected]>
2024-06-18board: phytec: common: k3: Copy fixed partitions to OS device treeWadim Egorov
Copy fixed-partitions nodes from U-Boot device tree to OS device tree. Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Daniel Schultz <[email protected]>