On Mon, Feb 10, 2025 at 09:42:03PM +0530, Mukesh Kumar Savaliya wrote:Agree, it may change. So can i go with "qcom, i3c-master" now instead of going SOC specific name ? The current i2c and spi qcom drivers are also using "qcom, geno-proto".
Thanks Krzysztof !
On 2/9/2025 5:15 PM, Krzysztof Kozlowski wrote:
On 06/02/2025 14:43, Mukesh Kumar Savaliya wrote:Sure. I reviewed other files and seems i should write as below. Please help
Hi Krzysztof, Thanks !
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@@ -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.
be added as of now.
let me remove const.
No, it does not matter. Keep const.
confirm.
compatible:
items:
- enum:
- qcom,sm8550-i3c-master
- const: qcom,i3c-master
No, that's even worse. I doubt there is some universal, never changing
QCom I3C master.
Yes, was trying to follow same like geni based i2c, spi.Sorry, i am not saying there won't be any other compatible but i was saying
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).
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.
AIUI, "geni" is some firmware based multi-protocol serial i/o controller
and we already have other "geni" bindings. So really, it's probably more
coupled to firmware versions than SoC versions. If we haven't had
problems with per SoC quirks with the other geni bindings, then I think
using the same "geni" here is fine. But we won't be happy if we start
seeing per SoC quirk properties.
Rob