summaryrefslogtreecommitdiff
path: root/board/phytec
AgeCommit message (Collapse)Author
2025-09-30Merge tag 'u-boot-socfpga-next-20250930' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-socfpga into next SoCFPGA updates for v2025.10: CI: https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/27762 This pull request brings a set of updates across SoCFPGA platforms covering Agilex5, Agilex7, N5X, and Stratix10. The changes include: * Agilex5 enhancements: - USB3.1 enablement and DWC3 host driver support - System Manager register configuration for USB3 - Watchdog timeout increase and SDMMC clock API integration - dcache handling improvements in SMC mailbox path - Enable SPL_SYS_DCACHE_OFF in defconfig * Clock driver improvements: - Introduce dt-bindings header for Agilex clocks - Add enable/disable API and EMAC clock selection fixes - Replace manual shifts with FIELD_GET usage * DDR updates: - IOSSM mailbox compatibility check - Correct DDR calibration status handling * Device tree changes: - Agilex5: disable cache allocation for reads - Stratix10: add NAND IP node - Enable driver model watchdog - Enable USB3.1 node for Agilex5 * Config cleanups: - Simplify Agilex7 VAB defconfig - Remove obsolete SYS_BOOTM_LEN from N5X VAB config - Enable CRC32 support for SoCFPGA - Increase USB hub debounce timeout Overall this set improves reliability of DDR and cache flows, adds missing USB and MMC features for Agilex5, and refines clock and configuration handling across platforms. This patch set has been tested on Agilex 5 devkit, and Agilex devkit.
2025-09-24board: phytec: common: Fix missing newline in error messageWadim Egorov
The error message in phytec_get_product_name() was missing a newline, causing log output to be concatenated with subsequent messages. Add the newline to improve readability. Signed-off-by: Wadim Egorov <[email protected]>
2025-09-24board: phytec: phycore_am6xx: Update scriptaddrWadim Egorov
After switching our boards to standard boot, we observed that the kernel hangs when booting with the "script" boot method over the network. The original scriptaddr value was copied from ti_common.env and remained unused for some time. On phycore-am62x and phycore-am62ax, however, this address conflicts with the current location where ATF is loaded (CONFIG_K3_ATF_LOAD_ADDR). Move scriptaddr to 0x89100000, directly after fdtoverlay_addr_r. The phycore-am64x is not affected by this issue, but we update it as well to keep all phycore-am6xx boards consistent. Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Anshul Dalal <[email protected]>
2025-09-23Merge tag 'v2025.10-rc5' into nextTom Rini
Prepare v2025.10-rc5
2025-09-22doc: phytec: update imx8m docs for optee buildsYannic Moog
OP-TEE configs are enabled by default, change the doc to no longer declare OP-TEE as optional. Also remove CFG_TEE_BENCHMARK as it is no longer present in optee_os. Further, phycore-imx8mm and imx8mm-phygate-tauri-l use different build instructions, so dissolve the common file for building OP-TEE. Reviewed-by: Teresa Remmet <[email protected]> Signed-off-by: Yannic Moog <[email protected]>
2025-09-21board: phytec: phycore-imx93: Fix i.MX93 voltage modesPrimoz Fiser
Fix support for i.MX93 voltage modes on phyCORE-i.MX93 SoM boards. First of all, Kconfig option CONFIG_IMX9_LOW_DRIVE_MODE is gone since commit c9efcad23741 ("imx93_evk: Remove CONFIG_IMX9_LOW_DRIVE_MODE and ld defconfig") and was replaced by runtime detection mechanism. Thus lets use is_voltage_mode() instead of Kconfig to detect CPU type and select proper voltage mode. Secondly, 1400MHz ND mode (Nominal Drive) requiring 0.85V BUCK voltage was not supported with current power_init_board() PMIC settings. Add check also for this CPU type and set BUCK voltage accordingly. Last but not least, add printf() printouts about PMIC voltage mode to the console. This makes it more apparent and verbose about voltage mode in use. Also our internal tests depend on this printout to catch issues with i.MX93 CPU types and set PMIC voltage modes. Signed-off-by: Primoz Fiser <[email protected]>
2025-09-05Add imx8mp-libra-fpsc boardBenjamin Hahn
Add new imx8mp-libra-fpsc board. Bootph tags as well as USB device tree nodes are in u-boot.dtsi for now and will be removed when upstreamed. The Libra i.MX 8M Plus FPSC is a single board computer. It uses an i.MX 8M Plus FPSC [1] System on Module which utilizes the FPSC standard [2]. [1] https://www.phytec.eu/en/produkte/system-on-modules/phycore-imx-8m-plus-fpsc [2] https://www.phytec.eu/en/produkte/system-on-modules/fpsc Signed-off-by: Benjamin Hahn <[email protected]> Reviewed-by: Teresa Remmet <[email protected]> Tested-by: Teresa Remmet <[email protected]> Signed-off-by: Yannic Moog <[email protected]>
2025-09-05board: phytec: phycore-imx93: Use CONFIG_PHYTEC_EEPROM_BUSPrimoz Fiser
Switch to use CONFIG_PHYTEC_EEPROM_BUS instead of the hard coded value of 2 for the EEPROM I2C bus for both SPL and U-Boot proper. Possible since commit 88a1816a9b4e ("board: phytec: common: Add PHYTEC_EEPROM_BUS to Kconfig"). Signed-off-by: Primoz Fiser <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-08-26Merge patch series "Update SoM detection related code and configs"Tom Rini
Wadim Egorov <[email protected]> says: Update Kconfig options for phyCORE-AM62Ax to align with other boards and prepare common board code for the upcoming phyCORE-AM62L which has the SoM EEPROM connected on a different bus. Link: https://lore.kernel.org/r/[email protected]
2025-08-26board: phytec: phycore-am62a: Update SoM detection Kconfig optionsWadim Egorov
Drop SUPPORT_EXTENSION_SCAN and enable PHYTEC_SOM_DETECTION_BLOCKS to align with other PHYTEC platforms. These options were missed when phyCORE-AM62Ax support was added. Signed-off-by: Wadim Egorov <[email protected]>
2025-08-26board: phytec: common: k3: Use CONFIG_PHYTEC_EEPROM_BUSDominik Haller
Use CONFIG_PHYTEC_EEPROM_BUS instead of the hard coded value for the i2c bus. Signed-off-by: Dominik Haller <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2025-08-26board: phytec: common: Add PHYTEC_EEPROM_BUS to KconfigDominik Haller
Add the option to choose a different bus number than 0 for the i2c eeprom based som detection. Signed-off-by: Dominik Haller <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2025-08-25Merge tag 'v2025.10-rc3' into nextTom Rini
Prepare v2025.10-rc3
2025-08-25board: phytec: phycore_am6xx: Add rauc to bootmethsWadim Egorov
Add rauc to bootmeths variable if BOOTMETH_RAUC is enabled. This is setting a proper default for RAUC enabled systems. Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Martin Schwan <[email protected]>
2025-08-23board: phytec: phycore-imx93: Fix EEPROM bus mismatch in SPLPrimoz Fiser
Fix PHYTEC EEPROM bus mismatch between SPL and U-Boot proper by enabling CONFIG_SPL_DM_SEQ_ALIAS=y on phyCORE-i.MX93 boards. This way, both the SPL and U-Boot proper will respect the device-tree aliases for I2C devs and use the same I2C bus number for phytec_eeprom_data_setup() function calls. This makes code less confusing and more robust. Fixes an issue apparent since commit 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream") where SPL would spew the following error: phytec_eeprom_read: i2c EEPROM not found: -110. phytec_eeprom_data_setup: EEPROM data init failed While later in U-Boot proper, EEPROM would be successfully read out. This happens because Linux device-tree for phyBOARD-Segin-i.MX93 since aforementioned commit enables I2C bus 2 (lpi2c2 is used for audio codec and RTC) which breaks SPL I2C bus number ordering and I2C EEPROM bus is shifted by +1. Now, lets prevent this from happening again by utilizing device-tree aliases also in the SPL. Signed-off-by: Primoz Fiser <[email protected]>
2025-08-21board: phytec: common: k3: Making setup_mac_from_eeprom optionalJohn Ma
Making the setup_mac_from_eeprom optional for boards without CONFIG_PHYTEC_SOM_DETECTION_BLOCKS. Signed-off-by: John Ma <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-08-11Merge patch series "arch: arm: dts: k3-am625-phyboard-lyra: Disable unused ↵Tom Rini
watchdogs in U-Boot" This series from Wadim Egorov <[email protected]> cleans up how watchdogs are handled on some phytec TI K3 platforms. Link: https://lore.kernel.org/r/[email protected]
2025-08-11board: phytec: phycore-am64x: Add watchdog start to bootcmdWadim Egorov
Allows run-time control over watchdog auto-start and the timeout via setting the environment variable watchdog_timeout_ms. A value of zero means "do not start". Use CONFIG_WATCHDOG_TIMEOUT_MSECS as initial value. Users can enable the watchdog to monitor the boot process until userspace or OS takes over to serve the watchdog. Signed-off-by: Wadim Egorov <[email protected]>
2025-08-11board: phytec: phycore-am62x: Add watchdog start to bootcmdWadim Egorov
Allows run-time control over watchdog auto-start and the timeout via setting the environment variable watchdog_timeout_ms. A value of zero means "do not start". Use CONFIG_WATCHDOG_TIMEOUT_MSECS as initial value. Users can enable the watchdog to monitor the boot process until userspace or OS takes over to serve the watchdog. Signed-off-by: Wadim Egorov <[email protected]>
2025-08-11board: phytec: phycore-am62ax: Add watchdog start to bootcmdWadim Egorov
Allows run-time control over watchdog auto-start and the timeout via setting the environment variable watchdog_timeout_ms. A value of zero means "do not start". Use CONFIG_WATCHDOG_TIMEOUT_MSECS as initial value. Users can enable the watchdog to monitor the boot process until userspace or OS takes over to serve the watchdog. Signed-off-by: Wadim Egorov <[email protected]>
2025-08-08board: phytec: phycore-imx93: Add VOLT_LOW_DRIVE frequency fixupPrimoz Fiser
For phyCORE-i.MX93 SoMs with i.MX93 parts running in VOLT_LOW_DRIVE mode (SoCs with speed grade fuse set to 900 MHz) reduce usdhc clocks from 400 MHz to 266 MHz. Do this in board code since global imx9 board_fix_fdt() is not used in case of phycore-imx93 board since commit d3b9b7996889 ("board: phytec: imx93: Add eeprom-based hardware introspection"). While at it, add a note to ft_board_setup() function to inform that fixup for Linux device-tree is taken care by ft_system_setup() in imx9 global arch/arm/mach-imx/imx9/soc.c implementation. Signed-off-by: Primoz Fiser <[email protected]>
2025-07-24Merge tag 'u-boot-imx-master-20250724' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/27149 - Add support for the NXP imx93 frdm board. - imx93_evk and phycore-imx93 cleanups. - Convert imx6dl-sielaff to OF_UPSTREAM and fix serial download mode boot. - Fix crash in imx power-domain. - Migrate Phytec imx8mm boards to standard boot. - Fix smatch warnings.
2025-07-24treewide: Remove empty board_init() function from all boardsSam Protsenko
Commit 86acdce2ba88 ("common: add config for board_init() call") introduced CONFIG_BOARD_INIT option. This option can be disabled for the boards where board_init() function is not needed. Remove empty board_init() calls for all boards where it's possible, and disable CONFIG_BOARD_INIT in all related defconfigs. This cleanup was made semi-automatically using these scripts: [1]. No functional change, but the binary size for the modified boards is reduced a bit. [1] https://github.com/joe-skb7/uboot-convert-scripts/tree/master/remove-board-init Signed-off-by: Sam Protsenko <[email protected]> Tested-by: Adam Ford <[email protected]> #imx8mm_beacon Tested-by: Bryan Brattlof <[email protected]> Acked-by: Peng Fan <[email protected]> #NXP boards
2025-07-24board: phytec: migrate imx8mm boards to standard bootYannic Moog
remove boot logic from shared env file for phyboard-polis and phygate-tauri. Adjust configs for both boards as well. Space at the beginning of addressable RAM is reserved for space used via standard boot env variables. CONFIG_SYS_LOAD_ADDR is set to the lowest address behind the standard boot variables reserved space. Signed-off-by: Yannic Moog <[email protected]>
2025-07-24board: phytec: phycore-imx93: Drop unused include filesPrimoz Fiser
Drop unused include files from the PHYTEC phyCORE-i.MX93 board code. Signed-off-by: Primoz Fiser <[email protected]>
2025-07-24board: phytec: phycore-imx93: Drop unused PMIC definePrimoz Fiser
Drop unused define for PCA9450 PMIC register which is already part of the header file <power/pca9450.h> since commit 1d0d25704345 ("imx93_evk: spl: update pmic settings"). Signed-off-by: Primoz Fiser <[email protected]>
2025-07-17phycore-imx8mp: Enable standard bootLeonard Anderweit
Enable standard boot for the phycore-imx8mp and use it as default. Add all variables required for standard boot to the environment. Signed-off-by: Leonard Anderweit <[email protected]> Tested-by: Martin Schwan <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-07-08board: phytec: rm-cfg: Update rm-cfg to reflect new resource reservationWadim Egorov
With the latest TIFS firmware, an additional virtual interrupt and event is reserved for TIFS usage on am62x and am62ax devices. Update the rm-cfg to reflect this new reservation. Based on commit 87720385ab69 ("board: ti: rm-cfg: Update rm-cfg to reflect new resource reservation"). Signed-off-by: Wadim Egorov <[email protected]>
2025-07-08kbuild: Bump the build system to 5.1Ilias Apalodimas
Our last sync with the kernel was 5.1. Even that was a partial one as some patches from 4.x kernels were already missing making the transition to a modern kbuild infeasible. We are so out of sync now, that tracking the patches and backporting them one by one makes little sense and it's going to take ages. This is an attempt to sync up Makefile[.lib/.kbuild]. Unfortunately due to sheer amount of patches this is not easy to review, but that's what we decided during a community call. One of the biggest changes is get rid of partial linking entirely and build .a archives isntead of .o. We diaviate from the kernel on that. Instead of calling a custom script to create the archive symbol table, we call ar with rcTP (isntead of rcSTP) since we want a resulting archive that's sauble with the linker. The only affected platforms are PPC ones. Unfortunately I don't have any of them around to test, but the objdump of the resulting files -- arch/powerpc/lib/built-in.[oa] looks identical. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-06-20env: Rename SYS_MMC_ENV_DEV to ENV_MMC_DEVICE_INDEXMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_DEVICE_INDEX to clarify this is the SD/MMC device index, a number, as enumerated by U-Boot. Update the help text accordingly. Signed-off-by: Marek Vasut <[email protected]>
2025-05-29Merge patch series "Remove <env.h> from <net.h>"Tom Rini
Tom Rini <[email protected]> says: Hey all, This is a v3 of Simon's series[1] and depends on the series[2] I posted the other day that removes <env.h> from <command.h>. With this series done, I believe we've tackled all of the current cases of headers which include <env.h> without directly needing it. Much of this series is in fact Simon's v2 with the main differneces being: - Removing <env.h> from <net.h> at the end - Removing env_to_ip() given how little it's used rather than shuffling around where it's declared and un-inline'ing it. For a rarely used helper, this ends up being cleaner I think. Especially looking at some of the users (which called env_get repeatedly). If there's strong opinion here about using the other method[3] we can do that instead. - Setting aside for now how to handle CMD_ELF=y and NO_NET=y because today it's actually fine as we unconditionally build lib/net_utils.c where string_to_ip() is defined. I'm unsure if a further series is warranted here or not. We rely on link-time optimization to keep code readable too. [1]: https://lore.kernel.org/all/[email protected] [2]: https://lore.kernel.org/all/[email protected] [3]: https://lore.kernel.org/all/[email protected] Link: https://lore.kernel.org/r/[email protected]
2025-05-29phytec: Include env.h to permit reading the environmentSimon Glass
This file reads from the environment but does not include the correct header. Update it. Signed-off-by: Simon Glass <[email protected]>
2025-05-26Merge tag 'v2025.07-rc3' into nextTom Rini
Prepare v2025.07-rc3
2025-05-22board: phytec: common: k3: Factor out mac address setupWadim Egorov
Factor out the mac address setup into setup_mac_from_eeprom(). Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: common: k3: Update boot_targets at runtimeWadim Egorov
Factor out boot device detection from board_late_init() into a new boot_targets_setup() helper. Adjust the boot_targets environment variable to favor the device we just booted from. If boot_targets is still at its default value, prepend the current boot device to the list; otherwise leave any user-customized order untouched. Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: phycore_am6xx: Set bootmeths & boot_targets environmentWadim Egorov
As part of our migration to the standard boot process, configure the default values for the bootmeths and boot_targets environment variables. Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: phycore_am64x: Update environment for fitbootNathan Morrisson
Add fit_addr_r to the environment to allow us to boot from a FIT image. Signed-off-by: Nathan Morrisson <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: phycore_am62x: Update environment for fitbootNathan Morrisson
Add fit_addr_r to the environment to allow us to boot from a FIT image. Signed-off-by: Nathan Morrisson <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2025-05-21ARM: dts: imx93-phycore: Migrate to OF_UPSTREAMPrimoz Fiser
Migrate to OF_UPSTREAM for phyCORE-i.MX93 since board can use upstream Linux kernel device-tree for phyBOARD-Segin-i.MX93. Signed-off-by: Primoz Fiser <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-05-09board: ti: sec-cfg.yaml: Fix OTP write_host_id orderAndrew Davis
The write_host_id is the last element here and order does matter. This may have gone unnoticed before as by default all elements are 0, but if this is updated to a different host, it will not work. Update the order so write_host_id is the last element in all current secure board configs. Reported-by: Prashant Shivhare <[email protected]> Signed-off-by: Andrew Davis <[email protected]>
2025-05-07board: phytec: phycore_am62ax: Update EnvironmentDaniel Schultz
Add fit_addr_r to the environment to allow us to boot from a FIT image. 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: Tom Rini <[email protected]>
2025-04-15board: phytec: common: Fix phytec_get_product_name()Primoz Fiser
Currently, phytec_get_product_name() function only takes care of PCM SoM type, however in case of PCL, KSM or KSP SoM type it will return error: phytec_get_product_name: Invalid SOM type Add support for other SoM types as defined in phytec_som_type_str enum (see phytec_som_detection.h) to get rid of the error. While at it, also simplify switch case statements by grouping them together. This makes it more concise and readable. Signed-off-by: Primoz Fiser <[email protected]> Reviewed-by: Daniel Schultz <[email protected]>
2025-04-11Merge tag 'u-boot-imx-master-20250411' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/25652 - Add i.MX8MP LDB support. - Various phycore-imx93 environment improvements. - Add support for Toradex SMARC iMX8MP.
2025-04-11board: phycore-imx93: env: Add common RAUC boot logicMartin Schwan
Add a common RAUC boot logic environment and make use of it in the i.MX93 environment. The RAUC boot logic is deactivated by default and can be activated by setting "doraucboot" to "1". Signed-off-by: Martin Schwan <[email protected]> Reviewed-by: Leonard Anderweit <[email protected]> Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Move bootcmd from defconfig to envLeonard Anderweit
Move the default bootcmd from the defconfig to the board environment in preparation for RAUC support. No change in functionality. Signed-off-by: Leonard Anderweit <[email protected]> Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Add option to disable bootenv.txt importPrimoz Fiser
Add support for disabling external environment import (bootenv.txt) by setting the ${no_bootenv} environment variable. Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Add prepare_mcore to environmentPrimoz Fiser
Add prepare_mcore script to environment to be able to notify Linux about the state of M33 core via the kernel cmdline by appending to ${optargs}. Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Add optargs to environmentPrimoz Fiser
Add the optargs variable so we can set optional arguments while booting. Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Move fdt and bootenv addressesPrimoz Fiser
Move the load addresses for FDTs and bootenv.txt to create space for loading OS image. Otherwise, parts of the image might get corrupted. and the following boot error will be present: ERROR: FDT image overlaps OS image (OS=80400000..832a0000) Moreover, this commit also syncs addresses with downstream PHYTEC u-boot for i.MX93 in preparation for FIT image support in the future. Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: remove capsule update support in set_dfu_alt_info()Jonathan Humphreys
Now that capsule update sets the dfu_alt_info environment variable explicitly, there is no need to support it in the set_dfu_alt_info() function. Decouple SET_DFU_ALT_INFO from EFI_CAPSULE_FIRMWARE_FIT and EFI_CAPSULE_FIRMWARE_RAW. For many boards, this was the only use of set_dfu_alt_info() so remove the function entirely. Fixes: a9e6f01a941f ("efi: Define set_dfu_alt_info() for boards with UEFI capsule update enabled") Signed-off-by: Jonathan Humphreys <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> # for board/libre-computer/* Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> # for