From 7794e4fa9fa31ac5cb6d7712d76730fc42f21b85 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Wed, 10 Jan 2018 00:02:24 +0800 Subject: [PATCH 33/35] net: stmmac: sun8i: add support for Allwinner H6 EMAC The EMAC on Allwinner H6 is just like the one on A64. The "internal PHY" on H6 is on a co-packaged AC200 chip, and it's not really internal (it's connected via RMII at PA GPIO bank). Add support for the Allwinner H6 EMAC in the dwmac-sun8i driver. Signed-off-by: Icenowy Zheng --- Documentation/devicetree/bindings/net/dwmac-sun8i.txt | 2 ++ drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index 099daef..0b3e686 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -105,6 +105,18 @@ static const struct emac_variant emac_variant_a64 = { .support_rgmii = true }; +static const struct emac_variant emac_variant_h6 = { + .default_syscon_value = 0x148000, + /* + * The "Internal PHY" of H6 is not on the die. It's on the co-packaged + * AC200 chip instead. + */ + .soc_has_internal_phy = false, + .support_mii = true, + .support_rmii = true, + .support_rgmii = true +}; + #define EMAC_BASIC_CTL0 0x00 #define EMAC_BASIC_CTL1 0x04 #define EMAC_INT_STA 0x08 @@ -1085,6 +1097,8 @@ static const struct of_device_id sun8i_dwmac_match[] = { .data = &emac_variant_a83t }, { .compatible = "allwinner,sun50i-a64-emac", .data = &emac_variant_a64 }, + { .compatible = "allwinner,sun50i-h6-emac", + .data = &emac_variant_h6 }, { } }; MODULE_DEVICE_TABLE(of, sun8i_dwmac_match); -- 2.7.4