Re: [PATCH v6 31/36] dt-bindings: nds32 CPU Bindings

From: Greentime Hu
Date: Mon Jan 22 2018 - 04:54:36 EST


Hi, Geert:

2018-01-19 23:37 GMT+08:00 Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>:
> Hi Greentime,
>
> On Fri, Jan 19, 2018 at 4:35 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
>> 2018-01-19 23:29 GMT+08:00 Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>:
>>> On Fri, Jan 19, 2018 at 4:18 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
>>>> 2018-01-19 22:52 GMT+08:00 Arnd Bergmann <arnd@xxxxxxxx>:
>>>>> On Fri, Jan 19, 2018 at 3:32 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
>>>>>> 2018-01-18 19:02 GMT+08:00 Arnd Bergmann <arnd@xxxxxxxx>:
>>>>>>> On Mon, Jan 15, 2018 at 6:53 AM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
>>>>>>>> From: Greentime Hu <greentime@xxxxxxxxxxxxx>
>>>>>>>>
>>>>>>>> This patch adds nds32 CPU binding documents.
>>>>>>>>
>>>>>>>> Signed-off-by: Vincent Chen <vincentc@xxxxxxxxxxxxx>
>>>>>>>> Signed-off-by: Rick Chen <rick@xxxxxxxxxxxxx>
>>>>>>>> Signed-off-by: Zong Li <zong@xxxxxxxxxxxxx>
>>>>>>>> Signed-off-by: Greentime Hu <greentime@xxxxxxxxxxxxx>
>>>>>>>> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
>>>>>>>> ---
>>>>>>>> Documentation/devicetree/bindings/nds32/cpus.txt | 37 ++++++++++++++++++++++
>>>>>>>> 1 file changed, 37 insertions(+)
>>>>>>>> create mode 100644 Documentation/devicetree/bindings/nds32/cpus.txt
>>>>>>>>
>>>>>>>> diff --git a/Documentation/devicetree/bindings/nds32/cpus.txt b/Documentation/devicetree/bindings/nds32/cpus.txt
>>>>>>>> new file mode 100644
>>>>>>>> index 0000000..9a52937
>>>>>>>> --- /dev/null
>>>>>>>> +++ b/Documentation/devicetree/bindings/nds32/cpus.txt
>>>>>>>> @@ -0,0 +1,37 @@
>>>>>>>> +* Andestech Processor Binding
>>>>>>>> +
>>>>>>>> +This binding specifies what properties must be available in the device tree
>>>>>>>> +representation of a Andestech Processor Core, which is the root node in the
>>>>>>>> +tree.
>>>>>>>> +
>>>>>>>> +Required properties:
>>>>>>>> +
>>>>>>>> + - compatible:
>>>>>>>> + Usage: required
>>>>>>>> + Value type: <string>
>>>>>>>> + Definition: should be one of:
>>>>>>>> + "andestech,n13"
>>>>>>>> + "andestech,n15"
>>>>>>>> + "andestech,d15"
>>>>>>>> + "andestech,n10"
>>>>>>>> + "andestech,d10"
>>>>>>>> + "andestech,nds32v3"
>>>>>>>
>>>>>>> Based on https://lkml.org/lkml/2017/11/27/1290, this should say that
>>>>>>> the device tree should always list 'andestech,nds32v3' as the most
>>>>>>> generic 'compatible' value and list exactly one of the others in
>>>>>>> addition.
>>>>>
>>>>>> I will remove the others and just left "andestech,nds32v3" in here.
>>>>>
>>>>> No, is not what we want here, the CPU node should list exactly which core
>>>>> is used, what we need in the description is a clarification that
>>>>> andestech,nds32v3 must be used in addition to the more specific
>>>>> string.
>>>>
>>>> Hi, Arnd:
>>>>
>>>> Sorry I still don't get your point. Do you mean we should always use
>>>> compatible = "andestech,n13", "andestech,nds32v3";
>>>> instead of
>>>> compatible = "andestech,n13";
>>>
>>> Exactly. The first value is a device-specific compatible value, the second is
>>> a generic fallback.
>>>
>>>> And I need to add the description in this document.
>>>
>>> Indeed. See for example
>>> Documentation/devicetree/bindings/power/renesas,apmu.txt
>>>
>>> Thanks!
>>
>> Hi, Geert:
>>
>> Thank you and your example.
>> I get it. I will update this document like this.
>> - compatible: Should be "andestech,<core_name>", "andestech,nds32v3"
>> as fallback.
>
> And please keep a list of supported values of "andestech,<core_name>"
> in the DT binding document, so checkpatch can validate compatible values.
>

Thank you for reminding me this.
I will list it like this.

- compatible:
Usage: required
Value type: <string>
Definition: Should be "andestech,<core_name>",
"andestech,nds32v3" as fallback.
Examlpes with core_names are:
"andestech,n13"
"andestech,n15"
"andestech,d15"
"andestech,n10"
"andestech,d10"