net-next: stmmac: dwmac-sun8i: add support for V3s EMAC
authorIcenowy Zheng <icenowy@aosc.io>
Sat, 17 Jun 2017 14:07:37 +0000 (22:07 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Jun 2017 17:23:05 +0000 (13:23 -0400)
Allwinner V3s SoC has an Ethernet MAC and an internal PHY like the ones
in H3 SoC, however the MAC has no external *MII interfaces available at
GPIOs, thus only MII connection to internal PHY is supported.

Add this variant of EMAC to dwmac-sun8i driver.

The default value of the syscon EMAC-related register seems to have
changed from H3, but it seems to be a harmless change.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c

index 61ce3b54f0c6278a8383dd9f608359aeea608e68..fffd6d5fc907b01d2277370f80b23af5a9288e8d 100644 (file)
@@ -81,6 +81,12 @@ static const struct emac_variant emac_variant_h3 = {
        .support_rgmii = true
 };
 
+static const struct emac_variant emac_variant_v3s = {
+       .default_syscon_value = 0x38000,
+       .internal_phy = PHY_INTERFACE_MODE_MII,
+       .support_mii = true
+};
+
 static const struct emac_variant emac_variant_a83t = {
        .default_syscon_value = 0,
        .internal_phy = 0,
@@ -975,6 +981,8 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
 static const struct of_device_id sun8i_dwmac_match[] = {
        { .compatible = "allwinner,sun8i-h3-emac",
                .data = &emac_variant_h3 },
+       { .compatible = "allwinner,sun8i-v3s-emac",
+               .data = &emac_variant_v3s },
        { .compatible = "allwinner,sun8i-a83t-emac",
                .data = &emac_variant_a83t },
        { .compatible = "allwinner,sun50i-a64-emac",
index 3840529344ed7c94a7efcb5fc99026f942a56e28..a366b3747eeb58aebf730fde9c44c0a94af70491 100644 (file)
@@ -313,6 +313,7 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat,
                { .compatible = "snps,dwc-qos-ethernet-4.10" },
                { .compatible = "allwinner,sun8i-a83t-emac" },
                { .compatible = "allwinner,sun8i-h3-emac" },
+               { .compatible = "allwinner,sun8i-v3s-emac" },
                { .compatible = "allwinner,sun50i-a64-emac" },
        };