gemini: sl3516: Mainlining of NS 2502

Corentin Labbe clabbe.montjoie at gmail.com
Tue Apr 6 13:05:19 BST 2021


Le Tue, Apr 06, 2021 at 10:15:51AM +0200, Linus Walleij a écrit :
> 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?
> 

Hello

You could find photos at http://kernel.montjoie.ovh/gemini/
There are also photos of another SL3516 SoC based device (a SSI 1328 NAS), but I fail to setup a serial on it, so I keep it for later. 

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

No change, probably due to all pinctrl-gemini 40000000.syscon:pinctrl: could not map pin config for "R8 GMAC0 RXDV"
Please see http://kernel.montjoie.ovh/gemini/bootlog6.txt , I have added some pr_info in gmac.
I have put in the directory, the final dtb which I use.

The vendor source could be found at https://www.edimax.com/edimax/mw/cufiles/files/download/OpenSourceCode/transfer/Wireless/NAS/NAS-GPL-source.zip

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

One of the USB port is now working.

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

I hope too.
Note that I have also started to work on the gemini crypto driver.

Thanks for your help



More information about the linux-arm-kernel mailing list