Adding new board support

AYAN KUMAR HALDER ayankumarh at gmail.com
Sat Jun 7 03:27:34 EDT 2014


On Sat, Jun 7, 2014 at 12:40 AM, Kristofer Hallin
<kristofer.hallin at gmail.com> wrote:
> Might be a good thing to start with something easier. If you can't
> navigate the source tree well enough to find the relevant code you
> will have a hard time rewriting stuff for different hardware.
>
> On Fri, Jun 6, 2014 at 11:40 AM, Varka Bhadram <varkab at cdac.in> wrote:
>> Hi,
>>
>> I am having a board which is customized for our requirement and it is based
>> on cortex-a8 arm architecture.
>>
>> I want to add the board support for this in linux kernel. From where can i
>> start to get it work...?
>>
>> Any tutorial for this to be done...?
>>
>>
>> Thanks and Regards,
>> Varka Bhadram
>>
>> -------------------------------------------------------------------------------------------------------------------------------
>> [ C-DAC is on Social-Media too. Kindly follow us at:
>> Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
>>
>> This e-mail is for the sole use of the intended recipient(s) and may
>> contain confidential and privileged information. If you are not the
>> intended recipient, please contact the sender by reply e-mail and destroy
>> all copies and the original message. Any unauthorized review, use,
>> disclosure, dissemination, forwarding, printing or copying of this email
>> is strictly prohibited and appropriate legal action will be taken.
>> -------------------------------------------------------------------------------------------------------------------------------
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Hi Varka,

I would suggest you the following:-
1. Create a config file under arch/arm/configs/ for your board. You
may refer to any of the standard configuration which closely resembles
your board's configuration. To start with enable the basic
configurations such as processor, timer, uart, etc and disable SMP
which are the bare minimum requirements for the board to boot.
2. Add a folder under arch/arm/<mach-yourplatformname>.  Add board.c
where your can register your platform devices such as pcie, nand, usb,
uart, gpio, rtc etc
3, Under the same folder above, add timer.c to initialize your
timers.Add clock.c to enable/disable clocks and change clock rate of
various Functional Blocks. Add <yourplatformname.c> to initialize your
processor specific details such as global timers, arm pmu, interrupts,
cache, global dma, ACP, SCU and inter-processor interrupt( if later
you decide to enable SMP)
4. It is advisable to refer to a standard platform (like versatile -
express ) to understand the board specific configurations in Linux.

Hope this helps to get you started,

Regards,
Ayan Kumar Halder



More information about the Kernelnewbies mailing list