You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since I wanted to avoid shipping two images, but one for both, at best as generic as possible, I added a check to our U-Boot script to do the selection: The U-Boot device tree enables 4 USB ports, though I am not 100% sure in two cases which port they are referring to, lacking a USB device with male USB-C plug, or an adapter. It matches those enabled in the Linux device tree, provided by Xunlong. The other device tree, either generic or for the other available base board, has one of the USB-C related ports disabled: https://github.com/MichaIng/build/blob/orangepicm5/patch/kernel/rk35xx-vendor-6.1/dt/rk3588s-orangepi-cm5.dts
It makes sense, since that base board as no second USB-C port, only the power port. U-Boot, while enabling the second USB-C port, is picking the other, more generic one for Linux by default. Our boot script checks whether it can get info out of the second USB-C port, and if so, switched to use the Tablet Base Board by default for Linux. This works well in my case, but needs to be tested with the other base board, whether the USB info test really fails as expected. In any case, the device tree can be overridden with an fdtfile= entry in /boot/dietpiEnv.txt, of course.
A better solution would be a device tree selection within U-Boot, before the boot script is even loaded. Radxa added some mechanism for this, based on hardware IDs read from the EEPROM, if available: https://github.com/radxa/u-boot/blob/next-dev-v2024.10/board/rockchip/evb_rk3588/evb_rk3588.c#L101
However, we would need to know the hardware ID range for the Tablet Base Board. And of course it would need to have an EEPROM accessible. I could add CONFIG_ID_EEPROM=y and check the ID for my particular board, or another identifier via mac command. But the IDs seem to be within ranges. Maybe something which can be tested if more users are interested and willing to test.
Camera and LCD ports need to be enabled via available device tree overlays. Check in /boot/dtb/rockchip/overlay, and apply to overlays= in /boot/dietpiEnv.txt without the orangepi-cm5- prefix and without .dtb file ending.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Support for this compute module has been added to DietPi. An image can be found here: https://dietpi.com/downloads/images/testing/
Later here: https://dietpi.com/downloads/images/
After DietPi v6.14 release, it will be available from our website as usual.
It has been developed on and tested with the Tablet Base Board: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-CM5-Tablet-Board.html
If needed, it should be possible to derive things from the Linux device tree: https://github.com/MichaIng/build/blob/orangepicm5/patch/kernel/rk35xx-vendor-6.1/dt/rk3588s-orangepi-cm5-tablet.dts
Since I wanted to avoid shipping two images, but one for both, at best as generic as possible, I added a check to our U-Boot script to do the selection: The U-Boot device tree enables 4 USB ports, though I am not 100% sure in two cases which port they are referring to, lacking a USB device with male USB-C plug, or an adapter. It matches those enabled in the Linux device tree, provided by Xunlong. The other device tree, either generic or for the other available base board, has one of the USB-C related ports disabled: https://github.com/MichaIng/build/blob/orangepicm5/patch/kernel/rk35xx-vendor-6.1/dt/rk3588s-orangepi-cm5.dts
It makes sense, since that base board as no second USB-C port, only the power port. U-Boot, while enabling the second USB-C port, is picking the other, more generic one for Linux by default. Our boot script checks whether it can get info out of the second USB-C port, and if so, switched to use the Tablet Base Board by default for Linux. This works well in my case, but needs to be tested with the other base board, whether the USB info test really fails as expected. In any case, the device tree can be overridden with an
fdtfile=entry in/boot/dietpiEnv.txt, of course.A better solution would be a device tree selection within U-Boot, before the boot script is even loaded. Radxa added some mechanism for this, based on hardware IDs read from the EEPROM, if available: https://github.com/radxa/u-boot/blob/next-dev-v2024.10/board/rockchip/evb_rk3588/evb_rk3588.c#L101
However, we would need to know the hardware ID range for the Tablet Base Board. And of course it would need to have an EEPROM accessible. I could add
CONFIG_ID_EEPROM=yand check the ID for my particular board, or another identifier viamaccommand. But the IDs seem to be within ranges. Maybe something which can be tested if more users are interested and willing to test.And generally, for the other Base Board, features need to be tested: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-CM5-Board.html
Camera and LCD ports need to be enabled via available device tree overlays. Check in
/boot/dtb/rockchip/overlay, and apply tooverlays=in/boot/dietpiEnv.txtwithout theorangepi-cm5-prefix and without.dtbfile ending.Beta Was this translation helpful? Give feedback.
All reactions