Commit Graph

129 Commits

Author SHA1 Message Date
Sven Ginka
31024576fb drivers: mac: sy1xx add support for ethernet mac
Add basic ethernet mac support to the sensry soc sy1xx.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-02-12 20:26:00 +01:00
Yangbo Lu
6738a57010 dts: bindings: ethernet: nxp,imx-netc-psi: not require phy-handle
No longer require phy-handle as it may be pseudo MAC.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-02-11 22:03:48 +01:00
Yangbo Lu
1ca7683841 dts: bindings: ethernet-controller: add internal connection
Added internal connection for the connection inside SoC.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-02-11 22:03:48 +01:00
James Roy
ce56b987e7 dts: bindings: ethernet: Change the property names in the DTS
Rename the following propertys in bindings and DTS:
-- location-phy_mdc => location-phy-mdc
-- location-phy_mdio => location-phy-mdio
-- location-rmii_refclk => location-phy-refclk
-- location-rmii_crs_dv => location-phy-crs-dv
-- location-rmii_txd0 => location-phy-txd0
-- location-rmii_txd1 => location-phy-txd1
-- location-rmii_tx_en => location-phy-tx-en
-- location-rmii_rxd0 => location-phy-rxd0
-- location-rmii_rxd1 => location-phy-rxd1
-- location-rmii_rx_er => location-phy-rx-er
-- location-phy_pwr_enable => location-phy-pwr-enable
-- location-phy_reset => location-phy-reset
-- location-phy_interrupt => location-phy-interrupt

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-01-24 11:05:20 +01:00
Sven Ginka
e50645468c drivers: ethernet: vsc8541: add basic support for phy
add basic support for the microchip vsc8541 model phy.
as first starter, 1000MBit/s mode is implemented.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-01-17 23:08:14 +01:00
Parthiban Veerasooran
0b87a5469c drivers: ethernet: lan865x: remove internal PHY specific initialization
Remove internal PHY initialization part as the phy_microchip_t1s.c
driver will do the internal PHY initialization.

Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
2025-01-16 22:45:03 +01:00
Parthiban Veerasooran
36c7feccf9 drivers: ethernet: phy: Add Microchip's LAN865X Rev.B0/B1 PHY support
Add support for LAN8650/1 Rev.B1. As per the latest configuration note
AN1760 released (Revision F (DS60001760G - June 2024)) for Rev.B0 is also
applicable for Rev.B1. Refer hardware revisions list in the latest AN1760
Revision F (DS60001760G - June 2024).
https://www.microchip.com/en-us/application-notes/an1760

Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
2025-01-16 22:45:03 +01:00
Adib Taraben
cce082626e eth_nxp_enet_qos_mac: implement the nxp,unique-mac address feature
This implements to generate the MAC address of the device UUID.
The UUID is hashed to reduce the size to 3 bytes.
Ideas taken from eth_nxp_enet.c
Adding dependencies on: HWInfo and CRC

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-01-08 17:01:37 +01:00
Mario Paja
7abe775129 drivers: ethernet: add support for microchip lan9250
This PR adds support for LAN9250 spi ethernet controller.
This driver is tested on the Mikroe ETH Click 3
https://www.mikroe.com/eth-3-click

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2024-12-10 11:10:34 +01:00
Robert Slawinski
19e74f1ba0 drivers: dm8806: add new driver for davicom dm8806 phy mac
New driver for Davicom DM8806 PHY. Driver is using standar mdio API
to manage the DM8806 switch controller. Register access needs the
PHY addres or switch address to be one of five possible values, since
DM8806 has built-in five PHY's. These values should be defined in the
application .dts file. One DM8806 ethernet port must corresponds with
one ethernet PHY node with two properties for ethernet port: one for
PHY address and one for switch address - <reg> for register access from
Internal PHY Register area and <reg-switch> for register access from
Switch Per-Port Registers area. Device tree example below:

example device-tree:
  dm8806_phy: ethernet-phy@0 {
    reg = <2>;
    reg-switch = <8>;
    compatible = "davicom,dm8806-phy";
    status = "okay";
    davicom,interface-type = "rmii";
    reset-gpio = <&gpiod 2 GPIO_ACTIVE_LOW>;
    interrupt-gpio = <&gpioc 1 GPIO_ACTIVE_HIGH>;
  };

