Re: [PATCH 1/9] dt-bindings: spi: Add STM32 OSPI controller
From: Patrice CHOTARD
Date: Fri Jan 24 2025 - 10:56:02 EST
On 1/22/25 16:18, Krzysztof Kozlowski wrote:
> On 22/01/2025 15:10, patrice.chotard@xxxxxxxxxxx wrote:
>> ---
>> .../bindings/spi/st,stm32-ospi.yaml | 109 ++++++++++++++++++
>> 1 file changed, 109 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/spi/st,stm32-ospi.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/spi/st,stm32-ospi.yaml b/Documentation/devicetree/bindings/spi/st,stm32-ospi.yaml
>> new file mode 100644
>> index 000000000000..bf16252f85fa
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/spi/st,stm32-ospi.yaml
>
>
> Use compatible as filename.
Ok
>
>> @@ -0,0 +1,109 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/spi/st,stm32-ospi.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: STMicroelectronics STM32 Octal Serial Peripheral Interface (OSPI)
>> +
>> +maintainers:
>> + - Patrice Chotard <patrice.chotard@xxxxxxxxxxx>
>> +
>> +allOf:
>> + - $ref: spi-controller.yaml#
>> +
>> +properties:
>> + compatible:
>> + const: st,stm32mp25-ospi
>> +
>> + reg:
>> + description: registers
>
> That's not helping. Please take a look how other bindings do it.
> maxItems instead or you need to list the items with meaningful description.
ok, will use maxItems
>
>> +
>> + "#address-cells":
>> + const: 1
>> +
>> + "#size-cells":
>> + const: 0
>
> Drop *cells.
ok
>> +
>> + memory-region:
>> + maxItems: 1
>> + description: Phandle to a node describing memory-map region to be used
>
> Drop description, redundant. Say something useful - the purpose - or
> just maxItems if purpose is obvious.
ok, i will add
- description: phandle to OSPI block reset
- description: phandle to delay block reset
>
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + resets:
>> + maxItems: 2
>
> You need to list and describe the items.
ok
>
>> +
>> + dmas:
>> + items:
>> + - description: tx DMA channel
>> + - description: rx DMA channel
>
> maxItems: 2 is enough, because names define what these are
ok
>
>> +
>> + dma-names:
>> + items:
>> + - const: tx
>> + - const: rx
>> +
>> + st,syscfg-dlyb:
>> + description: |
>> + Use to set the OSPI delay block within SYSCFG to:
>
> Phandles to what? Describe also the destination device.
>
>> + Tune the phase of the RX sampling clock (or DQS) in order
>
> Unneeded indentation.
>
>> + to sample the data in their valid window.
>> + Tune the phase of the TX launch clock in order to meet setup
>> + and hold constraints of TX signals versus the memory clock.
>> + $ref: /schemas/types.yaml#/definitions/phandle-array
>> + items:
>> + minItems: 2
>> + maxItems: 2
>
> Your example has only one item, so probably you wanted one more items
> with description. Now you miss one of matrix constraints.
My fault, only one item is required.
>
> git grep -C 8 phandle-array
> (e.g. some sram or syscon examples)
>
>
>
>> +
>> + access-controllers:
>> + minItems: 1
>> + maxItems: 2
>
> List the items.
i will update as following:
access-controllers:
- description: phandle to the rifsc device to check access right.
- description: phandle to the rcc device for secure clock control
minItems: 1
maxItems: 2
>
>> +
>> + power-domains:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - "#address-cells"
>> + - "#size-cells"
>
> Drop cells
ok
>
>> + - clocks
>> + - interrupts
>> + - st,syscfg-dlyb
>> +
>> +unevaluatedProperties: false
>> +
>
>
>
> Best regards,
> Krzysztof