lkml.org 
[lkml]   [2020]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 10/10] dt-bindings: net: dsa: b53: Add YAML bindings
    Date
    From: Kurt Kanzenbach <kurt@kmk-computers.de>

    Convert the b53 DSA device tree bindings to YAML in order to allow
    for automatic checking and such.

    Reviewed-by: Rob Herring <robh@kernel.org>
    Suggested-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
    ---
    .../devicetree/bindings/net/dsa/b53.txt | 149 -----------
    .../devicetree/bindings/net/dsa/brcm,b53.yaml | 249 ++++++++++++++++++
    MAINTAINERS | 2 +-
    3 files changed, 250 insertions(+), 150 deletions(-)
    delete mode 100644 Documentation/devicetree/bindings/net/dsa/b53.txt
    create mode 100644 Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml

    diff --git a/Documentation/devicetree/bindings/net/dsa/b53.txt b/Documentation/devicetree/bindings/net/dsa/b53.txt
    deleted file mode 100644
    index f1487a751b1a..000000000000
    --- a/Documentation/devicetree/bindings/net/dsa/b53.txt
    +++ /dev/null
    @@ -1,149 +0,0 @@
    -Broadcom BCM53xx Ethernet switches
    -==================================
    -
    -Required properties:
    -
    -- compatible: For external switch chips, compatible string must be exactly one
    - of: "brcm,bcm5325"
    - "brcm,bcm53115"
    - "brcm,bcm53125"
    - "brcm,bcm53128"
    - "brcm,bcm5365"
    - "brcm,bcm5395"
    - "brcm,bcm5389"
    - "brcm,bcm5397"
    - "brcm,bcm5398"
    -
    - For the BCM11360 SoC, must be:
    - "brcm,bcm11360-srab" and the mandatory "brcm,cygnus-srab" string
    -
    - For the BCM5310x SoCs with an integrated switch, must be one of:
    - "brcm,bcm53010-srab"
    - "brcm,bcm53011-srab"
    - "brcm,bcm53012-srab"
    - "brcm,bcm53018-srab"
    - "brcm,bcm53019-srab" and the mandatory "brcm,bcm5301x-srab" string
    -
    - For the BCM5831X/BCM1140x SoCs with an integrated switch, must be one of:
    - "brcm,bcm11404-srab"
    - "brcm,bcm11407-srab"
    - "brcm,bcm11409-srab"
    - "brcm,bcm58310-srab"
    - "brcm,bcm58311-srab"
    - "brcm,bcm58313-srab" and the mandatory "brcm,omega-srab" string
    -
    - For the BCM585xx/586XX/88312 SoCs with an integrated switch, must be one of:
    - "brcm,bcm58522-srab"
    - "brcm,bcm58523-srab"
    - "brcm,bcm58525-srab"
    - "brcm,bcm58622-srab"
    - "brcm,bcm58623-srab"
    - "brcm,bcm58625-srab"
    - "brcm,bcm88312-srab" and the mandatory "brcm,nsp-srab string
    -
    - For the BCM63xx/33xx SoCs with an integrated switch, must be one of:
    - "brcm,bcm3384-switch"
    - "brcm,bcm6328-switch"
    - "brcm,bcm6368-switch" and the mandatory "brcm,bcm63xx-switch"
    -
    -Required properties for BCM585xx/586xx/88312 SoCs:
    -
    - - reg: a total of 3 register base addresses, the first one must be the
    - Switch Register Access block base, the second is the port 5/4 mux
    - configuration register and the third one is the SGMII configuration
    - and status register base address.
    -
    - - interrupts: a total of 13 interrupts must be specified, in the following
    - order: port 0-5, 7-8 link status change, then the integrated PHY interrupt,
    - then the timestamping interrupt and the sleep timer interrupts for ports
    - 5,7,8.
    -
    -Optional properties for BCM585xx/586xx/88312 SoCs:
    -
    - - reg-names: a total of 3 names matching the 3 base register address, must
    - be in the following order:
    - "srab"
    - "mux_config"
    - "sgmii_config"
    -
    - - interrupt-names: a total of 13 names matching the 13 interrupts specified
    - must be in the following order:
    - "link_state_p0"
    - "link_state_p1"
    - "link_state_p2"
    - "link_state_p3"
    - "link_state_p4"
    - "link_state_p5"
    - "link_state_p7"
    - "link_state_p8"
    - "phy"
    - "ts"
    - "imp_sleep_timer_p5"
    - "imp_sleep_timer_p7"
    - "imp_sleep_timer_p8"
    -
    -See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
    -required and optional properties.
    -
    -Examples:
    -
    -Ethernet switch connected via MDIO to the host, CPU port wired to eth0:
    -
    - eth0: ethernet@10001000 {
    - compatible = "brcm,unimac";
    - reg = <0x10001000 0x1000>;
    -
    - fixed-link {
    - speed = <1000>;
    - full-duplex;
    - };
    - };
    -
    - mdio0: mdio@10000000 {
    - compatible = "brcm,unimac-mdio";
    - #address-cells = <1>;
    - #size-cells = <0>;
    -
    - switch0: ethernet-switch@1e {
    - compatible = "brcm,bcm53125";
    - reg = <30>;
    - #address-cells = <1>;
    - #size-cells = <0>;
    -
    - ports {
    - #address-cells = <1>;
    - #size-cells = <0>;
    -
    - port0@0 {
    - reg = <0>;
    - label = "lan1";
    - };
    -
    - port1@1 {
    - reg = <1>;
    - label = "lan2";
    - };
    -
    - port5@5 {
    - reg = <5>;
    - label = "cable-modem";
    - fixed-link {
    - speed = <1000>;
    - full-duplex;
    - };
    - phy-mode = "rgmii-txid";
    - };
    -
    - port8@8 {
    - reg = <8>;
    - label = "cpu";
    - fixed-link {
    - speed = <1000>;
    - full-duplex;
    - };
    - phy-mode = "rgmii-txid";
    - ethernet = <&eth0>;
    - };
    - };
    - };
    - };
    diff --git a/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
    new file mode 100644
    index 000000000000..c3c938893ad9
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
    @@ -0,0 +1,249 @@
    +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/net/dsa/brcm,b53.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Broadcom BCM53xx Ethernet switches
    +
    +allOf:
    + - $ref: dsa.yaml#
    +
    +maintainers:
    + - Florian Fainelli <f.fainelli@gmail.com>
    +
    +description:
    + Broadcom BCM53xx Ethernet switches
    +
    +properties:
    + compatible:
    + oneOf:
    + - const: brcm,bcm5325
    + - const: brcm,bcm53115
    + - const: brcm,bcm53125
    + - const: brcm,bcm53128
    + - const: brcm,bcm5365
    + - const: brcm,bcm5395
    + - const: brcm,bcm5389
    + - const: brcm,bcm5397
    + - const: brcm,bcm5398
    + - items:
    + - const: brcm,bcm11360-srab
    + - const: brcm,cygnus-srab
    + - items:
    + - enum:
    + - brcm,bcm53010-srab
    + - brcm,bcm53011-srab
    + - brcm,bcm53012-srab
    + - brcm,bcm53018-srab
    + - brcm,bcm53019-srab
    + - const: brcm,bcm5301x-srab
    + - items:
    + - enum:
    + - brcm,bcm11404-srab
    + - brcm,bcm11407-srab
    + - brcm,bcm11409-srab
    + - brcm,bcm58310-srab
    + - brcm,bcm58311-srab
    + - brcm,bcm58313-srab
    + - const: brcm,omega-srab
    + - items:
    + - enum:
    + - brcm,bcm58522-srab
    + - brcm,bcm58523-srab
    + - brcm,bcm58525-srab
    + - brcm,bcm58622-srab
    + - brcm,bcm58623-srab
    + - brcm,bcm58625-srab
    + - brcm,bcm88312-srab
    + - const: brcm,nsp-srab
    + - items:
    + - enum:
    + - brcm,bcm3384-switch
    + - brcm,bcm6328-switch
    + - brcm,bcm6368-switch
    + - const: brcm,bcm63xx-switch
    +
    +required:
    + - compatible
    + - reg
    +
    +# BCM585xx/586xx/88312 SoCs
    +if:
    + properties:
    + compatible:
    + contains:
    + enum:
    + - brcm,bcm58522-srab
    + - brcm,bcm58523-srab
    + - brcm,bcm58525-srab
    + - brcm,bcm58622-srab
    + - brcm,bcm58623-srab
    + - brcm,bcm58625-srab
    + - brcm,bcm88312-srab
    +then:
    + properties:
    + reg:
    + minItems: 3
    + maxItems: 3
    + reg-names:
    + items:
    + - const: srab
    + - const: mux_config
    + - const: sgmii_config
    + interrupts:
    + minItems: 13
    + maxItems: 13
    + interrupt-names:
    + items:
    + - const: link_state_p0
    + - const: link_state_p1
    + - const: link_state_p2
    + - const: link_state_p3
    + - const: link_state_p4
    + - const: link_state_p5
    + - const: link_state_p7
    + - const: link_state_p8
    + - const: phy
    + - const: ts
    + - const: imp_sleep_timer_p5
    + - const: imp_sleep_timer_p7
    + - const: imp_sleep_timer_p8
    + required:
    + - interrupts
    +else:
    + properties:
    + reg:
    + maxItems: 1
    +
    +unevaluatedProperties: false
    +
    +examples:
    + - |
    + mdio {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    + ethernet-switch@1e {
    + compatible = "brcm,bcm53125";
    + reg = <30>;
    +
    + ethernet-ports {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    + port@0 {
    + reg = <0>;
    + label = "lan1";
    + };
    +
    + port@1 {
    + reg = <1>;
    + label = "lan2";
    + };
    +
    + port@5 {
    + reg = <5>;
    + label = "cable-modem";
    + phy-mode = "rgmii-txid";
    + fixed-link {
    + speed = <1000>;
    + full-duplex;
    + };
    + };
    +
    + port@8 {
    + reg = <8>;
    + label = "cpu";
    + phy-mode = "rgmii-txid";
    + ethernet = <&eth0>;
    + fixed-link {
    + speed = <1000>;
    + full-duplex;
    + };
    + };
    + };
    + };
    + };
    + - |
    + #include <dt-bindings/interrupt-controller/arm-gic.h>
    + #include <dt-bindings/interrupt-controller/irq.h>
    +
    + axi {
    + #address-cells = <1>;
    + #size-cells = <1>;
    +
    + switch@36000 {
    + compatible = "brcm,bcm58623-srab", "brcm,nsp-srab";
    + reg = <0x36000 0x1000>,
    + <0x3f308 0x8>,
    + <0x3f410 0xc>;
    + reg-names = "srab", "mux_config", "sgmii_config";
    + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
    + <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
    + interrupt-names = "link_state_p0",
    + "link_state_p1",
    + "link_state_p2",
    + "link_state_p3",
    + "link_state_p4",
    + "link_state_p5",
    + "link_state_p7",
    + "link_state_p8",
    + "phy",
    + "ts",
    + "imp_sleep_timer_p5",
    + "imp_sleep_timer_p7",
    + "imp_sleep_timer_p8";
    +
    + ethernet-ports {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    + port@0 {
    + label = "port0";
    + reg = <0>;
    + };
    +
    + port@1 {
    + label = "port1";
    + reg = <1>;
    + };
    +
    + port@2 {
    + label = "port2";
    + reg = <2>;
    + };
    +
    + port@3 {
    + label = "port3";
    + reg = <3>;
    + };
    +
    + port@4 {
    + label = "port4";
    + reg = <4>;
    + };
    +
    + port@8 {
    + ethernet = <&amac2>;
    + label = "cpu";
    + reg = <8>;
    + fixed-link {
    + speed = <1000>;
    + full-duplex;
    + };
    + };
    + };
    + };
    + };
    diff --git a/MAINTAINERS b/MAINTAINERS
    index e73636b75f29..3786322d0bfb 100644
    --- a/MAINTAINERS
    +++ b/MAINTAINERS
    @@ -3380,7 +3380,7 @@ M: Florian Fainelli <f.fainelli@gmail.com>
    L: netdev@vger.kernel.org
    L: openwrt-devel@lists.openwrt.org (subscribers-only)
    S: Supported
    -F: Documentation/devicetree/bindings/net/dsa/b53.txt
    +F: Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
    F: drivers/net/dsa/b53/*
    F: include/linux/platform_data/b53.h

    --
    2.25.1
    \
     
     \ /
      Last update: 2020-11-12 06:41    [W:3.399 / U:0.696 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site