Merge tag 'cxl-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / net / litex,liteeth.yaml
1 # SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/litex,liteeth.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: LiteX LiteETH ethernet device
8
9 maintainers:
10   - Joel Stanley <joel@jms.id.au>
11
12 description: |
13   LiteETH is a small footprint and configurable Ethernet core for FPGA based
14   system on chips.
15
16   The hardware source is Open Source and can be found on at
17   https://github.com/enjoy-digital/liteeth/.
18
19 allOf:
20   - $ref: ethernet-controller.yaml#
21
22 properties:
23   compatible:
24     const: litex,liteeth
25
26   reg:
27     items:
28       - description: MAC registers
29       - description: MDIO registers
30       - description: Packet buffer
31
32   reg-names:
33     items:
34       - const: mac
35       - const: mdio
36       - const: buffer
37
38   interrupts:
39     maxItems: 1
40
41   litex,rx-slots:
42     description: Number of slots in the receive buffer
43     $ref: /schemas/types.yaml#/definitions/uint32
44     minimum: 1
45     default: 2
46
47   litex,tx-slots:
48     description: Number of slots in the transmit buffer
49     $ref: /schemas/types.yaml#/definitions/uint32
50     minimum: 1
51     default: 2
52
53   litex,slot-size:
54     description: Size in bytes of a slot in the tx/rx buffer
55     $ref: /schemas/types.yaml#/definitions/uint32
56     minimum: 0x800
57     default: 0x800
58
59   mac-address: true
60   local-mac-address: true
61   phy-handle: true
62
63   mdio:
64     $ref: mdio.yaml#
65
66 required:
67   - compatible
68   - reg
69   - interrupts
70
71 additionalProperties: false
72
73 examples:
74   - |
75     mac: ethernet@8020000 {
76         compatible = "litex,liteeth";
77         reg = <0x8021000 0x100>,
78               <0x8020800 0x100>,
79               <0x8030000 0x2000>;
80         reg-names = "mac", "mdio", "buffer";
81         litex,rx-slots = <2>;
82         litex,tx-slots = <2>;
83         litex,slot-size = <0x800>;
84         interrupts = <0x11 0x1>;
85         phy-handle = <&eth_phy>;
86
87         mdio {
88           #address-cells = <1>;
89           #size-cells = <0>;
90
91           eth_phy: ethernet-phy@0 {
92             reg = <0>;
93           };
94         };
95     };
96 ...
97
98 #  vim: set ts=2 sw=2 sts=2 tw=80 et cc=80 ft=yaml :