On 8/18/24 05:12, Dragan Simic wrote:
On 2024-08-17 22:04, FUKAUMI Naoki wrote:
On 8/18/24 04:51, Dragan Simic wrote:
On 2024-08-17 21:28, Dragan Simic wrote:
On 2024-08-17 00:20, FUKAUMI Naoki wrote:
On 8/17/24 07:11, Heiko Stübner wrote:
Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the
Rockchip
RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT
configurations:
- Rockchip RK3328 SoC
- Quad A53 CPU
- 512MB/1GB/2GB DDR4 RAM
(snip)
can you please describe what is different in that v3 board?
Describing what is different to require a separate board should've
been
part of the commit message.
Because from those changes, the bottom line currently seems to be
the same board with swapped mmc aliases?
it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
different bootloader (U-Boot) is required.
adding v3 dts seems not to be so important for Linux, but it's very
important for U-Boot and OpenWrt(it includes bootloader for
distributed binary).
Aren't there different methods that allow such board variants to be
supported in U-Boot, with no need for a separate DT in the kernel?
IIRC, there are already more than a few examples of such board
variants,
which require different DRAM initialization, which is covered in U-Boot
by providing different builds that use the same DT.
As an example, please have a look at the following files in U-Boot:
- arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
- arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
- configs/nanopi-m4-rk3399_defconfig
- configs/nanopi-m4-2gb-rk3399_defconfig
Basically, there's no need for separate DTs in the kernel, just to
support
board variants with different DRAM types in U-Boot.
OpenWrt firmware upgrading tool (sysupgrade) refers "compatible"
string to validate new firmware file is surely "for this board".
currently both Pi E dts have "radxa,rockpi-e", it makes flashing wrong
firmware (include bootloaer, U-Boot) possible.
Could you, please, explain what's the actual issue with OpenWrt? I did
read some GitHub issue that described it, IIRC, but I was unable to fully
understand what's the underlying issue.
$ wget
https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz
$ strings openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz
| grep metadata
{ "metadata_version": "1.1", "compat_version": "1.0",
"supported_devices":["radxa,rock-pi-e"], "version": { "dist": "OpenWrt",
"version": "SNAPSHOT", "revision": "r27160-b72c4b5386", "target":
"rockchip/armv8", "board": "radxa_rock-pi-e" } }
$ wget
https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz
$ strings
openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz | grep
metadata
{ "metadata_version": "1.1", "compat_version": "1.0",
"supported_devices":["radxa,rock-pi-e-v3"], "version": { "dist":
"OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
"target": "rockchip/armv8", "board": "radxa_rock-pi-e-v3" } }
since they are incompatible firmware, it needs to have different
"supported_devices" string. if both are "radxa,rockpi-e", firmware
validation will not work correctly.
(currently both values are wrong, it needs to be fixed, but it's another
story)
Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different
incompatible boards, it must have different "compatible" string.
Well, the above-mentioned Nano Pi M4 boards share the same DT and the same
"compatible" value, because for all consumers of the DT, except for U-Boot
that can already handle the differences, they are the same boards.
(un)fortunately Nano Pi M4 boards seems not to be supported by OpenWrt
https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/
Best regards,
--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.