~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/net/cdns,macb.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/net/cdns,macb.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Cadence MACB/GEM Ethernet controller
  8 
  9 maintainers:
 10   - Nicolas Ferre <nicolas.ferre@microchip.com>
 11   - Claudiu Beznea <claudiu.beznea@microchip.com>
 12 
 13 properties:
 14   compatible:
 15     oneOf:
 16       - items:
 17           - enum:
 18               - cdns,at91rm9200-emac  # Atmel at91rm9200 SoC
 19           - const: cdns,emac          # Generic
 20 
 21       - items:
 22           - enum:
 23               - cdns,zynq-gem         # Xilinx Zynq-7xxx SoC
 24               - cdns,zynqmp-gem       # Xilinx Zynq Ultrascale+ MPSoC
 25           - const: cdns,gem           # Generic
 26         deprecated: true
 27 
 28       - items:
 29           - enum:
 30               - xlnx,versal-gem       # Xilinx Versal
 31               - xlnx,zynq-gem         # Xilinx Zynq-7xxx SoC
 32               - xlnx,zynqmp-gem       # Xilinx Zynq Ultrascale+ MPSoC
 33           - const: cdns,gem           # Generic
 34 
 35       - items:
 36           - enum:
 37               - cdns,at91sam9260-macb # Atmel at91sam9 SoCs
 38               - cdns,sam9x60-macb     # Microchip sam9x60 SoC
 39               - microchip,mpfs-macb   # Microchip PolarFire SoC
 40           - const: cdns,macb          # Generic
 41 
 42       - items:
 43           - enum:
 44               - atmel,sama5d3-macb    # 10/100Mbit IP on Atmel sama5d3 SoCs
 45           - enum:
 46               - cdns,at91sam9260-macb # Atmel at91sam9 SoCs.
 47           - const: cdns,macb          # Generic
 48 
 49       - enum:
 50           - atmel,sama5d29-gem        # GEM XL IP (10/100) on Atmel sama5d29 SoCs
 51           - atmel,sama5d2-gem         # GEM IP (10/100) on Atmel sama5d2 SoCs
 52           - atmel,sama5d3-gem         # Gigabit IP on Atmel sama5d3 SoCs
 53           - atmel,sama5d4-gem         # GEM IP (10/100) on Atmel sama5d4 SoCs
 54           - cdns,np4-macb             # NP4 SoC devices
 55           - microchip,sama7g5-emac    # Microchip SAMA7G5 ethernet interface
 56           - microchip,sama7g5-gem     # Microchip SAMA7G5 gigabit ethernet interface
 57           - sifive,fu540-c000-gem     # SiFive FU540-C000 SoC
 58           - cdns,emac                 # Generic
 59           - cdns,gem                  # Generic
 60           - cdns,macb                 # Generic
 61 
 62       - items:
 63           - enum:
 64               - microchip,sam9x7-gem     # Microchip SAM9X7 gigabit ethernet interface
 65           - const: microchip,sama7g5-gem # Microchip SAMA7G5 gigabit ethernet interface
 66 
 67   reg:
 68     minItems: 1
 69     items:
 70       - description: Basic register set
 71       - description: GEMGXL Management block registers on SiFive FU540-C000 SoC
 72 
 73   interrupts:
 74     minItems: 1
 75     maxItems: 8
 76     description: One interrupt per available hardware queue
 77 
 78   clocks:
 79     minItems: 1
 80     maxItems: 5
 81 
 82   clock-names:
 83     minItems: 1
 84     items:
 85       - enum: [ ether_clk, hclk, pclk ]
 86       - enum: [ hclk, pclk ]
 87       - const: tx_clk
 88       - enum: [ rx_clk, tsu_clk ]
 89       - const: tsu_clk
 90 
 91   local-mac-address: true
 92 
 93   phy-mode: true
 94 
 95   phy-handle: true
 96 
 97   phys:
 98     maxItems: 1
 99 
