Is Machine ID required to boot ARM Board

196 views
Skip to first unread message

Rangineni Balu

unread,
Dec 22, 2014, 11:35:55 PM12/22/14
to beagl...@googlegroups.com

Hello everybody,


We designed one custom board with TI's OMAP processor similar to beagleboard. 
we registered our board and got Machine ID, even i gave wrong machine ID (i.e., i tried different .dts accidentally IDs are different in each case), my kernel is booting.

In .dts, i made this entry

model = "CDAC OMAP3 WINGZ board";
compatible = "CDAC,omap3-wingz", "ti,omap3";

I didn't do any changes to the kernel with compatible entry for "CDAC, omap3-wingz", but still kernel is booting without any problem.

What my question is 
1. Is it really required to pass Machine ID as a parameter to the linux kernel while booting ?
2. How the kernel is booting even i gave "compatible" field which is not at all available as an entry in linux kernel?

Is only device tree is sufficient to boot the kernel on ARM boards?

Thanks & Regards,

Robert Nelson

unread,
Dec 22, 2014, 11:45:48 PM12/22/14
to Beagle Board


On Dec 22, 2014 10:36 PM, "Rangineni Balu" <rangine...@gmail.com> wrote:
>
> Hello everybody,
>
>
> We designed one custom board with TI's OMAP processor similar to beagleboard. 
> we registered our board and got Machine ID, even i gave wrong machine ID (i.e., i tried different .dts accidentally IDs are different in each case), my kernel is booting.
>
> In .dts, i made this entry
>
> model = "CDAC OMAP3 WINGZ board";
> compatible = "CDAC,omap3-wingz", "ti,omap3";
>
> I didn't do any changes to the kernel with compatible entry for "CDAC, omap3-wingz", but still kernel is booting without any problem.
>
> What my question is 
> 1. Is it really required to pass Machine ID as a parameter to the linux kernel while booting ?
> 2. How the kernel is booting even i gave "compatible" field which is not at all available as an entry in linux kernel?
>

That string is used to help differentiate your board in the kernel.

Example of some pdata qwerks that use that value.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/pdata-quirks.c?id=refs/tags/v3.19-rc1#n414



> Is only device tree is sufficient to boot the kernel on ARM boards?
>
> Thanks & Regards,
>

> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Rangineni Balu

unread,
Dec 23, 2014, 12:18:24 AM12/23/14
to beagl...@googlegroups.com


On Tuesday, December 23, 2014 10:15:48 AM UTC+5:30, RobertCNelson wrote:


On Dec 22, 2014 10:36 PM, "Rangineni Balu" <rangine...@gmail.com> wrote:
>
> Hello everybody,
>
>
> We designed one custom board with TI's OMAP processor similar to beagleboard. 
> we registered our board and got Machine ID, even i gave wrong machine ID (i.e., i tried different .dts accidentally IDs are different in each case), my kernel is booting.
>
> In .dts, i made this entry
>
> model = "CDAC OMAP3 WINGZ board";
> compatible = "CDAC,omap3-wingz", "ti,omap3";
>
> I didn't do any changes to the kernel with compatible entry for "CDAC, omap3-wingz", but still kernel is booting without any problem.
>
> What my question is 
> 1. Is it really required to pass Machine ID as a parameter to the linux kernel while booting ?
> 2. How the kernel is booting even i gave "compatible" field which is not at all available as an entry in linux kernel?
>

That string is used to help differentiate your board in the kernel.

Example of some pdata qwerks that use that value.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/pdata-quirks.c?id=refs/tags/v3.19-rc1#n414


Hi RobertCNelson,



/*
 * Few boards still need to initialize some legacy devices with
 * platform data until the drivers support device tree. 
 */

From the above comment, i think it is not required to add compatible field for my board in kernel. Since my board is based on beagleboard, there is no legacy devices for beagleboard which required paltform data. Am i right?

If i gave any name in the compatible field in .dts it doesn't matter for kernel i think.

What about the Machine ID ?

Thanks & Regards,
Rangineni Balasubramanyam

Robert Nelson

unread,
Dec 23, 2014, 8:56:13 AM12/23/14
to Beagle Board
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/pdata-quirks.c?id=refs/tags/v3.19-rc1#n409
>
> /*
> * Few boards still need to initialize some legacy devices with
> * platform data until the drivers support device tree.
>
> */
>
> From the above comment, i think it is not required to add compatible field
> for my board in kernel. Since my board is based on beagleboard, there is no
> legacy devices for beagleboard which required paltform data. Am i right?
>
> If i gave any name in the compatible field in .dts it doesn't matter for
> kernel i think.

This is better:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/arm/omap/omap.txt

> What about the Machine ID ?

Put whatever you want, it just has to be filled.

Regards,

--
Robert Nelson
http://www.rcn-ee.com/
Reply all
Reply to author
Forward
0 new messages