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
7title: LiteX LiteETH ethernet device
8
9maintainers:
10  - Joel Stanley <joel@jms.id.au>
11
12description: |
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
19allOf:
20  - $ref: ethernet-controller.yaml#
21
22properties:
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
66required:
67  - compatible
68  - reg
69  - interrupts
70
71additionalProperties: false
72
73examples:
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 :
99