gemini: sl3516: Mainlining of NS 2502

Linus Walleij linus.walleij at linaro.org
Tue Apr 6 09:15:51 BST 2021


On Mon, Apr 5, 2021 at 8:39 PM Corentin Labbe <clabbe.montjoie at gmail.com> wrote:

> I own an Edimax NS 2502, which is a NAS based on StormLinix 3516.
> I successfully upgraded it with a recent Linux.

Pretty cool!

>         mdio0: ethernet-phy {
>                 compatible = "virtual,mdio-gpio";
>                 gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
>                         <&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 phy0: ethernet-phy at 1 {
>                         reg = <1>;
>                         device_type = "ethernet-phy";
>                 };
>         };

This looks like the most typical way to attach an MDIO phy.

I always try to identify the exact component used on the board. Do you have
 a high res board photo?

Realtek RTL82111 is the most common configuration.

Compare to the D-Linux DNS-313 DTS:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/gemini-dlink-dns-313.dts

Try just copying the whole pinctrl-gmii section!


>                 syscon: syscon at 40000000 {
>                         pinctrl {
>                                 /*
>                                  * gpio0agrp cover line 0-4
>                                  * gpio0bgrp cover line 5
>                                  */
>                                 gpio0_default_pins: pinctrl-gpio0 {
>                                         mux {
>                                                 function = "gpio0";
>                                                 groups = "gpio0agrp",
>                                                 "gpio0bgrp";
>                                         };
>                                 };

Change groups to

groups = "gpio0agrp", "gpio0bgrp", "gpio0hgrp";

So you mux in group h which is where the GPIO 21, 22 go out
to the MDIO on 3516 IIUC. The right mux out is pretty important,
if you have vendor source code, please share so I can check how
they set it up.

> BUT neither ethernet nor USB works.

For USB try this patch:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/commit/?h=gemini-usb&id=cbaf6cdf770b90de5f10bfa5112c679f1dffe948

Pls report progress! I hope we can mainline this device.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list