Looking for ARM SoC porting guidelines

Mike Thompson mpthompson at gmail.com
Thu Nov 13 00:45:58 EST 2014


I'm working on a port the latest Linux kernel to a Nuvoton N32905 - a very
inexpensive ARM9 based SoC similar to the Freescale iMX23 in many
respects.  My hope is that my code for this SoC will eventually reach the
mainline kernel, but the whole process a fairly daunting task to a kernel
newbie such as myself.

I do have a six year old port of the 2.6.35 kernel to this SoC to help as a
reference, but it's pretty much a rewrite to support devicetree, the common
clock framework, and a myriad of changes needed to get a new SoC supported
in the mainline kernel.  Not to mention all the 2.6.35 code added for this
chip isn't even close to the coding standards for the Kernel.

So far I got the 3.17 kernel running pretty well the baseline peripherals
such as clocks, interrupt controller, UART, GPIO & pin muxing along with
hire level peripherals such as MMC/SD card support, MTD NAND and NOR flash
and USB host support.

As a guide, I've been using other ARM SoCs for examples and a number of
very useful presentations on ARM SoC support from the Free Electron folks.
Although presentations such as the "ARM SoC Linux Support Check-list" are
very useful, they don't go into much detail.

My question is two fold.  Is there detailed information of all the things
that need to be covered in the code to introduce a new ARM SoC into the
kernel?  Then, is there a description of how I start to go about
contributing support for this chip into the Linux kernel? I honestly don't
really know where to begin.

Any advice or pointers would be sincerely appreciated.

Mike Thompson

BTW, my git reposity for this SoC is:
https://github.com/mpthompson/linux/tree/n329
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20141112/a1fdae6f/attachment-0001.html 


More information about the Kernelnewbies mailing list