All of lore.kernel.org
 help / color / mirror / Atom feed
From: tomas.hlavacek-x+rMaJPWets@public.gmane.org
To: "Uwe Kleine-König"
	<uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@public.gmane.org>
Cc: "Jason Cooper" <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
	"Andrew Lunn" <andrew-g2DYL2Zd6BY@public.gmane.org>,
	"Gregory Clement"
	<gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	"Sebastian Hesselbarth"
	<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Martin Strbačka" <martin.strbacka-x+rMaJPWets@public.gmane.org>,
	"Rob Herring" <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"Mark Rutland" <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH RFC] ARM: dts: add support for Turris Omnia
Date: Mon, 14 Nov 2016 13:23:05 +0100	[thread overview]
Message-ID: <1479126185.15557.5@smtp.gmail.com> (raw)
In-Reply-To: <20161105203841.9661-1-uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@public.gmane.org>

Hello Uwe and all!

On Sat, Nov 5, 2016 at 9:38 PM, Uwe Kleine-König 
<uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@public.gmane.org> wrote:
> This machine is an open hardware router by cz.nic driven by a
> Marvell Armada 385.
> 
> Signed-off-by: Uwe Kleine-König <uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@public.gmane.org>
> ---
> 
> Hello,
> 
> the following components are working:
> 
>  - WAN port
>  - eMMC

But I not not sure about DDR50 mode. At least with kernel 4.4, that we 
use in production, we had to limit to SDR50 to overcome I/O errors and 
communication instability, if I can remember it correctly. So it might 
need more testing with the current kernel.

> 
>  - UART0
>  - USB

It is worth noting that the USB 2.0 interface of Armada 385 is wired to 
USB pinout of the last (right-most) PCIe connector. The two USB3 
interfaces routed through SERDES 1 and 3 go directly to the external 
USB connectors.

> 
> Still missing is support for the switch. Wireless fails to probe, 
> didn't
> debug this up to now. SFP is untested as is UART1.

Actually SFP is connected to SGMII interface of eth1, which is routed 
through SERDES 5. The SGMII line is shared between the SFP and metallic 
PHY 88E1514. There is a autonomous high-speed switch connected to the 
SFPDET signal from SFP cage. It disconnects the metallic SFP and 
connects SGMII to SFP once the module is connected.

The SFP is also connected to the I2C mux port 4 and to GPIO expander 
for reading/driving SFPDET, LOS, TXFLT, TXDIS signals:

&i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins>;
        status = "okay";
        clock-frequency = <100000>;

        i2cmux@70 {
                compatible = "nxp,pca9547";
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <0x70>;
                status = "okay";

...

                i2c@7 {
                        /* SFP+ GPIO expander */
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <7>;

                        sfpgpio: gpio@71 {
                                compatible = "nxp,pca9538";
                                reg = <0x71>;
                                interrupt-parent = <&gpio1>;
                                interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
                                gpio-controller;
                                #gpio-cells = <2>;
                        };
                };
	};
};

We have our proprietary support hacked onto mvneta driver for 
disconnecting PHY on the fly. It is a bit nasty, so I suggest to ignore 
SFP in this DTS altogether and let's wait till "phylink based SFP 
module support" or something alike hits upstream, so we can base the 
SFP support on solid code; unless somebody has a better idea, of course.

> 
> 
> diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts 
> b/arch/arm/boot/dts/armada-385-turris-omnia.dts
> new file mode 100644
> index 000000000000..d3cd8a4d713d
> --- /dev/null
> +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
> @@ -0,0 +1,246 @@
...
> +
> +			/* USB part of the eSATA/USB 2.0 port */

This comment is perhaps some error inherited from my development DTS. 
We do not have any eSATA, perhaps PCIe/USB 2.0 slot.

