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";
> + };
> +
> +
> +ð0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&ge0_rgmii_pins>;
> + status = "okay";
> + phy-mode = "rgmii-id";
> +
> + fixed-link {
> + speed = <1000>;
> + full-duplex;
> + };
> +};
> +
> +ð1 {
> + 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
WARNING: multiple messages have this Message-ID (diff)
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";
> + };
> +
> +
> +ð0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&ge0_rgmii_pins>;
> + status = "okay";
> + phy-mode = "rgmii-id";
> +
> + fixed-link {
> + speed = <1000>;
> + full-duplex;
> + };
> +};
> +
> +ð1 {
> + 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
next prev 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
2016-11-05 21:04 ` Andrew Lunn
2016-11-05 21:04 ` Andrew Lunn
2016-11-05 22:08 ` Uwe Kleine-König
2016-11-05 22:08 ` Uwe Kleine-König
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
2016-11-05 21:27 ` Uwe Kleine-König
2016-11-05 21:27 ` Uwe Kleine-König
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>
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 at nic.cz [this message]
2016-11-14 12:23 ` tomas.hlavacek-x+rMaJPWets
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 at nic.cz
2016-11-14 14:59 ` tomas.hlavacek
2016-11-14 20:16 ` Uwe Kleine-König
2016-11-14 20:16 ` Uwe Kleine-König
2016-11-14 20:28 ` Andrew Lunn
2016-11-14 20:28 ` Andrew Lunn
2016-11-19 20:09 ` tomas.hlavacek at nic.cz
2016-11-19 20:09 ` tomas.hlavacek-x+rMaJPWets
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 at nic.cz
2016-11-22 21:59 ` tomas.hlavacek
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
2016-11-23 0:27 ` [PATCH RFC] ARM: dts: add " tomas.hlavacek at nic.cz
2016-11-23 0:27 ` tomas.hlavacek-x+rMaJPWets
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
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 at nic.cz
2016-11-23 22:45 ` tomas.hlavacek
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@nic.cz \
--cc=linux-arm-kernel@lists.infradead.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.