summaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)Author
2023-06-15net: fsl-mc: sync DPBP MC APIsIoana Ciornei
Sync the Data Path Buffer Pool APIs to their latest form, this means the layout of each command is created based on structures which clearly describe the endianness of each field rather than some macros. The command version is kept in place, meaning that the minimum MC version accepted is not changed in any way. Signed-off-by: Ioana Ciornei <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-06-15net: fsl-mc: remove unused MC APIsIoana Ciornei
There are multiple MC APIs which were added years ago but they are not used at all in the u-boot source code. Remove all these APIs. Signed-off-by: Ioana Ciornei <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-06-14net: rtl8169: add depends on PCIEugen Hristev
The rtl8169 driver uses calls to dm_pci_bus_to_phys, which are compiled under CONFIG_PCI. Without CONFIG_PCI, this happens: drivers/net/rtl8169.o: in function `rtl_recv_common': drivers/net/rtl8169.c:555: undefined reference to `dm_pci_bus_to_phys' It is only natural that this driver depends on CONFIG_PCI then. The device does not work connected in another way anyway, and the driver does not assume anything else at this moment. Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-14net: ldpaa_eth: export DPNI and DPMAC counters through 'net stats'Ioana Ciornei
Export the already existing DPNI and DPMAC counters through the newly added callbacks. Signed-off-by: Ioana Ciornei <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-06-14net: ldpaa_eth: extend debug capabilities with DPMAC statisticsIoana Ciornei
The ldpaa_eth driver already had a DPMAC statistics dump, this patch extends the list of stats and adds a bit more structure to the code. For a bit more context, the DPAA2 u-boot software architecture uses a default network interface object - a DPNI - which, at runtime, will get connected to the currently used DPMAC object. Each time the .stop() eth callback is called, the DPMAC is destroyed thus any previous counters will get lost. As a preparation for the next patches, we add a software kept set of DPMAC counters which will get updated before each destroy operation takes place. Signed-off-by: Ioana Ciornei <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-06-14net: ldpaa_eth: extend debug capabilities with DPNI statisticsIoana Ciornei
The ldpaa_eth driver already had a DPNI statistics dump, this patch extends the list of stats and adds a bit more structure to the code. For a bit more context, the DPAA2 u-boot software architecture uses a default network interface object - a DPNI - which, at runtime, will get connected to the currently used DPMAC object. Each time the .stop() eth callback is called, the DPNI is reset to its original state, including its counters. As a preparation for the next patches, we add a software kept set of DPNI counters which will get updated before each reset operation takes place. Signed-off-by: Ioana Ciornei <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-06-14net: ldpaa_eth: transform dpni_statistics from a struct to a unionIoana Ciornei
In order to simplify code, dpni_statistics can be written as a union. Using the raw accessors we can just loop through all the statistics from a page without trying to access each an every one independently. Make this change to a union. Signed-off-by: Ioana Ciornei <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2023-06-12Merge tag 'xilinx-for-v2023.10-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze into next Xilinx changes for v2023.10-rc1 global: - Use proper U-Boot project name Fix sparse warnings in zynqmp-clk, zynqmp handoff, board cmd: - Cover incorrect 0 length entries Versal NET: - Add bootmode logic - Support SPP production version - Add loadpdi command ZynqMP: - Clear pmufw node command ID handling - Change power domain behavior around zynqmp_pmufw_node() - Fix zynqmp cmd return values and pmufw command - Fix R5 tcm init and modes mmc: - Sync Versal NET emmc DT binding pcie: - Add support for ZynqMP PCIe root port video: - Add support for ZynqMP DP tools: - Fix debug message in relocate-rela
2023-06-12Merge tag v2023.07-rc4 into nextTom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-06-12global: Use proper project name U-BootMichal Simek
Use proper project name in comments, Kconfig, readmes. Reviewed-by: Neil Armstrong <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Qu Wenruo <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/0dbdf0432405c1c38ffca55703b6737a48219e79.1684307818.git.michal.simek@amd.com
2023-06-10net: sh_eth: Fix RX error handlingValentine Barshak
In case RX error occurs, and the RD_RFE bit is set, the descriptor is never returned back to the queue. Make sh_eth_recv_start return zero length in this case so that the descriptor can be released and pushed back to the list. Also return the more appropriate -EAGAIN instead of -EINVAL if the descriptor is not ready yet. Signed-off-by: Valentine Barshak <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: sh_eth: Workaround cache issuesValentine Barshak
U-Boot writes to RX packets when constructing replies. This can cause stale cached data to be written to RX buffer while we're receiving a packet. This causes RX packet corruption because we invalidate the cache right before processing the packet. Invalidate packet buffer cache when preparing RX descriptor as well. This seems to fix RX packet drops with high RX traffic. While at it flush the descriptors right before enabling RX/TX in sh_eth_tx_desc_init/sh_eth_rx_desc_init callbacks when they are ready instead of flushing after allocation. Signed-off-by: Valentine Barshak <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: sh_eth: Drop reset GPIO handling in favor of common codeMarek Vasut
The common code is now capable of handling reset GPIO associated with PHY. Drop the local ad-hoc code in favor of common code. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: ravb: Drop reset GPIO handling in favor of common codeMarek Vasut
The common code is now capable of handling reset GPIO associated with PHY. Drop the local ad-hoc code in favor of common code. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: phy: Handle reset-delay-us/reset-post-delay-us propertiesMarek Vasut
These two properties are used by various DTs in place of current reset-assert-us/reset-deassert-us , handle both . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: phy: Bind ETH_PHY uclass driver to each new PHYMarek Vasut
In case a new PHY is created and DM_ETH_PHY is enabled, bind a generic PHY driver from ETH_PHY uclass to the PHY to have a matching DM representation of that PHY. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: phy: Unpublish phy_connect_dev()Marek Vasut
The phy_connect_dev() is legacy API, now that there are no users, make it internal to phy.c and unpublish it from headers. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: sunxi_emac: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: sh_eth: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: pch_gbe: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: ethoc: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: ave: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: altera_tsa: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: eth-phy: staticize eth_phy_reset()Marek Vasut
The eth_phy_reset() is not used outside of this file, staticize it. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-05-31arm: Remove ti816x_evm board and ti816x SoC supportTom Rini
This platform is currently unmaintained and untested, so remove it. Further, as it is the only TI816X SoC example, remove related files as well. Signed-off-by: Tom Rini <[email protected]>
2023-05-09Merge tag 'u-boot-rockchip-20230509' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip - Rockchip NFC driver update and dev addr pointer api update; - use standard dr_mode for usb driver; - rock pi boards dts update; - Add rk3566 Anbernic boards; - Misc fixes for drivers;
2023-05-06drivers: use devfdt_get_addr_index_ptr when cast to pointerJohan Jonker
The fdt_addr_t and phys_addr_t size have been decoupled. A 32bit CPU can expect 64-bit data from the device tree parser, so use devfdt_get_addr_index_ptr instead of the devfdt_get_addr_index function in the various files in the drivers directory that cast to a pointer. As we are there also streamline the error response to -EINVAL on return. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-05-06drivers: use dev_read_addr_ptr when cast to pointerJohan Jonker
The fdt_addr_t and phys_addr_t size have been decoupled. A 32bit CPU can expect 64-bit data from the device tree parser, so use dev_read_addr_ptr instead of the dev_read_addr function in the various files in the drivers directory that cast to a pointer. As we are there also streamline the error response to -EINVAL on return. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-05-06drivers: use dev_read_addr_index_ptr when cast to pointerJohan Jonker
The fdt_addr_t and phys_addr_t size have been decoupled. A 32bit CPU can expect 64-bit data from the device tree parser, so use dev_read_addr_index_ptr instead of the dev_read_addr_index function in the various files in the drivers directory that cast to a pointer. As we are there also streamline the error response to -EINVAL on return. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-05-05net: phy: Request rgmii-id phy reset gpio as outputStefan Herbrechtsmeier
Request the reset gpio of the rgmii-id phy as output to be consistent with the eth-phy-uclass driver. Signed-off-by: Stefan Herbrechtsmeier <[email protected]> Reviewed-by: Michal Simek <[email protected]>
2023-05-05net: rtl8169: add minimal support for 8125B variantEugen Hristev
Add minimal support for 8125B version. Changes are based on the Linux driver. Tested on Radxa Rock 5B Rk3588 board. Connection to a laptop worked fine in 100 Mbps mode. 1000 Mbps mode is not working at the moment. Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-05-05net: phy: dp83867: Explicitly check against sgmiiNishanth Menon
dp83867 driver only supports sgmii and not all the newer protocols. Drop the usage of the generic phy_interface_is_sgmii function and just matchup to the specific mode supported. Reported-by: Tom Rini <[email protected]> Suggested-by: Marek Vasut <[email protected]> Suggested-by: Marek Behún <[email protected]> Link: https://lore.kernel.org/all/[email protected]/ Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-05-05phy: realtek: don't duplicate genphy_startupRasmus Villemoes
rtl8211e_startup() is an exact copy of genphy_startup(). Use that instead of duplicating it. Signed-off-by: Rasmus Villemoes <[email protected]>
2023-05-05phy: broadcom: don't duplicate genphy_startupRasmus Villemoes
Functionally, bcm_cygnus_startup() is an exact copy of genphy_startup(). Signed-off-by: Rasmus Villemoes <[email protected]>
2023-05-05net: phy: gmii2rgmii: Support external rgmii-id phyStefan Herbrechtsmeier
Read the phy mode of the external phy from the device tree if available and check that it is a RGMII variant. Signed-off-by: Stefan Herbrechtsmeier <[email protected]>
2023-05-05Let the EQoS in imx8mp handle fixed-phy too.Elmar Psilog
Without that patch it lost track to the node to scan speed and duplex. Patch was created by Marek Vasut, just tested by me. Signed-off-by: Elmar Psilog <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-05-05drivers: net: fsl-mc: fix MAC address fixup procedureIoana Ciornei
In the process of adopting CONFIG_DM_ETH on the DPAA2 based platforms, interfaces which were previously defined as "xgmii" were transitioned to be defined as "xfi" in the DTS. See the commit below for reference: commit 87274918f2f4 ("arm: dts: ls2088ardb: add DPMAC and PHY nodes") Then Vladimir's commit replaced all occurrences of "xfi" with "10gbase-r" in an effort to make U-Boot work with the same device tree as Linux. commit 77b11f760416 ("net: replace the "xfi" phy-mode with "10gbase-r"") These changes to the phy_interface_t of an Ethernet port meant that the mc_fixup_mac_addrs() function was no longer capable to properly fixup the MAC addresses. The problem arises from the fact that the hardcoded information about an interface (wriop_get_enet_if()) was no longer matching any actual device. For example, the function tried to search for "DPMAC1@xgmii1" by name using eth_get_dev_by_name() when only "DPMAC1@10gbase-r" was available. This function removes the need to rely on the hardcoded information by iterating through all the UCLASS_ETH devices which are DPAA2 and request a fixup for each of them. Signed-off-by: Ioana Ciornei <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-05-05drivers: net: ldpaa: export driver name and API to get DPMAC idIoana Ciornei
Export the ldpaa_eth_get_dpmac_id() function so that it can be used from other drivers, especially by fsl-mc which will need it the next patch. Also, create a macro for the Ethernet ldpaa driver name and export it as well. Signed-off-by: Ioana Ciornei <[email protected]>
2023-05-05net: ksz9477: add port_probe function to config phyTim Harvey
Add a port_probe function to configure the phy. This leads to earlier link negotiation so the port is more likely to be ready when used. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-05-05net: ksz9477: remove unnecessary variableTim Harvey
We don't do anything useful with the master dev, so remove the variable. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-05-05net: ksz9477: remove unnecessary dsa_set_tagging callTim Harvey
packet tagging is not used for this driver so we do not need to call dsa_set_tagging. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-04-16net: rswitch: Add Renesas Ethernet SwitchPhong Hoang
This patch adds Ethernet Switch support that found on R-Car S4 (r8a779f0) SoC. This is extracted from multiple patches from downstream BSP, with additional rework of the network device registration. Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Phong Hoang <[email protected]> Signed-off-by: Takeshi Kihara <[email protected]> [Marek: Rework the driver to support all ports via subdrivers. Split the driver up, add generic PHY framework support. Generic code clean ups.] Reviewed-by: Ramon Fried <[email protected]>
2023-04-12net: sun8i-emac: Remove the SoC variant IDSamuel Holland
Now that all differences in functionality are covered by individual flags, remove the enumeration of SoC variants. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-12net: sun8i-emac: Use common syscon setup for R40Samuel Holland
While R40 puts the EMAC syscon register at a different address from other variants, the relevant portion of the register's layout is the same. Factor out the register offset so the same code can be shared by all variants. This matches what the Linux driver does. This change provides two benefits beyond the simplification: - R40 boards now respect the RX delays from the devicetree - This resolves a warning on architectures where readl/writel expect the address to have a pointer type, not phys_addr_t. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-12net: sun8i-emac: Add a flag for the internal PHY switchSamuel Holland
Describe this feature instead of using the SoC ID. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-12net: sun8i-emac: Add a flag for RMII supportSamuel Holland
Describe this feature instead of using the SoC ID. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-12net: sun8i-emac: Add a structure for variant dataSamuel Holland
Currently, EMAC variants are distinguished by their identity, but this gets unwieldy as more overlapping variants are added. Add a structure so we can describe the individual feature differences between the variants. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2023-04-07Merge branch 'master_sh/gen4/initial' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh - Initial R-Car Generation 4 support
2023-04-07net: ravb: Add R-Car Gen4 supportHai Pham
Add support for R-Car Gen4 SoCs and a matching DT compatible. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> [Marek: Drop SoC specific compatible, use RCAR_64 Kconfig symbol, update commit message]
2023-04-07net: phy: marvell10g: Adapt Marvell 10G PHY driver from LinuxMarek Vasut
Pull Marvell 10G PHY driver from Linux 6.1.y as of commit d6d29292640d3 ("net: phy: marvell10g: select host interface configuration") and heavily adapt to match U-Boot PHY framework. Support for hwmon is removed as is much other functionality which could not be tested, this results in much simpler driver which can only bring the PHY up and set MAC type. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>