Message ID | 20250107162350.1281165-3-ninad@linux.ibm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | DTS updates for system1 BMC | expand |
On Tue, 07 Jan 2025 10:23:39 -0600, Ninad Palsule wrote: > Add device tree binding document for the IPMB device interface driver. > > Signed-off-by: Ninad Palsule <ninad@linux.ibm.com> > --- > .../devicetree/bindings/ipmi/ipmb-dev.yaml | 42 +++++++++++++++++++ > 1 file changed, 42 insertions(+) > create mode 100644 Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dts:21.17-30: Warning (reg_format): /example-0/i2c/i2c@10:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dtb: Warning (pci_device_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dtb: Warning (simple_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dts:18.13-24.11: Warning (i2c_bus_bridge): /example-0/i2c: incorrect #address-cells for I2C bus Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dts:18.13-24.11: Warning (i2c_bus_bridge): /example-0/i2c: incorrect #size-cells for I2C bus Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dtb: Warning (i2c_bus_reg): Failed prerequisite 'i2c_bus_bridge' Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dts:19.20-23.15: Warning (avoid_default_addr_size): /example-0/i2c/i2c@10: Relying on default #address-cells value Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dts:19.20-23.15: Warning (avoid_default_addr_size): /example-0/i2c/i2c@10: Relying on default #size-cells value Documentation/devicetree/bindings/ipmi/ipmb-dev.example.dtb: Warning (unique_unit_address_if_enabled): Failed prerequisite 'avoid_default_addr_size' doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250107162350.1281165-3-ninad@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.
On Tue, Jan 07, 2025 at 10:23:39AM -0600, Ninad Palsule wrote: > Add device tree binding document for the IPMB device interface driver. Please mention this is already is already in use both in a driver and .dts files. > Signed-off-by: Ninad Palsule <ninad@linux.ibm.com> > --- > .../devicetree/bindings/ipmi/ipmb-dev.yaml | 42 +++++++++++++++++++ > 1 file changed, 42 insertions(+) > create mode 100644 Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml > > diff --git a/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml b/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml > new file mode 100644 > index 000000000000..9136ac8004dc > --- /dev/null > +++ b/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml > @@ -0,0 +1,42 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/ipmi/ipmb-dev.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: IPMB Device Driver Bindings are for devices, not drivers. Drop 'Driver'. It's a stretch that IPMB is even a device, but since there are already a few users, I guess we're stuck with it. > + > +description: IPMB Device Driver bindings No point in a description that just repeats the title. Please expand this. For example, AIUI, this is for the device end, not the BMC end. > + > +maintainers: > + - Ninad Palsule <ninad@linux.ibm.com> > + > +properties: > + compatible: > + enum: > + - ipmb-dev > + > + reg: > + maxItems: 1 As this is the slave end, I2C_OWN_SLAVE_ADDRESS should be set. So: minimum: 0x40000000 maximum: 0x4000007f Maybe 10-bit addressing has to be supported too? > + > + i2c-protocol: > + description: > + This property specifies that the I2C block transfer should be performed > + instead of SMBUS block transfer. This can be more concisely said: Use I2C block transfer instead of SMBUS block transfer. > + type: boolean > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + i2c@10 { 'i2c' node name is for i2c buses and this is not one. 'ipmb' is probably fine here. > + compatible = "ipmb-dev"; > + reg = <0x10>; > + i2c-protocol; > + }; > + }; > -- > 2.43.0 >
Hello Rob, Thanks for the review. On 1/7/25 17:13, Rob Herring wrote: > On Tue, Jan 07, 2025 at 10:23:39AM -0600, Ninad Palsule wrote: >> Add device tree binding document for the IPMB device interface driver. > Please mention this is already is already in use both in a driver and > .dts files. > >> Signed-off-by: Ninad Palsule <ninad@linux.ibm.com> >> --- >> .../devicetree/bindings/ipmi/ipmb-dev.yaml | 42 +++++++++++++++++++ >> 1 file changed, 42 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml >> >> diff --git a/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml b/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml >> new file mode 100644 >> index 000000000000..9136ac8004dc >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml >> @@ -0,0 +1,42 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/ipmi/ipmb-dev.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: IPMB Device Driver > Bindings are for devices, not drivers. Drop 'Driver'. It's a stretch > that IPMB is even a device, but since there are already a few users, I > guess we're stuck with it. Updated the title. > >> + >> +description: IPMB Device Driver bindings > No point in a description that just repeats the title. Please expand > this. For example, AIUI, this is for the device end, not the BMC end. Updated the description. >> + >> +maintainers: >> + - Ninad Palsule <ninad@linux.ibm.com> >> + >> +properties: >> + compatible: >> + enum: >> + - ipmb-dev >> + >> + reg: >> + maxItems: 1 > As this is the slave end, I2C_OWN_SLAVE_ADDRESS should be set. So: > > minimum: 0x40000000 > maximum: 0x4000007f The dt_check script doesn't allow min, max for the reg type. /home/ninad/dev/sbp1/linux/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml: properties:reg: 'minimum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /home/ninad/dev/sbp1/linux/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml: properties:reg: 'maximum' should not be valid under {'enum': ['const', 'enum', 'exclusiveMaximum', 'exclusiveMinimum', 'minimum', 'maximum', 'multipleOf', 'pattern']} hint: Scalar and array keywords cannot be mixed from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# > > Maybe 10-bit addressing has to be supported too? Driver only uses 7 and 8 bit addresses > >> + >> + i2c-protocol: >> + description: >> + This property specifies that the I2C block transfer should be performed >> + instead of SMBUS block transfer. > This can be more concisely said: > > Use I2C block transfer instead of SMBUS block transfer. Done > >> + type: boolean >> + >> +required: >> + - compatible >> + - reg >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + i2c { >> + i2c@10 { > 'i2c' node name is for i2c buses and this is not one. 'ipmb' is probably > fine here. Done Regards, Ninad >> + compatible = "ipmb-dev"; >> + reg = <0x10>; >> + i2c-protocol; >> + }; >> + }; >> -- >> 2.43.0 >>
diff --git a/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml b/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml new file mode 100644 index 000000000000..9136ac8004dc --- /dev/null +++ b/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml @@ -0,0 +1,42 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/ipmi/ipmb-dev.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: IPMB Device Driver + +description: IPMB Device Driver bindings + +maintainers: + - Ninad Palsule <ninad@linux.ibm.com> + +properties: + compatible: + enum: + - ipmb-dev + + reg: + maxItems: 1 + + i2c-protocol: + description: + This property specifies that the I2C block transfer should be performed + instead of SMBUS block transfer. + type: boolean + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + i2c { + i2c@10 { + compatible = "ipmb-dev"; + reg = <0x10>; + i2c-protocol; + }; + };
Add device tree binding document for the IPMB device interface driver. Signed-off-by: Ninad Palsule <ninad@linux.ibm.com> --- .../devicetree/bindings/ipmi/ipmb-dev.yaml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml