1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mailbox/qcom-ipcc.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm Technologies, Inc. Inter-Processor Communication Controller 8 9maintainers: 10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11 12description: 13 The Inter-Processor Communication Controller (IPCC) is a centralized hardware 14 to route interrupts across various subsystems. It involves a three-level 15 addressing scheme called protocol, client and signal. For example, consider an 16 entity on the Application Processor Subsystem (APSS) that wants to listen to 17 Modem's interrupts via Shared Memory Point to Point (SMP2P) interface. In such 18 a case, the client would be Modem (client-id is 2) and the signal would be 19 SMP2P (signal-id is 2). The SMP2P itself falls under the Multiprocessor (MPROC) 20 protocol (protocol-id is 0). Refer include/dt-bindings/mailbox/qcom-ipcc.h 21 for the list of such IDs. 22 23properties: 24 compatible: 25 items: 26 - enum: 27 - qcom,milos-ipcc 28 - qcom,qcs8300-ipcc 29 - qcom,qdu1000-ipcc 30 - qcom,sa8255p-ipcc 31 - qcom,sa8775p-ipcc 32 - qcom,sar2130p-ipcc 33 - qcom,sc7280-ipcc 34 - qcom,sc8280xp-ipcc 35 - qcom,sdx75-ipcc 36 - qcom,sm6350-ipcc 37 - qcom,sm6375-ipcc 38 - qcom,sm8250-ipcc 39 - qcom,sm8350-ipcc 40 - qcom,sm8450-ipcc 41 - qcom,sm8550-ipcc 42 - qcom,sm8650-ipcc 43 - qcom,sm8750-ipcc 44 - qcom,x1e80100-ipcc 45 - const: qcom,ipcc 46 47 reg: 48 maxItems: 1 49 50 interrupts: 51 maxItems: 1 52 53 interrupt-controller: true 54 55 "#interrupt-cells": 56 const: 3 57 description: 58 The first cell is the client-id, the second cell is the signal-id and the 59 third cell is the interrupt type. 60 61 "#mbox-cells": 62 const: 2 63 description: 64 The first cell is the client-id, and the second cell is the signal-id. 65 66required: 67 - compatible 68 - reg 69 - interrupts 70 - interrupt-controller 71 - "#interrupt-cells" 72 - "#mbox-cells" 73 74additionalProperties: false 75 76examples: 77 - | 78 #include <dt-bindings/interrupt-controller/arm-gic.h> 79 #include <dt-bindings/mailbox/qcom-ipcc.h> 80 81 mailbox@408000 { 82 compatible = "qcom,sm8250-ipcc", "qcom,ipcc"; 83 reg = <0x408000 0x1000>; 84 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>; 85 interrupt-controller; 86 #interrupt-cells = <3>; 87 #mbox-cells = <2>; 88 }; 89