diff mbox series

arm64: dts: lx2160a-clearfog-itx: add SFP support [*experimental*]

Message ID E1lJfLu-0000Q2-Nl@rmk-PC.armlinux.org.uk (mailing list archive)
State New, archived
Headers show
Series arm64: dts: lx2160a-clearfog-itx: add SFP support [*experimental*] | expand

Commit Message

Russell King (Oracle) March 9, 2021, 4:36 p.m. UTC
Add 2x2 SFP+ cage support for clearfog-itx boards.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
---
 .../boot/dts/freescale/fsl-lx2160a-cex7.dtsi  | 24 +++++++
 .../freescale/fsl-lx2160a-clearfog-itx.dtsi   | 64 +++++++++++++++++++
 2 files changed, 88 insertions(+)

Comments

Shawn Guo March 15, 2021, 7:03 a.m. UTC | #1
On Tue, Mar 09, 2021 at 04:36:58PM +0000, Russell King wrote:
> Add 2x2 SFP+ cage support for clearfog-itx boards.
> 
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

What is the implication of [*experimental*] in subject?

Shawn

> ---
>  .../boot/dts/freescale/fsl-lx2160a-cex7.dtsi  | 24 +++++++
>  .../freescale/fsl-lx2160a-clearfog-itx.dtsi   | 64 +++++++++++++++++++
>  2 files changed, 88 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
> index 459dccad8326..afb455210bd0 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
> @@ -122,6 +122,30 @@
>  				vcc-supply = <&sb_3v3>;
>  			};
>  		};
> +
> +		sfp0_i2c: i2c@4 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <4>;
> +		};
> +
> +		sfp1_i2c: i2c@5 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <5>;
> +		};
> +
> +		sfp2_i2c: i2c@6 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <6>;
> +		};
> +
> +		sfp3_i2c: i2c@7 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			reg = <7>;
> +		};
>  	};
>  };
>  
> diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
> index 2b63235ca627..17f8e733972a 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
> @@ -30,6 +30,54 @@
>  			gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
>  		};
>  	};
> +
> +	sfp0: sfp-0 {
> +		compatible = "sff,sfp";
> +		i2c-bus = <&sfp0_i2c>;
> +		mod-def0-gpio = <&gpio2 0 GPIO_ACTIVE_LOW>;
> +		maximum-power-milliwatt = <2000>;
> +	};
> +
> +	sfp1: sfp-1 {
> +		compatible = "sff,sfp";
> +		i2c-bus = <&sfp1_i2c>;
> +		mod-def0-gpio = <&gpio2 9 GPIO_ACTIVE_LOW>;
> +		maximum-power-milliwatt = <2000>;
> +	};
> +
> +	sfp2: sfp-2 {
> +		compatible = "sff,sfp";
> +		i2c-bus = <&sfp2_i2c>;
> +		mod-def0-gpio = <&gpio2 10 GPIO_ACTIVE_LOW>;
> +		maximum-power-milliwatt = <2000>;
> +	};
> +
> +	sfp3: sfp-3 {
> +		compatible = "sff,sfp";
> +		i2c-bus = <&sfp3_i2c>;
> +		mod-def0-gpio = <&gpio2 11 GPIO_ACTIVE_LOW>;
> +		maximum-power-milliwatt = <2000>;
> +	};
> +};
> +
> +&dpmac7 {
> +	sfp = <&sfp0>;
> +	managed = "in-band-status";
> +};
> +
> +&dpmac8 {
> +	sfp = <&sfp1>;
> +	managed = "in-band-status";
> +};
> +
> +&dpmac9 {
> +	sfp = <&sfp2>;
> +	managed = "in-band-status";
> +};
> +
> +&dpmac10 {
> +	sfp = <&sfp3>;
> +	managed = "in-band-status";
>  };
>  
>  &emdio2 {
> @@ -44,6 +92,22 @@
>  	status = "okay";
>  };
>  
> +&pcs_mdio7 {
> +	status = "okay";
> +};
> +
> +&pcs_mdio8 {
> +	status = "okay";
> +};
> +
> +&pcs_mdio9 {
> +	status = "okay";
> +};
> +
> +&pcs_mdio10 {
> +	status = "okay";
> +};
> +
>  &sata0 {
>  	status = "okay";
>  };
> -- 
> 2.20.1
>
Russell King (Oracle) March 15, 2021, 10:02 a.m. UTC | #2
On Mon, Mar 15, 2021 at 03:03:15PM +0800, Shawn Guo wrote:
> On Tue, Mar 09, 2021 at 04:36:58PM +0000, Russell King wrote:
> > Add 2x2 SFP+ cage support for clearfog-itx boards.
> > 
> > Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> 
> What is the implication of [*experimental*] in subject?

