R01 kernel development

@guu I’m working on the R01 kernel. These are the kernel branches I know so far:

I’ve been able to build and run your branch with no problem :slight_smile:
However, I need some help to separate your changes from the original kernel source – there are a lot of .rej files leftover, and I don’t see clearly how the DevTerm patches are applied looking at the commit logs (no complete kernel tree history).

I tried to compare your tree with Allwinner SDK v2.1 (lichee/linux-5.4) and it seems they have made some progress (for example, support for cpufreq is now added) but merging seems not trivial.

Could you please point out the original source of your tree, so that a diff -rupN would generate something that can be (maybe :stuck_out_tongue:) applied to the latest allwinner 5.4 or mainline?


Features to be integrated into the R01 kernel

  • Framebuffer cursor
  • cpufreq scaling. I see that it can run with 480MHz, 600MHz etc.
  • cpuidle support.
  • super suspend support
  • video codec support. Allows accelerated video playback and probably accelerated remote desktop.

I’ve searched my latop for original r01 linux kernel tree

and found nothing…

It must be deleted after I created latest_linux-5.4 with all patches from

I am so sorry , I should keep the record of commit hash

No worry, all is not lost. I can bisect the allwinner tree to find minimum difference to your tree.

Smaeul’s kernel has some of the peripherals patched, maybe you can check this?

branch d1/wip works for me to boot up mango pi mq-pro with debian, HDMI output work, but I don’t have Devterm and MIPI screen, so I can’t sure MIPI will work or not.

1 Like

@NekoRouter thanks! I’ll definitely need to check this out.

@guu it turns out that the Allwinner SDK does not have complete kernel commit history either. Their whole history are just two tagged releases 2.0 and 2.1
This makes things easy because I can assume all old d1 kernels are 2.0 and I can apply the diff from 2.0-2.1 to your tree.

I’ll go over the diff to see what’s going on.

@yatli Seems that smaeul’s kernel has no DE engine driver and disp2 driver ported, you may need port that from bsp’s kernel to support the fbtubro driver.

Here has some document that may helpful to porting (Chinese):

Has there been any progress getting suspend to work on R-01? When I get my uconsole I plan on putting some time into investigating it

I’ve tried to enable that in kernel config, but nevertheless it bounces back immediately with “wakeup reason: unknown”. Need further investigation.

D1 may not have the capability of suspend…

however, it seems have power domain support:

ah very interesting. thanks for the pointer.
If that’s the case, we can at least get a peripheral-off state with hardware-assisted idle.
I have verified that cpufreq is working. Maybe we can drop it down to a lower (say 50MHz) clock rate during s2idle.

1 Like


1 Like