"compatible" and "model" properties in .dts for ARC boards

Vineet Gupta Vineet.Gupta1 at synopsys.com
Tue Nov 17 04:18:48 PST 2015


On Friday 06 November 2015 04:27 PM, Jonas Gorski wrote:
> On 06.11.2015 09:59, Arnd Bergmann wrote:
>> On Friday 06 November 2015 04:45:24 Vineet Gupta wrote:
>>>>
>>>> During OpenWRT upsreaming process one interesting topic was raised.
>>>> See in the middle of https://lists.openwrt.org/pipermail/openwrt-devel/2015-November/036959.html
>>>>
>>>> In Device Tree descriptions for our boards we don't use "model" property
>>>> even though it is a required one as specified by ePAPR, see
>>>> http://free-electrons.com/~thomas/pub/Power_ePAPR_APPROVED_v1.0.pdf,
>>>> page 39 "Table 3-1 Root node properties".
>>>>
>>>> Instead we put 2 items in "compatible" property.
>>>>
>>>> For example:
>>>> ------------------->8----------------
>>>> compatible = "snps,axs101", "snps,arc-sdp";
>>>> ------------------->8----------------
>>>>
>>>> And from ePAPR standpoint it makes sense to split contents of that "compatible"
>>>> property in 2:
>>>> ------------------->8----------------
>>>> compatible = "snps,arc-sdp";
>>>> model = "snps,axs101";
>>>> ------------------->8----------------
>>>
>>> It seems model is just a descriptive label and we can surely add them to existing DT.
>>> compatible on the other hand is more fundamental used for exact comparisons etc
>>> and follows the vendor,device convention.
>>> It is pretty common for compatible to have multiple strings for exactly the same
>>> reason as I have them here. Both axs101 and axs103 are based on sdp thus we want
>>> the ability to have both pieces of information and use as needed.
>>
>> Correct.
>>
>> The model should also be a human readable name of the machine, just one
>> string like "Synapsys AXS101 Development Board" (or whatever that is called).
> 
> This contradicts ePAPR, which says the model's recommended* format is the same as
> the compatible one's (<vendor>,<model>). Most PowerPC and some MIPS dts files
> follow that, while ARM(64) uses the free text form.
> 
> To me it looks like the intended usage was
> model = <actual_model>; compatible = <platform>;
> but the actual usage in arm is
> model = <human readable string>; compatible = <actual_model>, <platform>;
> 
> Of course for changing this in the existing dts files it might be a bit late, but it
> would be good to decide which of these two is the actually expected format. 
> 
> It also is a required property, and we have a few boards not having a model property,
> including the example in Documentation/devicetree/usage-model.txt.
> 
> 
> Jonas
> 
> * compatible strings are also only "recommended" to be in that format.
> 

Alexey, can u please rework the DT files per Jonas' suggestion above.

Thx,
-Vineet



More information about the linux-snps-arc mailing list