Skip to contentSkip to conversation

dt-bindings: soc: imx: Add binding doc for spba bus

PATCH Superseded Adam Ford 2 participants 6 messages Nov 11, 2020 – Nov 18, 2020 Device tree bindings

v4 of 5 Superseded Latest is v5 →

lore
Share & tools
lore

Adam Ford

author
#0 lore raw

PATCH v4 1/1 dt-bindings: soc: imx: Add binding doc for spba bus

Add binding doc for fsl,spba-bus.

---
make dt_binding_check showed no errors if I did this right.

V4: Remove an accidental makefile change
Move type:object under additional properties

V3: Rebase sample from aips-bus example
Split off from series adding i.MX8M Nano functions to reduce noise

V2: Attempted to update yaml from feedback

Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml new file +64 -0
new file mode 100644
index 000000000000..48d0c27d2e77
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bus/fsl,spba-bus.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Shared Peripherals Bus Interface
+
+maintainers:
+  - Shawn Guo <[email protected]>
+
+description: |
+  A simple bus enabling access to shared peripherals.
+
+  The "spba-bus" follows the "simple-bus" set of properties, as
+  specified in the Devicetree Specification.  It is an extension of
+  "simple-bus" because the SDMA controller uses this compatible flag to
+  determine which peripherals are available to it and the range over which
+  the SDMA can access.  There are no special clocks for the bus, because
+  the SDMA controller itself has its interrupt, and clock assignments.
+
+select:
+  properties:
+    compatible:
+      contains:
+        const: fsl,spba-bus
+  required:
+    - compatible
+
+properties:
+  $nodename:
+    pattern: "^bus(@[0-9a-f]+)?$"
+
+  compatible:
+    items:
+      - const: fsl,spba-bus
+      - const: simple-bus
+
+  '#address-cells':
+    enum: [ 1, 2 ]
+
+  '#size-cells':
+    enum: [ 1, 2 ]
+
+  ranges: true
+
+required:
+  - compatible
+  - '#address-cells'
+  - '#size-cells'
+  - ranges
+
+additionalProperties:
+  type: object
+
+examples:
+  - |
+    bus@30000000 {
+        compatible = "fsl,spba-bus", "simple-bus";
+        #address-cells = <1>;
+        #size-cells = <1>;
+        reg = <0x30000000 0x100000>;
+        ranges;
+    };
Signature · 1 line
2.25.1
maintainer
#1 lore raw
Quoted 6 lines · Adam Ford

Add binding doc for fsl,spba-bus.

---
make dt_binding_check showed no errors if I did this right.

Quoted 8 lines

V4: Remove an accidental makefile change
Move type:object under additional properties

V3: Rebase sample from aips-bus example
Split off from series adding i.MX8M Nano functions to reduce noise

V2: Attempted to update yaml from feedback

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

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml

See https://patchwork.ozlabs.org/patch/1398351

The base for the patch is generally the last rc1. Any dependencies should be noted.

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.

author
#2 lore raw
Quoted 18 lines · Rob Herring
Quoted 6 lines · Adam Ford

Add binding doc for fsl,spba-bus.

---
make dt_binding_check showed no errors if I did this right.

Quoted 8 lines

V4: Remove an accidental makefile change
Move type:object under additional properties

V3: Rebase sample from aips-bus example
Split off from series adding i.MX8M Nano functions to reduce noise

V2: Attempted to update yaml from feedback

Quoted 8 lines

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

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml

Rob,

Can you give me a pointer on what this message is saying? I don't undertsand the YAML language, and I cannot get my machine to generate the same messages you're seeing.

Quoted 11 lines

See https://patchwork.ozlabs.org/patch/1398351

The base for the patch is generally the last rc1. Any dependencies should be noted.

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

I have installed yamllint, and I have run the above line, but when I run make dt_binding_check it fails to finish script even before I add this new binding. If I revert the Makefile back to before the implementation of yamllint, it works, but doesn't show the error. When I restore the Makefile, it runs but it doesn't show the error. Once I do a make clean, and run the dt_binding_check again, it fails to finish with the following error

make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
Documentation/devicetree/bindings/processed-schema-examples.json] Error 123

It appears as if the processed-schema-examples.json is not generated at all.

When I revert back to the older makefile, it appears that file is generated, but when I restore the makefile to the current version and run it again, it doesn't show the dtschema warnings/errors you see. I am guessing it's because the processed-schema-examples.json isn't being generated correctly after I run make clean.

Do you have any ideas what might be missing from my build machine?

adam

Quoted 3 lines

