summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSerge Semin <fancer.lancer@gmail.com>2025-04-30 22:45:13 +0300
committerSerge Semin <fancer.lancer@gmail.com>2026-08-13 20:33:45 +0300
commit2982a90e35449096b71dfc95f145cc011070d249 (patch)
tree499486a391e7fafd57e5ebf1d9a30c2dcc159003
parent2e99f6b0a728cf0ff2be3140352d24b0f7b3bc94 (diff)
downloadlinux-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.yaml7
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