From: Vladimir Oltean <vladimir.oltean@nxp.com> To: Colin Foster <colin.foster@in-advantage.com> Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "netdev@vger.kernel.org" <netdev@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>, Lee Jones <lee.jones@linaro.org>, Rob Herring <robh+dt@kernel.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" <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 v11 net-next 8/9] dt-bindings: mfd: ocelot: add bindings for VSC7512 Date: Thu, 30 Jun 2022 13:17:54 +0000 [thread overview] Message-ID: <20220630131753.sjy4jjrdfqzfdk4n@skbuf> (raw) In-Reply-To: <20220628081709.829811-9-colin.foster@in-advantage.com> On Tue, Jun 28, 2022 at 01:17:08AM -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..24fab9f5e319 > --- /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 > + > + reg: > + maxItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 1 > + > + 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>; > + }; > + > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + switch@0 { I wonder if "switch" is the best name for the top-level node, since there should also be another "switch" child node inside for the _actual_ DSA bindings, which this example is not showing (leading to further confusion IMO). Hmm, would "soc" be an exaggerated name? It's a SPI-controlled SoC after all. > + compatible = "mscc,vsc7512"; > + spi-max-frequency = <2500000>; > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + mdio@7107009c { > + compatible = "mscc,ocelot-miim"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x7107009c 0x24>; > + > + sw_phy0: ethernet-phy@0 { > + reg = <0x0>; > + }; > + }; > + > + mdio@710700c0 { > + compatible = "mscc,ocelot-miim"; > + pinctrl-names = "default"; > + pinctrl-0 = <&miim1_pins>; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x710700c0 0x24>; > + > + 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 0x6c>; > + > + 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"; > + }; > + }; > + > + 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 0x100>; > + > + 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 4d9ccec78f18..03eba7fd2141 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -14416,6 +14416,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: Vladimir Oltean <vladimir.oltean@nxp.com> To: Colin Foster <colin.foster@in-advantage.com> Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "netdev@vger.kernel.org" <netdev@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>, Lee Jones <lee.jones@linaro.org>, Rob Herring <robh+dt@kernel.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" <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 v11 net-next 8/9] dt-bindings: mfd: ocelot: add bindings for VSC7512 Date: Thu, 30 Jun 2022 13:17:54 +0000 [thread overview] Message-ID: <20220630131753.sjy4jjrdfqzfdk4n@skbuf> (raw) In-Reply-To: <20220628081709.829811-9-colin.foster@in-advantage.com> On Tue, Jun 28, 2022 at 01:17:08AM -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..24fab9f5e319 > --- /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 > + > + reg: > + maxItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 1 > + > + 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>; > + }; > + > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + switch@0 { I wonder if "switch" is the best name for the top-level node, since there should also be another "switch" child node inside for the _actual_ DSA bindings, which this example is not showing (leading to further confusion IMO). Hmm, would "soc" be an exaggerated name? It's a SPI-controlled SoC after all. > + compatible = "mscc,vsc7512"; > + spi-max-frequency = <2500000>; > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + mdio@7107009c { > + compatible = "mscc,ocelot-miim"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x7107009c 0x24>; > + > + sw_phy0: ethernet-phy@0 { > + reg = <0x0>; > + }; > + }; > + > + mdio@710700c0 { > + compatible = "mscc,ocelot-miim"; > + pinctrl-names = "default"; > + pinctrl-0 = <&miim1_pins>; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x710700c0 0x24>; > + > + 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 0x6c>; > + > + 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"; > + }; > + }; > + > + 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 0x100>; > + > + 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 4d9ccec78f18..03eba7fd2141 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -14416,6 +14416,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-30 13:18 UTC|newest] Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-06-28 8:17 [PATCH v11 net-next 0/9] add support for VSC7512 control over SPI Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 8:17 ` [PATCH v11 net-next 1/9] mfd: ocelot: add helper to get regmap from a resource Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 12:50 ` Andy Shevchenko 2022-06-28 12:50 ` Andy Shevchenko 2022-06-28 15:33 ` Vladimir Oltean 2022-06-28 15:33 ` Vladimir Oltean 2022-06-28 16:08 ` Vladimir Oltean 2022-06-28 16:08 ` Vladimir Oltean 2022-06-28 17:25 ` Colin Foster 2022-06-28 17:25 ` Colin Foster 2022-06-28 18:47 ` Vladimir Oltean 2022-06-28 18:47 ` Vladimir Oltean 2022-06-28 18:56 ` Vladimir Oltean 2022-06-28 18:56 ` Vladimir Oltean 2022-06-28 19:04 ` Andy Shevchenko 2022-06-28 19:04 ` Andy Shevchenko 2022-06-28 19:56 ` Colin Foster 2022-06-28 19:56 ` Colin Foster 2022-06-29 17:53 ` Vladimir Oltean 2022-06-29 17:53 ` Vladimir Oltean 2022-06-29 20:39 ` Colin Foster 2022-06-29 20:39 ` Colin Foster 2022-06-29 23:08 ` Vladimir Oltean 2022-06-29 23:08 ` Vladimir Oltean 2022-06-29 23:54 ` Colin Foster 2022-06-29 23:54 ` Colin Foster 2022-06-30 7:54 ` Lee Jones 2022-06-30 7:54 ` Lee Jones 2022-06-30 13:11 ` Vladimir Oltean 2022-06-30 13:11 ` Vladimir Oltean 2022-06-30 20:09 ` Colin Foster 2022-06-30 20:09 ` Colin Foster 2022-07-01 16:21 ` Vladimir Oltean 2022-07-01 16:21 ` Vladimir Oltean 2022-07-01 17:18 ` Colin Foster 2022-07-01 17:18 ` Colin Foster 2022-07-02 12:42 ` Vladimir Oltean 2022-07-02 12:42 ` Vladimir Oltean 2022-07-02 16:17 ` Colin Foster 2022-07-02 16:17 ` Colin Foster 2022-06-28 8:17 ` [PATCH v11 net-next 2/9] net: mdio: mscc-miim: add ability to be used in a non-mmio configuration Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 16:26 ` Vladimir Oltean 2022-06-28 16:26 ` Vladimir Oltean 2022-06-28 18:31 ` Colin Foster 2022-06-28 18:31 ` Colin Foster 2022-06-28 8:17 ` [PATCH v11 net-next 3/9] pinctrl: ocelot: allow pinctrl-ocelot to be loaded as a module Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 12:53 ` Andy Shevchenko 2022-06-28 12:53 ` Andy Shevchenko 2022-06-28 18:25 ` Colin Foster 2022-06-28 18:25 ` Colin Foster 2022-06-28 19:00 ` Andy Shevchenko 2022-06-28 19:00 ` Andy Shevchenko 2022-06-30 11:56 ` Linus Walleij 2022-06-30 11:56 ` Linus Walleij 2022-06-28 8:17 ` [PATCH v11 net-next 4/9] pinctrl: ocelot: add ability to be used in a non-mmio configuration Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 8:17 ` [PATCH v11 net-next 5/9] pinctrl: microchip-sgpio: allow sgpio driver to be used as a module Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 12:55 ` Andy Shevchenko 2022-06-28 12:55 ` Andy Shevchenko 2022-06-28 8:17 ` [PATCH v11 net-next 6/9] pinctrl: microchip-sgpio: add ability to be used in a non-mmio configuration Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 8:17 ` [PATCH v11 net-next 7/9] resource: add define macro for register address resources Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 8:17 ` [PATCH v11 net-next 8/9] dt-bindings: mfd: ocelot: add bindings for VSC7512 Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 13:15 ` Rob Herring 2022-06-28 13:15 ` Rob Herring 2022-06-28 18:19 ` Colin Foster 2022-06-28 18:19 ` Colin Foster 2022-06-30 13:17 ` Vladimir Oltean [this message] 2022-06-30 13:17 ` Vladimir Oltean 2022-06-28 8:17 ` [PATCH v11 net-next 9/9] mfd: ocelot: add support for the vsc7512 chip via spi Colin Foster 2022-06-28 8:17 ` Colin Foster 2022-06-28 20:07 ` Randy Dunlap 2022-06-28 20:07 ` Randy Dunlap 2022-06-28 20:24 ` Colin Foster 2022-06-28 20:24 ` Colin Foster
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=20220630131753.sjy4jjrdfqzfdk4n@skbuf \ --to=vladimir.oltean@nxp.com \ --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=robh+dt@kernel.org \ --cc=terry.bowman@amd.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: linkBe 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.