Signed-off-by: Robert Slawinski <robert.slawinski1@gmail.com>
2024-12-09 09:50:29 +01:00
Duy Nguyen
6b287b0e4e drivers: eth: Initial support for Renesas RA Ethernet driver
This commit is to enable Ethernet drivers support on Renesas RA
MCU, first target support is the Renesas RA8 series

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2024-12-05 07:45:19 +01:00
IBEN EL HADJ MESSAOUD Marwa
d0751148c1 dts: Introduce stm32h7 ethernet compatible
Add stm32h7 ethernet compatible "st,stm32h7-ethernet",
used also for stm32h5.

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2024-10-24 22:04:21 +01:00
Jukka Rissanen
8169ca2e08 usb: device_next: NCM driver for usb-next
USB NCM Ethernet driver implementation.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-17 15:38:00 -04:00
Yangbo Lu
553079350c drivers: ethernet: add NXP i.MX NETC driver
Added NXP i.MX NETC driver based on NXP MCUX SDK driver APIs.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2024-10-16 10:00:32 +02:00
Bernhard Krämer
6ea04441f9 drivers: ethernet: Add DP83825 phy driver
Includes dt binding

Signed-off-by: Bernhard Krämer <bdkrae@gmail.com>
2024-10-15 04:10:06 -04:00
Santosh Male
81b58ac35b dts: Added dwcxgmac dt nodes in soc dtsi file
Added XGMAC0, XGMAC1, XGMAC2 device nodes in
intel_socfpga_agilex5 dts file with default
parameter values and  default device node status
as 'disabled'.

Signed-off-by: Santosh Male <santosh.male@intel.com>
2024-09-05 17:03:05 -04:00
Jiafei Pan
7380e287ef dts: binding: refine nxp rdc property
Define rdc property in a yaml file and include it in the peripheral's
dts binding.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-08-14 14:43:46 -04:00
Jiafei Pan
f690b823f9 dts: binding: ethernet-phy: add 1G fixed-link support
Added 1G link support for fixed-link.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-08-12 12:43:54 +02:00
Jiafei Pan
f498644106 drivers: eth: phy: add AR8031 PHY driver
Add PHY driver support for Qualcomm AR8031, it can use fixed link
or use auto negotiation.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-08-12 12:43:54 +02:00
Fin Maaß
aeea701b2b dts: bindings: litex: rename eth comatible
Rename it from litex,eth to litex,liteeth
to reflect the new name of the driver.

Zero got removed from the litex
ethernet compatible, as it now supports
multiple instances.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-08-01 08:59:37 +01:00
Jiafei Pan
4f034f46b0 soc: imx8mp: enable rdc for enet
Add RDC dts node for ENET and configure it in soc.c.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-06-14 19:21:18 +02:00
Declan Snyder
45d3eb27b8 drivers: nxp_enet: Add fuse map address
Add functionality to use fused mac address

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-06-11 20:05:50 +03:00
Declan Snyder
f203a8b193 drivers: nxp_enet: Fix nxp,unique-mac
nxp,unique-mac actually is not meant to be universally
unique, the LAA bit should therefore be set, and fix the
description of the property in the binding to clarify
the intended usage of this property.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-06-11 20:05:50 +03:00
Declan Snyder
2e4e9a9494 dts: bindings: Fix KSZ8081 property names
Fix KSZ8081 binding properties:
- reset-gpios and interrupt-gpios are generally standard
  properties and therefore should not be using a special name
- mc, is not the correct vendor prefix for microchip

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-06-10 21:03:35 -04:00
Stanislav Poboril
d124eec3c9 drivers: ethernet: phy: Add Realtek RTL8211F PHY driver
Add driver for Realtek RTL8211F 10/100/1000M ethernet PHY.
This driver implements vendor specific behaviour like
detecting link state change by GPIO interrupt, which is not
present in the generic MII driver.

