xref: /freebsd-src/sys/contrib/device-tree/Bindings/soc/qcom/qcom,aoss-qmp.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2354d7675SEmmanuel Vadot%YAML 1.2
3354d7675SEmmanuel Vadot---
4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/soc/qcom/qcom,aoss-qmp.yaml#
5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6354d7675SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm Always-On Subsystem side channel
8354d7675SEmmanuel Vadot
9354d7675SEmmanuel Vadotmaintainers:
10354d7675SEmmanuel Vadot  - Bjorn Andersson <bjorn.andersson@linaro.org>
11354d7675SEmmanuel Vadot
12354d7675SEmmanuel Vadotdescription:
13354d7675SEmmanuel Vadot  This binding describes the hardware component responsible for side channel
14354d7675SEmmanuel Vadot  requests to the always-on subsystem (AOSS), used for certain power management
15354d7675SEmmanuel Vadot  requests that is not handled by the standard RPMh interface. Each client in the
16b97ee269SEmmanuel Vadot  SoC has its own block of message RAM and IRQ for communication with the AOSS.
17354d7675SEmmanuel Vadot  The protocol used to communicate in the message RAM is known as Qualcomm
18354d7675SEmmanuel Vadot  Messaging Protocol (QMP)
19354d7675SEmmanuel Vadot
20354d7675SEmmanuel Vadot  The AOSS side channel exposes control over a set of resources, used to control
21354d7675SEmmanuel Vadot  a set of debug related clocks and to affect the low power state of resources
228cc087a1SEmmanuel Vadot  related to the secondary subsystems.
23354d7675SEmmanuel Vadot
24354d7675SEmmanuel Vadotproperties:
25354d7675SEmmanuel Vadot  compatible:
26354d7675SEmmanuel Vadot    items:
27354d7675SEmmanuel Vadot      - enum:
28fac71e4eSEmmanuel Vadot          - qcom,qdu1000-aoss-qmp
29f126890aSEmmanuel Vadot          - qcom,sa8775p-aoss-qmp
30354d7675SEmmanuel Vadot          - qcom,sc7180-aoss-qmp
31354d7675SEmmanuel Vadot          - qcom,sc7280-aoss-qmp
32354d7675SEmmanuel Vadot          - qcom,sc8180x-aoss-qmp
338bab661aSEmmanuel Vadot          - qcom,sc8280xp-aoss-qmp
34*0e8011faSEmmanuel Vadot          - qcom,sdx75-aoss-qmp
35354d7675SEmmanuel Vadot          - qcom,sdm845-aoss-qmp
368cc087a1SEmmanuel Vadot          - qcom,sm6350-aoss-qmp
37354d7675SEmmanuel Vadot          - qcom,sm8150-aoss-qmp
38354d7675SEmmanuel Vadot          - qcom,sm8250-aoss-qmp
39354d7675SEmmanuel Vadot          - qcom,sm8350-aoss-qmp
40b97ee269SEmmanuel Vadot          - qcom,sm8450-aoss-qmp
418bab661aSEmmanuel Vadot          - qcom,sm8550-aoss-qmp
428d13bc63SEmmanuel Vadot          - qcom,sm8650-aoss-qmp
438d13bc63SEmmanuel Vadot          - qcom,x1e80100-aoss-qmp
44354d7675SEmmanuel Vadot      - const: qcom,aoss-qmp
45354d7675SEmmanuel Vadot
46354d7675SEmmanuel Vadot  reg:
47354d7675SEmmanuel Vadot    maxItems: 1
48354d7675SEmmanuel Vadot    description:
49354d7675SEmmanuel Vadot      The base address and size of the message RAM for this client's
50354d7675SEmmanuel Vadot      communication with the AOSS
51354d7675SEmmanuel Vadot
52354d7675SEmmanuel Vadot  interrupts:
53354d7675SEmmanuel Vadot    maxItems: 1
54354d7675SEmmanuel Vadot    description:
55354d7675SEmmanuel Vadot      Should specify the AOSS message IRQ for this client
56354d7675SEmmanuel Vadot
57354d7675SEmmanuel Vadot  mboxes:
58354d7675SEmmanuel Vadot    maxItems: 1
59354d7675SEmmanuel Vadot    description:
60354d7675SEmmanuel Vadot      Reference to the mailbox representing the outgoing doorbell in APCS for
61354d7675SEmmanuel Vadot      this client, as described in mailbox/mailbox.txt
62354d7675SEmmanuel Vadot
63354d7675SEmmanuel Vadot  "#clock-cells":
64354d7675SEmmanuel Vadot    const: 0
65354d7675SEmmanuel Vadot    description:
66354d7675SEmmanuel Vadot      The single clock represents the QDSS clock.
67354d7675SEmmanuel Vadot
68354d7675SEmmanuel Vadotrequired:
69354d7675SEmmanuel Vadot  - compatible
70354d7675SEmmanuel Vadot  - reg
71354d7675SEmmanuel Vadot  - interrupts
72354d7675SEmmanuel Vadot  - mboxes
73354d7675SEmmanuel Vadot  - "#clock-cells"
74354d7675SEmmanuel Vadot
75354d7675SEmmanuel VadotadditionalProperties: false
76354d7675SEmmanuel Vadot
77354d7675SEmmanuel VadotpatternProperties:
78354d7675SEmmanuel Vadot  "^(cx|mx|ebi)$":
79354d7675SEmmanuel Vadot    type: object
80354d7675SEmmanuel Vadot    description:
81354d7675SEmmanuel Vadot      The AOSS side channel also provides the controls for three cooling devices,
82354d7675SEmmanuel Vadot      these are expressed as subnodes of the QMP node. The name of the node is
83aa1a8ff2SEmmanuel Vadot      used to identify the resource and must therefore be "cx", "mx" or "ebi".
84354d7675SEmmanuel Vadot
85354d7675SEmmanuel Vadot    properties:
86354d7675SEmmanuel Vadot      "#cooling-cells":
87354d7675SEmmanuel Vadot        const: 2
88354d7675SEmmanuel Vadot
89354d7675SEmmanuel Vadot    required:
90354d7675SEmmanuel Vadot      - "#cooling-cells"
91354d7675SEmmanuel Vadot
92354d7675SEmmanuel Vadot    additionalProperties: false
93354d7675SEmmanuel Vadot
94354d7675SEmmanuel Vadotexamples:
95354d7675SEmmanuel Vadot  - |
96354d7675SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
97354d7675SEmmanuel Vadot
98354d7675SEmmanuel Vadot    aoss_qmp: qmp@c300000 {
99354d7675SEmmanuel Vadot      compatible = "qcom,sdm845-aoss-qmp", "qcom,aoss-qmp";
100354d7675SEmmanuel Vadot      reg = <0x0c300000 0x100000>;
101354d7675SEmmanuel Vadot      interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>;
102354d7675SEmmanuel Vadot      mboxes = <&apss_shared 0>;
103354d7675SEmmanuel Vadot
104354d7675SEmmanuel Vadot      #clock-cells = <0>;
105354d7675SEmmanuel Vadot
106354d7675SEmmanuel Vadot      cx_cdev: cx {
107354d7675SEmmanuel Vadot        #cooling-cells = <2>;
108354d7675SEmmanuel Vadot      };
109354d7675SEmmanuel Vadot
110354d7675SEmmanuel Vadot      mx_cdev: mx {
111354d7675SEmmanuel Vadot        #cooling-cells = <2>;
112354d7675SEmmanuel Vadot      };
113354d7675SEmmanuel Vadot    };
114354d7675SEmmanuel Vadot...
115