# 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:
    minimum: 1000
    default: 1000
    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":
    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>

    sfp1: sfp {
      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>;
    };

    ethernet {
      phy-names = "comphy";
      phys = <&cps_comphy5 0>;
      sfp = <&sfp1>;
    };

  - | # Serdes to PHY to SFP connection
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    sfp2: sfp {
      compatible = "sff,sfp";
      i2c-bus = <&sfp_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>;

      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 = <&sfp2>;
      };
    };

    ethernet {
      phy = <&phy>;
      phy-mode = "10gbase-kr";
    };