100   resets:
101     maxItems: 1
102     description:
103       Recommended with ZynqMP, specify reset control for this
104       controller instance with zynqmp-reset driver.
105 
106   reset-names:
107     maxItems: 1
108 
109   fixed-link: true
110 
111   iommus:
112     maxItems: 1
113 
114   power-domains:
115     maxItems: 1
116 
117   cdns,rx-watermark:
118     $ref: /schemas/types.yaml#/definitions/uint32
119     description:
120       When the receive partial store and forward mode is activated,
121       the receiver will only begin to forward the packet to the external
122       AHB or AXI slave when enough packet data is stored in the SRAM packet buffer.
123       rx-watermark corresponds to the number of SRAM buffer locations,
124       that need to be filled, before the forwarding process is activated.
125       Width of the SRAM is platform dependent, and can be 4, 8 or 16 bytes.
126 
127   '#address-cells':
128     const: 1
129 
130   '#size-cells':
131     const: 0
132 
133   mdio:
134     type: object
135     description:
136       Node containing PHY children. If this node is not present, then PHYs will
137       be direct children.
138 
139 patternProperties:
140   "^ethernet-phy@[0-9a-f]$":
141     type: object
142     $ref: ethernet-phy.yaml#
143 
144     properties:
145       reset-gpios: true
146 
147       magic-packet:
148         type: boolean
149         deprecated: true
150         description:
151           Indicates that the hardware supports waking up via magic packet.
152 
153     unevaluatedProperties: false
154 
155 required:
156   - compatible
157   - reg
158   - interrupts
159   - clocks
160   - clock-names
161   - phy-mode
162 
163 allOf:
164   - $ref: ethernet-controller.yaml#
165 
166   - if:
167       not:
168         properties:
169           compatible:
170             contains:
171               const: sifive,fu540-c000-gem
172     then:
173       properties:
174         reg:
175           maxItems: 1
176 
177 unevaluatedProperties: false
178 
179 examples:
180   - |
181     macb0: ethernet@fffc4000 {
182             compatible = "cdns,macb";
183             reg = <0xfffc4000 0x4000>;
184             interrupts = <21>;
185             cdns,rx-watermark = <0x44>;
186             phy-mode = "rmii";
187             local-mac-address = [3a 0e 03 04 05 06];
188             clock-names = "pclk", "hclk", "tx_clk";
189             clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>;
190             #address-cells = <1>;
191             #size-cells = <0>;
192 
193             ethernet-phy@1 {
194                     reg = <0x1>;
195                     reset-gpios = <&pioE 6 1>;
196             };
197     };
198 
199   - |
200     #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
201     #include <dt-bindings/power/xlnx-zynqmp-power.h>
202     #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
203     #include <dt-bindings/phy/phy.h>
204 
205     bus {
206             #address-cells = <2>;
207             #size-cells = <2>;
208             gem1: ethernet@ff0c0000 {
209                     compatible = "xlnx,zynqmp-gem", "cdns,gem";
210                     interrupt-parent = <&gic>;
211                     interrupts = <0 59 4>, <0 59 4>;
212                     reg = <0x0 0xff0c0000 0x0 0x1000>;
213                     clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM1_REF>,
214                              <&zynqmp_clk GEM1_TX>, <&zynqmp_clk GEM1_RX>,
215                              <&zynqmp_clk GEM_TSU>;
216                     clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
217                     #address-cells = <1>;
218                     #size-cells = <0>;
219                     iommus = <&smmu 0x875>;
220                     power-domains = <&zynqmp_firmware PD_ETH_1>;
221                     resets = <&zynqmp_reset ZYNQMP_RESET_GEM1>;
222                     reset-names = "gem1_rst";
223                     phy-mode = "sgmii";
224                     phys = <&psgtr 1 PHY_TYPE_SGMII 1 1>;
225                     fixed-link {
226                             speed = <1000>;
227                             full-duplex;
228                             pause;
229                     };
230             };
231     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php