[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240326162305.303598-1-ericwouds@gmail.com>
Date: Tue, 26 Mar 2024 17:23:03 +0100
From: Eric Woudstra <ericwouds@...il.com>
To: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
"Frank Wunderlich" <frank-w@...lic-files.de>,
Daniel Golle <daniel@...rotopia.org>,
Lucien Jheng <lucien.jheng@...oha.com>,
Zhi-Jun You <hujy652@...tonmail.com>
Cc: netdev@...r.kernel.org,
devicetree@...r.kernel.org,
Eric Woudstra <ericwouds@...il.com>
Subject: [PATCH v3 net-next 0/2] Add en8811h phy driver and devicetree binding doc
This patch series adds the driver and the devicetree binding documentation
for the Airoha en8811h PHY.
Changes in PATCH v3:
air_en8811h.c:
* Dedicated __air_buckpbus_reg_modify()
* Renamed host to mcu
* Append 'S' to AIR_PHY_LED_DUR_BLINK_xxxM
* Handle hw-leds as in mt798x_phy_led_hw_control_set(), add 2500Mbps
* Moved firmware loading to .probe()
* Disable leds after firmware load
* Moved 'waiting for mcu ready' to dedicated function
* Return -EINVAL from .config_aneg() when auto-neg is turned off
* Removed check for AUTONEG_ENABLE from .read_status()
* Added more details about mode 1
* Use macros from wordpart.h
* Set rate_matching in .read_status(), fixes 100Mbps traffic
Changes in PATCH v2:
air_en8811h.c:
* Implement air_buckpbus_reg_modify()
* Added if (saved_page >= 0)
* Use linkmode_adv_to_mii_10gbt_adv_t()
* Check led index within limit, before using it
* Renamed AIR_PBUS_XXX to AIR_BPBUS_XXX to indicate buckpbus, not pbus
* Cosmetic changes
airoha,en8811h.yaml:
* Add compatible
* Add description
* Cosmetic changes
Changes in PATCH (mistakenly considered as v1):
air_en8811h.c:
* Use the correct order in Kconfig and Makefile
* Change some register naming to correspond with datasheet
* Use phy_driver .read_page() and .write_page()
* Use module_phy_driver()
* Use get_unaligned_le16() instead of macro
* In .config_aneg() and .read_status() use genphy_xxx() C22
* Use another vendor register to read real speed
* Load firmware only once and store firmware version
* Apply 2.5G LPA work-around (firmware before 24011202)
* Read 2.5G LPA from vendor register (firmware 24011202 and later)
airoha,en8811h.yaml:
* Explicitly describe which pins are reversed in polarity.
Notes for original RFC patch:
* Source originated from airoha's en8811h v1.2.1 driver
* Moved air_en8811h.h to air_en8811h.c
* Removed air_pbus_reg_write() as it writes to another device on mdio-bus
(Confirmed by Airoha, register on pbus does not need to be written to)
* Load firmware from /lib/firmware/airoha/ instead of /lib/firmware/
* Added .get_rate_matching()
* Use generic phy_read/write() and phy_read/write_mmd()
* Edited .get_features() to use generic C45 functions
* Edited .config_aneg() and .read_status() to use a mix of generic C22/C45
* Use led handling functions from mediatek-ge-soc.c
* Simplified led handling by storing led rules
* Cleanup macro definitions
* Cleanup code to pass checkpatch.pl
* General code cleanup
Eric Woudstra (2):
dt-bindings: net: airoha,en8811h: Add en8811h
net: phy: air_en8811h: Add the Airoha EN8811H PHY driver
.../bindings/net/airoha,en8811h.yaml | 56 +
drivers/net/phy/Kconfig | 5 +
drivers/net/phy/Makefile | 1 +
drivers/net/phy/air_en8811h.c | 1086 +++++++++++++++++
4 files changed, 1148 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/airoha,en8811h.yaml
create mode 100644 drivers/net/phy/air_en8811h.c
--
2.42.1
Powered by blists - more mailing lists