> 
> +			usb@58000 {
> +				status = "okay";
> +			};
> +
> +
> +&eth0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&ge0_rgmii_pins>;
> +	status = "okay";
> +	phy-mode = "rgmii-id";
> +
> +	fixed-link {
> +		speed = <1000>;
> +		full-duplex;
> +	};
> +};
> +
> +&eth1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&ge1_rgmii_pins>;
> +	status = "okay";
> +	phy-mode = "rgmii-id";
> +
> +	fixed-link {
> +		speed = <1000>;
> +		full-duplex;
> +	};
> +};
> +

Actually eth0 and eth1 (both are RGMII) are connected to the 88E6176 
switch. The problem is that from what I have read so far the switch can 
not operate in DSA mode with two CPU ports. We currently operate the 
switch in "normal mode" with the eth0 and eth1 set to fixed-link 
1000/full and with proprietary driver (derived from OpenWRT switch 
drivers). I would say that these records for eth0 and eth1 are 
therefore redundant, because it does nothing without the switch support 
and it would most likely change once we have DSA driver (using only 
eth0).

Tomas

--
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

WARNING: multiple messages have this Message-ID (diff)
From: tomas.hlavacek@nic.cz (tomas.hlavacek at nic.cz)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC] ARM: dts: add support for Turris Omnia
Date: Mon, 14 Nov 2016 13:23:05 +0100	[thread overview]
Message-ID: <1479126185.15557.5@smtp.gmail.com> (raw)
In-Reply-To: <20161105203841.9661-1-uwe@kleine-koenig.org>

Hello Uwe and all!

On Sat, Nov 5, 2016 at 9:38 PM, Uwe Kleine-K?nig 
<uwe@kleine-koenig.org> wrote:
> This machine is an open hardware router by cz.nic driven by a
> Marvell Armada 385.
> 
> Signed-off-by: Uwe Kleine-K?nig <uwe@kleine-koenig.org>
> ---
> 
> Hello,
> 
> the following components are working:
> 
>  - WAN port
>  - eMMC

But I not not sure about DDR50 mode. At least with kernel 4.4, that we 
use in production, we had to limit to SDR50 to overcome I/O errors and 
communication instability, if I can remember it correctly. So it might 
need more testing with the current kernel.

> 
>  - UART0
>  - USB

It is worth noting that the USB 2.0 interface of Armada 385 is wired to 
USB pinout of the last (right-most) PCIe connector. The two USB3 
interfaces routed through SERDES 1 and 3 go directly to the external 
USB connectors.

> 
> Still missing is support for the switch. Wireless fails to probe, 
> didn't
> debug this up to now. SFP is untested as is UART1.

Actually SFP is connected to SGMII interface of eth1, which is routed 
through SERDES 5. The SGMII line is shared between the SFP and metallic 
PHY 88E1514. There is a autonomous high-speed switch connected to the 
SFPDET signal from SFP cage. It disconnects the metallic SFP and 
connects SGMII to SFP once the module is connected.

The SFP is also connected to the I2C mux port 4 and to GPIO expander 
for reading/driving SFPDET, LOS, TXFLT, TXDIS signals:

&i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins>;
        status = "okay";
        clock-frequency = <100000>;

        i2cmux at 70 {
                compatible = "nxp,pca9547";
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <0x70>;
                status = "okay";

...

                i2c at 7 {
                        /* SFP+ GPIO expander */
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <7>;

                        sfpgpio: gpio at 71 {
                                compatible = "nxp,pca9538";
                                reg = <0x71>;
                                interrupt-parent = <&gpio1>;
                                interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
                                gpio-controller;
                                #gpio-cells = <2>;
                        };
                };
	};
};

We have our proprietary support hacked onto mvneta driver for 
disconnecting PHY on the fly. It is a bit nasty, so I suggest to ignore 
SFP in this DTS altogether and let's wait till "phylink based SFP 
module support" or something alike hits upstream, so we can base the 
SFP support on solid code; unless somebody has a better idea, of course.

> 
> 
> diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts 
> b/arch/arm/boot/dts/armada-385-turris-omnia.dts
> new file mode 100644
> index 000000000000..d3cd8a4d713d
> --- /dev/null
> +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
> @@ -0,0 +1,246 @@
...
> +
> +			/* USB part of the eSATA/USB 2.0 port */

