All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/3] dt-bindings: add SFF vendor prefix
@ 2017-09-03 12:31 Baruch Siach
       [not found] ` <c2a27566a8eb358ee2566a213c385d0bf3d64307.1504441874.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Baruch Siach @ 2017-09-03 12:31 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Andrew Lunn, Florian Fainelli,
	David S. Miller, Russell King
  Cc: netdev, devicetree, Sergei Shtylyov, Baruch Siach

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
v3: Add Rob's ack
v2: New patch in this series
---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index daf465bef758..20fdb79a92d4 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -287,6 +287,7 @@ schindler	Schindler
 seagate	Seagate Technology PLC
 semtech	Semtech Corporation
 sensirion	Sensirion AG
+sff	Small Form Factor Committee
 sgx	SGX Sensortech
 sharp	Sharp Corporation
 si-en	Si-En Technology Ltd.
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 2/3] dt-binding: net: sfp binding documentation
       [not found] ` <c2a27566a8eb358ee2566a213c385d0bf3d64307.1504441874.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
@ 2017-09-03 12:31   ` Baruch Siach
  2017-09-03 20:46     ` Russell King - ARM Linux
                       ` (2 more replies)
  2017-09-03 12:31   ` [PATCH v3 3/3] net: phy: sfp: rename the rate-select property Baruch Siach
  1 sibling, 3 replies; 8+ messages in thread
From: Baruch Siach @ 2017-09-03 12:31 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Andrew Lunn, Florian Fainelli,
	David S. Miller, Russell King
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	Sergei Shtylyov, Baruch Siach

Add device-tree binding documentation SFP transceivers. Support for SFP
transceivers has been recently introduced (drivers/net/phy/sfp.c).

Signed-off-by: Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
---
v3:
  Mention gpios phandle and specifier
  Mention the polarity of each gpio
  Fix example property names

v2:
  Rename -gpio properties to -gpios
  Rename the rate-select-gpio property to rate-select0-gpios
  Add the rate-select1-gpios property
  Add examples
---
 Documentation/devicetree/bindings/net/sff,sfp.txt | 78 +++++++++++++++++++++++
 1 file changed, 78 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/sff,sfp.txt

diff --git a/Documentation/devicetree/bindings/net/sff,sfp.txt b/Documentation/devicetree/bindings/net/sff,sfp.txt
new file mode 100644
index 000000000000..b98ee5945265
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/sff,sfp.txt
@@ -0,0 +1,78 @@
+Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP)
+Transceiver
+
+Required properties:
+
+- compatible : must be "sff,sfp"
+
+Optional Properties:
+
+- i2c-bus : phandle of an I2C bus controller for the SFP two wire serial
+  interface
+
+- moddef0-gpios : GPIO phandle and a single specifier of the MOD-DEF0 (AKA
+  Mod_ABS) module presence input gpio signal, active (module absent) high
+
+- los-gpios : GPIO phandle and a single specifier of the Receiver Loss of
+  Signal Indication input gpio signal, active (signal lost) high
+
+- tx-fault-gpios : GPIO phandle and a single specifier of the Module
+  Transmitter Fault input gpio signal, active (fault condition) high
+
+- tx-disable-gpios : GPIO phandle and a single specifier of the Transmitter
+  Disable output gpio signal, active (Tx disable) high
+
+- rate-select0-gpios : GPIO phandle and a single specifier of the Rx Signaling
+  Rate Select (AKA RS0) output gpio signal, low: low Rx rate, high: high Rx
+  rate
+
+- rate-select1-gpios : GPIO phandle and a single specifier of the Tx Signaling
+  Rate Select (AKA RS1) output gpio signal (SFP+ only), low: low Tx rate,
+  high: high Tx rate
+
+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>;
+	moddef0-gpios = <&cpm_gpio2 21 GPIO_ACTIVE_LOW>;
+	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-mode = "sgmii";
+	phy-names = "comphy";
+	phys = <&cps_comphy 5 COMPHY_SGMII2>;
+	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>;
+	moddef0-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";
+};
-- 
2.14.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 3/3] net: phy: sfp: rename the rate-select property
       [not found] ` <c2a27566a8eb358ee2566a213c385d0bf3d64307.1504441874.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
  2017-09-03 12:31   ` [PATCH v3 2/3] dt-binding: net: sfp binding documentation Baruch Siach
