| Qualcomm Always-On Subsystem side channel binding |
| |
| This binding describes the hardware component responsible for side channel |
| requests to the always-on subsystem (AOSS), used for certain power management |
| requests that is not handled by the standard RPMh interface. Each client in the |
| SoC has it's own block of message RAM and IRQ for communication with the AOSS. |
| The protocol used to communicate in the message RAM is known as Qualcomm |
| Messaging Protocol (QMP) |
| |
| The AOSS side channel exposes control over a set of resources, used to control |
| a set of debug related clocks and to affect the low power state of resources |
| related to the secondary subsystems. These resources are exposed as a set of |
| power-domains. |
| |
| - compatible: |
| Usage: required |
| Value type: <string> |
| Definition: must be one of: |
| "qcom,sc7180-aoss-qmp" |
| "qcom,sdm845-aoss-qmp" |
| "qcom,sm8150-aoss-qmp" |
| |
| - reg: |
| Usage: required |
| Value type: <prop-encoded-array> |
| Definition: the base address and size of the message RAM for this |
| client's communication with the AOSS |
| |
| - interrupts: |
| Usage: required |
| Value type: <prop-encoded-array> |
| Definition: should specify the AOSS message IRQ for this client |
| |
| - mboxes: |
| Usage: required |
| Value type: <prop-encoded-array> |
| Definition: reference to the mailbox representing the outgoing doorbell |
| in APCS for this client, as described in mailbox/mailbox.txt |
| |
| - #clock-cells: |
| Usage: optional |
| Value type: <u32> |
| Definition: must be 0 |
| The single clock represents the QDSS clock. |
| |
| - #power-domain-cells: |
| Usage: optional |
| Value type: <u32> |
| Definition: must be 1 |
| The provided power-domains are: |
| CDSP state (0), LPASS state (1), modem state (2), SLPI |
| state (3), SPSS state (4) and Venus state (5). |
| |
| = SUBNODES |
| The AOSS side channel also provides the controls for three cooling devices, |
| these are expressed as subnodes of the QMP node. The name of the node is used |
| to identify the resource and must therefor be "cx", "mx" or "ebi". |
| |
| - #cooling-cells: |
| Usage: optional |
| Value type: <u32> |
| Definition: must be 2 |
| |
| = EXAMPLE |
| |
| The following example represents the AOSS side-channel message RAM and the |
| mechanism exposing the power-domains, as found in SDM845. |
| |
| aoss_qmp: qmp@c300000 { |
| compatible = "qcom,sdm845-aoss-qmp"; |
| reg = <0x0c300000 0x100000>; |
| interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>; |
| mboxes = <&apss_shared 0>; |
| |
| #power-domain-cells = <1>; |
| |
| cx_cdev: cx { |
| #cooling-cells = <2>; |
| }; |
| |
| mx_cdev: mx { |
| #cooling-cells = <2>; |
| }; |
| }; |