Thread (26 messages) 26 messages, 5 authors, 2025-02-12

Re: [PATCH v1 1/3] dt-bindings: i3c: Add Qualcomm I3C master controller bindings

From: Mukesh Kumar Savaliya <hidden>
Date: 2025-02-10 16:12:15
Also in: linux-arm-msm, linux-i3c, lkml

Thanks Krzysztof !

On 2/9/2025 5:15 PM, Krzysztof Kozlowski wrote:
On 06/02/2025 14:43, Mukesh Kumar Savaliya wrote:
quoted
Hi Krzysztof,  Thanks !

On 2/5/2025 8:12 PM, Krzysztof Kozlowski wrote:
quoted
On 05/02/2025 15:31, Mukesh Kumar Savaliya wrote:
quoted
Add device tree bindings for the Qualcomm I3C master controller. This
includes the necessary documentation and properties required to describe
the hardware in the device tree.
A nit, subject: drop second/last, redundant "bindings". The
"dt-bindings" prefix is already stating that these are bindings.
Sure
quoted
See also:
https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18

Use modern terminology, which means:
s/master/whatever else or even nothing/
See other recent bindings and discussions.
Sure
quoted
quoted
Signed-off-by: Mukesh Kumar Savaliya <redacted>
---
   .../bindings/i3c/qcom,i3c-master.yaml         | 57 +++++++++++++++++++
   1 file changed, 57 insertions(+)
   create mode 100644 Documentation/devicetree/bindings/i3c/qcom,i3c-master.yaml
diff --git a/Documentation/devicetree/bindings/i3c/qcom,i3c-master.yaml b/Documentation/devicetree/bindings/i3c/qcom,i3c-master.yaml
new file mode 100644
index 000000000000..ad63ea779fd6
--- /dev/null
+++ b/Documentation/devicetree/bindings/i3c/qcom,i3c-master.yaml
Filename matching compatible.
Changed compatible to "qcom,i3c-master"
quoted
quoted
@@ -0,0 +1,57 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i3c/qcom,i3c-master.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm I3C master controller
+
+maintainers:
+  - Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>
+
+allOf:
+  - $ref: i3c.yaml#
+
+properties:
+  compatible:
+    const: qcom,geni-i3c
No SoC? So to be sure: you claim all future SoCs will be using exactly
the same interface. No new compatibles, no new properties will be added.
I think i should remove const. kept it for now as no other compatible to
be added as of now.

let me remove const.
No, it does not matter. Keep const.
Sure. I reviewed other files and seems i should write as below. Please 
help confirm.

   compatible:
     items:
       - enum:
           - qcom,sm8550-i3c-master
       - const: qcom,i3c-master
quoted
SoC name is not required, as this compatible is generic to all the SOCs.
That's the statement you make. I accept it. I will bookmark this thread
and use it whenever you try to add any future property here (to be
clear: you agree you will not add new properties to fulfill *FUTURE* SoC
differences).
Sorry, i am not saying there won't be any other compatible but i was 
saying base driver will use "qcom,i3c-master".
After checking other files i realized there can be const compatible but 
other SOC specific can be added as enum.  Hope above given way is fine.

quoted
quoted
quoted
+
+  reg:
+    minItems: 1
Drop
Not required ? I see other bindings are using it, so please confirm if i
can remove this.
quoted
quoted
+    maxItems: 2
Drop and instead list and describe items
Okay, i can remove maxItems if not mandatory. Taken cdns,i3c-master.yaml
and added these.
quoted
quoted
+
+  clocks:
+    minItems: 1
Look at other bindings. There is never code like this.
cdns,i3c-master.yaml taken as reference.
quoted
quoted
+
+  clock-names:
+    items:
+      - const: se-clk
Drop clock-names
Sure, took reference from cdns,i3c-master.yaml.
quoted
To confirm, i should drop complete clock-names and items too right ?
quoted
quoted
quoted
+
+  interrupts-extended:
+    minItems: 1
+    maxItems: 3
As well - there is never an interrupts-extended property. Just interrupts.
No, i see this property many places. Do you mean to say
interrupts-extended  can be there in examples but not only add
I already wrote what you should do:

"Just interrupts."
Sure, Changed interrupts-extended to interrupts. Done.
quoted
"interrupts" property here ?
e.g timer/riscv,timer.yaml +41 lists it in yaml also.

Please do not take one file and create coding style out of it, but
instead look what ~2300 other YAML files do.
I tried to look other many files including i2c and added. Please review 
latest or correct me before v2.
Best regards,
Krzysztof
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help