Add device tree bindings for the Qualcomm I3C controller. This includes
the necessary documentation and properties required to describe the
hardware in the device tree.
Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
---
.../bindings/i3c/qcom,geni-i3c.yaml | 59 +++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml
diff --git a/Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml b/Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml
new file mode 100644
index 000000000000..45022327aee7
--- /dev/null
+++ b/Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i3c/qcom,geni-i3c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Geni based QUP I3C Controller
+
+maintainers:
+ - Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
+
+description:
+ I3C in master mode supports up to 12.5MHz, SDR mode data transfer in mixed
+ bus mode (I2C and I3C target devices on same i3c bus). It also supports
+ hotjoin, IBI mechanism.
+
+ I3C Controller nodes must be child of GENI based Qualcomm Universal
+ Peripharal. Please refer GENI based QUP wrapper controller node bindings
+ described in Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.yaml.
+
+allOf:
+ - $ref: i3c.yaml#
+
+properties:
+ compatible:
+ const: qcom,geni-i3c
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - interrupts
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/qcom,sm8550-gcc.h>
+
+ i3c@884000 {
+ compatible = "qcom,geni-i3c";
+ reg = <0x00884000 0x4000>;
+ clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
+ clock-names = "se";
+ interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <3>;
+ #size-cells = <0>;
+ };
+...
--
2.25.1
On 7/1/25 9:18 AM, Mukesh Kumar Savaliya wrote: > Add device tree bindings for the Qualcomm I3C controller. This includes > the necessary documentation and properties required to describe the > hardware in the device tree. > > Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com> > Reviewed-by: Rob Herring (Arm) <robh@kernel.org> > --- [...] > +properties: > + compatible: > + const: qcom,geni-i3c > + > + reg: > + maxItems: 1 In another patchset, you expanded 'reg', can you coalesce that change into here, so that we don't have to worry about backwards compat? Konrad
On 7/1/2025 12:48 PM, Mukesh Kumar Savaliya wrote: > Add device tree bindings for the Qualcomm I3C controller. This includes > the necessary documentation and properties required to describe the > hardware in the device tree. > > Signed-off-by: Mukesh Kumar Savaliya<mukesh.savaliya@oss.qualcomm.com> > Reviewed-by: Rob Herring (Arm)<robh@kernel.org> > --- > .../bindings/i3c/qcom,geni-i3c.yaml | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml > > diff --git a/Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml b/Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml > new file mode 100644 > index 000000000000..45022327aee7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml > @@ -0,0 +1,59 @@ > +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id:https://urldefense.com/v3/__http://devicetree.org/schemas/i3c/qcom,geni- > i3c.yaml*__;Iw!!ACWV5N9M2RV99hQ! > PBExY8d6MKcoXxa6GINMC0xaLabw8ZZ5entM7BVRBDg5TTn0wX4bOd- > BYUvy71WMSS1Yd5r1Fo9h40H4ug1cfxGkUxWZ0lw3TKY$ > +$schema:https://urldefense.com/v3/__http://devicetree.org/meta-schemas/ > core.yaml*__;Iw!!ACWV5N9M2RV99hQ! > PBExY8d6MKcoXxa6GINMC0xaLabw8ZZ5entM7BVRBDg5TTn0wX4bOd- > BYUvy71WMSS1Yd5r1Fo9h40H4ug1cfxGkUxWZDFlVARk$ > + > +title: Qualcomm Geni based QUP I3C Controller > + > +maintainers: > + - Mukesh Kumar Savaliya<mukesh.savaliya@oss.qualcomm.com> > + > +description: > + I3C in master mode supports up to 12.5MHz, SDR mode data transfer in mixed > + bus mode (I2C and I3C target devices on same i3c bus). It also supports > + hotjoin, IBI mechanism. Hot-join IBI (In-Band Interrupt) > + > + I3C Controller nodes must be child of GENI based Qualcomm Universal "nodes must be children" ? > + Peripharal. Please refer GENI based QUP wrapper controller node bindings > + described in Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.yaml. Thanks, Alok
On 01/07/2025 09:18, Mukesh Kumar Savaliya wrote: > Add device tree bindings for the Qualcomm I3C controller. This includes > the necessary documentation and properties required to describe the > hardware in the device tree. Last sentence is completely redundant. How would you add bindings without necessary documentation? Does it make any sense to add bindings without neccesary documentation and properties? No, it does not. Say something useful or keep it simple. And I reject patches created to meet KPIs/goals like amount of lines of patches (second pattern: other patch was for IPQ5424 where I asked to shorten and qualcomm kept it two lines...). > +maintainers: > + - Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com> > + > +description: > + I3C in master mode supports up to 12.5MHz, SDR mode data transfer in mixed > + bus mode (I2C and I3C target devices on same i3c bus). It also supports > + hotjoin, IBI mechanism. > + > + I3C Controller nodes must be child of GENI based Qualcomm Universal > + Peripharal. Please refer GENI based QUP wrapper controller node bindings > + described in Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.yaml. Your cover letter - or this changelog - should explain what is your plan in updating that one. Best regards, Krzysztof
On 01/07/2025 09:18, Mukesh Kumar Savaliya wrote: > Add device tree bindings for the Qualcomm I3C controller. This includes > the necessary documentation and properties required to describe the > hardware in the device tree. > > Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com> > Reviewed-by: Rob Herring (Arm) <robh@kernel.org> > --- > .../bindings/i3c/qcom,geni-i3c.yaml | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml > It's v6, you really should have started testing your changes by that time. :/ Nothing in the changelog explains the change made here, so you just sneaked something which did not work. Best regards, Krzysztof
On Tue, 01 Jul 2025 12:48:50 +0530, Mukesh Kumar Savaliya wrote: > Add device tree bindings for the Qualcomm I3C controller. This includes > the necessary documentation and properties required to describe the > hardware in the device tree. > > Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com> > Reviewed-by: Rob Herring (Arm) <robh@kernel.org> > --- > .../bindings/i3c/qcom,geni-i3c.yaml | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/i3c/qcom,geni-i3c.yaml > 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/i3c/qcom,geni-i3c.example.dtb: i3c@884000 (qcom,geni-i3c): Unevaluated properties are not allowed ('clock-names' was unexpected) from schema $id: http://devicetree.org/schemas/i3c/qcom,geni-i3c.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250701071852.2107800-2-mukesh.savaliya@oss.qualcomm.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.
© 2016 - 2025 Red Hat, Inc.