[PATCH v3 0/3] Add DTS for NanoPi R2S Plus

Sergey 'Jin' Bostandzhyan jin at mediatomb.cc
Mon Aug 26 02:12:44 PDT 2024


Hi,

On Sun, Aug 25, 2024 at 06:28:44PM +0200, m.plak at icloud.com wrote:
> On 14 Aug 2024, at 19:00, Sergey Bostandzhyan <jin at mediatomb.cc> wrote:
> > here is version 3 of the NanoPi R2S Plus patchset.
> 
> 
> Thanks! I was just experimenting with a patch for that board.
> 
> 
> eMMC:
> 
> A close cousin of that board, the NanoPi R2C Plus, similarly adds eMMC to 
> its base version, R2C.
> 
> R2C Plus is already supported by rk3328-nanopi-r2c-plus.dts.
> 
> The r2c-plus DTS file differs slightly from your patch.
> Would it not be better to use the same fragment for both r2s-plus and r2c-plus? 
> Or even place the eMMC activation in a shared dtsi file?

thank you for the additional review and testing!
If you followed the thread, then you probably know that I was way over my head
here, as I operate soleley in user space :) I was building a Yocto image for this
board for one of my clients and I figured I'll try to submit something that was 
already present in the FriendlyElec repos and which worked for me and with the 
help and guidance from Heiko and others we managed to get it in, which concluded 
my kernel adventure.

It'll be great if you or anyone else is willing to continue from this starting
point if further improvements are needed, because I unfortunately do not have the
capacity for it - I am happy if hardware "just works" and
very much appreciate the abstraction APIs that the kernel provides to folks like
me :)

> I’ve compared the two and the friendlyelec kernel (not u-boot) sources.
>  your patch does not contain these lines from r2c-plus:
>     vmmc-supply = <&vcc_io_33>;
>     vqmmc-supply = <&vcc18_emmc>;
>     mmc-ddr-1_8v;
> 
> your patch adds these lines that are not in r2c-plus:
>     supports-emmc;
>     disable-wp;
>     num-slots = <1>;
> 
> r2c-plus has a line that is in rk3328.dtsi already:
>     max-frequency = <150000000>; 
> 
> the friendlyelec kernel sources also add:
>     no-sd;
> 
> 
> From the description in the mmc-controller binding documentation, I believe
> disable-wp should not be used. The description for no-sd  I find confusing.
> Can't find num-slots and supports-emmc there.
> 
> The RK3288 datasheet does not mention support for DDR mode, so mmc-ddr-1_8v 
> surprises me a bit. The datasheet does explicitly mention that HS400 is _not_ 
> supported.

The mmc-ddr-1_8v change was suggested during review and I was asked to test if it
works and improves the eMMC speed (it did). Back then I have asked if someone who
knows what they are doing could take over, because I honestly have no clue
what these things do on hardware level and what the implications here are.
I was not let off the hook though, so I have just followed the instructions
of the reviewers. If it is not in the datasheed, then perhaps this line should
be removed after all?

> USB:
> 
> Another change with the Plus version of the R2S is that the USB 2.0 port that 
> used to be wired to the ethernet chip now is used for an external USB port. 
> I don’t have the hardware here (yet), so can't test if that USB 2.0 and the 
> USB 3.0 work independently or need to be explicitly separated.

Good to know that there may be an issue, to be honest I did not test USB
explicitly, but both ethernet ports work. I did not modify anything in that
regard anyway, since the R2S (non Plus) version was in the kernel already and
I just copy-pasted the eMMC lines from the FriendlyElec devicetree on top of that
to get eMMC to show up.

We only needed ethernet and eMMC to work on the R2S Plus, so we did not test
anything besides that.

I still have the hardware here, so I could quickly test a thing or two if
needed, just please make sure to e-mail me directly as I have already unsubscribed
from the mailing lists.

Kind regards,
Sergey




More information about the linux-arm-kernel mailing list