@ 2017-09-03 12:31   ` Baruch Siach
  1 sibling, 0 replies; 8+ messages in thread
From: Baruch Siach @ 2017-09-03 12:31 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Andrew Lunn, Florian Fainelli,
	David S. Miller, Russell King
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	Sergei Shtylyov, Baruch Siach

Make the Rx rate select control gpio property name match the documented
binding. This would make the addition of 'rate-select1-gpios' for SFP+
support more natural.

Signed-off-by: Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
---
v3: No change

v2: New patch in this series
---
 drivers/net/phy/sfp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c
index fb2cf4342f48..b44c0e296662 100644
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
@@ -62,7 +62,7 @@ static const char *gpio_of_names[] = {
 	"los",
 	"tx-fault",
 	"tx-disable",
-	"rate-select",
+	"rate-select0",
 };
 
 static const enum gpiod_flags gpio_flags[] = {
-- 
2.14.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 2/3] dt-binding: net: sfp binding documentation
  2017-09-03 12:31   ` [PATCH v3 2/3] dt-binding: net: sfp binding documentation Baruch Siach
@ 2017-09-03 20:46     ` Russell King - ARM Linux
  2017-09-04  5:55       ` Baruch Siach
       [not found]     ` <01ae7bc45d68322669d18a4feeaeef733ba888d7.1504441874.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
  2017-09-04 20:16     ` Florian Fainelli
  2 siblings, 1 reply; 8+ messages in thread
From: Russell King - ARM Linux @ 2017-09-03 20:46 UTC (permalink / raw)
  To: Baruch Siach
  Cc: Rob Herring, Mark Rutland, Andrew Lunn, Florian Fainelli,
	David S. Miller, netdev, devicetree, Sergei Shtylyov

On Sun, Sep 03, 2017 at 03:31:13PM +0300, Baruch Siach wrote:
> Add device-tree binding documentation SFP transceivers. Support for SFP
> transceivers has been recently introduced (drivers/net/phy/sfp.c).
> 
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
> v3:
>   Mention gpios phandle and specifier
>   Mention the polarity of each gpio
>   Fix example property names
> 
> v2:
>   Rename -gpio properties to -gpios
>   Rename the rate-select-gpio property to rate-select0-gpios
>   Add the rate-select1-gpios property
>   Add examples
> ---
>  Documentation/devicetree/bindings/net/sff,sfp.txt | 78 +++++++++++++++++++++++
>  1 file changed, 78 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/sff,sfp.txt
> 
> diff --git a/Documentation/devicetree/bindings/net/sff,sfp.txt b/Documentation/devicetree/bindings/net/sff,sfp.txt
> new file mode 100644
> index 000000000000..b98ee5945265
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/sff,sfp.txt
> @@ -0,0 +1,78 @@
> +Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP)
> +Transceiver
> +
> +Required properties:
> +
> +- compatible : must be "sff,sfp"
> +
> +Optional Properties:
> +
> +- i2c-bus : phandle of an I2C bus controller for the SFP two wire serial
> +  interface
> +
> +- moddef0-gpios : GPIO phandle and a single specifier of the MOD-DEF0 (AKA
> +  Mod_ABS) module presence input gpio signal, active (module absent) high
> +
> +- los-gpios : GPIO phandle and a single specifier of the Receiver Loss of
> +  Signal Indication input gpio signal, active (signal lost) high
> +
> +- tx-fault-gpios : GPIO phandle and a single specifier of the Module
> +  Transmitter Fault input gpio signal, active (fault condition) high
> +
> +- tx-disable-gpios : GPIO phandle and a single specifier of the Transmitter
> +  Disable output gpio signal, active (Tx disable) high
> +
> +- rate-select0-gpios : GPIO phandle and a single specifier of the Rx Signaling
> +  Rate Select (AKA RS0) output gpio signal, low: low Rx rate, high: high Rx
> +  rate
> +
> +- rate-select1-gpios : GPIO phandle and a single specifier of the Tx Signaling
> +  Rate Select (AKA RS1) output gpio signal (SFP+ only), low: low Tx rate,
> +  high: high Tx rate
> +
> +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>;
> +	moddef0-gpios = <&cpm_gpio2 21 GPIO_ACTIVE_LOW>;
> +	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-mode = "sgmii";
> +	phy-names = "comphy";
> +	phys = <&cps_comphy 5 COMPHY_SGMII2>;

I don't like this level of example - SGMII is Cisco SGMII which is not
the same as 1000Base-X - the two are incompatible.  Fibre SFP modules
only work with 1000Base-X.

The SFP/phylink takes care of informing the MAC which mode it should
be in, and the MAC must configure itself appropriately in response to
that, otherwise the module can't be supported.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 2/3] dt-binding: net: sfp binding documentation
  2017-09-03 20:46     ` Russell King - ARM Linux
@ 2017-09-04  5:55       ` Baruch Siach
  0 siblings, 0 replies; 8+ messages in thread
