Porting BeagleBone kernel to Samsung S3C2416XH (HP Prime) ?

About a year ago this guy, http://www.hpmuseum.org/forum/thread-1789.html

managed to compile and boot a small elf binary on the HP Prime.

The only thing the elf does is writing pixels to the frame buffer and then halting.
(LCD is 320x240 at 24bpp)

The HP Prime uses a Samsung SoC (http://system-on-a-chip.specout.com/l/313/Samsung-S3C2416)
with with a single 400MHz ARM9 core and a LCD controller with 2D acceleration.

Also i read that the JTAG pins are accessible.

Now I was thinking.

How difficult would it be to port the the bbb kernel to this system?

We already know that elf compiled with gcc boots on the system and we know the address of the frame buffer.

Only thing missing is how the keyboard interfaces,

I have done a fair share of kernel compiles but never any actual kernel development

I don’t know the first thing about booting/initializing a CPU/MEM/OS.

but if someone could figure out that part I’d like to have a go at writing a frame buffer driver for the LCD.

What should I read up on to get a grasp on how the kernel initializes the CPU/MEM?

Any help would be greatly appreciated.

Thanks!

/Jacob

Modern ARM kernels will boot on many systems, BUT you have to have the

right Device Tree file. So what you need to do is find the right .dbt file for

that board (it is board specific not chip) and check that it is supported by

the generic ARM kernel. Then it should work provided the u-boot on the

device supports DT enabled kernels (otherwise you have to append the

DT to the kernel).

David

About a year ago this guy, http://www.hpmuseum.org/forum/thread-1789.html

managed to compile and boot a small elf binary on the HP Prime.

The only thing the elf does is writing pixels to the frame buffer and then
halting.
(LCD is 320x240 at 24bpp)

The HP Prime uses a Samsung SoC
(http://system-on-a-chip.specout.com/l/313/Samsung-S3C2416)
with with a single 400MHz ARM9 core and a LCD controller with 2D
acceleration.

Well, atleast there's mainline support for that cpu:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/s3c2416-smdk2416.dts?id=refs/tags/v4.3-rc7

Also i read that the JTAG pins are accessible.

Now I was thinking.

How difficult would it be to port the the bbb kernel to this system?

why the bbb kernel? We disable anything "not" cortex-Ax class..

As an arm9 device, your only options for userspace, android, debian
armel, or yocto.

Also as an arm9 device, don't care too much about them .:wink:

Regards,

I just posted here first because BB is the only ARM platform I have done any work on.

Anyway, as you also pointed out, I found that there’s already a S3C24XX branch in mainline.

So I guess the first step is to get U-boot running.

/Jacob

Usually samsung soc's require signed-bootloader on bootup... So make
sure you unlock it before you do anything.

Regards,

How would I determine if it’s locked?

If a standard elf is able to boot and write to the frame buffer would this indicate that it’s already unlocked?

/Jacob