18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mailbox/qcom-ipcc.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Qualcomm Technologies, Inc. Inter-Processor Communication Controller 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: 138c2ecf20Sopenharmony_ci The Inter-Processor Communication Controller (IPCC) is a centralized hardware 148c2ecf20Sopenharmony_ci to route interrupts across various subsystems. It involves a three-level 158c2ecf20Sopenharmony_ci addressing scheme called protocol, client and signal. For example, consider an 168c2ecf20Sopenharmony_ci entity on the Application Processor Subsystem (APSS) that wants to listen to 178c2ecf20Sopenharmony_ci Modem's interrupts via Shared Memory Point to Point (SMP2P) interface. In such 188c2ecf20Sopenharmony_ci a case, the client would be Modem (client-id is 2) and the signal would be 198c2ecf20Sopenharmony_ci SMP2P (signal-id is 2). The SMP2P itself falls under the Multiprocessor (MPROC) 208c2ecf20Sopenharmony_ci protocol (protocol-id is 0). Refer include/dt-bindings/mailbox/qcom-ipcc.h 218c2ecf20Sopenharmony_ci for the list of such IDs. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciproperties: 248c2ecf20Sopenharmony_ci compatible: 258c2ecf20Sopenharmony_ci items: 268c2ecf20Sopenharmony_ci - enum: 278c2ecf20Sopenharmony_ci - qcom,sm8250-ipcc 288c2ecf20Sopenharmony_ci - const: qcom,ipcc 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci reg: 318c2ecf20Sopenharmony_ci maxItems: 1 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci interrupts: 348c2ecf20Sopenharmony_ci maxItems: 1 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci interrupt-controller: true 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci "#interrupt-cells": 398c2ecf20Sopenharmony_ci const: 3 408c2ecf20Sopenharmony_ci description: 418c2ecf20Sopenharmony_ci The first cell is the client-id, the second cell is the signal-id and the 428c2ecf20Sopenharmony_ci third cell is the interrupt type. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci "#mbox-cells": 458c2ecf20Sopenharmony_ci const: 2 468c2ecf20Sopenharmony_ci description: 478c2ecf20Sopenharmony_ci The first cell is the client-id, and the second cell is the signal-id. 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_cirequired: 508c2ecf20Sopenharmony_ci - compatible 518c2ecf20Sopenharmony_ci - reg 528c2ecf20Sopenharmony_ci - interrupts 538c2ecf20Sopenharmony_ci - interrupt-controller 548c2ecf20Sopenharmony_ci - "#interrupt-cells" 558c2ecf20Sopenharmony_ci - "#mbox-cells" 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ciadditionalProperties: false 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciexamples: 608c2ecf20Sopenharmony_ci - | 618c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 628c2ecf20Sopenharmony_ci #include <dt-bindings/mailbox/qcom-ipcc.h> 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci mailbox@408000 { 658c2ecf20Sopenharmony_ci compatible = "qcom,sm8250-ipcc", "qcom,ipcc"; 668c2ecf20Sopenharmony_ci reg = <0x408000 0x1000>; 678c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>; 688c2ecf20Sopenharmony_ci interrupt-controller; 698c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 708c2ecf20Sopenharmony_ci #mbox-cells = <2>; 718c2ecf20Sopenharmony_ci }; 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci smp2p-modem { 748c2ecf20Sopenharmony_ci compatible = "qcom,smp2p"; 758c2ecf20Sopenharmony_ci interrupts-extended = <&ipcc_mproc IPCC_CLIENT_MPSS 768c2ecf20Sopenharmony_ci IPCC_MPROC_SIGNAL_SMP2P IRQ_TYPE_EDGE_RISING>; 778c2ecf20Sopenharmony_ci mboxes = <&ipcc_mproc IPCC_CLIENT_MPSS IPCC_MPROC_SIGNAL_SMP2P>; 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci /* Other SMP2P fields */ 808c2ecf20Sopenharmony_ci }; 81