xref: /freebsd/sys/contrib/device-tree/Bindings/net/intel,dwmac-plat.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
46be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/net/intel,dwmac-plat.yaml#
56be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Intel DWMAC glue layer
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - Vineetha G. Jaya Kumaran <vineetha.g.jaya.kumaran@intel.com>
116be33864SEmmanuel Vadot
126be33864SEmmanuel Vadotselect:
136be33864SEmmanuel Vadot  properties:
146be33864SEmmanuel Vadot    compatible:
156be33864SEmmanuel Vadot      contains:
166be33864SEmmanuel Vadot        enum:
176be33864SEmmanuel Vadot          - intel,keembay-dwmac
186be33864SEmmanuel Vadot  required:
196be33864SEmmanuel Vadot    - compatible
206be33864SEmmanuel Vadot
216be33864SEmmanuel VadotallOf:
22*f126890aSEmmanuel Vadot  - $ref: snps,dwmac.yaml#
236be33864SEmmanuel Vadot
246be33864SEmmanuel Vadotproperties:
256be33864SEmmanuel Vadot  compatible:
266be33864SEmmanuel Vadot    oneOf:
276be33864SEmmanuel Vadot      - items:
286be33864SEmmanuel Vadot          - enum:
296be33864SEmmanuel Vadot              - intel,keembay-dwmac
306be33864SEmmanuel Vadot          - const: snps,dwmac-4.10a
316be33864SEmmanuel Vadot
326be33864SEmmanuel Vadot  clocks:
336be33864SEmmanuel Vadot    items:
346be33864SEmmanuel Vadot      - description: GMAC main clock
356be33864SEmmanuel Vadot      - description: PTP reference clock
366be33864SEmmanuel Vadot      - description: Tx clock
376be33864SEmmanuel Vadot
386be33864SEmmanuel Vadot  clock-names:
396be33864SEmmanuel Vadot    items:
406be33864SEmmanuel Vadot      - const: stmmaceth
416be33864SEmmanuel Vadot      - const: ptp_ref
426be33864SEmmanuel Vadot      - const: tx_clk
436be33864SEmmanuel Vadot
446be33864SEmmanuel Vadotrequired:
456be33864SEmmanuel Vadot  - compatible
466be33864SEmmanuel Vadot  - clocks
476be33864SEmmanuel Vadot  - clock-names
486be33864SEmmanuel Vadot
496be33864SEmmanuel VadotunevaluatedProperties: false
506be33864SEmmanuel Vadot
516be33864SEmmanuel Vadotexamples:
526be33864SEmmanuel Vadot# FIXME: Remove defines and include the correct header file
536be33864SEmmanuel Vadot# once it is available in mainline.
546be33864SEmmanuel Vadot  - |
556be33864SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
566be33864SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
576be33864SEmmanuel Vadot    #define MOVISOC_KMB_PSS_GBE
586be33864SEmmanuel Vadot    #define MOVISOC_KMB_PSS_AUX_GBE_PTP
596be33864SEmmanuel Vadot    #define MOVISOC_KMB_PSS_AUX_GBE_TX
606be33864SEmmanuel Vadot
616be33864SEmmanuel Vadot    stmmac_axi_setup: stmmac-axi-config {
626be33864SEmmanuel Vadot        snps,lpi_en;
636be33864SEmmanuel Vadot        snps,wr_osr_lmt = <0x0>;
646be33864SEmmanuel Vadot        snps,rd_osr_lmt = <0x2>;
656be33864SEmmanuel Vadot        snps,blen = <0 0 0 0 16 8 4>;
666be33864SEmmanuel Vadot    };
676be33864SEmmanuel Vadot
686be33864SEmmanuel Vadot    mtl_rx_setup: rx-queues-config {
696be33864SEmmanuel Vadot        snps,rx-queues-to-use = <2>;
706be33864SEmmanuel Vadot        snps,rx-sched-sp;
716be33864SEmmanuel Vadot        queue0 {
726be33864SEmmanuel Vadot            snps,dcb-algorithm;
736be33864SEmmanuel Vadot            snps,map-to-dma-channel = <0x0>;
746be33864SEmmanuel Vadot            snps,priority = <0x0>;
756be33864SEmmanuel Vadot        };
766be33864SEmmanuel Vadot
776be33864SEmmanuel Vadot        queue1 {
786be33864SEmmanuel Vadot            snps,dcb-algorithm;
796be33864SEmmanuel Vadot            snps,map-to-dma-channel = <0x1>;
806be33864SEmmanuel Vadot            snps,priority = <0x1>;
816be33864SEmmanuel Vadot        };
826be33864SEmmanuel Vadot    };
836be33864SEmmanuel Vadot
846be33864SEmmanuel Vadot    mtl_tx_setup: tx-queues-config {
856be33864SEmmanuel Vadot        snps,tx-queues-to-use = <2>;
866be33864SEmmanuel Vadot        snps,tx-sched-wrr;
876be33864SEmmanuel Vadot        queue0 {
886be33864SEmmanuel Vadot           snps,weight = <0x10>;
896be33864SEmmanuel Vadot           snps,dcb-algorithm;
906be33864SEmmanuel Vadot           snps,priority = <0x0>;
916be33864SEmmanuel Vadot        };
926be33864SEmmanuel Vadot
936be33864SEmmanuel Vadot        queue1 {
946be33864SEmmanuel Vadot            snps,weight = <0x10>;
956be33864SEmmanuel Vadot            snps,dcb-algorithm;
966be33864SEmmanuel Vadot            snps,priority = <0x1>;
976be33864SEmmanuel Vadot        };
986be33864SEmmanuel Vadot    };
996be33864SEmmanuel Vadot
1006be33864SEmmanuel Vadot    gmac0: ethernet@3a000000 {
1016be33864SEmmanuel Vadot        compatible = "intel,keembay-dwmac", "snps,dwmac-4.10a";
1026be33864SEmmanuel Vadot        interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
1036be33864SEmmanuel Vadot        interrupt-names = "macirq";
1046be33864SEmmanuel Vadot        reg = <0x3a000000 0x8000>;
1056be33864SEmmanuel Vadot        snps,perfect-filter-entries = <128>;
1066be33864SEmmanuel Vadot        phy-handle = <&eth_phy0>;
1076be33864SEmmanuel Vadot        phy-mode = "rgmii";
1086be33864SEmmanuel Vadot        rx-fifo-depth = <4096>;
1096be33864SEmmanuel Vadot        tx-fifo-depth = <4096>;
1106be33864SEmmanuel Vadot        clock-names = "stmmaceth", "ptp_ref", "tx_clk";
1116be33864SEmmanuel Vadot        clocks = <&scmi_clk MOVISOC_KMB_PSS_GBE>,
1126be33864SEmmanuel Vadot                 <&scmi_clk MOVISOC_KMB_PSS_AUX_GBE_PTP>,
1136be33864SEmmanuel Vadot                 <&scmi_clk MOVISOC_KMB_PSS_AUX_GBE_TX>;
1146be33864SEmmanuel Vadot        snps,pbl = <0x4>;
1156be33864SEmmanuel Vadot        snps,axi-config = <&stmmac_axi_setup>;
1166be33864SEmmanuel Vadot        snps,mtl-rx-config = <&mtl_rx_setup>;
1176be33864SEmmanuel Vadot        snps,mtl-tx-config = <&mtl_tx_setup>;
1186be33864SEmmanuel Vadot        snps,tso;
1196be33864SEmmanuel Vadot
120e67e8565SEmmanuel Vadot        mdio {
1216be33864SEmmanuel Vadot            #address-cells = <1>;
1226be33864SEmmanuel Vadot            #size-cells = <0>;
1236be33864SEmmanuel Vadot            compatible = "snps,dwmac-mdio";
1246be33864SEmmanuel Vadot
1256be33864SEmmanuel Vadot            ethernet-phy@0 {
1266be33864SEmmanuel Vadot                reg = <0>;
1276be33864SEmmanuel Vadot            };
1286be33864SEmmanuel Vadot        };
1296be33864SEmmanuel Vadot    };
1306be33864SEmmanuel Vadot
1316be33864SEmmanuel Vadot...
132