# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/soc/qcom/qcom,aoss-qmp.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm Always-On Subsystem side channel maintainers: - Bjorn Andersson description: 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 its 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. properties: compatible: items: - enum: - qcom,qdu1000-aoss-qmp - qcom,sa8775p-aoss-qmp - qcom,sc7180-aoss-qmp - qcom,sc7280-aoss-qmp - qcom,sc8180x-aoss-qmp - qcom,sc8280xp-aoss-qmp - qcom,sdm845-aoss-qmp - qcom,sm6350-aoss-qmp - qcom,sm8150-aoss-qmp - qcom,sm8250-aoss-qmp - qcom,sm8350-aoss-qmp - qcom,sm8450-aoss-qmp - qcom,sm8550-aoss-qmp - qcom,sm8650-aoss-qmp - qcom,x1e80100-aoss-qmp - const: qcom,aoss-qmp reg: maxItems: 1 description: The base address and size of the message RAM for this client's communication with the AOSS interrupts: maxItems: 1 description: Should specify the AOSS message IRQ for this client mboxes: maxItems: 1 description: Reference to the mailbox representing the outgoing doorbell in APCS for this client, as described in mailbox/mailbox.txt "#clock-cells": const: 0 description: The single clock represents the QDSS clock. required: - compatible - reg - interrupts - mboxes - "#clock-cells" additionalProperties: false patternProperties: "^(cx|mx|ebi)$": type: object description: 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 therefore be "cx", "mx" or "ebi". properties: "#cooling-cells": const: 2 required: - "#cooling-cells" additionalProperties: false examples: - | #include aoss_qmp: qmp@c300000 { compatible = "qcom,sdm845-aoss-qmp", "qcom,aoss-qmp"; reg = <0x0c300000 0x100000>; interrupts = ; mboxes = <&apss_shared 0>; #clock-cells = <0>; cx_cdev: cx { #cooling-cells = <2>; }; mx_cdev: mx { #cooling-cells = <2>; }; }; ...