Fixes: #66348

Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
2024-06-06 20:08:27 -04:00
Stanislav Poboril
cbb5c5b444 drivers: nxp_enet: Support RGMII mode for ENET_1G
- Added nxp,enet1g compatible to distinguish between ENET (nxp,enet)
and ENET_1G (nxp,enet1g) peripherals within the same driver.
- Added config ETH_NXP_ENET_1G to enable 1G mode of operation on ENET_1G.
- Support RGMII mode of connection between MDIO and PHY to be
able to work with ENET_1G peripheral and support 1000M speed.
- Removed performing of PHY reset before configuring link - it is
not desirable for RTL8211F PHY connected to ENET_1G on RT1170.
Reset of other PHYs can be performed by PHY driver itself if required.

Fixes: #66348

Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
2024-06-06 20:08:27 -04:00
Stanislav Poboril
57a788880e dts: bindings: ethernet-controller: Add RGMII mode
Add option for RGMII connection type between the MAC and the PHY
device into the ethernet controller binding.

Fixes: #66348

Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
2024-06-06 20:08:27 -04:00
Angelo Dureghello
dc376a8bd9 drivers: eth: phy: adin2111: add support for adin1100 phy
Add support for similar adin1100 phy, boath are 10Base-T1L,
only difference is that adin1100 connects through r/mii.

Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
2024-05-07 09:41:46 +02:00
Declan Snyder
ac58f3abe6 drivers: nxp_enet: Generate MAC using eth.h
The MAC address macros are ridiculous in this driver.
Rewrite to be simpler and use eth.h common function.
Also, clarify the mac address generation on the DT overlays.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-18 11:18:31 +02:00
Declan Snyder
a7c39a2cc2 dts: bindings: Add NXP ENET QOS Bindings
Add compatibles for NXP ENET QOS drivers

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-02 21:02:25 -04:00
Declan Snyder
353c6a66cb dts: bindings: ethernet: Remove fixed link
Remove ethernet-fixed-link binding as it is redundant with the
phy bindings. Clearly, ethernet does not work without the L1
layer, which is a phy device, or an integrated mac/phy device,
and all of these things should be described properly in DT.
The schema did not even come with a compatible, meaning nodelabels
were hardcoded into the drivers, which is unacceptable.

- Remove the binding file for ethernet-fixed-link.yaml.
- Remove fixed link functionality from the nxp s32 gmac driver.
  Since this functionality is already covered by the phy support,
  it is redundant.
- Remove fixed link include from the s32 gmac binding.
- Remove fixed link include from the nuvoton numaker binding.
  As far as I can tell the corresonding driver does not even
  use it anyways, and I did not find any board with this device
  that describes a "fixed link".
- Move the definition into the nxp,kinetis-ethernet binding
  as the eth_mcux driver, which is already being deprecated,
  does use this, contain the debt to the legacy driver.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-27 15:18:54 +00:00
Dean Sellers
e193f922cd drivers: ethernet: enc28j60: Add DT property to set Rx filter
Byte value written to the device's
ERXFCON: ETHERNET RECEIVE FILTER CONTROL REGISTER
Sets the devices receive packet filter, optional. If not set
in device tree previous hard coded value`0xA3` is used.
Uni, multi and broadcast packets with valid CRC are accepted.

Signed-off-by: Dean Sellers <dsellers@evos.com.au>
2024-03-26 10:03:07 -04:00
Angelo Dureghello
0ca8b0756b drivers: ethernet: adin2111: add Open Alliance SPI support
Add Open Alliance spi protocol support.

Open Alliance is a chunk-based SPI protocol, based on sending
over SPI an ethernet frame divided in smaller chunks, using a
specific 32-bit header for each chunk transferred. All chunks
can be sent or received by a single dma transfer.

Default mode is set to Open Alliance SPI without protection,
since the adin2111 dev. board comes shipped this way.

Tested:
- Open Alliance SPI, no protection (default board shipped)
- Open Alliance SPI, protection
- Generic SPI, no crc
- Generic SPI, with crc8