From: Baruch Siach @ 2017-09-04  5:55 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Rob Herring, Mark Rutland, Andrew Lunn, Florian Fainelli,
	David S. Miller, netdev, devicetree, Sergei Shtylyov

Hi Russell,

On Sun, Sep 03, 2017 at 09:46:35PM +0100, Russell King - ARM Linux wrote:
> On Sun, Sep 03, 2017 at 03:31:13PM +0300, Baruch Siach wrote:
> > Add device-tree binding documentation SFP transceivers. Support for SFP
> > transceivers has been recently introduced (drivers/net/phy/sfp.c).
> > 
> > Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> > ---
> > v3:
> >   Mention gpios phandle and specifier
> >   Mention the polarity of each gpio
> >   Fix example property names
> > 
> > v2:
> >   Rename -gpio properties to -gpios
> >   Rename the rate-select-gpio property to rate-select0-gpios
> >   Add the rate-select1-gpios property
> >   Add examples
> > ---
> >  Documentation/devicetree/bindings/net/sff,sfp.txt | 78 +++++++++++++++++++++++
> >  1 file changed, 78 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/net/sff,sfp.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/net/sff,sfp.txt b/Documentation/devicetree/bindings/net/sff,sfp.txt
> > new file mode 100644
> > index 000000000000..b98ee5945265
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/sff,sfp.txt
> > @@ -0,0 +1,78 @@
> > +Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP)
> > +Transceiver
> > +
> > +Required properties:
> > +
> > +- compatible : must be "sff,sfp"
> > +
> > +Optional Properties:
> > +
> > +- i2c-bus : phandle of an I2C bus controller for the SFP two wire serial
> > +  interface
> > +
> > +- moddef0-gpios : GPIO phandle and a single specifier of the MOD-DEF0 (AKA
> > +  Mod_ABS) module presence input gpio signal, active (module absent) high
> > +
> > +- los-gpios : GPIO phandle and a single specifier of the Receiver Loss of
> > +  Signal Indication input gpio signal, active (signal lost) high
> > +
> > +- tx-fault-gpios : GPIO phandle and a single specifier of the Module
> > +  Transmitter Fault input gpio signal, active (fault condition) high
> > +
> > +- tx-disable-gpios : GPIO phandle and a single specifier of the Transmitter
> > +  Disable output gpio signal, active (Tx disable) high
> > +
> > +- rate-select0-gpios : GPIO phandle and a single specifier of the Rx Signaling
> > +  Rate Select (AKA RS0) output gpio signal, low: low Rx rate, high: high Rx
> > +  rate
> > +
> > +- rate-select1-gpios : GPIO phandle and a single specifier of the Tx Signaling
> > +  Rate Select (AKA RS1) output gpio signal (SFP+ only), low: low Tx rate,
> > +  high: high Tx rate
> > +
> > +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>;
> > +	moddef0-gpios = <&cpm_gpio2 21 GPIO_ACTIVE_LOW>;
> > +	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-mode = "sgmii";
> > +	phy-names = "comphy";
> > +	phys = <&cps_comphy 5 COMPHY_SGMII2>;
> 
> I don't like this level of example - SGMII is Cisco SGMII which is not
> the same as 1000Base-X - the two are incompatible.  Fibre SFP modules
> only work with 1000Base-X.
> 
> The SFP/phylink takes care of informing the MAC which mode it should
> be in, and the MAC must configure itself appropriately in response to
> that, otherwise the module can't be supported.

So, if I understand you correctly, the PHY mode should not be coded in the DT 
since the mode is run-time configurable, and depends on the SFP module. Is 
that correct?

How about the following then:

&cps_emac3 {
        phy-names = "comphy";
        phys = <&cps_comphy 5>;
        sfp = <&sfp_eth3>;
};

Thanks,
baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 2/3] dt-binding: net: sfp binding documentation
       [not found]     ` <01ae7bc45d68322669d18a4feeaeef733ba888d7.1504441874.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
@ 2017-09-04  9:59       ` Sergei Shtylyov
  0 siblings, 0 replies; 8+ messages in thread
From: Sergei Shtylyov @ 2017-09-04  9:59 UTC (permalink / raw)
  To: Baruch Siach, Rob Herring, Mark Rutland, Andrew Lunn,
	Florian Fainelli, David S. Miller, Russell King
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA

Hello!

On 9/3/2017 3:31 PM, Baruch Siach wrote:

> Add device-tree binding documentation SFP transceivers. Support for SFP
> transceivers has been recently introduced (drivers/net/phy/sfp.c).
> 
> Signed-off-by: Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
[...]
> diff --git a/Documentation/devicetree/bindings/net/sff,sfp.txt b/Documentation/devicetree/bindings/net/sff,sfp.txt
> new file mode 100644
> index 000000000000..b98ee5945265
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/sff,sfp.txt
> @@ -0,0 +1,78 @@
> +Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP)
> +Transceiver
> +
> +Required properties:
> +
> +- compatible : must be "sff,sfp"
> +
> +Optional Properties:
> +
> +- i2c-bus : phandle of an I2C bus controller for the SFP two wire serial
> +  interface
> +
> +- moddef0-gpios : GPIO phandle and a single specifier of the MOD-DEF0 (AKA

    There's always a single specifier following a phandle, tho it may have 
different # of cells, no need to spell that out.

> +  Mod_ABS) module presence input gpio signal, active (module absent) high
> +
> +- los-gpios : GPIO phandle and a single specifier of the Receiver Loss of

    Same here.

> +  Signal Indication input gpio signal, active (signal lost) high
> +
> +- tx-fault-gpios : GPIO phandle and a single specifier of the Module

    And here.

> +  Transmitter Fault input gpio signal, active (fault condition) high
> +
> +- tx-disable-gpios : GPIO phandle and a single specifier of the Transmitter

    And here.

> +  Disable output gpio signal, active (Tx disable) high
> +
> +- rate-select0-gpios : GPIO phandle and a single specifier of the Rx Signaling

    Here too.

> +  Rate Select (AKA RS0) output gpio signal, low: low Rx rate, high: high Rx
> +  rate
> +
> +- rate-select1-gpios : GPIO phandle and a single specifier of the Tx Signaling

    Here ass well.

