-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: net: Add bindings for LiteETH
LiteETH is a small footprint and configurable Ethernet core for FPGA based system on chips. The hardware is parametrised by the size and number of the slots in it's receive and send buffers. These are described as properties, with the commonly used values set as the default. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Joel Stanley
authored and
David S. Miller
committed
Aug 26, 2021
1 parent
bc8e05d
commit b0f8d30
Showing
1 changed file
with
98 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/net/litex,liteeth.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: LiteX LiteETH ethernet device | ||
|
||
maintainers: | ||
- Joel Stanley <joel@jms.id.au> | ||
|
||
description: | | ||
LiteETH is a small footprint and configurable Ethernet core for FPGA based | ||
system on chips. | ||
The hardware source is Open Source and can be found on at | ||
https://github.com/enjoy-digital/liteeth/. | ||
allOf: | ||
- $ref: ethernet-controller.yaml# | ||
|
||
properties: | ||
compatible: | ||
const: litex,liteeth | ||
|
||
reg: | ||
items: | ||
- description: MAC registers | ||
- description: MDIO registers | ||
- description: Packet buffer | ||
|
||
reg-names: | ||
items: | ||
- const: mac | ||
- const: mdio | ||
- const: buffer | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
litex,rx-slots: | ||
description: Number of slots in the receive buffer | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
minimum: 1 | ||
default: 2 | ||
|
||
litex,tx-slots: | ||
description: Number of slots in the transmit buffer | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
minimum: 1 | ||
default: 2 | ||
|
||
litex,slot-size: | ||
description: Size in bytes of a slot in the tx/rx buffer | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
minimum: 0x800 | ||
default: 0x800 | ||
|
||
mac-address: true | ||
local-mac-address: true | ||
phy-handle: true | ||
|
||
mdio: | ||
$ref: mdio.yaml# | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
mac: ethernet@8020000 { | ||
compatible = "litex,liteeth"; | ||
reg = <0x8021000 0x100>, | ||
<0x8020800 0x100>, | ||
<0x8030000 0x2000>; | ||
reg-names = "mac", "mdio", "buffer"; | ||
litex,rx-slots = <2>; | ||
litex,tx-slots = <2>; | ||
litex,slot-size = <0x800>; | ||
interrupts = <0x11 0x1>; | ||
phy-handle = <ð_phy>; | ||
mdio { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
eth_phy: ethernet-phy@0 { | ||
reg = <0>; | ||
}; | ||
}; | ||
}; | ||
... | ||
|
||
# vim: set ts=2 sw=2 sts=2 tw=80 et cc=80 ft=yaml : |