Signed-off-by: Angelo Dureghello <adureghello@baylibre.com>
2024-03-08 18:04:06 +01:00
Sumit Batra
286a3ce37f drivers: eth: phy: tja1103: Handle link change
drivers: eth: phy: tja1103: Handle link change
These changes enable -
TJA1103 driver to gracefully handle Link connect or disconnect events
between Ethernet PHY and its link partner and notify it to the
upper network layers

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2024-02-01 14:29:43 -06:00
Pisit Sawangvonganan
f0f1ba0610 dts: bindings: fix typo in (ethernet, gpio, i2c, interrupt-controller)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the dts/bindings/ethernet, gpio, i2c and
interrupt-controller.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-30 18:50:08 -05:00
Andriy Gelman
2837f4f182 drivers: ethernet: Add xmc4xxx ethernet/PTP drivers
Adds ethernet/PTP drivers for xmc4xxx SoCs.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-01-09 10:00:47 +01:00
Bartosz Bilas
2f4cf25c39 dts: bindings: ethernet: esp32: remove default phy conn type
That's already harcoded in the driver so there is no need
to do that in the bindings.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-12-15 14:04:36 +01:00
Declan Snyder
19773a61c6 drivers: ksz8081: Some bug fixes & 25MHz RMII
- PHY can be set up as rmii but still use 25 MHz MDC, add DT property
  value for this case
- Fix KSZ8081 driver spamming phy status in debug level logging,
  and fix some other state/logging logic
- Fix PHY driver not rescheduling monitor work if first configuration
  fails, change code path to use goto for errors
- Handle case where some phys are not using the gpio pins in phy driver
  Make GPIO properties of ksz8081 phy optional since these hardware pins
  may be unused on some boards

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-12-11 09:50:58 +01:00
Bartosz Bilas
55f2d72cd4 drivers: eth_esp32: allow selecting ref clk source
In case of boards where REF_CLK signal is not connected
to the GPIO0 by default add the possibility to use
the optional GPIO16/GPIO17 as a REF CLK source.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2023-11-30 10:02:31 +01:00
Declan Snyder
fa73697735 drivers: eth_nxp_enet: Support PTP
Support PTP functionality in NXP ENET MAC driver

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
39d056b3c3 dts: bindings: Add NXP ENET PTP binding
Add binding for NXP ENET PTP Clock device

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
57dd852fda dts: bindings: Add NXP ENET bindings
Add bindings for compatibles related to NXP ENET IP.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
5724ce78fc drivers: ethernet: phy: Add KSZ8081 PHY Driver
Add Driver for KSZ8081 Ethernet PHY. The Generic MII Driver
is not sufficient to use for this PHY chip which has special
vendor implemented behaviors.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
e7dac64ce1 dts: bindings: Add binding for KSZ8081 PHY
Add DT Binding for Microchip KSZ8081 PHY

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Declan Snyder
7e88ab54e2 dts: bindings: ethernet-controller: Add phy mode
Add a property to the ethernet controller binding
indicating what type of connection the MAC has with
the PHY device.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-11-28 14:34:02 -06:00
Benjamin Perseghetti
0fa204b9fd drivers: net: phy: add tja1103
Adds the tja1103 enet phy for setting phy options on the mr_canhubk3.

Co-authored-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-11-28 08:07:44 -06:00
Lukasz Majewski
12665a0dc1 driver: eth: Support for lan8651 T1S ETH
This patch set provides support for T1S ethernet device - LAN8651.

For SPI communication the implementation of Open Alliance TC6
specification is used.

The driver implementation focuses mostly on reducing memory footprint,
as the used SoC (STM32G491) for development has only 32 KiB RAM in total.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2023-11-09 15:35:01 +01:00
cyliang tw
8ba8c188a0 drivers: ethernet: support for Nuvoton numaker series
Add Nuvoton numaker series EMAC controller feature.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2023-11-03 12:11:33 +00:00
Maureen Helm
d5287578fe dts: bindings: boards: Update Ethernet PHY to use reg property
Updates Ethernet PHY devicetree bindings to be more consistent with
Linux by using the standard `reg` property for the PHY address instead
of a custom `address` property. As a result, MDIO controller bindings
now require standard `#address-cells` and `#size-cells` properties.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-09-29 09:47:15 +02:00
Maureen Helm
ce42ffcce0 dts: boards: Use ethernet-phy devicetree node name consistently
Some Ethernet PHYs used the devicetree node name `phy`, while others
used `ethernet-phy`. Be consistent and use `ethernet-phy` throughout.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-09-29 09:47:15 +02:00