Please check and re-submit.

maintainer
#3 lore raw
Quoted 29 lines · Adam Ford
Quoted 18 lines · Rob Herring
Quoted 6 lines · Adam Ford

Add binding doc for fsl,spba-bus.

---
make dt_binding_check showed no errors if I did this right.

Quoted 8 lines

V4: Remove an accidental makefile change
Move type:object under additional properties

V3: Rebase sample from aips-bus example
Split off from series adding i.MX8M Nano functions to reduce noise

V2: Attempted to update yaml from feedback

Quoted 8 lines

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

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml

Quoted 5 lines

Rob,

Can you give me a pointer on what this message is saying? I don't undertsand the YAML language, and I cannot get my machine to generate the same messages you're seeing.

'reg' is not documented, so it's defaulting to the schema in 'additionalProperties' which says anything else has to be a node (which is an 'object' in json-schema).

Quoted 26 lines
Quoted 11 lines

See https://patchwork.ozlabs.org/patch/1398351

The base for the patch is generally the last rc1. Any dependencies should be noted.

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

I have installed yamllint, and I have run the above line, but when I run make dt_binding_check it fails to finish script even before I add this new binding. If I revert the Makefile back to before the implementation of yamllint, it works, but doesn't show the error. When I restore the Makefile, it runs but it doesn't show the error. Once I do a make clean, and run the dt_binding_check again, it fails to finish with the following error

make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
Documentation/devicetree/bindings/processed-schema-examples.json] Error 123

It appears as if the processed-schema-examples.json is not generated at all.

Quoted 7 lines

When I revert back to the older makefile, it appears that file is generated, but when I restore the makefile to the current version and run it again, it doesn't show the dtschema warnings/errors you see. I am guessing it's because the processed-schema-examples.json isn't being generated correctly after I run make clean.

Do you have any ideas what might be missing from my build machine?

What tree? v5.10-rc3 landed some changes that shouldn't have gone in and broke dt_binding_check. In any case, you can use 'make -k' to work around any unrelated failure.

Rob

author
#4 lore raw
Quoted 73 lines · Rob Herring
Quoted 29 lines · Adam Ford
Quoted 18 lines · Rob Herring
Quoted 6 lines · Adam Ford

Add binding doc for fsl,spba-bus.

---
make dt_binding_check showed no errors if I did this right.

Quoted 8 lines

V4: Remove an accidental makefile change
Move type:object under additional properties

V3: Rebase sample from aips-bus example
Split off from series adding i.MX8M Nano functions to reduce noise

V2: Attempted to update yaml from feedback

Quoted 8 lines

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

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml

Quoted 5 lines

Rob,

Can you give me a pointer on what this message is saying? I don't undertsand the YAML language, and I cannot get my machine to generate the same messages you're seeing.

'reg' is not documented, so it's defaulting to the schema in 'additionalProperties' which says anything else has to be a node (which is an 'object' in json-schema).

Quoted 32 lines
Quoted 11 lines

See https://patchwork.ozlabs.org/patch/1398351

The base for the patch is generally the last rc1. Any dependencies should be noted.

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

I have installed yamllint, and I have run the above line, but when I run make dt_binding_check it fails to finish script even before I add this new binding. If I revert the Makefile back to before the implementation of yamllint, it works, but doesn't show the error. When I restore the Makefile, it runs but it doesn't show the error. Once I do a make clean, and run the dt_binding_check again, it fails to finish with the following error

make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
Documentation/devicetree/bindings/processed-schema-examples.json] Error 123

It appears as if the processed-schema-examples.json is not generated at all.

When I revert back to the older makefile, it appears that file is generated, but when I restore the makefile to the current version and run it again, it doesn't show the dtschema warnings/errors you see. I am guessing it's because the processed-schema-examples.json isn't being generated correctly after I run make clean.

Quoted 5 lines
Quoted 1 line

Do you have any ideas what might be missing from my build machine?

What tree? v5.10-rc3 landed some changes that shouldn't have gone in and broke dt_binding_check. In any case, you can use 'make -k' to work around any unrelated failure.

Rob,

I went and pulled a clean copy of 5.10-RC1 and did "make dt_binding_check -k" without adding my patch or modifying the branch in any way.

After a bunch of DTEX, then starts to give feedback from various yaml files like wrong intendentation, etc. I can give you a larger log dump if you want.

