Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
8title: Amlogic Meson DWMAC Ethernet controller
9
10maintainers:
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'
15select:
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 - amlogic,meson-g12a-dwmac
26 required:
27 - compatible
28
29allOf:
30 - $ref: "snps,dwmac.yaml#"
31 - if:
32 properties:
33 compatible:
34 contains:
35 enum:
36 - amlogic,meson8b-dwmac
37 - amlogic,meson8m2-dwmac
38 - amlogic,meson-gxbb-dwmac
39 - amlogic,meson-axg-dwmac
40 - amlogic,meson-g12a-dwmac
41
42 then:
43 properties:
44 clocks:
45 minItems: 3
46 maxItems: 4
47 items:
48 - description: GMAC main clock
49 - description: First parent clock of the internal mux
50 - description: Second parent clock of the internal mux
51 - description: The clock which drives the timing adjustment logic
52
53 clock-names:
54 minItems: 3
55 maxItems: 4
56 items:
57 - const: stmmaceth
58 - const: clkin0
59 - const: clkin1
60 - const: timing-adjustment
61
62 amlogic,tx-delay-ns:
63 $ref: /schemas/types.yaml#definitions/uint32
64 description:
65 The internal RGMII TX clock delay (provided by this driver) in
66 nanoseconds. Allowed values are 0ns, 2ns, 4ns, 6ns.
67 When phy-mode is set to "rgmii" then the TX delay should be
68 explicitly configured. When not configured a fallback of 2ns is
69 used. When the phy-mode is set to either "rgmii-id" or "rgmii-txid"
70 the TX clock delay is already provided by the PHY. In that case
71 this property should be set to 0ns (which disables the TX clock
72 delay in the MAC to prevent the clock from going off because both
73 PHY and MAC are adding a delay).
74 Any configuration is ignored when the phy-mode is set to "rmii".
75
76 amlogic,rx-delay-ns:
77 enum:
78 - 0
79 - 2
80 default: 0
81 description:
82 The internal RGMII RX clock delay (provided by this IP block) in
83 nanoseconds. When phy-mode is set to "rgmii" then the RX delay
84 should be explicitly configured. When the phy-mode is set to
85 either "rgmii-id" or "rgmii-rxid" the RX clock delay is already
86 provided by the PHY. Any configuration is ignored when the
87 phy-mode is set to "rmii".
88
89properties:
90 compatible:
91 additionalItems: true
92 maxItems: 3
93 items:
94 - enum:
95 - amlogic,meson6-dwmac
96 - amlogic,meson8b-dwmac
97 - amlogic,meson8m2-dwmac
98 - amlogic,meson-gxbb-dwmac
99 - amlogic,meson-axg-dwmac
100 - amlogic,meson-g12a-dwmac
101 contains:
102 enum:
103 - snps,dwmac-3.70a
104 - snps,dwmac
105
106 reg:
107 items:
108 - description:
109 The first register range should be the one of the DWMAC controller
110 - description:
111 The second range is is for the Amlogic specific configuration
112 (for example the PRG_ETHERNET register range on Meson8b and newer)
113
114required:
115 - compatible
116 - reg
117 - interrupts
118 - interrupt-names
119 - clocks
120 - clock-names
121 - phy-mode
122
123unevaluatedProperties: false
124
125examples:
126 - |
127 ethmac: ethernet@c9410000 {
128 compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac";
129 reg = <0xc9410000 0x10000>, <0xc8834540 0x8>;
130 interrupts = <8>;
131 interrupt-names = "macirq";
132 clocks = <&clk_eth>, <&clk_fclk_div2>, <&clk_mpll2>, <&clk_fclk_div2>;
133 clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment";
134 phy-mode = "rgmii";
135 };