dt-bindings: net: Convert GENET binding to YAML
Convert the GENET binding to YAML, leveraging brcm,unimac-mdio.yaml and the standard ethernet-controller.yaml files. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211206180049.2086907-5-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
68dfc226bc
commit
3a47044797
@ -1,125 +0,0 @@
|
||||
* Broadcom BCM7xxx Ethernet Controller (GENET)
|
||||
|
||||
Required properties:
|
||||
- compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2",
|
||||
"brcm,genet-v3", "brcm,genet-v4", "brcm,genet-v5", "brcm,bcm2711-genet-v5" or
|
||||
"brcm,bcm7712-genet-v5".
|
||||
- reg: address and length of the register set for the device
|
||||
- interrupts and/or interrupts-extended: must be two cells, the first cell
|
||||
is the general purpose interrupt line, while the second cell is the
|
||||
interrupt for the ring RX and TX queues operating in ring mode. An
|
||||
optional third interrupt cell for Wake-on-LAN can be specified.
|
||||
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||
for information on the property specifics.
|
||||
- phy-mode: see ethernet.txt file in the same directory
|
||||
- #address-cells: should be 1
|
||||
- #size-cells: should be 1
|
||||
|
||||
Optional properties:
|
||||
- clocks: When provided, must be two phandles to the functional clocks nodes
|
||||
of the GENET block. The first phandle is the main GENET clock used during
|
||||
normal operation, while the second phandle is the Wake-on-LAN clock.
|
||||
- clock-names: When provided, names of the functional clock phandles, first
|
||||
name should be "enet" and second should be "enet-wol".
|
||||
|
||||
- phy-handle: See ethernet.txt file in the same directory; used to describe
|
||||
configurations where a PHY (internal or external) is used.
|
||||
|
||||
- fixed-link: When the GENET interface is connected to a MoCA hardware block or
|
||||
when operating in a RGMII to RGMII type of connection, or when the MDIO bus is
|
||||
voluntarily disabled, this property should be used to describe the "fixed link".
|
||||
See Documentation/devicetree/bindings/net/fixed-link.txt for information on
|
||||
the property specifics
|
||||
|
||||
Required child nodes:
|
||||
|
||||
- mdio bus node: this node should always be present regardless of the PHY
|
||||
configuration of the GENET instance
|
||||
|
||||
MDIO bus node required properties:
|
||||
|
||||
- compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2"
|
||||
"brcm,genet-mdio-v3", "brcm,genet-mdio-v4", "brcm,genet-mdio-v5", the version
|
||||
has to match the parent node compatible property (e.g: brcm,genet-v4 pairs
|
||||
with brcm,genet-mdio-v4)
|
||||
- reg: address and length relative to the parent node base register address
|
||||
- #address-cells: address cell for MDIO bus addressing, should be 1
|
||||
- #size-cells: size of the cells for MDIO bus addressing, should be 0
|
||||
|
||||
Ethernet PHY node properties:
|
||||
|
||||
See Documentation/devicetree/bindings/net/phy.txt for the list of required and
|
||||
optional properties.
|
||||
|
||||
Internal Gigabit PHY example:
|
||||
|
||||
ethernet@f0b60000 {
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy1>;
|
||||
mac-address = [ 00 10 18 36 23 1a ];
|
||||
compatible = "brcm,genet-v4";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
reg = <0xf0b60000 0xfc4c>;
|
||||
interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;
|
||||
|
||||
mdio@e14 {
|
||||
compatible = "brcm,genet-mdio-v4";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
reg = <0xe14 0x8>;
|
||||
|
||||
phy1: ethernet-phy@1 {
|
||||
max-speed = <1000>;
|
||||
reg = <0x1>;
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
MoCA interface / MAC to MAC example:
|
||||
|
||||
ethernet@f0b80000 {
|
||||
phy-mode = "moca";
|
||||
fixed-link = <1 0 1000 0 0>;
|
||||
mac-address = [ 00 10 18 36 24 1a ];
|
||||
compatible = "brcm,genet-v4";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
reg = <0xf0b80000 0xfc4c>;
|
||||
interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;
|
||||
|
||||
mdio@e14 {
|
||||
compatible = "brcm,genet-mdio-v4";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
reg = <0xe14 0x8>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
External MDIO-connected Gigabit PHY/switch:
|
||||
|
||||
ethernet@f0ba0000 {
|
||||
phy-mode = "rgmii";
|
||||
phy-handle = <&phy0>;
|
||||
mac-address = [ 00 10 18 36 26 1a ];
|
||||
compatible = "brcm,genet-v4";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
reg = <0xf0ba0000 0xfc4c>;
|
||||
interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;
|
||||
|
||||
mdio@e14 {
|
||||
compatible = "brcm,genet-mdio-v4";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
reg = <0xe14 0x8>;
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
max-speed = <1000>;
|
||||
reg = <0x0>;
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
};
|
||||
};
|
||||
};
|
145
Documentation/devicetree/bindings/net/brcm,bcmgenet.yaml
Normal file
145
Documentation/devicetree/bindings/net/brcm,bcmgenet.yaml
Normal file
@ -0,0 +1,145 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/brcm,bcmgenet.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Broadcom BCM7xxx Ethernet Controller (GENET) binding
|
||||
|
||||
maintainers:
|
||||
- Doug Berger <opendmb@gmail.com>
|
||||
- Florian Fainelli <f.fainelli@gmail.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- brcm,genet-v1
|
||||
- brcm,genet-v2
|
||||
- brcm,genet-v3
|
||||
- brcm,genet-v4
|
||||
- brcm,genet-v5
|
||||
- brcm,bcm2711-genet-v5
|
||||
- brcm,bcm7712-genet-v5
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
minItems: 2
|
||||
items:
|
||||
- description: general purpose interrupt line
|
||||
- description: RX and TX rings interrupt line
|
||||
- description: Wake-on-LAN interrupt line
|
||||
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: main clock
|
||||
- description: EEE clock
|
||||
- description: Wake-on-LAN clock
|
||||
|
||||
clock-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: enet
|
||||
- const: enet-eee
|
||||
- const: enet-wol
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
patternProperties:
|
||||
"^mdio@[0-9a-f]+$":
|
||||
type: object
|
||||
$ref: "brcm,unimac-mdio.yaml"
|
||||
|
||||
description:
|
||||
GENET internal UniMAC MDIO bus
|
||||
|
||||
required:
|
||||
- reg
|
||||
- interrupts
|
||||
- phy-mode
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
allOf:
|
||||
- $ref: ethernet-controller.yaml
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
- |
|
||||
ethernet@f0b60000 {
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy1>;
|
||||
mac-address = [ 00 10 18 36 23 1a ];
|
||||
compatible = "brcm,genet-v4";
|
||||
reg = <0xf0b60000 0xfc4c>;
|
||||
interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
mdio0: mdio@e14 {
|
||||
compatible = "brcm,genet-mdio-v4";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xe14 0x8>;
|
||||
|
||||
phy1: ethernet-phy@1 {
|
||||
max-speed = <1000>;
|
||||
reg = <1>;
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
ethernet@f0b80000 {
|
||||
phy-mode = "moca";
|
||||
fixed-link = <1 0 1000 0 0>;
|
||||
mac-address = [ 00 10 18 36 24 1a ];
|
||||
compatible = "brcm,genet-v4";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0xf0b80000 0xfc4c>;
|
||||
interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;
|
||||
|
||||
mdio1: mdio@e14 {
|
||||
compatible = "brcm,genet-mdio-v4";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xe14 0x8>;
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
ethernet@f0ba0000 {
|
||||
phy-mode = "rgmii";
|
||||
phy-handle = <&phy0>;
|
||||
mac-address = [ 00 10 18 36 26 1a ];
|
||||
compatible = "brcm,genet-v4";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0xf0ba0000 0xfc4c>;
|
||||
interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;
|
||||
|
||||
mdio2: mdio@e14 {
|
||||
compatible = "brcm,genet-mdio-v4";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xe14 0x8>;
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
max-speed = <1000>;
|
||||
reg = <0>;
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
};
|
||||
};
|
||||
};
|
@ -3819,7 +3819,7 @@ M: Florian Fainelli <f.fainelli@gmail.com>
|
||||
L: bcm-kernel-feedback-list@broadcom.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: Documentation/devicetree/bindings/net/brcm,bcmgenet.txt
|
||||
F: Documentation/devicetree/bindings/net/brcm,bcmgenet.yaml
|
||||
F: Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml
|
||||
F: drivers/net/ethernet/broadcom/genet/
|
||||
F: drivers/net/ethernet/broadcom/unimac.h
|
||||
|
Loading…
x
Reference in New Issue
Block a user