Re: [PATCH net-next v2 2/3] dt-bindings: net: add T-HEAD dwmac support
From: Serge Semin <hidden>
Date: 2023-08-28 13:13:55
Also in:
linux-arm-kernel, linux-devicetree, linux-riscv, lkml
On Sun, Aug 27, 2023 at 05:17:09PM +0800, Jisheng Zhang wrote:
quoted hunk ↗ jump to hunk
Add documentation to describe T-HEAD dwmac. Signed-off-by: Jisheng Zhang <jszhang@kernel.org> --- .../devicetree/bindings/net/snps,dwmac.yaml | 1 + .../devicetree/bindings/net/thead,dwmac.yaml | 77 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/thead,dwmac.yamldiff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index b196c5de2061..73821f86a609 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml@@ -96,6 +96,7 @@ properties: - snps,dwxgmac - snps,dwxgmac-2.10 - starfive,jh7110-dwmac + - thead,th1520-dwmac reg: minItems: 1diff --git a/Documentation/devicetree/bindings/net/thead,dwmac.yaml b/Documentation/devicetree/bindings/net/thead,dwmac.yaml new file mode 100644 index 000000000000..bf8ec8ca2753 --- /dev/null
quoted hunk ↗ jump to hunk
+++ b/Documentation/devicetree/bindings/net/thead,dwmac.yaml
see further regarding using dwmac in the names here.
quoted hunk ↗ jump to hunk
@@ -0,0 +1,77 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/thead,dwmac.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# +
+title: T-HEAD DWMAC Ethernet controller
Additionally would be nice to have a brief controller "description:" having the next info: the SoCs the controllers can be found on, the DW (G)MAC IP-core version the ethernet controller is based on and some data about the synthesize parameters: SMA (MDIO-bus), Tx/Rx COE, DMA FIFOs size, perfect and hash MAC-filters size, L3L4 frame filters availability, VLAN hash filter, SA/VLAN-tag insertion, ARP offload engine, PHY interfaces (MII, RMII, RGMII, etc), EEE support, IEEE 1588(-2008) Timestamping support, PMT and Wake-up frame support, MAC Management counters (MMC). In addition to that for DW QoS ETH/XGMAC/XLGMAC the next info would be useful: number of MTL Queues and DMA channels, MTL queues capabilities (QoS-related), TSO availability, SPO availability. Note DMA FIFO sizes can be also constrained in the properties "rx-fifo-depth" and "tx-fifo-depth"; perfect and hash MAC-filter sizes - in "snps,perfect-filter-entries" and "snps,multicast-filter-bins".
+ +maintainers: + - Jisheng Zhang [off-list ref] + +select: + properties: + compatible: + contains: + enum:
+ - thead,th1520-dwmac
Referring to the DW IP-core in the compatible string isn't very much useful especially seeing you have a generic fallback compatible. Name like "thead,th1520-gmac" looks more informative indicating its speed capability.
+ required: + - compatible + +properties: + compatible: + items: + - enum:
+ - thead,th1520-dwmac
ditto. -Serge(y)
+ - const: snps,dwmac-3.70a
+
+ reg:
+ maxItems: 1
+
+ thead,gmacapb:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ The phandle to the syscon node that control ethernet
+ interface and timing delay.
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+ - interrupt-names
+ - phy-mode
+ - thead,gmacapb
+
+allOf:
+ - $ref: snps,dwmac.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ gmac0: ethernet@e7070000 {
+ compatible = "thead,th1520-dwmac", "snps,dwmac-3.70a";
+ reg = <0xe7070000 0x2000>;
+ clocks = <&clk 1>, <&clk 2>;
+ clock-names = "stmmaceth", "pclk";
+ interrupts = <66>;
+ interrupt-names = "macirq";
+ phy-mode = "rgmii-id";
+ snps,fixed-burst;
+ snps,axi-config = <&stmmac_axi_setup>;
+ snps,pbl = <32>;
+ thead,gmacapb = <&gmacapb_syscon>;
+ phy-handle = <&phy0>;
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "snps,dwmac-mdio";
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ };
+ };
+ };
--
2.40.1