dt-bindings: net: Convert AMAC to YAML

Convert the Broadcom AMAC Device Tree binding to YAML to help with
schema and dtbs checking.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20211208202801.3706929-2-f.fainelli@gmail.com
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Florian Fainelli 2021-12-08 12:28:00 -08:00 committed by Rob Herring
parent 7675a1dc6c
commit 2371a03fce
3 changed files with 89 additions and 31 deletions

View File

@ -1,30 +0,0 @@
Broadcom AMAC Ethernet Controller Device Tree Bindings
-------------------------------------------------------------
Required properties:
- compatible: "brcm,amac"
"brcm,nsp-amac"
"brcm,ns2-amac"
- reg: Address and length of the register set for the device. It
contains the information of registers in the same order as
described by reg-names
- reg-names: Names of the registers.
"amac_base": Address and length of the GMAC registers
"idm_base": Address and length of the GMAC IDM registers
(required for NSP and Northstar2)
"nicpm_base": Address and length of the NIC Port Manager
registers (required for Northstar2)
- interrupts: Interrupt number
The MAC address will be determined using the optional properties
defined in ethernet.txt.
Examples:
amac0: ethernet@18022000 {
compatible = "brcm,nsp-amac";
reg = <0x18022000 0x1000>,
<0x18110000 0x1000>;
reg-names = "amac_base", "idm_base";
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
};

View File

@ -0,0 +1,88 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/brcm,amac.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom AMAC Ethernet Controller Device Tree Bindings
maintainers:
- Florian Fainelli <f.fainelli@gmail.com>
allOf:
- $ref: "ethernet-controller.yaml#"
- if:
properties:
compatible:
contains:
enum:
- brcm,amac
then:
properties:
reg:
maxItems: 2
reg-names:
maxItems: 2
- if:
properties:
compatible:
contains:
enum:
- brcm,nsp-amac
then:
properties:
reg:
minItems: 2
maxItems: 2
reg-names:
minItems: 2
maxItems: 2
- if:
properties:
compatible:
contains:
enum:
- brcm,ns2-amac
then:
properties:
reg:
minItems: 3
reg-names:
minItems: 3
properties:
compatible:
enum:
- brcm,amac
- brcm,nsp-amac
- brcm,ns2-amac
interrupts:
maxItems: 1
reg:
minItems: 1
maxItems: 3
reg-names:
minItems: 1
items:
- const: amac_base
- const: idm_base
- const: nicpm_base
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
amac0: ethernet@18022000 {
compatible = "brcm,nsp-amac";
reg = <0x18022000 0x1000>,
<0x18110000 0x1000>;
reg-names = "amac_base", "idm_base";
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
};

View File

@ -3861,7 +3861,7 @@ M: Rafał Miłecki <rafal@milecki.pl>
M: bcm-kernel-feedback-list@broadcom.com
L: netdev@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/net/brcm,amac.txt
F: Documentation/devicetree/bindings/net/brcm,amac.yaml
F: drivers/net/ethernet/broadcom/bgmac*
F: drivers/net/ethernet/broadcom/unimac.h