Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright 2021-2026 NXP %YAML 1.2 --- $id: http://devicetree.org/schemas/net/nxp,s32-dwmac.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NXP S32G2xx/S32G3xx/S32R45 GMAC ethernet controller maintainers: - Jan Petrous (OSS) <jan.petrous@oss.nxp.com> description: This device is a Synopsys DWC IP, integrated on NXP S32G/R SoCs. The SoC series S32G2xx and S32G3xx feature one DWMAC instance, the SoC S32R45 has two instances. The devices can use RGMII/RMII/MII interface over Pinctrl device or the output can be routed to the embedded SerDes for SGMII connectivity. The DWMAC instances have connected all RX/TX queues interrupts, enabling load balancing of data traffic across all CPU cores. properties: compatible: oneOf: - const: nxp,s32g2-dwmac - items: - enum: - nxp,s32g3-dwmac - nxp,s32r45-dwmac - const: nxp,s32g2-dwmac reg: items: - description: Main GMAC registers - description: GMAC PHY mode control register nxp,phy-sel: $ref: /schemas/types.yaml#/definitions/phandle-array items: - items: - description: phandle to the GPR syscon node - description: offset of PHY selection register description: This phandle points to the GMAC_0_CTRL_STS register which controls the GMAC_0 configuration options. The register lets you select the PHY interface and the PHY mode. It also controls if the FTM_0 or FTM_1 FlexTimer Modules connect to GMAC_0. interrupts: minItems: 1 maxItems: 11 interrupt-names: oneOf: - items: - const: macirq - items: - const: macirq - const: tx-queue-0 - const: rx-queue-0 - const: tx-queue-1 - const: rx-queue-1 - const: tx-queue-2 - const: rx-queue-2 - const: tx-queue-3 - const: rx-queue-3 - const: tx-queue-4 - const: rx-queue-4 clocks: items: - description: Main GMAC clock - description: Transmit clock - description: Receive clock - description: PTP reference clock clock-names: items: - const: stmmaceth - const: tx - const: rx - const: ptp_ref required: - clocks - clock-names allOf: - $ref: snps,dwmac.yaml# unevaluatedProperties: false examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/phy/phy.h> bus { #address-cells = <2>; #size-cells = <2>; ethernet@4033c000 { compatible = "nxp,s32g2-dwmac"; reg = <0x0 0x4033c000 0x0 0x2000>, /* gmac IP */ <0x0 0x4007c004 0x0 0x4>; /* GMAC_0_CTRL_STS */ nxp,phy-sel = <&gpr 0x4>; interrupt-parent = <&gic>; interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, /* CHN 0: tx, rx */ <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, /* CHN 1: tx, rx */ <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, /* CHN 2: tx, rx */ <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>, /* CHN 3: tx, rx */ <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* CHN 4: tx, rx */ <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "macirq", "tx-queue-0", "rx-queue-0", "tx-queue-1", "rx-queue-1", "tx-queue-2", "rx-queue-2", "tx-queue-3", "rx-queue-3", "tx-queue-4", "rx-queue-4"; snps,mtl-rx-config = <&mtl_rx_setup>; snps,mtl-tx-config = <&mtl_tx_setup>; clocks = <&clks 24>, <&clks 17>, <&clks 16>, <&clks 15>; clock-names = "stmmaceth", "tx", "rx", "ptp_ref"; phy-mode = "rgmii-id"; phy-handle = <&phy0>; mtl_rx_setup: rx-queues-config { snps,rx-queues-to-use = <5>; }; mtl_tx_setup: tx-queues-config { snps,tx-queues-to-use = <5>; }; mdio { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy0: ethernet-phy@0 { reg = <0>; }; }; }; }; |