[PATCH v22 09/18] dt-binding: memory: pl353-smc: Convert to yaml

Krzysztof Kozlowski krzysztof.kozlowski at canonical.com
Wed Jun 9 08:26:42 PDT 2021


On 09/06/2021 16:11, Miquel Raynal wrote:
> Hi Krzysztof, Rob,
> 
> Krzysztof Kozlowski <krzysztof.kozlowski at canonical.com> wrote on Wed, 9
> Jun 2021 15:54:19 +0200:
> 
>> On 09/06/2021 15:34, Miquel Raynal wrote:
>>> Hi Krzysztof,
>>>
>>> Krzysztof Kozlowski <krzysztof.kozlowski at canonical.com> wrote on Wed, 9
>>> Jun 2021 14:12:40 +0200:
>>>   
>>>> On 09/06/2021 10:01, Miquel Raynal wrote:  
>>>>> Convert this binding file to yaml schema.
>>>>>
>>>>> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
>>>>> ---
>>>>>  .../memory-controllers/arm,pl353-smc.yaml     | 133 ++++++++++++++++++
>>>>>  .../bindings/memory-controllers/pl353-smc.txt |  45 ------
>>>>>  2 files changed, 133 insertions(+), 45 deletions(-)
>>>>>  create mode 100644 Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml
>>>>>  delete mode 100644 Documentation/devicetree/bindings/memory-controllers/pl353-smc.txt
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml b/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml
>>>>> new file mode 100644
>>>>> index 000000000000..1de6f87d4986
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml
>>>>> @@ -0,0 +1,133 @@
>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>>> +%YAML 1.2
>>>>> +---
>>>>> +$id: http://devicetree.org/schemas/memory-controllers/arm,pl353-smc.yaml#
>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>> +
>>>>> +title: ARM PL353 Static Memory Controller (SMC) device-tree bindings
>>>>> +
>>>>> +maintainers:
>>>>> +  - Miquel Raynal <miquel.raynal at bootlin.com>
>>>>> +  - Naga Sureshkumar Relli <naga.sureshkumar.relli at xilinx.com>
>>>>> +
>>>>> +description:
>>>>> +  The PL353 Static Memory Controller is a bus where you can connect two kinds
>>>>> +  of memory interfaces, which are NAND and memory mapped interfaces (such as
>>>>> +  SRAM or NOR).
>>>>> +
>>>>> +# We need a select here so we don't match all nodes with 'arm,primecell'
>>>>> +select:
>>>>> +  properties:
>>>>> +    compatible:
>>>>> +      contains:
>>>>> +        enum:
>>>>> +          - arm,pl353-smc-r2p1    
>>>>
>>>> That's a const... but also I don't get the need for select.  
>>>
>>> I think this is needed to ensure this binding is not enforced against
>>> arm,primecell compatible nodes which are not featuring the
>>> arm,pl353-smc-r2p1 compatible.  
>>
>> Which seems to be result of unusual compatible match, so once you
>> convert to regular match, this select is not needed.
> 
> I don't think so, I received a hint from Rob some time ago, he told
> me to add this additional select line as in all other arm,primecell
> binding.
> 
> Rob, any additional info regarding this?

Hmm, I think you' are right. Since arm,primecell is used in many other
compatibles (including ones without schema yet), the select is needed.

In such case the select can be only:

select:
  properties:
    compatible:
      contains:
        const: arm,pl353-smc-r2p1


Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list