summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-01-24net: dwc_eth_xgmac_socfpga: Add support for rgmii-id mode.Boon Khai Ng
An issue was identified where selecting the phy-mode as rgmii-id in the device tree source (DTS) would cause the `dwc_eth_xgmac_socfpga` driver to raise an unsupported phy mode error. From the MAC controller's perspective, the rgmii and rgmii-id phy modes are effectively identical. To address this, both modes will now be configured to rgmii in the MAC controller. This change ensures that the rgmii-id phy mode is properly supported without error. Signed-off-by: Boon Khai Ng <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-01-24net: designware: socfpga: Add RGMII-ID supportRufus Segar
This patch adds support for the "rgmii-id", "rgmii-rxid", and "rgmii-txid" modes for the dwmac_socfpga driver. Signed-off-by: Rufus Segar <[email protected]>
2025-01-24arch: arm: mach-socfpga: Mailbox buffer and SDM doorbell improvementAlif Zakuan Yuslaimi
The current write and notify SDM to read mechanism has a flaw where SDM is not notified enough to be able to read all the data in the buffer. This is caused by SDM doorbell will only be sent out once the command buffer overflow check is satisfied. If the command buffer does not reach overflow status, no SDM doorbell will be sent out, which may cause a timeout as the mailbox driver will be waiting for the SDM to read the buffer to empty even though SDM is not notified to do so. The solution is to remove the command buffer overflow check and set the SDM doorbell to always trigger at the end of the command buffer. This will ensure that the SDM is able to read all of the data. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]>
2025-01-24arm: socfpga:agilex5: Fix system manager watchdog mode settingMuhammad Hazim Izzat Zamri
This commit is to fix the system manager watchdog mode setting to support until mode_4 for Agilex5. This changes can refer to system manager register map on wddbg fields. In Agilex7 it is not detected as an issue because Agilex7 only have 4 watchdog until mode_3 and it is already been set correctly for it to halt on any CPU in debug mode. However, in Agilex5 this fix is needed in order to enable the watchdog pause feature for mode_4 when entering debug mode. If 0xF is not been set on mode_4, the Watchdog Timers will not halt on any CPU. As by default value, the pause signal does not assert when any CPU is in debug mode and the watchdog continue to count. Signed-off-by: Muhammad Hazim Izzat Zamri <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-01-23Merge patch series "MediaTek ethernet driver refactor and updates"Tom Rini
Weijie Gao <[email protected]> says: This patch series will split the switch initialization code from mtk_eth driver into their own files and then add new SoC and switch support. Link: https://lore.kernel.org/r/[email protected]
2025-01-23Merge patch series "Add bitbang feature for npcm8xx and driver"Tom Rini
Michael Chang <[email protected]> says: I am resubmitting the patch titled "Add bitbang feature for npcm8xx and driver" for review and inclusion in the upstream project. Driver didn't support bitbang feature. Add bb_miiphy_bus function for driver and open feature for npcm8xx the log is as below: ------------------------------------------------- U-Boot 2024.10-g30b9cdaf2df5-dirty (Jan 09 2025 - 00:57:37 +0000) CPU-0: NPCM845 A1 @ Model: Nuvoton npcm845 Development Board (Device Tree) DRAM: 1 GiB RNG: NPCM RNG module bind OK OTP: NPCM OTP module bind OK AES: NPCM AES module bind OK SHA: NPCM SHA module bind OK I/TC: Reserved shared memory is enabled I/TC: Dynamic shared memory is enabled I/TC: Normal World virtualization support is disabled I/TC: Asynchronous notifications are disabled Core: 649 devices, 28 uclasses, devicetree: separate WDT: Not starting watchdog@901c MMC: sdhci@f0842000: 0 Loading Environment from SPIFlash... SF: Detected w25q512jvq with page size 256 Bytes, erase size 64 KiB, total 64 MiB OK In: serial@0 Out: serial@0 Err: serial@0 Net: eth0: eth@f0802000, eth1: eth@f0804000, eth3: eth@f0808000 Hit any key to stop autoboot: 0 U-Boot> U-Boot> U-Boot>setenv ipaddr 192.168.16.3 U-Boot>ping 192.168.16.12 eth@f0802000 Waiting for PHY auto negotiation to complete ......... TIMEOUT ! Could not initialize PHY eth@f0802000 eth@f0804000 Waiting for PHY auto negotiation to complete ......... TIMEOUT ! Could not initialize PHY eth@f0804000 Speed: 100, full duplex Using eth@f0808000 device host 192.168.16.12 is alive Link: https://lore.kernel.org/r/[email protected]
2025-01-23net: designware: Add bitbang feature for designware driver.Michael Chang
Add bb_miiphy_bus function for designware bitbang feature. Signed-off-by: Jim Liu <[email protected]> Signed-off-by: Michael Chang <[email protected]>
2025-01-23ARM: configs: nuvoton: add bitbang feature for npcm8xx.Michael Chang
Enable bitbang and multiple bitbang feature for npcm8xx platform. Signed-off-by: Jim Liu <[email protected]> Signed-off-by: Michael Chang <[email protected]>
2025-01-23ARM: dts: nuvoton: Add bitbang delay through dts properties.Michael Chang
Add bitbang delay through dts properties. Signed-off-by: Jim Liu <[email protected]> Signed-off-by: Michael Chang <[email protected]>
2025-01-23net: mediatek: add support for Airoha AN8855 ethernet switchWeijie Gao
Airoha AN8855 is a 5-port gigabit switch with a 2.5G HSGMII CPU port Signed-off-by: Weijie Gao <[email protected]>
2025-01-23net: mediatek: add support for MediaTek MT7987 SoCWeijie Gao
This patch adds support for MediaTek MT7987. MT7987 features MediaTek NETSYS v3, similar to MT7988, features three GMACs which support 2.5Gb HSGMII. One 2.5Gb PHY is also embedded an can be connected to a dedicated GMAC. Signed-off-by: Weijie Gao <[email protected]>
2025-01-23net: mediatek: split ethernet switch code from mtk_eth.cWeijie Gao
mtk_eth.c contains not only the ethernet GMAC/DMA driver, but also some ethernet switch initialization code. As we may add more switch support in the future, it's better to move them out of mtk_eth.c to avoid increasing the code complexity. Since not all switches are supported for a particular board, Kconfig options are added to allow user to select which switch should be built into u-boot. If multiple switches are selected, auto-detecting can also be enabled. Signed-off-by: Weijie Gao <[email protected]>
2025-01-23configs: phycore_am64x_a53_defconfig: Fix environmentDaniel Schultz
Enable ENV_OVERWRITE to allow environment variables to be overwritten within the board code. This is required to add MAC addresses during SOM detection. Additionally, set ENV_IS_NOWHERE for boot sources other than MMC. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-01-23configs: phycore_am64x_a53_defconfig: Enable GPIO commandDaniel Schultz
Enable the GPIO command to allow access to the GPIO pins. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-01-23configs: phycore_am64x_a53_defconfig: Fix GPIO controllersDaniel Schultz
The phyBOARD-Electra does not include a PCA953x I2C GPIO multiplexer. Remove this configuration as it is a remnant from another defconfig, and enable CONFIG_DA8XX_GPIO for the DA8XX DaVinci GPIO controller instead. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-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-23configs: phycore_am62x_r5_defconfig: Increase SPL Malloc PoolDaniel Schultz
Increase the malloc pool size for the SPL by additional 4kB from 0x7000 to 0x8000. This fixes following error message: ... alloc space exhausted ptr 7028 limit 7000 DRAM init failed: -12 Signed-off-by: Daniel Schultz <[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-23Merge patch series "Cumulative fixes and updates for MediaTek platform"Tom Rini
Weijie Gao <[email protected]> says: This patch series contains fixes and updates for MediaTek platform, including drivers, board and arch files. Link: https://lore.kernel.org/r/[email protected]
2025-01-23MAINTAINERS: update file list for MediaTek ARM platformWeijie Gao
Add driver files for MediaTek ARM platform Signed-off-by: Weijie Gao <[email protected]>
2025-01-23arm: dts: mediatek: update mt7981 mmc nodeWeijie Gao
1. Fix mmc clock order of mt7981 to match the clock name 2. Limit the max clock of SD to 50MHz to meet SD Card Spec 2.0 3. Increase the CLK pin driving strength to 8mA Signed-off-by: Weijie Gao <[email protected]>
2025-01-23arm: dts: medaitek: add flash interface driving settings for mt7988Weijie Gao
Add driving settings for both SPI and SD/eMMC interfaces to support ensure flash devices is accessible for ram-booting. Signed-off-by: Weijie Gao <[email protected]>
2025-01-23arm: dts: mediatek: add support for all three GMACs for mt7988Weijie Gao
This patch add all three GMACs nodes for mt7988. Each GMAC can be configured to connect to different ethernet switches/PHYs. Signed-off-by: Weijie Gao <[email protected]>
2025-01-23arm: dts: medaitek: fix internal switch link speed of mt7988Weijie Gao
The CPU port of mt7988 internal switch uses 10Gb link speed. Signed-off-by: Weijie Gao <[email protected]>
2025-01-23arm: dts: mediatek: add pcie support for mt7988Weijie Gao
This patch adds PCIe support for mt7988 Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-23pci: mediatek: add support for multiple ports in mediatek pcie gen3 driverWeijie Gao
One MediaTek PCIe Gen3 controller has only one port, where PCI bus 0 on this port represents the controller itself and bus 1 represents the external PCIe device. If multiple PCIe controllers are probed in U-Boot, U-Boot will use bus numbers greater than 2 as input parameters. Therefore, we should convert the BDF bus number to either 0 or 1 by subtracting the offset by controller->seq_. Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-23pwm: mediatek: add pwm3 support for mt7981Weijie Gao
This patch adds pwm channel 2 (pwm3) support for mt7981 Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-23arm: dts: mediatek: add quad mode capabilities for SPI flashesWeijie Gao
Explicitly add quad mode capabilities or the SPI controller may start transfer in single mode. Signed-off-by: SkyLake.Huang <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-23spi: mtk_spim: check slave device mode in spi-mem's supports_opWeijie Gao
Call spi_mem_default_supports_op() in supports_op to honor the slave's supported single/dual/quad mode settings. Signed-off-by: SkyLake.Huang <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-23spi: mtk_spim: add support to use DT live treeWeijie Gao
Change devfdt_get_addr_ptr to dev_read_addr_ptr to support DT live tree. Signed-off-by: Weijie Gao <[email protected]>
2025-01-23configs: mt7988: move image load address to 0x44000000Weijie Gao
This patch sets mt7988 image load address to 0x44000000 to support loading larger images. Signed-off-by: Weijie Gao <[email protected]>
2025-01-23configs: mt7629: move image load address to 0x42000000Weijie Gao
Update the image load address to ensure it matches the mt7629 NOR controller's DMA alignment requirements. Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-23clk: mediatek: fix uninitialized fields issue in INFRA_MUX structWeijie Gao
This patch adds missing initialization of fields in INFRA_MUX struct which caused uart broken after any other infra mux being enabled by 'clk_prepare_enable' Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-23board: mediatek: mt7622: remove board_late_initWeijie Gao
The function board_late_init defined for mt7622 is useless now. Just remove it. Signed-off-by: Weijie Gao <[email protected]>
2025-01-23bootstd: android: Allow boot with AVB failures when unlockedMattijs Korpershoek
When the bootloader is UNLOCKED, it should be possible to boot Android even if AVB reports verification errors [1]. This allows developers to flash modified partitions on userdebug/engineering builds. Developers can do so on unlocked devices with: $ fastboot flash --disable-verity --disable-verification vbmeta vbmeta.img In such case, bootmeth_android refuses to boot. Allow the boot to continue when the device is UNLOCKED and AVB reports verification errors. [1] https://source.android.com/docs/security/features/verifiedboot/boot-flow#unlocked-devices Fixes: 125d9f3306ea ("bootstd: Add a bootmeth for Android") Reviewed-by: Julien Masson <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-01-23bootstd: android: Add missing NULL in the avb partition listMattijs Korpershoek
When booting an Android build with AVB enabled, it's still possible to deactivate the check for development purposes if the bootloader state is UNLOCKED. This is very useful for development and can be done at flashing time via: $ fastboot flash --disable-verity --disable-verification vbmeta vbmeta.img However, with bootmeth_android, we cannot boot this way: Scanning bootdev '[email protected]': 0 android ready mmc 0 [email protected] ** Booting bootflow '[email protected]' with android avb_vbmeta_image.c:188: ERROR: Hash does not match! avb_slot_verify.c:732: ERROR: vbmeta_a: Error verifying vbmeta image: HASH_MISMATCH get_partition: can't find partition '_a' avb_slot_verify.c:496: ERROR: _a: Error determining partition size. Verification failed, reason: I/O error occurred while trying to load data Boot failed (err=-5) No more bootdevs From the logs we can see that avb tries to read a partition named '_a'. It's doing so because the last element of requested_partitions implicitly is '\0', but the doc explicitly request it to be NULL instead. Add NULL as last element to requested_partitions to avoid this problem. Fixes: 125d9f3306ea ("bootstd: Add a bootmeth for Android") Reviewed-by: Julien Masson <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-01-23MAINTAINERS: move myself to reviewers for avb/abIgor Opaniuk
As Mattijs Korpershoek is in fact doing overall maintenance of AVB/AB code, move myself to reviewers. CC: Mattijs Korpershoek <[email protected]> Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-01-23boot: android: Check kcmdline's for NULL in android_image_get_kernel()Aaron Kling
kcmdline and kcmdline_extra strings can be NULL. In that case, we still read the content from 0x00000 and pass that to the kernel, which is completely wrong. Fix android_image_get_kernel() to check for NULL before checking if they are empty strings. Fixes: 53a0ddb6d3be ("boot: android: fix extra command line support") Signed-off-by: Aaron Kling <[email protected]> Reviewed-by: Nicolas Belin <[email protected]> Reviewed-by: Julien Masson <[email protected]> Tested-by: Sam Day <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-01-23Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
Following the move of the H616 family to OF_UPSTREAM in the last cycle, now some older SoCs with identical DTs follow the lead: the F1C100s, A10, A10s, A13. The remaining SoCs suffer from that IRQ cells incompatiblity, breaking support for Linux < v5.13, so I am holding their move back still. Otherwise we get proper support for the PinePhone v1.2, and PSTORE support for all revisions of that device. This is rounded up by a PMIC related fix for some A80 boards, and two cleanup patches that are preparations for two new SoCs families, being worked on as we speak. But they have to wait for the next cycle. Gitlab CI passed, and I booted that briefly on some boards.
2025-01-22Merge patch series "upl: Prerequite patches for updated spec"Tom Rini
Simon Glass <[email protected]> says: The current UPL spec[1] has been tidied up and improved over the last year, since U-Boot's original UPL support was written. This series includes some prerequisite patches needed for the real UPL patches. It is split from [2] [1] https://github.com/UniversalPayload/spec/tree/3f1450d [2] https://patchwork.ozlabs.org/project/uboot/list/?series=438574&state=* Link: https://lore.kernel.org/r/[email protected]
2025-01-22dm: core: Provide ofnode_find_subnode_unit()Simon Glass
The ofnode_find_subnode() function currently processes things two different ways, so the treatment of unit addresses differs depending on whether OF_LIVE is enabled or not. Add a new version which uses the ofnode API and add a test to check that unit addresses can be matched correctly. Leave the old function in place for the !OF_LIVE case, to avoid a code-size increase, e.g. on firefly-rk3288 Signed-off-by: Simon Glass <[email protected]>
2025-01-22dm: core: Provide ofnode_name_eq_unit() to accept a unit addressSimon Glass
When a unit-address is provided, use it to match against the node name. Since this increases code size, put it into a separate function. Signed-off-by: Simon Glass <[email protected]>
2025-01-22dm: core: Clarify behaviour of ofnode_name_eq()Simon Glass
This function is somewhat ambiguous, so expand the comments and add a test for the undefined behaviour. Signed-off-by: Simon Glass <[email protected]>
2025-01-22x86: emulation: Enable bloblistSimon Glass
Add bloblist support so that tables can be generated and placed in a bloblist, then passed to a payload using UPL Signed-off-by: Simon Glass <[email protected]>
2025-01-22efi_loader: Avoid mapping the ACPI tables twiceSimon Glass
The add_u_boot_and_runtime() function paints with a broad brush, considering all of the memory from the top of U-Boot stack to gd->ram_top as EFI_RUNTIME_SERVICES_CODE This is fine, but we need to make sure we don't add a separate entry for any ACPI tables in this region (which happens when bloblist is used for tables). Otherwise the memory map looks strange and we get a test failure on qemu-x86 (only) for the 'virtual address map' test. Good map: Type Start End Attributes ================ ================ ================ ========== CONVENTIONAL 0000000000000000-00000000000a0000 WB RESERVED 00000000000a0000-00000000000f0000 WB RUNTIME DATA 00000000000f0000-00000000000f2000 WB|RT RESERVED 00000000000f2000-0000000000100000 WB CONVENTIONAL 0000000000100000-0000000005cc7000 WB BOOT DATA 0000000005cc7000-0000000005ccc000 WB RUNTIME DATA 0000000005ccc000-0000000005ccd000 WB|RT BOOT DATA 0000000005ccd000-0000000005cce000 WB RUNTIME DATA 0000000005cce000-0000000005cf0000 WB|RT BOOT DATA 0000000005cf0000-0000000006cf5000 WB RESERVED 0000000006cf5000-0000000006cfa000 WB ACPI RECLAIM MEM 0000000006cfa000-0000000006d1c000 WB RESERVED 0000000006d1c000-0000000006f35000 WB RUNTIME CODE 0000000006f35000-0000000006f37000 WB|RT RESERVED 0000000006f37000-0000000008000000 WB RESERVED 00000000e0000000-00000000f0000000 WB Bad map: (with BLOBLIST_TABLES but without this patch): Type Start End Attributes ================ ================ ================ ========== CONVENTIONAL 0000000000000000-00000000000a0000 WB RESERVED 00000000000a0000-00000000000f0000 WB ACPI RECLAIM MEM 00000000000f0000-00000000000f1000 WB RESERVED 00000000000f1000-0000000000100000 WB CONVENTIONAL 0000000000100000-0000000005ca5000 WB BOOT DATA 0000000005ca5000-0000000005caa000 WB RUNTIME DATA 0000000005caa000-0000000005cab000 WB|RT BOOT DATA 0000000005cab000-0000000005cac000 WB RUNTIME DATA 0000000005cac000-0000000005cce000 WB|RT BOOT DATA 0000000005cce000-0000000006cd3000 WB RUNTIME DATA 0000000006cd3000-0000000006cd5000 WB|RT BOOT DATA 0000000006cd5000-0000000006cf4000 WB RESERVED 0000000006cf4000-0000000006cf9000 WB ACPI RECLAIM MEM 0000000006cf9000-0000000006ce6000 WB Signed-off-by: Simon Glass <[email protected]>
2025-01-22x86: Align the SMBIOS table to a 4K boundarySimon Glass
This isn't strictly needed, but with UPL we use the reserved-memory nodes to indicate where the SMBIOS table is. Tianocore requires 4KB alignment on these regions, so it is easier to adjust the alignment to match. Signed-off-by: Simon Glass <[email protected]>
2025-01-22x86: Move tables to use SZ macrosSimon Glass
Update the tables to use linux/sizes rather than open-coped values. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Heinrich Schuchardt <[email protected]>
2025-01-22x86: Enable UPL handoff for SPLSimon Glass
Add the GD_FLG_UPL so that a UPL-handoff is created. Signed-off-by: Simon Glass <[email protected]>
2025-01-22x86: Support jumping to a UPL imageSimon Glass
Add a function to allow x86 boards to jump to a UPL images. Currently only 32-bit entry is supported. Signed-off-by: Simon Glass <[email protected]>
2025-01-22x86: Show an error if video failsSimon Glass
If video is enabled we expect it to work. Avoid silent failure by adding a panic if things go wrong. Expand the SPL malloc-area for qemu-x86_64 to avoid a panic. Signed-off-by: Simon Glass <[email protected]>