Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/soc/qcom/qcom,aoss-qmp.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Qualcomm Always-On Subsystem side channel binding
0008 
0009 maintainers:
0010   - Bjorn Andersson <bjorn.andersson@linaro.org>
0011 
0012 description:
0013   This binding describes the hardware component responsible for side channel
0014   requests to the always-on subsystem (AOSS), used for certain power management
0015   requests that is not handled by the standard RPMh interface. Each client in the
0016   SoC has its own block of message RAM and IRQ for communication with the AOSS.
0017   The protocol used to communicate in the message RAM is known as Qualcomm
0018   Messaging Protocol (QMP)
0019 
0020   The AOSS side channel exposes control over a set of resources, used to control
0021   a set of debug related clocks and to affect the low power state of resources
0022   related to the secondary subsystems.
0023 
0024 properties:
0025   compatible:
0026     items:
0027       - enum:
0028           - qcom,sc7180-aoss-qmp
0029           - qcom,sc7280-aoss-qmp
0030           - qcom,sc8180x-aoss-qmp
0031           - qcom,sdm845-aoss-qmp
0032           - qcom,sm6350-aoss-qmp
0033           - qcom,sm8150-aoss-qmp
0034           - qcom,sm8250-aoss-qmp
0035           - qcom,sm8350-aoss-qmp
0036           - qcom,sm8450-aoss-qmp
0037       - const: qcom,aoss-qmp
0038 
0039   reg:
0040     maxItems: 1
0041     description:
0042       The base address and size of the message RAM for this client's
0043       communication with the AOSS
0044 
0045   interrupts:
0046     maxItems: 1
0047     description:
0048       Should specify the AOSS message IRQ for this client
0049 
0050   mboxes:
0051     maxItems: 1
0052     description:
0053       Reference to the mailbox representing the outgoing doorbell in APCS for
0054       this client, as described in mailbox/mailbox.txt
0055 
0056   "#clock-cells":
0057     const: 0
0058     description:
0059       The single clock represents the QDSS clock.
0060 
0061 required:
0062   - compatible
0063   - reg
0064   - interrupts
0065   - mboxes
0066   - "#clock-cells"
0067 
0068 additionalProperties: false
0069 
0070 patternProperties:
0071   "^(cx|mx|ebi)$":
0072     type: object
0073     description:
0074       The AOSS side channel also provides the controls for three cooling devices,
0075       these are expressed as subnodes of the QMP node. The name of the node is
0076       used to identify the resource and must therefor be "cx", "mx" or "ebi".
0077 
0078     properties:
0079       "#cooling-cells":
0080         const: 2
0081 
0082     required:
0083       - "#cooling-cells"
0084 
0085     additionalProperties: false
0086 
0087 examples:
0088   - |
0089     #include <dt-bindings/interrupt-controller/arm-gic.h>
0090 
0091     aoss_qmp: qmp@c300000 {
0092       compatible = "qcom,sdm845-aoss-qmp", "qcom,aoss-qmp";
0093       reg = <0x0c300000 0x100000>;
0094       interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>;
0095       mboxes = <&apss_shared 0>;
0096 
0097       #clock-cells = <0>;
0098 
0099       cx_cdev: cx {
0100         #cooling-cells = <2>;
0101       };
0102 
0103       mx_cdev: mx {
0104         #cooling-cells = <2>;
0105       };
0106     };
0107 ...