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.Surequoted
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.Surequoted
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.yamldiff --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.yamlFilename 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-i3cNo 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-masterquoted
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: 1DropNot required ? I see other bindings are using it, so please confirm if i can remove this.quoted
quoted
+ maxItems: 2Drop and instead list and describe itemsOkay, i can remove maxItems if not mandatory. Taken cdns,i3c-master.yaml and added these.quoted
quoted
+ + clocks: + minItems: 1Look at other bindings. There is never code like this.cdns,i3c-master.yaml taken as reference.quoted
quoted
+ + clock-names: + items: + - const: se-clkDrop clock-namesSure, 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: 3As 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 addI 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