at91: add kernel support for sama7g5 soc
[openwrt/staging/dedeckeh.git] / target / linux / at91 / patches-5.10 / 119-net-macb-add-support-for-sama7g5-gem-interface.patch
1 From 0085cd8576ceeaddeedf973b939b41ba96e3f77c Mon Sep 17 00:00:00 2001
2 From: Claudiu Beznea <claudiu.beznea@microchip.com>
3 Date: Wed, 9 Dec 2020 15:03:38 +0200
4 Subject: [PATCH 119/247] net: macb: add support for sama7g5 gem interface
5
6 Add support for SAMA7G5 gigabit ethernet interface.
7
8 Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
9 Reviewed-by: Andrew Lunn <andrew@lunn.ch>
10 Signed-off-by: David S. Miller <davem@davemloft.net>
11 ---
12 drivers/net/ethernet/cadence/macb_main.c | 17 +++++++++++++++++
13 1 file changed, 17 insertions(+)
14
15 diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
16 index c8d66f966a8b..ebcc46d8aa9d 100644
17 --- a/drivers/net/ethernet/cadence/macb_main.c
18 +++ b/drivers/net/ethernet/cadence/macb_main.c
19 @@ -4359,6 +4359,14 @@ static const struct macb_usrio_config macb_default_usrio = {
20 .refclk = MACB_BIT(CLKEN),
21 };
22
23 +static const struct macb_usrio_config sama7g5_usrio = {
24 + .mii = 0,
25 + .rmii = 1,
26 + .rgmii = 2,
27 + .refclk = BIT(2),
28 + .hdfctlen = BIT(6),
29 +};
30 +
31 static const struct macb_config fu540_c000_config = {
32 .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO |
33 MACB_CAPS_GEM_HAS_PTP,
34 @@ -4452,6 +4460,14 @@ static const struct macb_config zynq_config = {
35 .usrio = &macb_default_usrio,
36 };
37
38 +static const struct macb_config sama7g5_gem_config = {
39 + .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_CLK_HW_CHG,
40 + .dma_burst_length = 16,
41 + .clk_init = macb_clk_init,
42 + .init = macb_init,
43 + .usrio = &sama7g5_usrio,
44 +};
45 +
46 static const struct of_device_id macb_dt_ids[] = {
47 { .compatible = "cdns,at32ap7000-macb" },
48 { .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
49 @@ -4469,6 +4485,7 @@ static const struct of_device_id macb_dt_ids[] = {
50 { .compatible = "cdns,zynqmp-gem", .data = &zynqmp_config},
51 { .compatible = "cdns,zynq-gem", .data = &zynq_config },
52 { .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },
53 + { .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },
54 { /* sentinel */ }
55 };
56 MODULE_DEVICE_TABLE(of, macb_dt_ids);
57 --
58 2.32.0
59