From: Rob Herring <robh@kernel.org>
To: Ioana Ciornei <ioana.ciornei@nxp.com>
Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, netdev@vger.kernel.org, linux@armlinux.org.uk,
devicetree@vger.kernel.org
Subject: Re: [PATCH net-next v3 1/4] dt-bindings: net: convert sff,sfp to dtschema
Date: Mon, 11 Jul 2022 13:28:55 -0600 [thread overview]
Message-ID: <20220711192855.GA134503-robh@kernel.org> (raw)
In-Reply-To: <20220707091437.446458-2-ioana.ciornei@nxp.com>
On Thu, Jul 07, 2022 at 12:14:34PM +0300, Ioana Ciornei wrote:
> Convert the sff,sfp.txt bindings to the DT schema format.
> Also add the new path to the list of maintained files.
>
> Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
> ---
> Changes in v2:
> - used the -gpios suffix
> - restricted the use of some gpios if the compatible is sff,sff
>
> Changes in v3:
> - moved the -gpios properties to be under properties and not
> pattern properties.
>
> .../devicetree/bindings/net/sff,sfp.txt | 85 -----------
> .../devicetree/bindings/net/sff,sfp.yaml | 142 ++++++++++++++++++
> MAINTAINERS | 1 +
> 3 files changed, 143 insertions(+), 85 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/net/sff,sfp.txt
> create mode 100644 Documentation/devicetree/bindings/net/sff,sfp.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/sff,sfp.txt b/Documentation/devicetree/bindings/net/sff,sfp.txt
> deleted file mode 100644
> index 832139919f20..000000000000
> --- a/Documentation/devicetree/bindings/net/sff,sfp.txt
> +++ /dev/null
> @@ -1,85 +0,0 @@
> -Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP)
> -Transceiver
> -
> -Required properties:
> -
> -- compatible : must be one of
> - "sff,sfp" for SFP modules
> - "sff,sff" for soldered down SFF modules
> -
> -- i2c-bus : phandle of an I2C bus controller for the SFP two wire serial
> - interface
> -
> -Optional Properties:
> -
> -- mod-def0-gpios : GPIO phandle and a specifier of the MOD-DEF0 (AKA Mod_ABS)
> - module presence input gpio signal, active (module absent) high. Must
> - not be present for SFF modules
> -
> -- los-gpios : GPIO phandle and a specifier of the Receiver Loss of Signal
> - Indication input gpio signal, active (signal lost) high
> -
> -- tx-fault-gpios : GPIO phandle and a specifier of the Module Transmitter
> - Fault input gpio signal, active (fault condition) high
> -
> -- tx-disable-gpios : GPIO phandle and a specifier of the Transmitter Disable
> - output gpio signal, active (Tx disable) high
> -
> -- rate-select0-gpios : GPIO phandle and a specifier of the Rx Signaling Rate
> - Select (AKA RS0) output gpio signal, low: low Rx rate, high: high Rx rate
> - Must not be present for SFF modules
> -
> -- rate-select1-gpios : GPIO phandle and a specifier of the Tx Signaling Rate
> - Select (AKA RS1) output gpio signal (SFP+ only), low: low Tx rate, high:
> - high Tx rate. Must not be present for SFF modules
> -
> -- maximum-power-milliwatt : Maximum module power consumption
> - Specifies the maximum power consumption allowable by a module in the
> - slot, in milli-Watts. Presently, modules can be up to 1W, 1.5W or 2W.
> -
> -Example #1: Direct serdes to SFP connection
> -
> -sfp_eth3: sfp-eth3 {
> - compatible = "sff,sfp";
> - i2c-bus = <&sfp_1g_i2c>;
> - los-gpios = <&cpm_gpio2 22 GPIO_ACTIVE_HIGH>;
> - mod-def0-gpios = <&cpm_gpio2 21 GPIO_ACTIVE_LOW>;
> - maximum-power-milliwatt = <1000>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&cpm_sfp_1g_pins &cps_sfp_1g_pins>;
> - tx-disable-gpios = <&cps_gpio1 24 GPIO_ACTIVE_HIGH>;
> - tx-fault-gpios = <&cpm_gpio2 19 GPIO_ACTIVE_HIGH>;
> -};
> -
> -&cps_emac3 {
> - phy-names = "comphy";
> - phys = <&cps_comphy5 0>;
> - sfp = <&sfp_eth3>;
> -};
> -
> -Example #2: Serdes to PHY to SFP connection
> -
> -sfp_eth0: sfp-eth0 {
> - compatible = "sff,sfp";
> - i2c-bus = <&sfpp0_i2c>;
> - los-gpios = <&cps_gpio1 28 GPIO_ACTIVE_HIGH>;
> - mod-def0-gpios = <&cps_gpio1 27 GPIO_ACTIVE_LOW>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&cps_sfpp0_pins>;
> - tx-disable-gpios = <&cps_gpio1 29 GPIO_ACTIVE_HIGH>;
> - tx-fault-gpios = <&cps_gpio1 26 GPIO_ACTIVE_HIGH>;
> -};
> -
> -p0_phy: ethernet-phy@0 {
> - compatible = "ethernet-phy-ieee802.3-c45";
> - pinctrl-names = "default";
> - pinctrl-0 = <&cpm_phy0_pins &cps_phy0_pins>;
> - reg = <0>;
> - interrupt = <&cpm_gpio2 18 IRQ_TYPE_EDGE_FALLING>;
> - sfp = <&sfp_eth0>;
> -};
> -
> -&cpm_eth0 {
> - phy = <&p0_phy>;
> - phy-mode = "10gbase-kr";
> -};
> diff --git a/Documentation/devicetree/bindings/net/sff,sfp.yaml b/Documentation/devicetree/bindings/net/sff,sfp.yaml
> new file mode 100644
> index 000000000000..19cf88284295
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/sff,sfp.yaml
> @@ -0,0 +1,142 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/net/sff,sfp.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP)
> + Transceiver
> +
> +maintainers:
> + - Russell King <linux@armlinux.org.uk>
> +
> +properties:
> + compatible:
> + enum:
> + - sff,sfp # for SFP modules
> + - sff,sff # for soldered down SFF modules
> +
> + i2c-bus:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + phandle of an I2C bus controller for the SFP two wire serial
> +
> + maximum-power-milliwatt:
> + maxItems: 1
> + description:
> + Maximum module power consumption Specifies the maximum power consumption
> + allowable by a module in the slot, in milli-Watts. Presently, modules can
> + be up to 1W, 1.5W or 2W.
> +
> + "mod-def0-gpios":
You don't need quotes on any of these. Otherwise,
Reviewed-by: Rob Herring <robh@kernel.org>
> + maxItems: 1
> + description:
> + GPIO phandle and a specifier of the MOD-DEF0 (AKA Mod_ABS) module
> + presence input gpio signal, active (module absent) high. Must not be
> + present for SFF modules
> +
> + "los-gpios":
> + maxItems: 1
> + description:
> + GPIO phandle and a specifier of the Receiver Loss of Signal Indication
> + input gpio signal, active (signal lost) high
> +
> + "tx-fault-gpios":
> + maxItems: 1
> + description:
> + GPIO phandle and a specifier of the Module Transmitter Fault input gpio
> + signal, active (fault condition) high
> +
> + "tx-disable-gpios":
> + maxItems: 1
> + description:
> + GPIO phandle and a specifier of the Transmitter Disable output gpio
> + signal, active (Tx disable) high
> +
> + "rate-select0-gpios":
> + maxItems: 1
> + description:
> + GPIO phandle and a specifier of the Rx Signaling Rate Select (AKA RS0)
> + output gpio signal, low - low Rx rate, high - high Rx rate Must not be
> + present for SFF modules
> +
> + "rate-select1-gpios":
> + maxItems: 1
> + description:
> + GPIO phandle and a specifier of the Tx Signaling Rate Select (AKA RS1)
> + output gpio signal (SFP+ only), low - low Tx rate, high - high Tx rate. Must
> + not be present for SFF modules
> +
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: sff,sff
> + then:
> + properties:
> + mod-def0-gpios: false
> + rate-select0-gpios: false
> + rate-select1-gpios: false
> +
> +required:
> + - compatible
> + - i2c-bus
> +
> +additionalProperties: false
> +
> +examples:
> + - | # Direct serdes to SFP connection
> + #include <dt-bindings/gpio/gpio.h>
> +
> + sfp_eth3: sfp-eth3 {
> + compatible = "sff,sfp";
> + i2c-bus = <&sfp_1g_i2c>;
> + los-gpios = <&cpm_gpio2 22 GPIO_ACTIVE_HIGH>;
> + mod-def0-gpios = <&cpm_gpio2 21 GPIO_ACTIVE_LOW>;
> + maximum-power-milliwatt = <1000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&cpm_sfp_1g_pins &cps_sfp_1g_pins>;
> + tx-disable-gpios = <&cps_gpio1 24 GPIO_ACTIVE_HIGH>;
> + tx-fault-gpios = <&cpm_gpio2 19 GPIO_ACTIVE_HIGH>;
> + };
> +
> + cps_emac3 {
> + phy-names = "comphy";
> + phys = <&cps_comphy5 0>;
> + sfp = <&sfp_eth3>;
> + };
> +
> + - | # Serdes to PHY to SFP connection
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + sfp_eth0: sfp-eth0 {
> + compatible = "sff,sfp";
> + i2c-bus = <&sfpp0_i2c>;
> + los-gpios = <&cps_gpio1 28 GPIO_ACTIVE_HIGH>;
> + mod-def0-gpios = <&cps_gpio1 27 GPIO_ACTIVE_LOW>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&cps_sfpp0_pins>;
> + tx-disable-gpios = <&cps_gpio1 29 GPIO_ACTIVE_HIGH>;
> + tx-fault-gpios = <&cps_gpio1 26 GPIO_ACTIVE_HIGH>;
> + };
> +
> + mdio {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + p0_phy: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c45";
> + pinctrl-names = "default";
> + pinctrl-0 = <&cpm_phy0_pins &cps_phy0_pins>;
> + reg = <0>;
> + interrupt = <&cpm_gpio2 18 IRQ_TYPE_EDGE_FALLING>;
> + sfp = <&sfp_eth0>;
> + };
> + };
> +
> + cpm_eth0 {
> + phy = <&p0_phy>;
> + phy-mode = "10gbase-kr";
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 32c4708cdeb9..d495f6d7c2c8 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -18109,6 +18109,7 @@ SFF/SFP/SFP+ MODULE SUPPORT
> M: Russell King <linux@armlinux.org.uk>
> L: netdev@vger.kernel.org
> S: Maintained
> +F: Documentation/devicetree/bindings/net/sff,sfp.yaml
> F: drivers/net/phy/phylink.c
> F: drivers/net/phy/sfp*
> F: include/linux/mdio/mdio-i2c.h
> --
> 2.34.1
>
>
next prev parent reply other threads:[~2022-07-11 19:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-07 9:14 [PATCH net-next v3 0/4] dt-bindings: net: convert sff,sfp to dtschema Ioana Ciornei
2022-07-07 9:14 ` [PATCH net-next v3 1/4] " Ioana Ciornei
2022-07-11 19:28 ` Rob Herring [this message]
2022-07-07 9:14 ` [PATCH net-next v3 2/4] dt-bindings: net: sff,sfp: rename example dt nodes to be more generic Ioana Ciornei
2022-07-07 9:14 ` [PATCH net-next v3 3/4] arch: arm64: dts: lx2160a-clearfog-itx: rename the sfp GPIO properties Ioana Ciornei
2022-07-07 9:14 ` [PATCH net-next v3 4/4] arch: arm64: dts: marvell: " Ioana Ciornei
2022-07-11 22:30 ` [PATCH net-next v3 0/4] dt-bindings: net: convert sff,sfp to dtschema Jakub Kicinski
2022-07-13 0:40 ` patchwork-bot+netdevbpf
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=20220711192855.GA134503-robh@kernel.org \
--to=robh@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=ioana.ciornei@nxp.com \
--cc=kuba@kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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.