Re: Adding new board support
Also It is depends on Kernel Version you are trying to add support for New Board.If your Kernel version doesn't support device tree blob then adding some Board files would be sufficient enough and you can also take reference from the other Board which is similar to your Board. Regards Sanjeev Sharma On Sat, Jun 14, 2014 at 9:29 PM, Thomas Petazzoni thomas.petazz...@free-electrons.com wrote: Hello, On Sat, 7 Jun 2014 12:57:34 +0530, AYAN KUMAR HALDER wrote: 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. Sorry to say so, but those recommendations are quite wrong when the goal is to add the support for a new _board_ in the kernel. What you're describing here are roughly the steps to add the support for a new SoC or family of SoC. If what's needed is adding support for a new board that uses an ARM SoC already supported by the kernel, then all what's needed is either writing a Device Tree file (if the ARM SoC in question is supported through the Device Tree) or writing a board file in an existing mach-foo folder. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Adding new board support
Hello, On Sat, 7 Jun 2014 12:57:34 +0530, AYAN KUMAR HALDER wrote: 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. Sorry to say so, but those recommendations are quite wrong when the goal is to add the support for a new _board_ in the kernel. What you're describing here are roughly the steps to add the support for a new SoC or family of SoC. If what's needed is adding support for a new board that uses an ARM SoC already supported by the kernel, then all what's needed is either writing a Device Tree file (if the ARM SoC in question is supported through the Device Tree) or writing a board file in an existing mach-foo folder. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Adding new board support
Adding to others If you are working on latest kernel versions, make sure to add Device tree file as well in arch/arm/boot/dts/ Thanks, Vignesh Radhakrishnan On Mon, Jun 9, 2014 at 11:16 AM, Sudip Mukherjee sudipm.mukher...@gmail.com wrote: On Mon, Jun 9, 2014 at 10:35 AM, Varka Bhadram var...@cdac.in wrote: Thank you for the guidence... Is there any tutorial to how to do the development for the board. ? Hi I work in Vector Institute and I have done a similar development for our own custom designed board based on iMX. I have not found any tutorial for creating the BSP , just look at the other board configurations and you will have an idea about how to start it. But let me assure you that it will be a very frustrating when u spend 2 - 3 days to make a code and when you test it , you see that its not working and you need to start all over again .. but ultimately its fun , and when the board boots you will get a kind of satisfaction which can not be compared with any other thing .. ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies -- http://vigneshradhakrishnan.blogspot.com/ ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Adding new board support
Thank you for the guidence... Is there any tutorial to how to do the development for the board. ? Thanks, -Varka Bhadram On June 7, 2014 at 12:57 PM AYAN KUMAR HALDER ayankum...@gmail.com wrote: On Sat, Jun 7, 2014 at 12:40 AM, Kristofer Hallin kristofer.hal...@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 var...@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@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@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 ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies --- [ 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@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Adding new board support
On Mon, Jun 9, 2014 at 10:35 AM, Varka Bhadram var...@cdac.in wrote: Thank you for the guidence... Is there any tutorial to how to do the development for the board. ? Hi I work in Vector Institute and I have done a similar development for our own custom designed board based on iMX. I have not found any tutorial for creating the BSP , just look at the other board configurations and you will have an idea about how to start it. But let me assure you that it will be a very frustrating when u spend 2 - 3 days to make a code and when you test it , you see that its not working and you need to start all over again .. but ultimately its fun , and when the board boots you will get a kind of satisfaction which can not be compared with any other thing .. ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Adding new board support
On Sat, Jun 7, 2014 at 12:40 AM, Kristofer Hallin kristofer.hal...@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 var...@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@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@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 ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Adding new board support
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@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Adding new board support
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 var...@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@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies