lkml.org 
[lkml]   [2018]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [PATCH v2 1/3] ARM: dts: NSP: Enable SFP on bcm958625hr
From
Date


On 8/28/2018 10:54 AM, Florian Fainelli wrote:
> Enable the SFP connected to port 5 of the switch and wire up all GPIOs
> to the SFP cage. Because of a hardware limitation of the i2c controller
> on the iProc SoCs which prevents large i2c (> 63 bytes) transactions to
> work, we use the i2c-gpio interface instead, which does not have that
> limitation. This allows us to read the SFP module EEPROM, which would
> not be possible otherwise since it exceeds that size during a single
> read transfer.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
> arch/arm/boot/dts/bcm958625hr.dts | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/arch/arm/boot/dts/bcm958625hr.dts b/arch/arm/boot/dts/bcm958625hr.dts
> index ea3fc194f8f3..6fa0d8d1a218 100644
> --- a/arch/arm/boot/dts/bcm958625hr.dts
> +++ b/arch/arm/boot/dts/bcm958625hr.dts
> @@ -58,6 +58,24 @@
> open-source;
> priority = <200>;
> };
> +
> + /* Hardware I2C block cannot do more than 63 bytes per transfer,
> + * which would prevent reading from a SFP's EEPROM (256 byte).
> + */
> + i2c1: i2c1 {

nit, "i2c1: i2c {" ?

> + compatible = "i2c-gpio";
> + sda-gpios = <&gpioa 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + scl-gpios = <&gpioa 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> + };
> +
> + sfp: sfp {
> + compatible = "sff,sfp";
> + i2c-bus = <&i2c1>;
> + mod-def0-gpios = <&gpioa 28 GPIO_ACTIVE_LOW>;
> + los-gpios = <&gpioa 24 GPIO_ACTIVE_HIGH>;
> + tx-fault-gpios = <&gpioa 30 GPIO_ACTIVE_HIGH>;
> + tx-disable-gpios = <&gpioa 26 GPIO_ACTIVE_HIGH>;
> + };
> };
>
> &amac0 {
> @@ -210,6 +228,14 @@
> reg = <4>;
> };
>
> + port@5 {
> + label = "sfp";
> + phy-mode = "sgmii";
> + reg = <5>;
> + sfp = <&sfp>;
> + managed = "in-band-status";
> + };
> +
> port@8 {
> ethernet = <&amac2>;
> label = "cpu";
>

\
 
 \ /
  Last update: 2018-08-28 23:31    [W:0.046 / U:0.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site