net: macb: add support for sama7g5 gem interface
authorClaudiu Beznea <claudiu.beznea@microchip.com>
Wed, 9 Dec 2020 13:03:38 +0000 (15:03 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Dec 2020 00:19:21 +0000 (16:19 -0800)
Add support for SAMA7G5 gigabit ethernet interface.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cadence/macb_main.c

index 11bf4f8..5bae449 100644 (file)
@@ -4472,6 +4472,14 @@ static const struct macb_usrio_config macb_default_usrio = {
        .refclk = MACB_BIT(CLKEN),
 };
 
+static const struct macb_usrio_config sama7g5_usrio = {
+       .mii = 0,
+       .rmii = 1,
+       .rgmii = 2,
+       .refclk = BIT(2),
+       .hdfctlen = BIT(6),
+};
+
 static const struct macb_config fu540_c000_config = {
        .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO |
                MACB_CAPS_GEM_HAS_PTP,
@@ -4565,6 +4573,14 @@ static const struct macb_config zynq_config = {
        .usrio = &macb_default_usrio,
 };
 
+static const struct macb_config sama7g5_gem_config = {
+       .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_CLK_HW_CHG,
+       .dma_burst_length = 16,
+       .clk_init = macb_clk_init,
+       .init = macb_init,
+       .usrio = &sama7g5_usrio,
+};
+
 static const struct of_device_id macb_dt_ids[] = {
        { .compatible = "cdns,at32ap7000-macb" },
        { .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
@@ -4582,6 +4598,7 @@ static const struct of_device_id macb_dt_ids[] = {
        { .compatible = "cdns,zynqmp-gem", .data = &zynqmp_config},
        { .compatible = "cdns,zynq-gem", .data = &zynq_config },
        { .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },
+       { .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, macb_dt_ids);