[PATCH v1 3/3] dt-bindings: net: sun8i-emac: Add AC300 EMAC1 nvmem phy selection

From: James Hilliard
Date: Mon May 26 2025 - 14:30:56 EST


The Allwinner H616 EMAC1 can be connected to an on-die AC200 or AC300
PHY depending upon the silicon variant.

Add a new allwinner,sun50i-h616-emac1 compatible and example, support
for the allwinner,sun50i-h616-emac1 will be added later on.

Add nvmem-cells and nvmem-cell-names properties for the ac300 efuse
based phy selection.

Signed-off-by: James Hilliard <james.hilliard1@xxxxxxxxx>
---
.../net/allwinner,sun8i-a83t-emac.yaml | 42 +++++++++++++++++++
1 file changed, 42 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
index 7fe0352dff0f..b6bf1718dba1 100644
--- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
+++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
@@ -18,6 +18,7 @@ properties:
- const: allwinner,sun8i-r40-gmac
- const: allwinner,sun8i-v3s-emac
- const: allwinner,sun50i-a64-emac
+ - const: allwinner,sun50i-h616-emac1
- items:
- enum:
- allwinner,sun20i-d1-emac
@@ -28,6 +29,14 @@ properties:
reg:
maxItems: 1

+ nvmem-cells:
+ maxItems: 1
+ description: NVMEM cell with the ac300 efuse.
+
+ nvmem-cell-names:
+ items:
+ - const: ac300
+
interrupts:
maxItems: 1

@@ -321,4 +330,37 @@ examples:
};
};

+ - |
+ ethernet@5030000 {
+ compatible = "allwinner,sun50i-h616-emac1";
+ reg = <0x05030000 0x10000>;
+ interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq";
+ resets = <&ccu RST_BUS_EMAC1>;
+ reset-names = "stmmaceth";
+ clocks = <&ccu CLK_BUS_EMAC1>;
+ clock-names = "stmmaceth";
+ phys = <&ac200_rmii_phy>, <&ac300_rmii_phy>;
+ phy-names = "ac200", "ac300";
+ phy-mode = "rgmii";
+ nvmem-cells = <&ephy_acx00>;
+ nvmem-cell-names = "ac300";
+
+ mdio {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ac300_rmii_phy: ac300-ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+
+ ac200_rmii_phy: ac200-ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+ };
+ };
+
...
--
2.34.1