Then I get the error message again:
./Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml:35:15:
[warning] wrong indentation: expected 16 but found 14 (indentation) ./Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml:38:15:
[warning] wrong indentation: expected 16 but found 14 (indentation) ./Documentation/devicetree/bindings/eeprom/at25.yaml:84:8: [warning] wrong indentation: expected 6 but found 7 (indentation) ./Documentation/devicetree/bindings/eeprom/at25.yaml:90:8: [warning] wrong indentation: expected 6 but found 7 (indentation) make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
make[1]: Target '__build' not remade because of errors.
make: *** [Makefile:1364: dt_binding_check] Error 2

It appears that Documentation/devicetree/bindings/processed-schema-examples.json was not generated.

I went through the writing-schema.rst file to see what/if anything I am missing, but as far as I can tell, I have everything installed. I did " pip3 install git+https://github.com/devicetree-org/dt-schema.git@master" and " "apt-get install libyaml-dev"

I am running Ubuntu 20.04 if that helps.

thanks for any suggestions you might have.

adam

Quoted 2 lines

Rob

maintainer
#5 lore raw
Quoted 81 lines · Adam Ford
Quoted 73 lines · Rob Herring
Quoted 29 lines · Adam Ford
Quoted 18 lines · Rob Herring
Quoted 6 lines · Adam Ford

Add binding doc for fsl,spba-bus.

---
make dt_binding_check showed no errors if I did this right.

Quoted 8 lines

V4: Remove an accidental makefile change
Move type:object under additional properties

V3: Rebase sample from aips-bus example
Split off from series adding i.MX8M Nano functions to reduce noise

V2: Attempted to update yaml from feedback

Quoted 8 lines

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

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml

Quoted 5 lines

Rob,

Can you give me a pointer on what this message is saying? I don't undertsand the YAML language, and I cannot get my machine to generate the same messages you're seeing.

'reg' is not documented, so it's defaulting to the schema in 'additionalProperties' which says anything else has to be a node (which is an 'object' in json-schema).

Quoted 32 lines
Quoted 11 lines

See https://patchwork.ozlabs.org/patch/1398351

The base for the patch is generally the last rc1. Any dependencies should be noted.

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

I have installed yamllint, and I have run the above line, but when I run make dt_binding_check it fails to finish script even before I add this new binding. If I revert the Makefile back to before the implementation of yamllint, it works, but doesn't show the error. When I restore the Makefile, it runs but it doesn't show the error. Once I do a make clean, and run the dt_binding_check again, it fails to finish with the following error

make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
Documentation/devicetree/bindings/processed-schema-examples.json] Error 123

It appears as if the processed-schema-examples.json is not generated at all.

When I revert back to the older makefile, it appears that file is generated, but when I restore the makefile to the current version and run it again, it doesn't show the dtschema warnings/errors you see. I am guessing it's because the processed-schema-examples.json isn't being generated correctly after I run make clean.

Quoted 5 lines
Quoted 1 line

Do you have any ideas what might be missing from my build machine?

What tree? v5.10-rc3 landed some changes that shouldn't have gone in and broke dt_binding_check. In any case, you can use 'make -k' to work around any unrelated failure.

Quoted 5 lines

Rob,

I went and pulled a clean copy of 5.10-RC1 and did "make dt_binding_check -k" without adding my patch or modifying the branch in any way.

Oh right, since it's 1 rule now, -k isn't going to help. Use -rc2 which has fixes needed. Or comment out running yamllint in .../bindings/Makefile

I'm going to change it to ignore yamllint errors.

Quoted 38 lines

After a bunch of DTEX, then starts to give feedback from various yaml files like wrong intendentation, etc. I can give you a larger log dump if you want.

Then I get the error message again:
./Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml:35:15:
[warning] wrong indentation: expected 16 but found 14 (indentation) ./Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml:38:15:
[warning] wrong indentation: expected 16 but found 14 (indentation) ./Documentation/devicetree/bindings/eeprom/at25.yaml:84:8: [warning] wrong indentation: expected 6 but found 7 (indentation) ./Documentation/devicetree/bindings/eeprom/at25.yaml:90:8: [warning] wrong indentation: expected 6 but found 7 (indentation) make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
make[1]: Target '__build' not remade because of errors.
make: *** [Makefile:1364: dt_binding_check] Error 2

It appears that Documentation/devicetree/bindings/processed-schema-examples.json was not generated.

I went through the writing-schema.rst file to see what/if anything I am missing, but as far as I can tell, I have everything installed. I did " pip3 install git+https://github.com/devicetree-org/dt-schema.git@master" and " "apt-get install libyaml-dev"

I am running Ubuntu 20.04 if that helps.

thanks for any suggestions you might have.

adam

Quoted 2 lines

Rob