From: Rob Herring <robh@kernel.org>
To: Colin Foster <colin.foster@in-advantage.com>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-gpio@vger.kernel.org,
Vladimir Oltean <vladimir.oltean@nxp.com>,
Lee Jones <lee.jones@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Lars Povlsen <lars.povlsen@microchip.com>,
Steen Hegelund <Steen.Hegelund@microchip.com>,
UNGLinuxDriver@microchip.com,
Linus Walleij <linus.walleij@linaro.org>,
Wolfram Sang <wsa@kernel.org>,
Terry Bowman <terry.bowman@amd.com>,
Andy Shevchenko <andy.shevchenko@gmail.com>
Subject: Re: [PATCH v10 net-next 6/7] dt-bindings: mfd: ocelot: add bindings for VSC7512
Date: Tue, 14 Jun 2022 14:43:45 -0600 [thread overview]
Message-ID: <20220614204345.GA2419690-robh@kernel.org> (raw)
In-Reply-To: <20220610202330.799510-7-colin.foster@in-advantage.com>
On Fri, Jun 10, 2022 at 01:23:29PM -0700, Colin Foster wrote:
> Add devicetree bindings for SPI-controlled Ocelot chips, specifically the
> VSC7512.
>
> Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> ---
> .../devicetree/bindings/mfd/mscc,ocelot.yaml | 160 ++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 161 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml b/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
> new file mode 100644
> index 000000000000..e298ca8d616d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
> @@ -0,0 +1,160 @@
> +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/mscc,ocelot.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ocelot Externally-Controlled Ethernet Switch
> +
> +maintainers:
> + - Colin Foster <colin.foster@in-advantage.com>
> +
> +description: |
> + The Ocelot ethernet switch family contains chips that have an internal CPU
> + (VSC7513, VSC7514) and chips that don't (VSC7511, VSC7512). All switches have
> + the option to be controlled externally, which is the purpose of this driver.
> +
> + The switch family is a multi-port networking switch that supports many
> + interfaces. Additionally, the device can perform pin control, MDIO buses, and
> + external GPIO expanders.
> +
> +properties:
> + compatible:
> + enum:
> + - mscc,vsc7512-spi
'-spi' is redundant as we know what bus this is on looking at the
parent.
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
No size? That's odd given the child nodes are the same as memory mapped
peripherals which expect a size.
> +
> + spi-max-frequency:
> + maxItems: 1
> +
> +patternProperties:
> + "^pinctrl@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/pinctrl/mscc,ocelot-pinctrl.yaml
> +
> + "^gpio@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/pinctrl/microchip,sparx5-sgpio.yaml
> + properties:
> + compatible:
> + enum:
> + - mscc,ocelot-sgpio
> +
> + "^mdio@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/net/mscc,miim.yaml
> + properties:
> + compatible:
> + enum:
> + - mscc,ocelot-miim
> +
> +required:
> + - compatible
> + - reg
> + - '#address-cells'
> + - '#size-cells'
> + - spi-max-frequency
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + ocelot_clock: ocelot-clock {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <125000000>;
> + };
> +
> + spi0 {
spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ocelot-chip@0 {
Node names should be generic. I don't think we have a formal definition,
but 'switch' seems to be most common.
> + compatible = "mscc,vsc7512-spi";
> + spi-max-frequency = <2500000>;
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + mdio0: mdio@7107009c {
Drop unused labels.
> + compatible = "mscc,ocelot-miim";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x7107009c>;
> +
> + sw_phy0: ethernet-phy@0 {
> + reg = <0x0>;
> + };
> + };
> +
> + mdio1: mdio@710700c0 {
> + compatible = "mscc,ocelot-miim";
> + pinctrl-names = "default";
> + pinctrl-0 = <&miim1_pins>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x710700c0>;
> +
> + sw_phy4: ethernet-phy@4 {
> + reg = <0x4>;
> + };
> + };
> +
> + gpio: pinctrl@71070034 {
> + compatible = "mscc,ocelot-pinctrl";
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-ranges = <&gpio 0 0 22>;
> + reg = <0x71070034>;
> +
> + sgpio_pins: sgpio-pins {
> + pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3";
> + function = "sg0";
> + };
> +
> + miim1_pins: miim1-pins {
> + pins = "GPIO_14", "GPIO_15";
> + function = "miim";
> + };
> + };
> +
> + sgpio: gpio@710700f8 {
> + compatible = "mscc,ocelot-sgpio";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + bus-frequency = <12500000>;
> + clocks = <&ocelot_clock>;
> + microchip,sgpio-port-ranges = <0 15>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sgpio_pins>;
> + reg = <0x710700f8>;
> +
> + sgpio_in0: gpio@0 {
> + compatible = "microchip,sparx5-sgpio-bank";
> + reg = <0>;
> + gpio-controller;
> + #gpio-cells = <3>;
> + ngpios = <64>;
> + };
> +
> + sgpio_out1: gpio@1 {
> + compatible = "microchip,sparx5-sgpio-bank";
> + reg = <1>;
> + gpio-controller;
> + #gpio-cells = <3>;
> + ngpios = <64>;
> + };
> + };
> + };
> + };
> +
> +...
> +
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 91b4151c5ad1..119fb4207ba3 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -14355,6 +14355,7 @@ F: tools/testing/selftests/drivers/net/ocelot/*
> OCELOT EXTERNAL SWITCH CONTROL
> M: Colin Foster <colin.foster@in-advantage.com>
> S: Supported
> +F: Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
> F: include/linux/mfd/ocelot.h
>
> OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER
> --
> 2.25.1
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Colin Foster <colin.foster@in-advantage.com>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-gpio@vger.kernel.org,
Vladimir Oltean <vladimir.oltean@nxp.com>,
Lee Jones <lee.jones@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Lars Povlsen <lars.povlsen@microchip.com>,
Steen Hegelund <Steen.Hegelund@microchip.com>,
UNGLinuxDriver@microchip.com,
Linus Walleij <linus.walleij@linaro.org>,
Wolfram Sang <wsa@kernel.org>,
Terry Bowman <terry.bowman@amd.com>,
Andy Shevchenko <andy.shevchenko@gmail.com>
Subject: Re: [PATCH v10 net-next 6/7] dt-bindings: mfd: ocelot: add bindings for VSC7512
Date: Tue, 14 Jun 2022 14:43:45 -0600 [thread overview]
Message-ID: <20220614204345.GA2419690-robh@kernel.org> (raw)
In-Reply-To: <20220610202330.799510-7-colin.foster@in-advantage.com>
On Fri, Jun 10, 2022 at 01:23:29PM -0700, Colin Foster wrote:
> Add devicetree bindings for SPI-controlled Ocelot chips, specifically the
> VSC7512.
>
> Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> ---
> .../devicetree/bindings/mfd/mscc,ocelot.yaml | 160 ++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 161 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml b/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
> new file mode 100644
> index 000000000000..e298ca8d616d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
> @@ -0,0 +1,160 @@
> +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/mscc,ocelot.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ocelot Externally-Controlled Ethernet Switch
> +
> +maintainers:
> + - Colin Foster <colin.foster@in-advantage.com>
> +
> +description: |
> + The Ocelot ethernet switch family contains chips that have an internal CPU
> + (VSC7513, VSC7514) and chips that don't (VSC7511, VSC7512). All switches have
> + the option to be controlled externally, which is the purpose of this driver.
> +
> + The switch family is a multi-port networking switch that supports many
> + interfaces. Additionally, the device can perform pin control, MDIO buses, and
> + external GPIO expanders.
> +
> +properties:
> + compatible:
> + enum:
> + - mscc,vsc7512-spi
'-spi' is redundant as we know what bus this is on looking at the
parent.
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
No size? That's odd given the child nodes are the same as memory mapped
peripherals which expect a size.
> +
> + spi-max-frequency:
> + maxItems: 1
> +
> +patternProperties:
> + "^pinctrl@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/pinctrl/mscc,ocelot-pinctrl.yaml
> +
> + "^gpio@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/pinctrl/microchip,sparx5-sgpio.yaml
> + properties:
> + compatible:
> + enum:
> + - mscc,ocelot-sgpio
> +
> + "^mdio@[0-9a-f]+$":
> + type: object
> + $ref: /schemas/net/mscc,miim.yaml
> + properties:
> + compatible:
> + enum:
> + - mscc,ocelot-miim
> +
> +required:
> + - compatible
> + - reg
> + - '#address-cells'
> + - '#size-cells'
> + - spi-max-frequency
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + ocelot_clock: ocelot-clock {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <125000000>;
> + };
> +
> + spi0 {
spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ocelot-chip@0 {
Node names should be generic. I don't think we have a formal definition,
but 'switch' seems to be most common.
> + compatible = "mscc,vsc7512-spi";
> + spi-max-frequency = <2500000>;
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + mdio0: mdio@7107009c {
Drop unused labels.
> + compatible = "mscc,ocelot-miim";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x7107009c>;
> +
> + sw_phy0: ethernet-phy@0 {
> + reg = <0x0>;
> + };
> + };
> +
> + mdio1: mdio@710700c0 {
> + compatible = "mscc,ocelot-miim";
> + pinctrl-names = "default";
> + pinctrl-0 = <&miim1_pins>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x710700c0>;
> +
> + sw_phy4: ethernet-phy@4 {
> + reg = <0x4>;
> + };
> + };
> +
> + gpio: pinctrl@71070034 {
> + compatible = "mscc,ocelot-pinctrl";
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-ranges = <&gpio 0 0 22>;
> + reg = <0x71070034>;
> +
> + sgpio_pins: sgpio-pins {
> + pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3";
> + function = "sg0";
> + };
> +
> + miim1_pins: miim1-pins {
> + pins = "GPIO_14", "GPIO_15";
> + function = "miim";
> + };
> + };
> +
> + sgpio: gpio@710700f8 {
> + compatible = "mscc,ocelot-sgpio";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + bus-frequency = <12500000>;
> + clocks = <&ocelot_clock>;
> + microchip,sgpio-port-ranges = <0 15>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sgpio_pins>;
> + reg = <0x710700f8>;
> +
> + sgpio_in0: gpio@0 {
> + compatible = "microchip,sparx5-sgpio-bank";
> + reg = <0>;
> + gpio-controller;
> + #gpio-cells = <3>;
> + ngpios = <64>;
> + };
> +
> + sgpio_out1: gpio@1 {
> + compatible = "microchip,sparx5-sgpio-bank";
> + reg = <1>;
> + gpio-controller;
> + #gpio-cells = <3>;
> + ngpios = <64>;
> + };
> + };
> + };
> + };
> +
> +...
> +
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 91b4151c5ad1..119fb4207ba3 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -14355,6 +14355,7 @@ F: tools/testing/selftests/drivers/net/ocelot/*
> OCELOT EXTERNAL SWITCH CONTROL
> M: Colin Foster <colin.foster@in-advantage.com>
> S: Supported
> +F: Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
> F: include/linux/mfd/ocelot.h
>
> OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER
> --
> 2.25.1
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-06-14 20:45 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-10 20:23 [PATCH v10 net-next 0/7] add support for VSC7512 control over SPI Colin Foster
2022-06-10 20:23 ` Colin Foster
2022-06-10 20:23 ` [PATCH v10 net-next 1/7] mfd: ocelot: add helper to get regmap from a resource Colin Foster
2022-06-10 20:23 ` Colin Foster
2022-06-11 10:37 ` Andy Shevchenko
2022-06-11 10:37 ` Andy Shevchenko
2022-06-11 17:11 ` Colin Foster
2022-06-11 17:11 ` Colin Foster
2022-06-10 20:23 ` [PATCH v10 net-next 2/7] net: mdio: mscc-miim: add ability to be used in a non-mmio configuration Colin Foster
2022-06-10 20:23 ` Colin Foster
2022-06-10 20:23 ` [PATCH v10 net-next 3/7] pinctrl: ocelot: " Colin Foster
2022-06-10 20:23 ` Colin Foster
2022-06-10 20:23 ` [PATCH v10 net-next 4/7] pinctrl: microchip-sgpio: " Colin Foster
2022-06-10 20:23 ` Colin Foster
2022-06-10 20:23 ` [PATCH v10 net-next 5/7] resource: add define macro for register address resources Colin Foster
2022-06-10 20:23 ` Colin Foster
2022-06-10 20:23 ` [PATCH v10 net-next 6/7] dt-bindings: mfd: ocelot: add bindings for VSC7512 Colin Foster
2022-06-10 20:23 ` Colin Foster
2022-06-14 20:43 ` Rob Herring [this message]
2022-06-14 20:43 ` Rob Herring
2022-06-14 21:27 ` Colin Foster
2022-06-14 21:27 ` Colin Foster
2022-06-10 20:23 ` [PATCH v10 net-next 7/7] mfd: ocelot: add support for the vsc7512 chip via spi Colin Foster
2022-06-10 20:23 ` Colin Foster
2022-06-11 6:23 ` kernel test robot
2022-06-11 6:23 ` kernel test robot
2022-06-11 18:45 ` kernel test robot
2022-06-11 18:45 ` kernel test robot
2022-06-10 20:34 ` [PATCH v10 net-next 0/7] add support for VSC7512 control over SPI Jakub Kicinski
2022-06-10 20:34 ` Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220614204345.GA2419690-robh@kernel.org \
--to=robh@kernel.org \
--cc=Steen.Hegelund@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=andrew@lunn.ch \
--cc=andy.shevchenko@gmail.com \
--cc=colin.foster@in-advantage.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=lars.povlsen@microchip.com \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=terry.bowman@amd.com \
--cc=vladimir.oltean@nxp.com \
--cc=wsa@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.