From 4a6ecbd197764499d808309f372341370a89f88c Mon Sep 17 00:00:00 2001
From: Sam Shih <sam.shih@mediatek.com>
Date: Sun, 11 Jun 2023 01:59:14 +0100
Subject: [PATCH] net: phy: add driver for Airoha EN8811 2.5G PHY

2500Base-T PHY with ID 0x03a2a411, needs firmware upload

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 drivers/net/phy/Kconfig       |   5 +
 drivers/net/phy/Makefile      |   1 +
 drivers/net/phy/air_en8811h.c | 708 ++++++++++++++++++++++++++++++++++
 drivers/net/phy/air_en8811h.h | 151 ++++++++
 4 files changed, 865 insertions(+)
 create mode 100644 drivers/net/phy/air_en8811h.c
 create mode 100644 drivers/net/phy/air_en8811h.h

--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -149,6 +149,17 @@ config MESON_GXL_PHY
 	help
 	  Currently has a driver for the Amlogic Meson GXL Internal PHY
 
+config AIROHA_EN8811H_PHY
+	tristate "Airoha EN8811H 2.5G Gigabit PHY"
+	help
+	  Currently supports the Airoha EN8811H PHY.
+
+config AIROHA_EN8811H_PHY_DEBUGFS
+	bool "EN8811H debugfs support"
+	depends on AIROHA_EN8811H_PHY
+	help
+	  Enable creation of debugfs files for the EN8811H drivers.
+
 config ADIN_PHY
 	tristate "Analog Devices Industrial Ethernet PHYs"
 	help
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -46,6 +46,8 @@ sfp-obj-$(CONFIG_SFP)		+= sfp-bus.o
 obj-y				+= $(sfp-obj-y) $(sfp-obj-m)
 
 obj-$(CONFIG_ADIN_PHY)		+= adin.o
+air_en8811h-y			:= air_en8811h_main.o air_en8811h_api.o
+obj-$(CONFIG_AIROHA_EN8811H_PHY)	+= air_en8811h.o
 obj-$(CONFIG_AMD_PHY)		+= amd.o
 obj-$(CONFIG_AQUANTIA_PHY)	+= aquantia/
 obj-$(CONFIG_AT803X_PHY)	+= at803x.o
