ARM: dts: artpec: migrate ethernet to stmmac binding
authorNiklas Cassel <niklas.cassel@axis.com>
Wed, 21 Feb 2018 08:59:56 +0000 (09:59 +0100)
committerArnd Bergmann <arnd@arndb.de>
Tue, 6 Mar 2018 16:40:41 +0000 (17:40 +0100)
The snps,dwc-qos-ethernet binding is still supported as a glue layer
in the stmmac driver.
However, since the snps,dwc-qos-ethernet binding is now deprecated,
migrate to stmmac's native binding.

At the same time, enable features supported by the stmmac driver,
such as PTP, LPI, and an additional tx queue.

Signed-off-by: Niklas Cassel <niklas.cassel@axis.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/boot/dts/artpec6-devboard.dts
arch/arm/boot/dts/artpec6.dtsi

index 502f3de..d20d953 100644 (file)
@@ -59,6 +59,7 @@
        mdio {
                #address-cells = <0x1>;
                #size-cells = <0x0>;
+               compatible = "snps,dwmac-mdio";
                phy1: phy@0 {
                        compatible = "ethernet-phy-ieee802.3-c22";
                        device_type = "ethernet-phy";
index f4b3973..981aecd 100644 (file)
                dma-ranges;
 
                ethernet: ethernet@f8010000 {
-                       clock-names = "phy_ref_clk", "apb_pclk";
-                       clocks = <&eth_phy_ref_clk>,
-                               <&clkctrl ARTPEC6_CLK_ETH_ACLK>;
-                       compatible = "snps,dwc-qos-ethernet-4.10";
-                       interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+                       clock-names = "stmmaceth", "ptp_ref";
+                       clocks = <&clkctrl ARTPEC6_CLK_ETH_ACLK>,
+                               <&clkctrl ARTPEC6_CLK_PTP_REF>;
+                       compatible = "snps,dwmac-4.10a", "snps,dwmac";
+                       interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "macirq", "eth_lpi";
                        reg = <0xf8010000 0x4000>;
 
-                       snps,write-requests = <2>;
-                       snps,read-requests = <16>;
+                       snps,axi-config = <&stmmac_axi_setup>;
+                       snps,mtl-rx-config = <&mtl_rx_setup>;
+                       snps,mtl-tx-config = <&mtl_tx_setup>;
+
                        snps,txpbl = <8>;
                        snps,rxpbl = <2>;
+                       snps,aal;
+                       snps,tso;
 
                        status = "disabled";
+
+                       stmmac_axi_setup: stmmac-axi-config {
+                               snps,wr_osr_lmt = <1>;
+                               snps,rd_osr_lmt = <15>;
+                               /* If FB is disabled, the AXI master chooses
+                                * a burst length of any value less than the
+                                * maximum enabled burst length
+                                * (all lesser burst length enables are redundant).
+                                */
+                               snps,blen = <0 0 0 0 16 0 0>;
+                       };
+
+                       mtl_rx_setup: rx-queues-config {
+                               snps,rx-queues-to-use = <1>;
+                               queue0 {};
+                       };
+
+                       mtl_tx_setup: tx-queues-config {
+                               snps,tx-queues-to-use = <2>;
+                               queue0 {};
+                               queue1 {};
+                       };
                };
 
                uart0: serial@f8036000 {