[PATCH v5 1/9] dt-bindings: fsi: fsi2spi: Document SPI controller child nodes

Eddie James posted 9 patches 1 year, 9 months ago
[PATCH v5 1/9] dt-bindings: fsi: fsi2spi: Document SPI controller child nodes
Posted by Eddie James 1 year, 9 months ago
The FSI2SPI bridge has several SPI controllers behind it, which
should be documented. Also, therefore the node needs to specify
address and size cells.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Depends on https://lore.kernel.org/all/20240514192630.152747-1-eajames@linux.ibm.com/

 .../devicetree/bindings/fsi/ibm,fsi2spi.yaml  | 36 ++++++++++++++++---
 1 file changed, 32 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/fsi/ibm,fsi2spi.yaml b/Documentation/devicetree/bindings/fsi/ibm,fsi2spi.yaml
index e2ca0b0004714..ad5c83f484255 100644
--- a/Documentation/devicetree/bindings/fsi/ibm,fsi2spi.yaml
+++ b/Documentation/devicetree/bindings/fsi/ibm,fsi2spi.yaml
@@ -9,11 +9,10 @@ title: IBM FSI-attached SPI controllers
 maintainers:
   - Eddie James <eajames@linux.ibm.com>
 
-description: |
+description:
   This binding describes an FSI CFAM engine called the FSI2SPI. Therefore this
-  node will always be a child of an FSI CFAM node; see fsi.txt for details on
-  FSI slave and CFAM nodes. This FSI2SPI engine provides access to a number of
-  SPI controllers.
+  node will always be a child of an FSI CFAM node. This FSI2SPI engine provides
+  access to a number of SPI controllers.
 
 properties:
   compatible:
@@ -24,6 +23,17 @@ properties:
     items:
       - description: FSI slave address
 
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+patternProperties:
+  "^spi@[0-9a-f]+$":
+    type: object
+    $ref: /schemas/spi/ibm,spi-fsi.yaml
+
 required:
   - compatible
   - reg
@@ -35,4 +45,22 @@ examples:
     fsi2spi@1c00 {
         compatible = "ibm,fsi2spi";
         reg = <0x1c00 0x400>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        spi@0 {
+            compatible = "ibm,spi-fsi";
+            reg = <0>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            eeprom@0 {
+                compatible = "atmel,at25";
+                reg = <0>;
+                address-width = <24>;
+                pagesize = <256>;
+                size = <0x80000>;
+                spi-max-frequency = <1000000>;
+            };
+        };
     };
-- 
2.39.3
Re: [PATCH v5 1/9] dt-bindings: fsi: fsi2spi: Document SPI controller child nodes
Posted by Krzysztof Kozlowski 1 year, 9 months ago
On 14/05/2024 21:54, Eddie James wrote:

>  properties:
>    compatible:
> @@ -24,6 +23,17 @@ properties:
>      items:
>        - description: FSI slave address
>  
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0
> +
> +patternProperties:
> +  "^spi@[0-9a-f]+$":
> +    type: object
> +    $ref: /schemas/spi/ibm,spi-fsi.yaml

Are you sure you do not have dependencies? Nothing was explained about
this in the cover letter or changelog.

Best regards,
Krzysztof
Re: [PATCH v5 1/9] dt-bindings: fsi: fsi2spi: Document SPI controller child nodes
Posted by Eddie James 1 year, 9 months ago
On 5/15/24 03:14, Krzysztof Kozlowski wrote:
> On 14/05/2024 21:54, Eddie James wrote:
>
>>   properties:
>>     compatible:
>> @@ -24,6 +23,17 @@ properties:
>>       items:
>>         - description: FSI slave address
>>   
>> +  "#address-cells":
>> +    const: 1
>> +
>> +  "#size-cells":
>> +    const: 0
>> +
>> +patternProperties:
>> +  "^spi@[0-9a-f]+$":
>> +    type: object
>> +    $ref: /schemas/spi/ibm,spi-fsi.yaml
> Are you sure you do not have dependencies? Nothing was explained about
> this in the cover letter or changelog.


I did mention that it depends on the SPI binding change below the commit 
message in this patch. I guess I should have kept these two together...

Thanks,

Eddie


>
> Best regards,
> Krzysztof
>
Re: [PATCH v5 1/9] dt-bindings: fsi: fsi2spi: Document SPI controller child nodes
Posted by Krzysztof Kozlowski 1 year, 9 months ago
On 15/05/2024 15:06, Eddie James wrote:
> 
> On 5/15/24 03:14, Krzysztof Kozlowski wrote:
>> On 14/05/2024 21:54, Eddie James wrote:
>>
>>>   properties:
>>>     compatible:
>>> @@ -24,6 +23,17 @@ properties:
>>>       items:
>>>         - description: FSI slave address
>>>   
>>> +  "#address-cells":
>>> +    const: 1
>>> +
>>> +  "#size-cells":
>>> +    const: 0
>>> +
>>> +patternProperties:
>>> +  "^spi@[0-9a-f]+$":
>>> +    type: object
>>> +    $ref: /schemas/spi/ibm,spi-fsi.yaml
>> Are you sure you do not have dependencies? Nothing was explained about
>> this in the cover letter or changelog.
> 
> 
> I did mention that it depends on the SPI binding change below the commit 
> message in this patch. I guess I should have kept these two together...

Ah, I missed that. Yeah, you must keep them together or wait one more
cycle... Just test bisectability of your patchset.

Best regards,
Krzysztof
Re: [PATCH v5 1/9] dt-bindings: fsi: fsi2spi: Document SPI controller child nodes
Posted by Rob Herring (Arm) 1 year, 9 months ago
On Tue, 14 May 2024 14:54:27 -0500, Eddie James wrote:
> The FSI2SPI bridge has several SPI controllers behind it, which
> should be documented. Also, therefore the node needs to specify
> address and size cells.
> 
> Signed-off-by: Eddie James <eajames@linux.ibm.com>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
> Depends on https://lore.kernel.org/all/20240514192630.152747-1-eajames@linux.ibm.com/
> 
>  .../devicetree/bindings/fsi/ibm,fsi2spi.yaml  | 36 ++++++++++++++++---
>  1 file changed, 32 insertions(+), 4 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/fsi/ibm,fsi2spi.yaml:
Error in referenced schema matching $id: http://devicetree.org/schemas/spi/ibm,spi-fsi.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/fsi/ibm,fsi2spi.example.dtb: fsi2spi@1c00: spi@0: False schema does not allow {'compatible': ['ibm,spi-fsi'], 'reg': [[0]], '#address-cells': [[1]], '#size-cells': [[0]], 'eeprom@0': {'compatible': ['atmel,at25'], 'reg': [[0]], 'address-width': [[24]], 'pagesize': [[256]], 'size': [[524288]], 'spi-max-frequency': [[1000000]]}}
	from schema $id: http://devicetree.org/schemas/fsi/ibm,fsi2spi.yaml#
Documentation/devicetree/bindings/fsi/ibm,fsi2spi.example.dtb: /example-0/fsi2spi@1c00/spi@0: failed to match any schema with compatible: ['ibm,spi-fsi']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240514195435.155372-2-eajames@linux.ibm.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.