Commit 2371a03f authored by Florian Fainelli's avatar Florian Fainelli Committed by Rob Herring
Browse files

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: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20211208202801.3706929-2-f.fainelli@gmail.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 7675a1dc
Loading
Loading
Loading
Loading
+0 −30
Original line number Diff line number Diff line
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>;
};
+88 −0
Original line number Diff line number Diff line
# 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>;
   };
+1 −1
Original line number Diff line number Diff line
@@ -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