Also logs from running BSA ACS in EFI shell?
- BSA ACS ACPI
- BSA ACS DT (I never used this one)
Run as Bsa.efi
and also as Bsa.efi -v 1
for verbose output. Board will require hardware reboot after each run.
Also logs from running BSA ACS in EFI shell?
Run as Bsa.efi
and also as Bsa.efi -v 1
for verbose output. Board will require hardware reboot after each run.
Is CONFIG_ACPI_CPPC_CPUFREQ enabled?
Try earlycon=pl011,mmio32,0x40d0000
for serial console(UART2).
EDIT: loglevel=0
?
Hi Naoki!
Yes, but it’s in module:
$ grep CPPC .config
CONFIG_ACPI_CPPC_CPUFREQ=m
CONFIG_ACPI_CPPC_CPUFREQ_FIE=y
CONFIG_ACPI_CPPC_LIB=y
I had tried to load it and it reported “no such device” ot something like this, so I didn’t insist. But I could rebuild the kernel with it set to “y” just in case it matters. I remember keeping it as a module for the Altra board that is a bit capricious and occasionally switches to 1 GHz until either a reboot or a reload of the module
OK will try that, thank you! I suspected something around this without knowing what to enter, even though I did see that the UART was indeed pl011.
Regarding loglevel=0
, I was about to say “no I don’t have this” but looking at the cmdline, I’m indeed seeing it on my alt kernel now! I don’t know how I managed to get that one by hacking on the grub.cfg but it certainly does not help Ah it comes from my attempt to boot the fedora kernel, where it’s present. I’ll drop it. Good catch, thank you!
@RadxaNaoki I can confirm that the console is now OK, but CPPC… still nothing, even once hard and updated to 6.12.13. There isn’t even a message about it during boot, so I suspect it’s not enumerated in the ACPI tables. I looked a bit for it but I’m not familiar with ACPI tables so I’m not sure what to look for.
Please try vanilla defconfig.
$ uname -a
Linux orion-o6 6.12.13 #1 SMP PREEMPT Thu Feb 13 00:53:55 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux
$ lsmod | grep cppc
cppc_cpufreq 12288 0
$ ls /sys/devices/system/cpu/cpu0/acpi_cppc/
feedback_ctrs lowest_freq nominal_freq wraparound_time
guaranteed_perf lowest_nonlinear_perf nominal_perf
highest_perf lowest_perf reference_perf
$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_{min,max}_freq
800000
2500000
Please check /sys/firmware/acpi/tables/SSDT2
.
It seems that Windows 24H2 has some issues in supporting different PE architectures. You can try disabling all the little cores (core 0-3) to see if it works.
SSDT2 is properly there. I’ll then try defconfig, thank you for the test!
OK now I can confirm that cppc_cpufreq in defconfig works properly, that’s perfect, thanks! I’ll diff the configs to figure what makes the difference, but for now it looks like mainline is working fine for me.
Here’s from Debian (Linux debian 6.12.9+bpo-arm64 #1 SMP Debian 6.12.9-1~bpo12+1 (2025-01-19) aarch64 GNU/Linux)
Can’t get bsa.efi to log to file. I run Bsa.efi -v 1 -f bsa.out
, a bunch of tests look to pass and then the screen goes corrupt, but nothing in the file on reboot. I’ll try again at some point
For BSA ACS it is better to connect serial console and log it’s output rather than trying to log into file.
ACS leaves system in a state where reboot is required.
I got BSA ACS (ACPI mode) results from one of board owners.
Looks quite nice, some issues present, part of them can be solved by firmware.
I suspect that whoever did firmware did not looked at BSA ACS or FWTS results.
Just FYI, I could bisect my configs this afternoon and finally found the option that is required for CPPC to work. The config requires CONFIG_ARM64_AMU_EXTN=y. It was disabled in my generic config, as the help text says that using it on non-compliant firmware can result in hangs at boot. Now CPPC seems OK on mainline with my portable config. I’ll retest later if kernels having this option still boot fine on RK3588. We’re getting close to something quite clean now.
Upstreaming starts:
yep, I noticed it yesterday
Great news
I have question regarding pcie slot, it was said that no bifurcation support at this time, is that hardware limitation or just no plans on software for that now?
Hardware limitation
Is JTAG/SWD available on easy-access pin/header and is it unlocked/unlockable on the SoC? (Secure boot seems present, if so this might disable it).