summaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)Author
2025-12-01net: phy: dp83869: fix STRAP_OPMODE bitmaskThanh Quan
According to the TI DP83869HM datasheet Revision D (June 2025), section 7.6.1.41 STRAP_STS Register, the STRAP_OPMODE bitmask is bit [11:9]. Fix this. In case the PHY is auto-detected via PHY ID registers, or not described in DT, or, in case the PHY is described in DT but the optional DT property "ti,op-mode" is not present, then the driver reads out the PHY functional mode (RGMII, SGMII, ...) from hardware straps. Currently, all upstream users of this PHY specify both DT compatible string "ethernet-phy-id2000.a0f1" and ti,op-mode = <DP83869_RGMII_COPPER_ETHERNET> property, therefore it seems no upstream users are affected by this bug. The driver currently interprets bits [2:0] of STRAP_STS register as PHY functional mode. Those bits are controlled by ANEG_DIS, ANEGSEL_0 straps and an always-zero reserved bit. Systems that use RGMII-to-Copper functional mode are unlikely to disable auto-negotiation via ANEG_DIS strap, or change auto-negotiation behavior via ANEGSEL_0 strap. Therefore, even with this bug in place, the STRAP_STS register content is likely going to be interpreted by the driver as RGMII-to-Copper mode. However, for a system with PHY functional mode strapping set to other mode than RGMII-to-Copper, the driver is likely to misinterpret the strapping as RGMII-to-Copper and misconfigure the PHY. For example, on a system with SGMII-to-Copper strapping, the STRAP_STS register reads as 0x0c20, but the PHY ends up being configured for incompatible RGMII-to-Copper mode. Fixes: f3e22eea815d ("net: phy: add TI DP83869HM ethernet driver") Signed-off-by: Thanh Quan <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> # Use FIELD_GET()
2025-12-01net: xgmac: Augment mdio read/write with cl-45 format supportNikunj Kela
Currently, clause-22 format is supported. This change adds support for clause-45 format. Signed-off-by: Nikunj Kela <[email protected]> Reviewed-by: Boon Khai Ng <[email protected]> Tested-by: Boon Khai Ng <[email protected]> Reviewed-by: Boon Khai Ng <[email protected]> Tested-by: Boon Khai Ng <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-11-29net: fec_mxc.c: improve readability of dm_fec_bind_mdioMarkus Niebel
The last parameter to device_bind_driver_to_node is optional. Since the returned information is not used and overwritten by uclass_get_device_by_ofnode just provide NULL as parameter. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2025-11-29net: fec_mxc: add unique bus and device names for DM_MDIOMarkus Niebel
When using DM_MDIO on SOC with more than one FEC and not sharing the MDIO bus the name of the driver and the bus needs to be unique. Since name used in device_bind_driver_to_node needs to be a static string, add the string to the fec_priv struct and reuse fec_set_dev_name to generate the name with the device sequence number. Fixes: 3b8f99a3e762 ("net: fec: add support for DM_MDIO") Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2025-11-29net: fec_mxc: fix usage of DM_MDIO and DM_ETH_PHYMarkus Niebel
If DM_ETH_PHY is used and the FEC instance owns the shared MDIO bus, eth_phy_get_mdio_bus returns NULL. If DM_MDIO bus is used, the mdio_register API is called from dm_mdio_post_probe. Therefore the bus should must be queried by name in this case. For DM_MDIO case fec_mii_setspeed has already being called in dm_fec_mdio_probe(), so skip setting this again. Fixes: 3b8f99a3e762 ("net: fec: add support for DM_MDIO") Fixes: e75d08821574 ("net: fec-mxc: prevent crash if no MAC address is set") Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2025-11-29net: fec_mxc: rewrite fallback MDIO Bus allocationMarkus Niebel
The code should only be executed if MDIO bus is not assigned. Otherwise the already assigned / allocated bus will be overwritten. Add condition check and simplify the code to make it more readable. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2025-11-29net: fec_mxc: fix remove with DM_MDIOMarkus Niebel
If DM_MDIO is used and the FEC device is removed the mdio API must not be used to remove the bus structure. Store pointer the the udevice for MDIO bus created by dm_fec_bind_mdio and use DM functions to cleanup the device in fecmxc_remove. Fixes: 3b8f99a3e762 ("net: fec: add support for DM_MDIO") Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2025-11-29net: fec_mxc: fix probe of MDIO bus for DM_MDIOMarkus Niebel
When initializing the MDIO bus the MDC signal needs to be configured. Otherwise the communication over the bus may fail. Add the call to fec_mii_setspeed to the DM_MDIO probe handler. Fixes: 3b8f99a3e762 ("net: fec: add support for DM_MDIO") Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2025-11-29net: fec-mxc: prevent crash if no MAC address is setMarkus Niebel
If no MAC address can be found (either in ROM, device tree or env), the post_probe of an ethernet device will fail and therefore the device cannot be instantiated. The DM_ETH_PHY (eth-phy-uclass) use case must not be mixed with using CONFIG_FEC_MXC_MDIO_BASE. This prevents following error for MAC not fused, no eth[1]addr env is present and providing a random MAC is disabled: Net: Error: ethernet@5b040000 address not set. Error: ethernet@5b040000 address not set. FEC: can't find phy-handle "Error" handler, esr 0xbf000002 elr: 000000008004e4b8 lr : 000000008004e4b4 (reloc) elr: 00000000bfe984b8 lr : 00000000bfe984b4 x0 : 0000000000000000 x1 : 0000000000000020 x2 : 00000000bbe61e50 x3 : 00000000bbe6e1a0 x4 : 0000000000000020 x5 : 0000000000000020 x6 : 000000000000000a x7 : 0000000000000000 x8 : 0000000000000000 x9 : 0000000000000008 x10: 00000000ffffffd8 x11: 0000000000000006 x12: 000000000001869f x13: 0000000000002c50 x14: 0000000000000000 x15: 00000000ffffffff x16: 0000000000000000 x17: 0000000000000000 x18: 00000000bbe61d98 x19: 00000000bbe4fa68 x20: 00000000bbe78c10 x21: 00000000bbe6e460 x22: 00000000bbe78c10 x23: 00000000bbe91780 x24: 00000000bbe6e510 x25: 00000000000001f8 x26: 00000000ffff8000 x27: 0000000000000000 x28: 0000000000000000 x29: 00000000bbe4fa10 Code: f900003f 9100a3a1 97ffff6e 35000100 (f94017a1) Resetting CPU ... Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2025-11-29net: fec_mxc: respect return value of phy_configMarkus Niebel
phy_config may fail - for instance in parsing device tree. This should be handled correctly. So return errors from phy_config to caller. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2025-11-27net: ti: am65-cpsw-nuss: Ignore disabled ethernet portsSiddharth Vadapalli
Currently, the bind callback of the driver namely am65_cpsw_nuss_bind() registers all ethernet ports including the ones that have been disabled in the device-tree. Since the ports that have been disabled are ought to be ignored, fix the implementation to register only the enabled ports as indicated by their 'status' in their respective device-tree node. Fixes: 3943531a5468 ("net: ti: am65-cpsw-nuss: Define bind method for CPSW driver") Reported-by: Wadim Egorov <[email protected]> Closes: https://patch.msgid.link/[email protected] Signed-off-by: Siddharth Vadapalli <[email protected]>
2025-11-19net: axi_emac: Fix compilation warningsSai Varun Venkatapuram
Fix compiler warnings about casting integers to pointers of different sizes by using uintptr_t as intermediate type. This ensures proper type conversion across 32-bit and 64-bit architectures. Signed-off-by: Sai Varun Venkatapuram <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/11b1d9b1a5589d06cff724e807832f366794c075.1762510401.git.michal.simek@amd.com
2025-11-07Merge patch series "arm: airoha: add support for en7523 based boards"Tom Rini
Mikhail Kshevetskiy <[email protected]> says: This patch series adds basic support for the boards based on Airoha EN7523/EN7529/EN7562 SoCs. Due to ATF restrictions these boards are able to run 32-bit OS only. This patch series adds support for the following hardware: * console UART * ethernet controller/switch * spinand flash (in non-dma mode) The following issues may be expected: * Extra slow UBI attaching in U-Boot (up to 20 sec with fastmap enabled). This is caused by the lack of DMA support in the U-Boot airoha-snfi driver. * Linux airoha-snfi driver in some cases might damage you flash data (see: https://lore.kernel.org/lkml/[email protected]/) * Latest linux kernel is recommended to properly support flashes with more than one plane per lun (see: https://lore.kernel.org/lkml/[email protected]/) * It's NOT recommended to use flashes working in continuous mode because U-Boot airoha-snfi driver does not support such flashes properly. The patches was tested on the board: - SoC: Airoha EN7562 - RAM: 512 MB - SPI NAND: 4 Gbit, made by Toshiba - Linux boot: was NOT tested The U-Boot was chain-loaded from the running U-Boot. Airoha ATF-2.3 does not allow easily chain-loading of U-Boot from U-Boot, so a special FIT image (mimic linux kernel) was created 1) Create u-boot.its file with the following contents: === cut here === /dts-v1/; / { description = "ARM OpenWrt FIT (Flattened Image Tree)"; #address-cells = <1>; images { u-boot-ram { description = "OpenWrt U-Boot RAM image"; data = /incbin/("u-boot.bin.lzma"); type = "kernel"; arch = "arm"; os = "linux"; compression = "lzma"; load = <0x81e00000>; entry = <0x81e00000>; hash@1 { algo = "crc32"; }; hash@2 { algo = "sha1"; }; }; fdt-1 { description = "OpenWrt device tree blob"; data = /incbin/("dts/upstream/src/arm/airoha/en7523-evb.dtb"); type = "flat_dt"; arch = "arm"; compression = "none"; hash@1 { algo = "crc32"; }; hash@2 { algo = "sha1"; }; }; }; configurations { default = "config-ram-uboot"; config-ram-uboot { description = "OpenWrt RAM U-Boot"; kernel = "u-boot-ram"; fdt = "fdt-1"; }; }; }; ================== 2) Create u-boot.itb image to chain-load new u-boot from the old one lzma_alone e u-boot.bin u-boot.bin.lzma mkimage -f u-boot.its u-boot.itb 3) Load new u-boot from the old one U-Boot> tftpboot u-boot.itb && bootm Link: https://lore.kernel.org/r/[email protected]
2025-11-07net: airoha: add support for airoha en7523 SoC familyMikhail Kshevetskiy
Add support for Ethernet controller present in Airoha en7523/en7529/en7562. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2025-11-07net: airoha: unify code using SCU regmap helperMikhail Kshevetskiy
This allow us remove some an7581/an7583 specific code and use a common code instead. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2025-11-06net: rswitch: Add Renesas R-Car X5H Ethernet Switch3 supportMarek Vasut
Add support for the Renesas Ethernet Switch3 (RSW3) controller, present in R-Car Gen5 SoCs such as R-Car X5H (R8A78000). The hardware offset differences are handled via driver match data. The driver newly detects whether the switch prot is connected to xPCS or not, and if so, turns on MIOC bit 3. This is new on R-Car X5H. GWCKSC register is also programmed only on X5H. The rest of the operation is identical to RSwitch2. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Tam Nguyen <[email protected]> Signed-off-by: Phong Hoang <[email protected]> Signed-off-by: Thanh Quan <[email protected]> Signed-off-by: Hai Pham <[email protected]>
2025-11-06net: rswitch: Parametrize MPIC_MDC_CLK_SET clock settingMarek Vasut
The MPIC_MDC_CLK clock setting value differs between R-Car S4 and R-Car X5H. Parametrize the value in preparation for R-Car X5H addition into this driver. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Parametrize GWDCBAC, FWPBFCSDC, CABPIRM register offsetsMarek Vasut
The GWDCBAC0, GWDCBAC1, FWPBFCSDC, CABPIRM register offsets changed between R-Car S4 and R-Car X5H. Parametrize their offsets in preparation for R-Car X5H addition into this driver. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Inline FWRO, CARO, GWRO, TARO, RMRO macrosMarek Vasut
Inline FWRO, CARO, GWRO, TARO, RMRO macros directly into the follow up register macros. FWRO, CARO, GWRO, TARO are already zero, drop them. RMRO is 0x1000, increment all registers which add RMRO by 0x1000 directly. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Parametrize forwarding engine CSD register offsetMarek Vasut
The forwarding engine CSD register offset changed between the R-Car S4 and R-Car X5H. Parametrize this offset in preparation for R-Car X5H addition into this driver. Clean up the macro parameter names and make them more obvious. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Parametrize port countMarek Vasut
The total port counts differ across variants of this IP in R-Car S4 and R-Car X5H. Parametrize port count in preparation for R-Car X5H addition into this driver. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Parametize COMA, ETHA, GWCA offsetsMarek Vasut
The COMA, ETHA, GWCA offsets differ across variants of this IP in R-Car S4 and R-Car X5H. Parametrize these offsets in preparation for R-Car X5H addition into this driver. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Add support for split MII and SerDesMarek Vasut
This IP does support operating MII and SerDes via different ports. Currently, the driver assumes that MII and SerDes are always bound together on the same port, but this may not be the case. Implement support for controlling MII and SerDes separately. While the change is extensive, the gist of the change is to pass pointer to the selected port registers to MII or SerDes functions, depending on which port and operations should be done on that port. Each combined ETHA instance contains both MII and SerDes register pointers, which may not point to the same port, and passes those registers to MII and SerDes functions respectively to control the MII or SerDes of each port. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Use bulk clock operationsMarek Vasut
The new version of RSwitch3 in Renesas R-Car Gen5 uses multiple clock to supply the IP. Convert the driver to bulk clock API to cater for both single clock of R-Car S4 and multiple clock of R-Car Gen5. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Initialize RX DMA descriptor .die_dt field to DT_FEMPTYMarek Vasut
Empty RX DMA descriptor must contain .die_dt field set to DT_FEMPTY, because hardware DMA overwrites this field to non-DT_FEMPTY when data are received, and the .recv callback tests the content of RX descriptor .die_dt field to determine whether hardware did receive any data and updated the .die_dt field, and based on that information, receives a packet or not. Fix the incorrect RX DMA descriptor initialization to assure the .recv callback always works correctly. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Drop unused macrosMarek Vasut
Remove macros which are not used in the driver. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-06net: rswitch: Switch indent from spaces to tabsMarek Vasut
Fix indent from multiple spaces to tabs, to be consistent with coding style and the rest of the driver. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-11-04net: fsl_enetc_mdio: Add support for phy-supply propertyYe Li
Add support for the optional 'phy-supply' property in the ENETC MDIO driver. This allows the driver to enable and manage the PHY's power supply via the regulator framework when specified in device tree. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Alice Guo <[email protected]>
2025-11-04net: fsl_enetc: Add i.MX94 support to NETC block control driverYe Li
Extend the NETC block control driver to support the i.MX94 SoC. Acked-by: Peng Fan <[email protected]> Reviewed-by: Jacky Bai <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]>
2025-10-27net: sun8i-emac: Add support for active-low leds with internal PHYPaul Kocialkowski
A device-tree property is already defined to indicate that the internal PHY should be used with active-low leds, which corresponds to a specific bit in the dedicated syscon register. Add support for setting this bit when the property is present. Signed-off-by: Paul Kocialkowski <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2025-10-27net: sun8i-emac: Remove internal PHY config default valuePaul Kocialkowski
We know about all the relevant fields in the syscon register so there is no reason to read it first and modify it. Build the register from scratch instead, with all relevant fields set. Signed-off-by: Paul Kocialkowski <[email protected]>
2025-10-22net: designware: fix bitbang init errorJim Liu
The Synchronous Abort and reset errors occurred due to incorrect parameter passing during initialization. Signed-off-by: Jim Liu <[email protected]> [jf: add missing #if IS_ENABLED(CONFIG_BITBANGMII)] Signed-off-by: Jerome Forissier <[email protected]>
2025-10-22net: phy: Make driver overloading get_phy_id depend on !COMPILE_TESTTom Rini
With commit 597fe041a85f ("net/phy: enable get_phy_id redefinable") we made get_phy_id a public but weak function, so that PHY drivers that had required non-standard ways of getting the PHY ID could be supported. However, overloading a weak function multiple times is (rightly) a link error. At this point, we have two PHYs which make use of this feature, so make both of them only available when COMPILE_TEST is unset, as part of being able to support "allyesconfig" in the future. Signed-off-by: Tom Rini <[email protected]>
2025-10-22net: phy: add paged PHY register accessorsLucien.Jheng
Synchronize paged PHY helpers with Linux v6.17. Add support for PHY devices that use paged register access by implementing the following functions: - phy_save_page(): Save current page number - phy_select_page(): Switch to a specific page and return previous page - phy_restore_page(): Restore previously saved page Also adds read_page and write_page callbacks to the phy_driver structure to enable driver-specific page handling. These helpers allow safe access to paged PHY registers by ensuring proper page selection and restoration, even in error conditions, which will be used by the Airoha PHY driver. Signed-off-by: Lucien.Jheng <[email protected]>
2025-10-22net: airoha: simplify rx/free packet logic a bitMikhail Kshevetskiy
The commit 997786bbf473 ("drivers/net/airoha_eth: fix stalling in package receiving") can be improved. Instead of returning previous descriptor it's possible: * do nothing in even descriptor case * return 2 descriptor to the queue (current and previous) in the odd descriptor case. This patch: * implements above approach * remove logic not required within new approach * adds note that PKTBUFSRX must be even and larger than 7 for reliable driver operations Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2025-10-22net: mediatek: move MT7531 MMIO MDIO to dedicated driverChristian Marangi
In preparation for support of MDIO on AN7581, move the MT7531 MMIO logic to a dedicated driver and permit usage of the mdio read/write function to the mtk_eth driver. This only affect MT7988 that can use MMIO operation to access the Switch register. The MT7988 code is updated to make use of the external driver. This permits Airoha driver to make use of DM_MDIO to bind for the MT7531 driver that have the same exact register. Signed-off-by: Christian Marangi <[email protected]>
2025-10-22net: mediatek: mt7988: free allocated MDIO bus on cleanupChristian Marangi
Correctly free the MDIO Bus on calling cleanup function. While at it also fix a copy-paste error and rename the cleanup function name to the more specific name. Signed-off-by: Christian Marangi <[email protected]>
2025-10-22net: mediatek: mt7988: restore PHY page on PHY setting exitChristian Marangi
On exiting the phy_setting function for MT7988, the PHY page is never restored to Page 0. This can cause all kind of problem with reading the status of the PHY at runtime. Correctly restore PHY page on exiting the PHY setting function. Signed-off-by: Christian Marangi <[email protected]>
2025-10-22net: mediatek: mt7531/7988: fix broken PHY turn ON/OFFChristian Marangi
The PHY for MT7531/MT7988 are never actully turned ON/OFF for the affected PHY as we are read/writing to the wrong PHY address. This is caused by the fact that we use the MT753X_PHY_ADDR macro 2 times offsetting the address multiple times. One in the _setup() function and one in the mt7531_mii_read/write. Drop the additional usage of MT753X_PHY_ADDR in setup() to correctly set the PHY. Signed-off-by: Christian Marangi <[email protected]>
2025-10-22net: phy: aquantia: switch to use phy_get_ofnode()Beiyan Yun
Use PHY API phy_get_ofnode() helper to get PHY DT node. Signed-off-by: Beiyan Yun <[email protected]>
2025-10-22net: Tighten more driver dependenciesTom Rini
In this case, the mediatek network drivers cannot build outside of ARCH_MEDIATEK or ARCH_MTMIPS, and so express this requirement in Kconfig as well. In the case of DWC_ETH_XGMAC / DWC_ETH_XGMAC_SOCFPGA, the file controlled by the DWC_ETH_XGMAC option references a socfpga-specific array defined in the file controlled by DWC_ETH_XGMAC_SOCFPGA. Rework these options in Kconfig to handle this dependency. Signed-off-by: Tom Rini <[email protected]>
2025-10-22arm: socfpga: Tighten a few more driver dependenciesTom Rini
Some drivers which depend on SoCFPGA specific headers had not had appropriate dependencies list in Kconfig. Add ARCH_SOCFPGA or TARGET_SOCFPGA_SOC64 where appropriate. Signed-off-by: Tom Rini <[email protected]>
2025-10-14Merge tag 'xilinx-for-v2026.01-rc1-v2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx/FPGA changes for v2026.01-rc1 v2 zynqmp: - DT updates - Enable new commands mbv: - Simplify defconfigs clk: - Separate legacy handler and use SMC handler misc: - Tighten TTC Kconfig dependency net: - Add 10GBE support to Gem pwm: - cadence-ttc: Fix array sizes fwu: - Add platform hook support spi: - Remove undocumented cdns,is-dma property video: - Fix DPSUB RGB handling
2025-10-10net: ethernet: ti: am65-cpsw: fix up PHY mode for fixed RGMII TX delayMatthias Schiffer
The am65-cpsw driver currently sets the SEL_RGMII_IDMODE flag in a MAC's mode register to enable or disable the TX delay. While this was supported for earlier generations of the CPSW controller, the datasheets of all modern TI SoCs using the am65-cpsw MAC state that the TX delay is fixed, and the SEL_RGMII_IDMODE bit is documented as reserved in most of them. Furthermore, while it was found that this bit does in fact disable the TX delay, [1] states that this setting is truly unsupported by TI and not just undocumented. Following the clarification of the rgmii* phy-mode values in the Linux DT bindings in [2], the Linux am65-cpsw driver was changed in [3] to account for the fixed TX delay by fixing up the mode passed to the PHY driver; a similar fixup already existed in the TI icssg-prueth driver. [4] followed up on this by explicitly clearing the SEL_RGMII_IDMODE flag to handle the case where it is set by the bootloader or other firmware before Linux. With the above changes, Device Trees that set the recommended "rgmii-id" mode are now appearing in Linux 6.17+. Avoid setting the unsupported SEL_RGMII_IDMODE flag for such Device Trees, and instead fix up the PHY interface mode, thus aligning the U-Boot driver with the Linux kernel. [1] https://www.spinics.net/lists/netdev/msg1112647.html [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c360eb0c3ccb95306704fd221442283ee82f1f58 [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ca13b249f291f4920466638d1adbfb3f9c8db6e9 [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a22d3b0d49d411e64ed07e30c2095035ecb30ed2 Signed-off-by: Matthias Schiffer <[email protected]>
2025-10-09fw_loader: Split from fs_loader into separate library fileMarek Vasut
The script based firmware loader does not use anything from the fs_loader implementation. Separate it into its own library source file and convert the mediatek PHY to use this separate code. This should reduce the amount of code that is pulled in alongside the firmware loader, as the FS loader is no longer included. Signed-off-by: Marek Vasut <[email protected]>
2025-10-09drivers: net: Add versal2 10GBE device supportVenkatesh Yadav Abbarapu
Add 10GBE high-speed Mac support, it supports 10G, 5G, 2.5G and 1G speeds. 10GBE high speed Mac is an extension of the current 1G Mac in versal, inheriting all its current features. MMI 10GBE ip has two internal PCS's. 1)10GBASER PCS is used for higher speeds 10G and 5G. 2)1000BASEX PCS is used for slower speeds 1G and 2.5G. Both PCS's speed and rate configuration is done with same usx registers. ENABLE_HS_MAC bit in NCR is the toggle switch between the PCS's. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-10-07misc: fs_loader: Use buffer pointer in request_firmware_into_buf_via_script()Marek Vasut
Use plain buffer pointer in request_firmware_into_buf_via_script() instead of a pointer to pointer. The later is not necessary as the request_firmware_into_buf_via_script() does not modify the buffer pointer. Update the mediatek driver to match. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Weijie Gao <[email protected]>
2025-10-06Merge branch 'next'Tom Rini
Merge the outstanding changes from the 'next' branch to master.
2025-09-30net: mdio: mux-meson-gxl: set reversed bit when using internal phyNeil Armstrong
This bit is necessary to receive packets from the internal PHY. Without this bit set, no activity occurs on the interface. Normally u-boot sets this bit, but if u-boot is compiled without net support, the interface will be up but without any activity. The vendor SDK sets this bit along with the PHY_ID bits. Ported from the Linux change at [1] from Da Xu merged in commit [2]. [1] https://lore.kernel.org/all/[email protected]/ [2] b23285e93bef ("net: mdio: mux-meson-gxl: set reversed bit when using internal phy") Suggested-by: Da Xue <[email protected]> Link: https://lore.kernel.org/r/20250502-u-boot-topic-mdio-mux-gxl-bit28-v1-1-399f6c3db154@linaro.org Signed-off-by: Neil Armstrong <[email protected]>
2025-09-30net: designware: avoid regulator enable failureBen Wolsieffer
Use regulator_set_enable_if_allowed() to avoid failure if regulator is shared between multiple devices. Signed-off-by: Ben Wolsieffer <[email protected]>