Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: turing RK1 support #35

Merged
merged 3 commits into from
Dec 2, 2024
Merged

feat: turing RK1 support #35

merged 3 commits into from
Dec 2, 2024

Conversation

nberlee
Copy link
Contributor

@nberlee nberlee commented Dec 1, 2024

ATF update

This updates nanopi-r5s to ATF 2.12.0 as it was just released
and the first table version after LTS ( 2.10).

2.12 is needed for the Turing RK1 as it is the first version
that will not need any additional patches.

RKBIN update

This also updates the rkbin commit, which means nano-r5s is forced to have a new version.

Turing RK1

U-Boot has a patch for generating SPI images (needed for the eMMC
when booting from NVMe).

U-Boot has a KASLR patch, which enables passing thru seed to EFI
so the kernel has enough seed at boot to enable KASLR.

The RKBIN for RK3588 DDR initialisation is patched as it needs
a different baudrate for the internal comport to the Turing Pi.
Without it, tpi uart will not work. (reading console from
the turing pi channel with the RK1)

The UART id is changed to 9 to prevent dev name problems.

Still to be done:

Fixes siderolabs/talos#8187

This updates nanopi-r5s to ATF 2.12.0 as it was just released
and the first table version after LTS ( 2.10).

2.12 is needed for the Turing RK1 as it is the first version
that will not need any additional patches.

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
@nberlee nberlee force-pushed the main branch 3 times, most recently from 20e51b4 to 082ee66 Compare December 1, 2024 21:31
installers/pkg.yaml Outdated Show resolved Hide resolved
The RK3588 DDR blob is on version 1.18, in this commit.
Unfortunatly i need to update the nanopi r5s as a
side-effect as well.

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
U-Boot has a patch for generating SPI images, which is required for eMMC
when booting from NVMe.

U-Boot also includes a KASLR patch that enables passing a seed to EFI so the
kernel has sufficient entropy at boot to enable KASLR.

DTB is compiled externally (not via `siderolabs/pkgs`) as they still require
DTS patches.

The RKBIN for RK3588 DDR initialization is patched to support a different baud rate
for the internal UART on the Turing Pi. Without this patch, the `tpi uart` command
will not work (i.e., reading the console from the Turing Pi channel with the RK1).

The UART ID is changed to 9 to prevent device name conflicts.

Patching the RKBIN for the RK3588 involves running a closed-source utility,
ddrbin_tool, from the rkbin repository.

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Noel Georgi <git@frezbo.dev>
@frezbo
Copy link
Member

frezbo commented Dec 2, 2024

/m

@talos-bot talos-bot merged commit 45d82b6 into siderolabs:main Dec 2, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for the Turing RK1
3 participants