Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mailbox/qcom-ipcc.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Qualcomm Technologies, Inc. Inter-Processor Communication Controller
0008 
0009 maintainers:
0010   - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
0011 
0012 description:
0013   The Inter-Processor Communication Controller (IPCC) is a centralized hardware
0014   to route interrupts across various subsystems. It involves a three-level
0015   addressing scheme called protocol, client and signal. For example, consider an
0016   entity on the Application Processor Subsystem (APSS) that wants to listen to
0017   Modem's interrupts via Shared Memory Point to Point (SMP2P) interface. In such
0018   a case, the client would be Modem (client-id is 2) and the signal would be
0019   SMP2P (signal-id is 2). The SMP2P itself falls under the Multiprocessor (MPROC)
0020   protocol (protocol-id is 0). Refer include/dt-bindings/mailbox/qcom-ipcc.h
0021   for the list of such IDs.
0022 
0023 properties:
0024   compatible:
0025     items:
0026       - enum:
0027           - qcom,sm6350-ipcc
0028           - qcom,sm6375-ipcc
0029           - qcom,sm8250-ipcc
0030           - qcom,sm8350-ipcc
0031           - qcom,sm8450-ipcc
0032           - qcom,sc7280-ipcc
0033       - const: qcom,ipcc
0034 
0035   reg:
0036     maxItems: 1
0037 
0038   interrupts:
0039     maxItems: 1
0040 
0041   interrupt-controller: true
0042 
0043   "#interrupt-cells":
0044     const: 3
0045     description:
0046       The first cell is the client-id, the second cell is the signal-id and the
0047       third cell is the interrupt type.
0048 
0049   "#mbox-cells":
0050     const: 2
0051     description:
0052       The first cell is the client-id, and the second cell is the signal-id.
0053 
0054 required:
0055   - compatible
0056   - reg
0057   - interrupts
0058   - interrupt-controller
0059   - "#interrupt-cells"
0060   - "#mbox-cells"
0061 
0062 additionalProperties: false
0063 
0064 examples:
0065   - |
0066     #include <dt-bindings/interrupt-controller/arm-gic.h>
0067     #include <dt-bindings/mailbox/qcom-ipcc.h>
0068 
0069     mailbox@408000 {
0070         compatible = "qcom,sm8250-ipcc", "qcom,ipcc";
0071         reg = <0x408000 0x1000>;
0072         interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
0073         interrupt-controller;
0074         #interrupt-cells = <3>;
0075         #mbox-cells = <2>;
0076     };