Oh, I should've dropped that, thanks for pointing it out.

It was experimental as we didn't know which direction NXP were heading
with the PCS support on the LX2160A until it was finally merged into
net-next.
Shawn Guo March 17, 2021, 7:55 a.m. UTC | #3
On Mon, Mar 15, 2021 at 10:02:07AM +0000, Russell King - ARM Linux admin wrote:
> On Mon, Mar 15, 2021 at 03:03:15PM +0800, Shawn Guo wrote:
> > On Tue, Mar 09, 2021 at 04:36:58PM +0000, Russell King wrote:
> > > Add 2x2 SFP+ cage support for clearfog-itx boards.
> > > 
> > > Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> > 
> > What is the implication of [*experimental*] in subject?
> 
> Oh, I should've dropped that, thanks for pointing it out.
> 
> It was experimental as we didn't know which direction NXP were heading
> with the PCS support on the LX2160A until it was finally merged into
> net-next.

Fixed it up and applied, thanks.
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
index 459dccad8326..afb455210bd0 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
@@ -122,6 +122,30 @@ 
 				vcc-supply = <&sb_3v3>;
 			};
 		};
+
+		sfp0_i2c: i2c@4 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <4>;
+		};
+
+		sfp1_i2c: i2c@5 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <5>;
+		};
+
+		sfp2_i2c: i2c@6 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <6>;
+		};
+
+		sfp3_i2c: i2c@7 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <7>;
+		};
 	};
 };
 
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
index 2b63235ca627..17f8e733972a 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
@@ -30,6 +30,54 @@ 
 			gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
 		};
 	};
+
+	sfp0: sfp-0 {
+		compatible = "sff,sfp";
+		i2c-bus = <&sfp0_i2c>;
+		mod-def0-gpio = <&gpio2 0 GPIO_ACTIVE_LOW>;
+		maximum-power-milliwatt = <2000>;
+	};
+
+	sfp1: sfp-1 {
+		compatible = "sff,sfp";
+		i2c-bus = <&sfp1_i2c>;
+		mod-def0-gpio = <&gpio2 9 GPIO_ACTIVE_LOW>;
+		maximum-power-milliwatt = <2000>;
+	};
+
+	sfp2: sfp-2 {
+		compatible = "sff,sfp";
+		i2c-bus = <&sfp2_i2c>;
+		mod-def0-gpio = <&gpio2 10 GPIO_ACTIVE_LOW>;
+		maximum-power-milliwatt = <2000>;
+	};
+
+	sfp3: sfp-3 {
+		compatible = "sff,sfp";
+		i2c-bus = <&sfp3_i2c>;
+		mod-def0-gpio = <&gpio2 11 GPIO_ACTIVE_LOW>;
+		maximum-power-milliwatt = <2000>;
+	};
+};
+
+&dpmac7 {
+	sfp = <&sfp0>;
+	managed = "in-band-status";
+};
+
+&dpmac8 {
+	sfp = <&sfp1>;
+	managed = "in-band-status";
+};
+
+&dpmac9 {
+	sfp = <&sfp2>;
+	managed = "in-band-status";
+};
+
+&dpmac10 {
+	sfp = <&sfp3>;
+	managed = "in-band-status";
 };
 
 &emdio2 {
@@ -44,6 +92,22 @@ 
 	status = "okay";
 };
 
+&pcs_mdio7 {
+	status = "okay";
+};
+
+&pcs_mdio8 {
+	status = "okay";
+};
+
+&pcs_mdio9 {
+	status = "okay";
+};
+
+&pcs_mdio10 {
+	status = "okay";
+};
+
 &sata0 {
 	status = "okay";
 };