xref: /linux/Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/spacemit,k3-dwmac.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Spacemit K3 DWMAC glue layer
8
9maintainers:
10  - Inochi Amaoto <inochiama@gmail.com>
11
12select:
13  properties:
14    compatible:
15      contains:
16        const: spacemit,k3-dwmac
17  required:
18    - compatible
19
20properties:
21  compatible:
22    items:
23      - const: spacemit,k3-dwmac
24      - const: snps,dwmac-5.40a
25
26  reg:
27    maxItems: 1
28
29  clocks:
30    items:
31      - description: GMAC application clock
32      - description: PTP clock
33      - description: TX clock
34
35  clock-names:
36    items:
37      - const: stmmaceth
38      - const: ptp_ref
39      - const: tx
40
41  interrupts:
42    minItems: 1
43    items:
44      - description: MAC interrupt
45      - description: MAC wake interrupt
46
47  interrupt-names:
48    minItems: 1
49    items:
50      - const: macirq
51      - const: eth_wake_irq
52
53  resets:
54    maxItems: 1
55
56  reset-names:
57    const: stmmaceth
58
59  spacemit,apmu:
60    $ref: /schemas/types.yaml#/definitions/phandle-array
61    items:
62      - items:
63          - description: phandle to the syscon node which control the glue register
64          - description: offset of the control register
65          - description: offset of the dline register
66    description:
67      A phandle to syscon with offset to control registers for this MAC
68
69required:
70  - compatible
71  - reg
72  - clocks
73  - clock-names
74  - interrupts
75  - interrupt-names
76  - resets
77  - reset-names
78  - spacemit,apmu
79
80allOf:
81  - $ref: snps,dwmac.yaml#
82
83unevaluatedProperties: false
84
85examples:
86  - |
87    #include <dt-bindings/interrupt-controller/irq.h>
88
89    ethernet@cac80000 {
90      compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a";
91      reg = <0xcac80000 0x2000>;
92      clocks = <&syscon_apmu 66>, <&syscon_apmu 68>,
93               <&syscon_apmu 69>;
94      clock-names = "stmmaceth", "ptp_ref", "tx";
95      interrupts = <131 IRQ_TYPE_LEVEL_HIGH>, <276 IRQ_TYPE_LEVEL_HIGH>;
96      interrupt-names = "macirq", "eth_wake_irq";
97      phy-mode = "rgmii-id";
98      phy-handle = <&phy0>;
99      resets = <&syscon_apmu 67>;
100      reset-names = "stmmaceth";
101      spacemit,apmu = <&syscon_apmu 0x384 0x38c>;
102    };
103