Merge tag 'fix-missing-panels' into fixes
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / net / amlogic,meson-dwmac.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2019 BayLibre, SAS
3 %YAML 1.2
4 ---
5 $id: "http://devicetree.org/schemas/net/amlogic,meson-dwmac.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8 title: Amlogic Meson DWMAC Ethernet controller
9
10 maintainers:
11   - Neil Armstrong <narmstrong@baylibre.com>
12   - Martin Blumenstingl <martin.blumenstingl@googlemail.com>
13
14 # We need a select here so we don't match all nodes with 'snps,dwmac'
15 select:
16   properties:
17     compatible:
18       contains:
19         enum:
20           - amlogic,meson6-dwmac
21           - amlogic,meson8b-dwmac
22           - amlogic,meson8m2-dwmac
23           - amlogic,meson-gxbb-dwmac
24           - amlogic,meson-axg-dwmac
25   required:
26     - compatible
27
28 allOf:
29   - $ref: "snps,dwmac.yaml#"
30   - if:
31       properties:
32         compatible:
33           contains:
34             enum:
35               - amlogic,meson8b-dwmac
36               - amlogic,meson8m2-dwmac
37               - amlogic,meson-gxbb-dwmac
38               - amlogic,meson-axg-dwmac
39
40     then:
41       properties:
42         clocks:
43           items:
44             - description: GMAC main clock
45             - description: First parent clock of the internal mux
46             - description: Second parent clock of the internal mux
47
48         clock-names:
49           minItems: 3
50           maxItems: 3
51           items:
52             - const: stmmaceth
53             - const: clkin0
54             - const: clkin1
55
56         amlogic,tx-delay-ns:
57           $ref: /schemas/types.yaml#definitions/uint32
58           description:
59             The internal RGMII TX clock delay (provided by this driver) in
60             nanoseconds. Allowed values are 0ns, 2ns, 4ns, 6ns.
61             When phy-mode is set to "rgmii" then the TX delay should be
62             explicitly configured. When not configured a fallback of 2ns is
63             used. When the phy-mode is set to either "rgmii-id" or "rgmii-txid"
64             the TX clock delay is already provided by the PHY. In that case
65             this property should be set to 0ns (which disables the TX clock
66             delay in the MAC to prevent the clock from going off because both
67             PHY and MAC are adding a delay).
68             Any configuration is ignored when the phy-mode is set to "rmii".
69
70 properties:
71   compatible:
72     additionalItems: true
73     maxItems: 3
74     items:
75       - enum:
76           - amlogic,meson6-dwmac
77           - amlogic,meson8b-dwmac
78           - amlogic,meson8m2-dwmac
79           - amlogic,meson-gxbb-dwmac
80           - amlogic,meson-axg-dwmac
81     contains:
82       enum:
83         - snps,dwmac-3.70a
84         - snps,dwmac
85
86   reg:
87     items:
88       - description:
89           The first register range should be the one of the DWMAC controller
90       - description:
91           The second range is is for the Amlogic specific configuration
92           (for example the PRG_ETHERNET register range on Meson8b and newer)
93
94 required:
95   - compatible
96   - reg
97   - interrupts
98   - interrupt-names
99   - clocks
100   - clock-names
101   - phy-mode
102
103 examples:
104   - |
105     ethmac: ethernet@c9410000 {
106          compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac";
107          reg = <0xc9410000 0x10000>, <0xc8834540 0x8>;
108          interrupts = <8>;
109          interrupt-names = "macirq";
110          clocks = <&clk_eth>, <&clkc_fclk_div2>, <&clk_mpll2>;
111          clock-names = "stmmaceth", "clkin0", "clkin1";
112          phy-mode = "rgmii";
113     };