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