Skip to content
This repository has been archived by the owner on Dec 13, 2024. It is now read-only.

Steps to add support for a new board (Turing Pi RK1) #18

Open
eripa opened this issue Feb 27, 2024 · 3 comments
Open

Steps to add support for a new board (Turing Pi RK1) #18

eripa opened this issue Feb 27, 2024 · 3 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@eripa
Copy link

eripa commented Feb 27, 2024

Hi,

Thanks for putting this together. I'm fairly new to SBC and NixOS, I just recently received a couple of Turing Pi RK1, and was hoping to add support for them.

It looks like there are DTS available here: https://github.com/armbian/linux-rockchip/blob/rk-5.10-rkr6/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dts

The official Turing Pi image uses Ubuntu based on the following repo (config and u-boot).

Do you have any pointers to how to add support?

Thanks

@ryan4yin
Copy link
Owner

ryan4yin commented Mar 4, 2024

I don't know much about Linux kernel and embedded, but since that rockchip's linux kernel has its dts, you can use my configuration here and change the deviceTree into turing pi's dts, to see if it works.

@ryan4yin ryan4yin added help wanted Extra attention is needed enhancement New feature or request labels Mar 4, 2024
@schwankner
Copy link

schwankner commented Mar 25, 2024

I forked this repo to try to make a turing rk1 version.
But currently I have problems with the u-boot compile process. I know how it works and which files are needed. Everything is at the ubuntu-rockchip repo for creating a .deb file. But my NixOS skills are not sufficent to create a working port.
The simple process is on the terminal like this:

git clone https://github.com/Joshua-Riek/ubuntu-rockchip.git
cd ubuntu-rockchip/build

export UBOOT_PACKAGE=u-boot-turing-rk3588
source ../packages/"${UBOOT_PACKAGE}"/debian/upstream
git clone --single-branch --progress -b "${BRANCH}" "${GIT}" "${UBOOT_PACKAGE}"
git -C "${UBOOT_PACKAGE}" checkout "${COMMIT}"
cp -r ../packages/"${UBOOT_PACKAGE}"/debian "${UBOOT_PACKAGE}"

cd u-boot-turing-rk3588

make turing-rk1-rk3588_defconfig ARCH=arm O=output

make BL31=debian/rkbin/rk3588_bl31_v1.38.elf  ROCKCHIP_TPL=debian/rkbin/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_uart9_115200_v1.11.bin ARCH=arm O=output

But there are patches for turing rk1 in the git repo, maybe these are needed as well.

I did not research how the EFI way works, but maybe this is easier.
There are offical Turing images avialable at their site.
One Ubuntu image which uses u-boot and one talos with efi. Maybe investigating these images could be helpfull.

@schwankner
Copy link

Hi everyone,

I've managed to create a image with U-Boot and NixOS for the Turing RK1 board, but the boot process stops with the following output:

[   16.817327] rk-pcie fe180000.pcie: invalid prsnt-gpios property in node
[   16.817735] rk-pcie fe150000.pcie: invalid prsnt-gpios property in node
[   16.817829] iep: Module initialized.
[   16.817886] mpp_service mpp-srv: unknown mpp version for missing VCS info
[   16.817891] mpp_service mpp-srv: probe start
[   16.821200] mpp_vepu2 jpege-ccu: probing start
[   16.821207] mpp_vepu2 jpege-ccu: probing finish
[   16.822713] mpp_rkvdec2 fdc30000.rkvdec-ccu: rkvdec-ccu, probing start
[   ?

The full boot log is attached as a text file.
turingrk1-bootlog.txt

If anyone has suggestions on how to resolve this issue, I’d appreciate it, as I'm stuck here!

For reference, here’s my fork: https://github.com/schwankner/nixos-rk3588
My plan is to make a pull request when everything works fine.

Thanks in advance!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants