Re: [PATCH v22 17/18] dt-bindings: mtd: pl353-nand: Describe this hardware controller

From: Krzysztof Kozlowski
Date: Wed Jun 09 2021 - 09:57:11 EST


On 09/06/2021 15:36, Miquel Raynal wrote:
> Hi Krzysztof,
>
> Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> wrote on Wed, 9
> Jun 2021 14:01:10 +0200:
>
>> On 09/06/2021 10:01, Miquel Raynal wrote:
>>> Add a yaml description of this NAND controller which is described as a
>>> subnode of the SMC bus.
>>>
>>> Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
>>> ---
>>> .../bindings/mtd/arm,pl353-nand-r2p1.yaml | 57 +++++++++++++++++++
>>> 1 file changed, 57 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml b/Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml
>>> new file mode 100644
>>> index 000000000000..e72fa14b4385
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/mtd/arm,pl353-nand-r2p1.yaml
>>> @@ -0,0 +1,57 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/mtd/arm,pl353-nand-r2p1.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: PL353 NAND Controller device tree bindings
>>> +
>>> +allOf:
>>> + - $ref: "nand-controller.yaml"
>>> +
>>> +maintainers:
>>> + - Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
>>> + - Naga Sureshkumar Relli <naga.sureshkumar.relli@xxxxxxxxxx>
>>> +
>>> +properties:
>>> + compatible:
>>> + items:
>>> + - enum:
>>
>> That's not an enum, but simple const without items.
>
> Ok.
>
>>
>>> + - arm,pl353-nand-r2p1
>>> +
>>> + reg:
>>> + items:
>>> + - items:
>>> + - description: CS with regard to the parent ranges property
>>> + - description: Offset of the memory region requested by the device
>>> + - description: Length of the memory region requested by the device
>>
>> Doesn't it depend on parent's address/size cells?
>
> Yes, but as the child nodes are not defined in the parent's binding
> (ie. the SMC) I think it's interesting to have them defined here, no?

The trouble is if parent decides to have different address/size cells.
The schema will stop matching. I am actually not that sure if such case
is real since the pl353 NAND part will usually be connected to pl353
SMC. However the schema now hard-codes specific dependency against
parent schema/node.

Rob,
Maybe you have here some thoughts?

Best regards,
Krzysztof