> +  Rate Select (AKA RS1) output gpio signal (SFP+ only), low: low Tx rate,
> +  high: high Tx rate
> +
[...]

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 2/3] dt-binding: net: sfp binding documentation
  2017-09-03 12:31   ` [PATCH v3 2/3] dt-binding: net: sfp binding documentation Baruch Siach
  2017-09-03 20:46     ` Russell King - ARM Linux
       [not found]     ` <01ae7bc45d68322669d18a4feeaeef733ba888d7.1504441874.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
@ 2017-09-04 20:16     ` Florian Fainelli
       [not found]       ` <5df7f2f5-04f7-85b1-4a53-935360001b7c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2 siblings, 1 reply; 8+ messages in thread
From: Florian Fainelli @ 2017-09-04 20:16 UTC (permalink / raw)
  To: Baruch Siach, Rob Herring, Mark Rutland, Andrew Lunn,
	David S. Miller, Russell King
  Cc: netdev, devicetree, Sergei Shtylyov

Le 09/03/17 à 05:31, Baruch Siach a écrit :
> Add device-tree binding documentation SFP transceivers. Support for SFP
> transceivers has been recently introduced (drivers/net/phy/sfp.c).
> 
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
> v3:
>   Mention gpios phandle and specifier
>   Mention the polarity of each gpio
>   Fix example property names
> 
> v2:
>   Rename -gpio properties to -gpios
>   Rename the rate-select-gpio property to rate-select0-gpios
>   Add the rate-select1-gpios property
>   Add examples
> ---
>  Documentation/devicetree/bindings/net/sff,sfp.txt | 78 +++++++++++++++++++++++
>  1 file changed, 78 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/sff,sfp.txt
> 
> diff --git a/Documentation/devicetree/bindings/net/sff,sfp.txt b/Documentation/devicetree/bindings/net/sff,sfp.txt
> new file mode 100644
> index 000000000000..b98ee5945265
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/sff,sfp.txt
> @@ -0,0 +1,78 @@
> +Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP)
> +Transceiver
> +
> +Required properties:
> +
> +- compatible : must be "sff,sfp"
> +
> +Optional Properties:
> +
> +- i2c-bus : phandle of an I2C bus controller for the SFP two wire serial
> +  interface
> +
> +- moddef0-gpios : GPIO phandle and a single specifier of the MOD-DEF0 (AKA
> +  Mod_ABS) module presence input gpio signal, active (module absent) high

Sorry for nitpicking on this, why are not we naming this mod-def0-gpios
which would be consistent with how other GPIOs are named?

> +
> +- los-gpios : GPIO phandle and a single specifier of the Receiver Loss of
> +  Signal Indication input gpio signal, active (signal lost) high
> +
> +- tx-fault-gpios : GPIO phandle and a single specifier of the Module
> +  Transmitter Fault input gpio signal, active (fault condition) high
> +
> +- tx-disable-gpios : GPIO phandle and a single specifier of the Transmitter
> +  Disable output gpio signal, active (Tx disable) high
> +
> +- rate-select0-gpios : GPIO phandle and a single specifier of the Rx Signaling
> +  Rate Select (AKA RS0) output gpio signal, low: low Rx rate, high: high Rx
> +  rate
> +
> +- rate-select1-gpios : GPIO phandle and a single specifier of the Tx Signaling
> +  Rate Select (AKA RS1) output gpio signal (SFP+ only), low: low Tx rate,
> +  high: high Tx rate
> +
> +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>;
> +	moddef0-gpios = <&cpm_gpio2 21 GPIO_ACTIVE_LOW>;
> +	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-mode = "sgmii";
> +	phy-names = "comphy";
> +	phys = <&cps_comphy 5 COMPHY_SGMII2>;
> +	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>;
> +	moddef0-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";
> +};
> 


-- 
Florian

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 2/3] dt-binding: net: sfp binding documentation
       [not found]       ` <5df7f2f5-04f7-85b1-4a53-935360001b7c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-09-04 21:11         ` Baruch Siach
  0 siblings, 0 replies; 8+ messages in thread
From: Baruch Siach @ 2017-09-04 21:11 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Rob Herring, Mark Rutland, Andrew Lunn, David S. Miller,
	Russell King, netdev-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Sergei Shtylyov

Hi Florian,

On Mon, Sep 04, 2017 at 01:16:26PM -0700, Florian Fainelli wrote:
> Le 09/03/17 à 05:31, Baruch Siach a écrit : 

[...]

> > diff --git a/Documentation/devicetree/bindings/net/sff,sfp.txt b/Documentation/devicetree/bindings/net/sff,sfp.txt
> > new file mode 100644
> > index 000000000000..b98ee5945265
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/sff,sfp.txt
> > @@ -0,0 +1,78 @@
> > +Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP)
> > +Transceiver
> > +
> > +Required properties:
> > +
> > +- compatible : must be "sff,sfp"
> > +
> > +Optional Properties:
> > +
> > +- i2c-bus : phandle of an I2C bus controller for the SFP two wire serial
> > +  interface
> > +
> > +- moddef0-gpios : GPIO phandle and a single specifier of the MOD-DEF0 (AKA
> > +  Mod_ABS) module presence input gpio signal, active (module absent) high
> 
> Sorry for nitpicking on this, why are not we naming this mod-def0-gpios
> which would be consistent with how other GPIOs are named?

I'm fine with that as well. It only requires changing the implementation to 
match.

> > +
> > +- los-gpios : GPIO phandle and a single specifier of the Receiver Loss of
> > +  Signal Indication input gpio signal, active (signal lost) high
> > +
> > +- tx-fault-gpios : GPIO phandle and a single specifier of the Module
> > +  Transmitter Fault input gpio signal, active (fault condition) high
> > +
> > +- tx-disable-gpios : GPIO phandle and a single specifier of the Transmitter
> > +  Disable output gpio signal, active (Tx disable) high
> > +
> > +- rate-select0-gpios : GPIO phandle and a single specifier of the Rx Signaling
> > +  Rate Select (AKA RS0) output gpio signal, low: low Rx rate, high: high Rx
> > +  rate
> > +
> > +- rate-select1-gpios : GPIO phandle and a single specifier of the Tx Signaling
> > +  Rate Select (AKA RS1) output gpio signal (SFP+ only), low: low Tx rate,
> > +  high: high Tx rate

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org - tel: +972.52.368.4656, http://www.tkos.co.il -
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-09-04 21:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-03 12:31 [PATCH v3 1/3] dt-bindings: add SFF vendor prefix Baruch Siach
     [not found] ` <c2a27566a8eb358ee2566a213c385d0bf3d64307.1504441874.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
2017-09-03 12:31   ` [PATCH v3 2/3] dt-binding: net: sfp binding documentation Baruch Siach
2017-09-03 20:46     ` Russell King - ARM Linux
2017-09-04  5:55       ` Baruch Siach
     [not found]     ` <01ae7bc45d68322669d18a4feeaeef733ba888d7.1504441874.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
2017-09-04  9:59       ` Sergei Shtylyov
2017-09-04 20:16     ` Florian Fainelli
     [not found]       ` <5df7f2f5-04f7-85b1-4a53-935360001b7c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-04 21:11         ` Baruch Siach
2017-09-03 12:31   ` [PATCH v3 3/3] net: phy: sfp: rename the rate-select property Baruch Siach

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.