Message ID | 20240708-dev-mule-i2c-mux-v5-3-71446d3f0b8d@cherry.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add tsd,mule-i2c-mux support | expand |
On Mon, 08 Jul 2024 18:12:14 +0200, Farouk Bouabid wrote: > Theobroma Systems Mule is an MCU that emulates a set of I2C devices, > among which is an amc6821 and other devices that are reachable through > an I2C-mux. The devices on the mux can be selected by writing the > appropriate device number to an I2C config register (amc6821: reg 0xff) > > Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de> > --- > .../devicetree/bindings/i2c/tsd,mule.yaml | 63 ++++++++++++++++++++++ > 1 file changed, 63 insertions(+) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/i2c/tsd,mule.example.dtb: /example-0/i2c/fan@18/i2c-mux: failed to match any schema with compatible: ['tsd,mule-i2c-mux'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240708-dev-mule-i2c-mux-v5-3-71446d3f0b8d@cherry.de 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.
On Mon, Jul 08, 2024 at 11:17:45AM -0600, Rob Herring (Arm) wrote: > > On Mon, 08 Jul 2024 18:12:14 +0200, Farouk Bouabid wrote: > > Theobroma Systems Mule is an MCU that emulates a set of I2C devices, > > among which is an amc6821 and other devices that are reachable through > > an I2C-mux. The devices on the mux can be selected by writing the > > appropriate device number to an I2C config register (amc6821: reg 0xff) > > > > Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de> > > --- > > .../devicetree/bindings/i2c/tsd,mule.yaml | 63 ++++++++++++++++++++++ > > 1 file changed, 63 insertions(+) > > > > My bot found errors running 'make dt_binding_check' on your patch: > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > Documentation/devicetree/bindings/i2c/tsd,mule.example.dtb: /example-0/i2c/fan@18/i2c-mux: failed to match any schema with compatible: ['tsd,mule-i2c-mux'] This can be ignored. Looks like things went sideways here because patch 1 subject is a substring of patch 3 and then it got marked as Superseded. Rob
On Mon, Jul 08, 2024 at 06:12:14PM +0200, Farouk Bouabid wrote: > Theobroma Systems Mule is an MCU that emulates a set of I2C devices, > among which is an amc6821 and other devices that are reachable through > an I2C-mux. The devices on the mux can be selected by writing the > appropriate device number to an I2C config register (amc6821: reg 0xff) > > Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de> > --- > .../devicetree/bindings/i2c/tsd,mule.yaml | 63 ++++++++++++++++++++++ > 1 file changed, 63 insertions(+) > > diff --git a/Documentation/devicetree/bindings/i2c/tsd,mule.yaml b/Documentation/devicetree/bindings/i2c/tsd,mule.yaml > new file mode 100644 > index 000000000000..dbbabba8dd6f > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/tsd,mule.yaml > @@ -0,0 +1,63 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/i2c/tsd,mule.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Theobroma Systems Mule I2C device > + > +maintainers: > + - Farouk Bouabid <farouk.bouabid@cherry.de> > + - Quentin Schulz <quentin.schulz@cherry.de> > + > +description: | > + Theobroma Systems Mule is an MCU that emulates a set of I2C devices, among > + which is an amc6821 and other devices that are reachable through an I2C-mux. > + The devices on the mux can be selected by writing the appropriate device > + number to an I2C config register (amc6821: reg 0xff) > + > +additionalProperties: true Must be false. > + > +properties: > + compatible: > + contains: No, must define the entries and the order. > + enum: > + - tsd,mule > + - ti,amc6821 Need to drop this from trivial-devices.yaml. We don't define the same compatible in 2 places. As the original device was ti,amc6821 and this is a superset, the binding should first document ti,amc6821 meaning that should be the filename, title, etc. And then describe the Mule additions. (I mean how the binding should read, not patch structure. 1 patch for this is fine.) > + > + reg: > + maxItems: 1 To fix the additionalProperties failure you will see, you need to add: i2c-mux: type: object > + > +required: > + - compatible > + - reg > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + fan@18 { > + compatible = "tsd,mule", "ti,amc6821"; > + reg = <0x18>; > + > + i2c-mux { > + compatible = "tsd,mule-i2c-mux"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + i2c@0 { > + reg = <0x0>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + rtc@6f { > + compatible = "isil,isl1208"; > + reg = <0x6f>; > + }; > + }; > + }; > + }; > + }; > +... > > -- > 2.34.1 >
diff --git a/Documentation/devicetree/bindings/i2c/tsd,mule.yaml b/Documentation/devicetree/bindings/i2c/tsd,mule.yaml new file mode 100644 index 000000000000..dbbabba8dd6f --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/tsd,mule.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/tsd,mule.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Theobroma Systems Mule I2C device + +maintainers: + - Farouk Bouabid <farouk.bouabid@cherry.de> + - Quentin Schulz <quentin.schulz@cherry.de> + +description: | + Theobroma Systems Mule is an MCU that emulates a set of I2C devices, among + which is an amc6821 and other devices that are reachable through an I2C-mux. + The devices on the mux can be selected by writing the appropriate device + number to an I2C config register (amc6821: reg 0xff) + +additionalProperties: true + +properties: + compatible: + contains: + enum: + - tsd,mule + - ti,amc6821 + + reg: + maxItems: 1 + +required: + - compatible + - reg + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + fan@18 { + compatible = "tsd,mule", "ti,amc6821"; + reg = <0x18>; + + i2c-mux { + compatible = "tsd,mule-i2c-mux"; + #address-cells = <1>; + #size-cells = <0>; + + i2c@0 { + reg = <0x0>; + #address-cells = <1>; + #size-cells = <0>; + + rtc@6f { + compatible = "isil,isl1208"; + reg = <0x6f>; + }; + }; + }; + }; + }; +...
Theobroma Systems Mule is an MCU that emulates a set of I2C devices, among which is an amc6821 and other devices that are reachable through an I2C-mux. The devices on the mux can be selected by writing the appropriate device number to an I2C config register (amc6821: reg 0xff) Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de> --- .../devicetree/bindings/i2c/tsd,mule.yaml | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+)