
Hi Stefan,
this is v2 of series adding support for new board revision of Turris Omnia.
See v1 at https://patchwork.ozlabs.org/project/uboot/cover/20240304152148.3847-1-kabel...
Changes since v1: - MCU firmware features can be 32-bit wide, updated the code to support reading 32 bits of features (both in board driver and in gpio driver) - gpio driver now moved to misc, since it handles more functionality (rng, sysreset) - mvebu system-controller driver expanded to also support UCLASS_SYSRESET, configurable by config option - LTO enabled by default for Turris Omnia, otherwise it won't fit into the space reserved for U-Boot with these changes - enabled the poweroff command (via sysreset) in defconfig (new MCU firmware can power off the board voltage regulators) - enabled the rng command in defconfig
Marek Behún (18): arm: mvebu: turris_omnia: Enable LTO by default on Turris Omnia arm: mvebu: turris_omnia: Add header containing MCU command interface and use it arm: mvebu: turris_{omnia, mox}: Don't print model two times arm: mvebu: turris_omnia: Update MCU status and features reading arm: mvebu: turris_omnia: Implement getting board information from MCU arm: mvebu: turris_omnia: Print board ECDSA public key if available arm: mvebu: turris_omnia: Disable Atmel SHA node if not present arm: mvebu: spl: Do not build mvebu-reset in SPL arm: mvebu: system-controller: Rework to use UCLASS_SYSCON arm: mvebu: system-controller: Select mvebu-reset if DM_RESET && PCI_MVEBU arm: mvebu: system-controller: Add support for SYSRESET gpio: turris_omnia_mcu: Use byteorder conversion functions gpio: turris_omnia_mcu: Update firmware features reading gpio: turris_omnia_mcu: Add support for system power off via sysreset arm: mvebu: turris_omnia: Enable poweroff command via sysreset in defconfig cmd: rng: Print "Abort" on -EINTR misc: turris_omnia_mcu: Add support for rng provided by MCU arm: mvebu: turris_omnia: Enable rng command in defconfig
arch/arm/mach-mvebu/Kconfig | 25 ++ arch/arm/mach-mvebu/Makefile | 3 +- arch/arm/mach-mvebu/cpu.c | 2 + arch/arm/mach-mvebu/system-controller.c | 144 ++++++-- board/CZ.NIC/turris_atsha_otp.c | 27 +- board/CZ.NIC/turris_mox/turris_mox.c | 5 +- board/CZ.NIC/turris_omnia/Makefile | 2 +- board/CZ.NIC/turris_omnia/turris_omnia.c | 310 ++++++++++++----- cmd/rng.c | 7 +- configs/turris_omnia_defconfig | 6 + drivers/gpio/Kconfig | 7 - drivers/gpio/Makefile | 1 - drivers/gpio/turris_omnia_mcu.c | 316 ----------------- drivers/misc/Kconfig | 11 + drivers/misc/Makefile | 1 + drivers/misc/turris_omnia_mcu.c | 411 +++++++++++++++++++++++ include/turris-omnia-mcu-interface.h | 238 +++++++++++++ 17 files changed, 1034 insertions(+), 482 deletions(-) delete mode 100644 drivers/gpio/turris_omnia_mcu.c create mode 100644 drivers/misc/turris_omnia_mcu.c create mode 100644 include/turris-omnia-mcu-interface.h