blob: ebf4e360f8ddc88ea29a2419799b8db2d710a81d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 unevaluatedProperties: false
66
67required:
68 - compatible
69 - reg
70 - interrupts
71
72additionalProperties: false
73
74examples:
75 - |
76 mac: ethernet@8020000 {
77 compatible = "litex,liteeth";
78 reg = <0x8021000 0x100>,
79 <0x8020800 0x100>,
80 <0x8030000 0x2000>;
81 reg-names = "mac", "mdio", "buffer";
82 litex,rx-slots = <2>;
83 litex,tx-slots = <2>;
84 litex,slot-size = <0x800>;
85 interrupts = <0x11 0x1>;
86 phy-handle = <&eth_phy>;
87
88 mdio {
89 #address-cells = <1>;
90 #size-cells = <0>;
91
92 eth_phy: ethernet-phy@0 {
93 reg = <0>;
94 };
95 };
96 };
97...
98
99# vim: set ts=2 sw=2 sts=2 tw=80 et cc=80 ft=yaml :