Message ID | 20240814170048.23816-1-jin@mediatomb.cc (mailing list archive) |
---|---|
Headers | show |
Series | Add DTS for NanoPi R2S Plus | expand |
On Wed, 14 Aug 2024 17:00:45 +0000, Sergey Bostandzhyan wrote: > Hi, > > here is version 3 of the NanoPi R2S Plus patchset. > > * a commit which adds mmc-hs200-1_8v in order to improve eMMC performance has > been included > * the licence header has been updated to the newer version, anw now includes > optional MIT licensing > > > Sergey Bostandzhyan (3): > arm64: dts: rockchip: Add DTS for FriendlyARM NanoPi R2S Plus > dt-bindings: arm: rockchip: Add NanoPi R2S Plus > arm64: dts: rockchip: improve eMMC speed on NanoPi R2S Plus > > .../devicetree/bindings/arm/rockchip.yaml | 1 + > arch/arm64/boot/dts/rockchip/Makefile | 1 + > .../dts/rockchip/rk3328-nanopi-r2s-plus.dts | 32 +++++++++++++++++++ > 3 files changed, 34 insertions(+) > create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dts > > -- > 2.20.1 > > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y rockchip/rk3328-nanopi-r2s-plus.dtb' for 20240814170048.23816-1-jin@mediatomb.cc: arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: hdmi@ff3c0000: interrupts: [[0, 35, 4], [0, 71, 4]] is too long from schema $id: http://devicetree.org/schemas/display/rockchip/rockchip,dw-hdmi.yaml# arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /phy@ff430000: failed to match any schema with compatible: ['rockchip,rk3328-hdmi-phy'] arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /clock-controller@ff440000: failed to match any schema with compatible: ['rockchip,rk3328-cru', 'rockchip,cru', 'syscon'] arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /clock-controller@ff440000: failed to match any schema with compatible: ['rockchip,rk3328-cru', 'rockchip,cru', 'syscon'] arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: mmc@ff520000: Unevaluated properties are not allowed ('num-slots', 'supports-emmc' were unexpected) from schema $id: http://devicetree.org/schemas/mmc/rockchip-dw-mshc.yaml#
On Wed, 14 Aug 2024 17:00:45 +0000, Sergey Bostandzhyan wrote: > > here is version 3 of the NanoPi R2S Plus patchset. > > * a commit which adds mmc-hs200-1_8v in order to improve eMMC performance has > been included > * the licence header has been updated to the newer version, anw now includes > optional MIT licensing > > [...] Applied, thanks! [1/3] arm64: dts: rockchip: Add DTS for FriendlyARM NanoPi R2S Plus commit: b8c02878292200ebb5b4a8cfc9dbf227327908bd [2/3] dt-bindings: arm: rockchip: Add NanoPi R2S Plus commit: e68b29cb711e80b1bd50366c5cdf8310c9ac24f3 [3/3] arm64: dts: rockchip: improve eMMC speed on NanoPi R2S Plus ... I've folded this commit into the first patch Best regards,
On Thu, Aug 15, 2024 at 10:18:45PM +0200, Heiko Stuebner wrote: > On Wed, 14 Aug 2024 17:00:45 +0000, Sergey Bostandzhyan wrote: > > > > here is version 3 of the NanoPi R2S Plus patchset. > > > > * a commit which adds mmc-hs200-1_8v in order to improve eMMC performance has > > been included > > * the licence header has been updated to the newer version, anw now includes > > optional MIT licensing > > > > [...] > > Applied, thanks! Awesome, thank you for the guidance and for staying with me on this! :) Kind regards, Sergey
Hello Sergey,
On 14 Aug 2024, at 19:00, Sergey Bostandzhyan <jin@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?
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.
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.
refs:
Documentation/devicetree/bindings/mmc/mmc-controller.yaml
Hi, On Sun, Aug 25, 2024 at 06:28:44PM +0200, m.plak@icloud.com wrote: > On 14 Aug 2024, at 19:00, Sergey Bostandzhyan <jin@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