diff options
| author | Serge Semin <fancer.lancer@gmail.com> | 2025-04-30 22:45:13 +0300 |
|---|---|---|
| committer | Serge Semin <fancer.lancer@gmail.com> | 2026-08-13 20:33:45 +0300 |
| commit | 2982a90e35449096b71dfc95f145cc011070d249 (patch) | |
| tree | 499486a391e7fafd57e5ebf1d9a30c2dcc159003 | |
| parent | 2e99f6b0a728cf0ff2be3140352d24b0f7b3bc94 (diff) | |
| download | linux-2982a90e35449096b71dfc95f145cc011070d249.tar.gz linux-2982a90e35449096b71dfc95f145cc011070d249.zip | |
dt-bindings: net: dwmac: Add system interface data bus width property
DW *MAC IP-cores can be synthesized with various system interface data bus
widths. The bus width normally depends on the SoC system bus capability and
is selected by the hardware engineers in a way to deliver the best
interface throughput.
In accordance with the IP-cores databooks the system bus width is fixed to
a single value for all system bus transfers. For instance if it's set to
16 bytes (data bus width of 128 bits) then each DMA bus transfer size will
be a multiple of 16 bytes and can't be smaller than that value (that's
where the Rx DMA buffer alignment restriction comes from). In addition to
that aside with the system interface performance the bus width determines
the DW MAC Programmable Burst Length upper limit and Rx descriptors buffer
size alignment.
Since the system bus width is selected during DW *MAC IP-core synthesize
procedure, is specific to each controller and can't be detected on runtime
let's add a new property "snps,data-width" to the DW MAC DT-bindings file.
The property needs to be placed in the root DW MAC DT-nodes because no
matter which system bus interface type has been selected during the
IP-core synthesize (AXI, AHB, MTL), the parameter mainly determines the
internal MTL core data bus width. The external system/application bus data
width is then fixed with that value.
Note the system bus width can be of 32, 64 and 128-bits for DW GMAC and DW
QoS Ether, while DW xGMAC can have only 64 and 128 bits wide system data
bus.
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
| -rw-r--r-- | Documentation/devicetree/bindings/net/snps,dwmac.yaml | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index 38bc34dc4f09..ae73c7bcf82c 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -546,6 +546,13 @@ properties: Enables the TSO feature otherwise it will be managed by MAC HW capability register. + snps,data-width: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + System data bus width is limited with 8 and 16 bytes for DW + xGMAC and with 4, 8 and 16 for DW GMACs of recent versions. + enum: [4, 8, 16] + mdio: $ref: mdio.yaml# unevaluatedProperties: false |
