| # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/mailbox/qcom-ipcc.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Qualcomm Technologies, Inc. Inter-Processor Communication Controller | |
| maintainers: | |
| - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> | |
| description: | |
| The Inter-Processor Communication Controller (IPCC) is a centralized hardware | |
| to route interrupts across various subsystems. It involves a three-level | |
| addressing scheme called protocol, client and signal. For example, consider an | |
| entity on the Application Processor Subsystem (APSS) that wants to listen to | |
| Modem's interrupts via Shared Memory Point to Point (SMP2P) interface. In such | |
| a case, the client would be Modem (client-id is 2) and the signal would be | |
| SMP2P (signal-id is 2). The SMP2P itself falls under the Multiprocessor (MPROC) | |
| protocol (protocol-id is 0). Refer include/dt-bindings/mailbox/qcom-ipcc.h | |
| for the list of such IDs. | |
| properties: | |
| compatible: | |
| items: | |
| - enum: | |
| - qcom,eliza-ipcc | |
| - qcom,glymur-ipcc | |
| - qcom,hawi-ipcc | |
| - qcom,kaanapali-ipcc | |
| - qcom,maili-ipcc | |
| - qcom,milos-ipcc | |
| - qcom,nord-ipcc | |
| - qcom,qcs8300-ipcc | |
| - qcom,qdu1000-ipcc | |
| - qcom,sa8255p-ipcc | |
| - qcom,sa8775p-ipcc | |
| - qcom,sar2130p-ipcc | |
| - qcom,sc7280-ipcc | |
| - qcom,sc8280xp-ipcc | |
| - qcom,sdx75-ipcc | |
| - qcom,sm6350-ipcc | |
| - qcom,sm6375-ipcc | |
| - qcom,sm8250-ipcc | |
| - qcom,sm8350-ipcc | |
| - qcom,sm8450-ipcc | |
| - qcom,sm8550-ipcc | |
| - qcom,sm8650-ipcc | |
| - qcom,sm8750-ipcc | |
| - qcom,x1e80100-ipcc | |
| - const: qcom,ipcc | |
| reg: | |
| maxItems: 1 | |
| interrupts: | |
| maxItems: 1 | |
| interrupt-controller: true | |
| "#interrupt-cells": | |
| const: 3 | |
| description: | |
| The first cell is the client-id, the second cell is the signal-id and the | |
| third cell is the interrupt type. | |
| "#mbox-cells": | |
| const: 2 | |
| description: | |
| The first cell is the client-id, and the second cell is the signal-id. | |
| required: | |
| - compatible | |
| - reg | |
| - interrupts | |
| - interrupt-controller | |
| - "#interrupt-cells" | |
| - "#mbox-cells" | |
| additionalProperties: false | |
| examples: | |
| - | | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> | |
| #include <dt-bindings/mailbox/qcom-ipcc.h> | |
| mailbox@408000 { | |
| compatible = "qcom,sm8250-ipcc", "qcom,ipcc"; | |
| reg = <0x408000 0x1000>; | |
| interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>; | |
| interrupt-controller; | |
| #interrupt-cells = <3>; | |
| #mbox-cells = <2>; | |
| }; |