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