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 502f3de6dc5b941984a30c5a71cb3067f4840fc6..d20d95359b284d7968f4c1b8b27afc0fc0c45f2d 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 f4b39738f1acdc6b6852da570cc32109601d1fe3..981aecd27b0b9b7f8166e4c877c1f0ed0ffa01b9 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 {