Hi Krzysztof, Thanks !Wanted to check if below way is fine ? Because some of the ask to drop constraints are already present in other i3c yaml files.
On 2/5/2025 8:12 PM, Krzysztof Kozlowski wrote:
On 05/02/2025 15:31, Mukesh Kumar Savaliya wrote:Sure
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.
See also:Sure
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.
Changed compatible to "qcom,i3c-master"
Signed-off-by: Mukesh Kumar Savaliya <quic_msavaliy@xxxxxxxxxxx>
---
.../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.
I think i should remove const. kept it for now as no other compatible to be added as of now.@@ -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@xxxxxxxxxxx>
+
+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.
let me remove const.
SoC name is not required, as this compatible is generic to all the SOCs.
Not required ? I see other bindings are using it, so please confirm if i can remove this.+
+ reg:
+ minItems: 1
Drop
Okay, i can remove maxItems if not mandatory. Taken cdns,i3c-master.yaml and added these.+ maxItems: 2
Drop and instead list and describe items
cdns,i3c-master.yaml taken as reference.
+
+ clocks:
+ minItems: 1
Look at other bindings. There is never code like this.
Sure, took reference from cdns,i3c-master.yaml.+
+ clock-names:
+ items:
+ - const: se-clk
Drop clock-names
No, i see this property many places. Do you mean to say interrupts- extended can be there in examples but not only add "interrupts" property here ?
+
+ interrupts-extended:
+ minItems: 1
+ maxItems: 3
As well - there is never an interrupts-extended property. Just interrupts.
e.g timer/riscv,timer.yaml +41 lists it in yaml also.
Also drop constraints and list items.I will remove minItems and MaxItems, will list Items with description.
Best regards,
Krzysztof