This comment is perhaps some error inherited from my development DTS. 
We do not have any eSATA, perhaps PCIe/USB 2.0 slot.

> 
> +			usb at 58000 {
> +				status = "okay";
> +			};
> +
> +
> +&eth0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&ge0_rgmii_pins>;
> +	status = "okay";
> +	phy-mode = "rgmii-id";
> +
> +	fixed-link {
> +		speed = <1000>;
> +		full-duplex;
> +	};
> +};
> +
> +&eth1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&ge1_rgmii_pins>;
> +	status = "okay";
> +	phy-mode = "rgmii-id";
> +
> +	fixed-link {
> +		speed = <1000>;
> +		full-duplex;
> +	};
> +};
> +

Actually eth0 and eth1 (both are RGMII) are connected to the 88E6176 
switch. The problem is that from what I have read so far the switch can 
not operate in DSA mode with two CPU ports. We currently operate the 
switch in "normal mode" with the eth0 and eth1 set to fixed-link 
1000/full and with proprietary driver (derived from OpenWRT switch 
drivers). I would say that these records for eth0 and eth1 are 
therefore redundant, because it does nothing without the switch support 
and it would most likely change once we have DSA driver (using only 
eth0).

Tomas

  parent reply	other threads:[~2016-11-14 12:23 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-05 20:38 [PATCH RFC] ARM: dts: add support for Turris Omnia Uwe Kleine-König
2016-11-05 20:38 ` Uwe Kleine-König
     [not found] ` <20161105203841.9661-1-uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@public.gmane.org>
2016-11-05 21:04   ` Andrew Lunn
2016-11-05 21:04     ` Andrew Lunn
     [not found]     ` <20161105210441.GB1216-g2DYL2Zd6BY@public.gmane.org>
2016-11-05 22:08       ` Uwe Kleine-König
2016-11-05 22:08         ` Uwe Kleine-König
     [not found]         ` <20161105220848.k6rrjmvvhdaeduma-jgopVnDzZD+b0XQX99//ntPVjbGH4+40kFgPdswSElo@public.gmane.org>
2016-11-06 10:19           ` Andrew Lunn
2016-11-06 10:19             ` Andrew Lunn
2016-11-05 21:23   ` Andrew Lunn
2016-11-05 21:23     ` Andrew Lunn
     [not found]     ` <20161105212326.GC1216-g2DYL2Zd6BY@public.gmane.org>
2016-11-05 21:27       ` Uwe Kleine-König
2016-11-05 21:27         ` Uwe Kleine-König
     [not found]         ` <20161105212748.vtdprlxxismy5xmk-jgopVnDzZD+b0XQX99//ntPVjbGH4+40kFgPdswSElo@public.gmane.org>
2016-11-05 21:37           ` Andrew Lunn
2016-11-05 21:37             ` Andrew Lunn
     [not found]         ` <20161106104534.lsdyppz5qcnjcqe4@perseus.defre.kleine-koenig.org>
     [not found]           ` <20161106111109.GD9617@lunn.ch>
     [not found]             ` <20161106141716.fwgje74rhhixnixq@perseus.defre.kleine-koenig.org>
     [not found]               ` <20161106162809.GA14042@lunn.ch>
     [not found]                 ` <20161106162809.GA14042-g2DYL2Zd6BY@public.gmane.org>
2016-11-06 19:32                   ` Uwe Kleine-König
2016-11-06 19:32                     ` Uwe Kleine-König
2016-11-07  7:41         ` Martin Strbačka
2016-11-07  7:41           ` Martin Strbačka
2016-11-14 12:23   ` tomas.hlavacek-x+rMaJPWets [this message]
2016-11-14 12:23     ` tomas.hlavacek at nic.cz
     [not found]     ` <1479126185.15557.5-TAvD023jEQEN+BqQ9rBEUg@public.gmane.org>
2016-11-14 13:10       ` Andrew Lunn
2016-11-14 13:10         ` Andrew Lunn
2016-11-14 14:51         ` tomas.hlavacek
2016-11-14 14:59         ` tomas.hlavacek
2016-11-14 14:59           ` tomas.hlavacek at nic.cz
2016-11-14 20:16       ` Uwe Kleine-König
2016-11-14 20:16         ` Uwe Kleine-König
     [not found]         ` <20161114201640.rr32iyjf5a53v33t-jgopVnDzZD+b0XQX99//ntPVjbGH4+40kFgPdswSElo@public.gmane.org>
2016-11-14 20:28           ` Andrew Lunn
2016-11-14 20:28             ` Andrew Lunn
     [not found]             ` <20161114202832.GG24546-g2DYL2Zd6BY@public.gmane.org>
2016-11-19 20:09               ` tomas.hlavacek-x+rMaJPWets
2016-11-19 20:09                 ` tomas.hlavacek at nic.cz
     [not found]                 ` <1479586147.10840.0-TAvD023jEQEN+BqQ9rBEUg@public.gmane.org>
2016-11-20 20:30                   ` Uwe Kleine-König
2016-11-20 20:30                     ` Uwe Kleine-König
2016-11-22 21:59                     ` tomas.hlavacek
2016-11-22 21:59                       ` tomas.hlavacek at nic.cz
2016-11-23  0:09                       ` [RFC PATCH] ARM: dts: Add " Tomas Hlavacek
2016-11-23  0:09                         ` Tomas Hlavacek
2016-11-23  0:09                         ` Tomas Hlavacek
2016-11-23  0:35                         ` Andrew Lunn
2016-11-23  0:35                           ` Andrew Lunn
2016-11-24  8:37                           ` Uwe Kleine-König
2016-11-24  8:37                             ` Uwe Kleine-König
2016-11-24 15:07                             ` Andrew Lunn
2016-11-24 15:07                               ` Andrew Lunn
2016-11-25 12:49                               ` Tomas Hlavacek
2016-11-25 12:49                                 ` Tomas Hlavacek
2016-11-25 12:49                                 ` Tomas Hlavacek
2016-11-25 14:34                                 ` Uwe Kleine-König
2016-12-10  8:16                                 ` Pavel Machek
2016-12-10  8:16                                   ` Pavel Machek
2016-12-10  8:16                                   ` Pavel Machek
2016-11-23  8:19                         ` Uwe Kleine-König
2016-11-23  8:19                           ` Uwe Kleine-König
2016-11-23  8:19                           ` Uwe Kleine-König
     [not found]                       ` <1479851991.26813.2-TAvD023jEQEN+BqQ9rBEUg@public.gmane.org>
2016-11-23  0:27                         ` [PATCH RFC] ARM: dts: add " tomas.hlavacek-x+rMaJPWets
2016-11-23  0:27                           ` tomas.hlavacek at nic.cz
     [not found]                           ` <1479860851.10840.11-TAvD023jEQEN+BqQ9rBEUg@public.gmane.org>
2016-11-23  1:39                             ` Andrew Lunn
2016-11-23  1:39                               ` Andrew Lunn
2016-11-23 14:59                       ` Andrew Lunn
2016-11-23 14:59                         ` Andrew Lunn
     [not found]                         ` <20161123145916.GL14947-g2DYL2Zd6BY@public.gmane.org>
2016-11-23 18:36                           ` Uwe Kleine-König
2016-11-23 18:36                             ` Uwe Kleine-König
2016-11-23 22:45                         ` tomas.hlavacek
2016-11-23 22:45                           ` tomas.hlavacek at nic.cz

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=1479126185.15557.5@smtp.gmail.com \
    --to=tomas.hlavacek-x+rmajpwets@public.gmane.org \
    --cc=andrew-g2DYL2Zd6BY@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=martin.strbacka-x+rMaJPWets@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=uwe-rXY34ruvC2xidJT2blvkqNi2O/JbrIOy@public.gmane.org \
    /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.