Add new coresight-qmi.yaml file describing the bindings required
to define qmi node in the device trees.
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
---
.../bindings/arm/qcom,coresight-qmi.yaml | 65 +++++++++++++++++++
1 file changed, 65 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/qcom,coresight-qmi.yaml
diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-qmi.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-qmi.yaml
new file mode 100644
index 000000000000..601c865fe4d7
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/qcom,coresight-qmi.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/qcom,coresight-qmi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm coresight QMI(Qualcomm Messaging Interface) component
+
+description: |
+ Qualcomm Messaging Interface (QMI) is an interface that clients can
+ use to send, and receive, messages from a remote entity. The coresight
+ QMI component is to configure QMI instance ids and service ids for different
+ remote subsystem connections. Coresight QMI driver uses the ids to init
+ the qmi connections. Other coresight drivers call the send qmi request
+ function when connection is established.
+
+maintainers:
+ - Mao Jinlong <quic_jinlmao@quicinc.com>
+
+properties:
+ compatible:
+ enum:
+ - qcom,coresight-qmi
+
+patternProperties:
+ '^conns(-[0-9]+)?$':
+ type: object
+ description:
+ QMI instance id and service id for different remote subsystem connections.
+
+ properties:
+ qmi-id:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Instance id for the remote subsystem connection.
+
+ service-id:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Service id for the remote subsystem connection.
+
+ additionalProperties: false
+
+ required:
+ - qmi-id
+ - service-id
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ # Minimum coresight qmi definition.
+ - |
+ coresight-qmi {
+ compatible = "qcom,coresight-qmi";
+
+ conns-0 {
+ qmi-id = <0xd>;
+ service-id = <0x33>;
+ };
+ };
+
+...
--
2.25.1
Hi
On 24/04/2025 12:58, Mao Jinlong wrote:
> Add new coresight-qmi.yaml file describing the bindings required
> to define qmi node in the device trees.
>
> Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
Why does this have to do anything with coresight ? Surely coresight may
be using the QMI along with other subsystems. I don't see why this is
named as "coresight-qmi"
In my opinion, the QMI driver should be outside coresight driver
framework and whatever coresight component driver relies on it
could add the dependency.
Suzuki
> ---
> .../bindings/arm/qcom,coresight-qmi.yaml | 65 +++++++++++++++++++
> 1 file changed, 65 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/qcom,coresight-qmi.yaml
>
> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-qmi.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-qmi.yaml
> new file mode 100644
> index 000000000000..601c865fe4d7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-qmi.yaml
> @@ -0,0 +1,65 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/qcom,coresight-qmi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm coresight QMI(Qualcomm Messaging Interface) component
> +
> +description: |
> + Qualcomm Messaging Interface (QMI) is an interface that clients can
> + use to send, and receive, messages from a remote entity. The coresight
> + QMI component is to configure QMI instance ids and service ids for different
> + remote subsystem connections. Coresight QMI driver uses the ids to init
> + the qmi connections. Other coresight drivers call the send qmi request
> + function when connection is established.
> +
> +maintainers:
> + - Mao Jinlong <quic_jinlmao@quicinc.com>
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,coresight-qmi
> +
> +patternProperties:
> + '^conns(-[0-9]+)?$':
> + type: object
> + description:
> + QMI instance id and service id for different remote subsystem connections.
> +
> + properties:
> + qmi-id:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + Instance id for the remote subsystem connection.
> +
> + service-id:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + Service id for the remote subsystem connection.
> +
> + additionalProperties: false
> +
> + required:
> + - qmi-id
> + - service-id
> +
> +required:
> + - compatible
> +
> +additionalProperties: false
> +
> +examples:
> + # Minimum coresight qmi definition.
> + - |
> + coresight-qmi {
> + compatible = "qcom,coresight-qmi";
> +
> + conns-0 {
> + qmi-id = <0xd>;
> + service-id = <0x33>;
> + };
> + };
> +
> +...
On 4/24/25 1:58 PM, Mao Jinlong wrote: > Add new coresight-qmi.yaml file describing the bindings required > to define qmi node in the device trees. > > Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com> > --- Is the service-id hardcoded/well-known? If so, we can drop this devicetree node and create a new platform device (& probe the related driver) based on the presence of qcom,qmi-id that you add in patch 3 Konrad
On 2025/4/25 4:30, Konrad Dybcio wrote: > On 4/24/25 1:58 PM, Mao Jinlong wrote: >> Add new coresight-qmi.yaml file describing the bindings required >> to define qmi node in the device trees. >> >> Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com> >> --- > > Is the service-id hardcoded/well-known? If so, we can drop > this devicetree node and create a new platform device (& probe the > related driver) based on the presence of qcom,qmi-id that you add > in patch 3 > > Konrad service-id is not hardcoded. Different qmi connections will have different service ids. >
On 7/10/25 1:03 PM, Jinlong Mao wrote: > > > On 2025/4/25 4:30, Konrad Dybcio wrote: >> On 4/24/25 1:58 PM, Mao Jinlong wrote: >>> Add new coresight-qmi.yaml file describing the bindings required >>> to define qmi node in the device trees. >>> >>> Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com> >>> --- >> >> Is the service-id hardcoded/well-known? If so, we can drop >> this devicetree node and create a new platform device (& probe the >> related driver) based on the presence of qcom,qmi-id that you add >> in patch 3 >> >> Konrad > > service-id is not hardcoded. Different qmi connections will have > different service ids. FWIW the OSS qrtr-lookup utility only lists the one you included in the example.. I'm not saying this list is exhaustive, but I'd like you to provide a counter-example. https://github.com/linux-msm/qrtr/blob/master/src/lookup.c#L71 Konrad
© 2016 - 2026 Red Hat, Inc.