~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/interrupt-controller/fsl,mu-msi.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/interrupt-controller/fsl,mu-msi.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Freescale/NXP i.MX Messaging Unit (MU) work as msi controller
  8 
  9 maintainers:
 10   - Frank Li <Frank.Li@nxp.com>
 11 
 12 description: |
 13   The Messaging Unit module enables two processors within the SoC to
 14   communicate and coordinate by passing messages (e.g. data, status
 15   and control) through the MU interface. The MU also provides the ability
 16   for one processor (A side) to signal the other processor (B side) using
 17   interrupts.
 18 
 19   Because the MU manages the messaging between processors, the MU uses
 20   different clocks (from each side of the different peripheral buses).
 21   Therefore, the MU must synchronize the accesses from one side to the
 22   other. The MU accomplishes synchronization using two sets of matching
 23   registers (Processor A-side, Processor B-side).
 24 
 25   MU can work as msi interrupt controller to do doorbell
 26 
 27 allOf:
 28   - $ref: /schemas/interrupt-controller/msi-controller.yaml#
 29 
 30 properties:
 31   compatible:
 32     enum:
 33       - fsl,imx6sx-mu-msi
 34       - fsl,imx7ulp-mu-msi
 35       - fsl,imx8ulp-mu-msi
 36       - fsl,imx8ulp-mu-msi-s4
 37 
 38   reg:
 39     items:
 40       - description: a side register base address
 41       - description: b side register base address
 42 
 43   reg-names:
 44     items:
 45       - const: processor-a-side
 46       - const: processor-b-side
 47 
 48   interrupts:
 49     description: a side interrupt number.
 50     maxItems: 1
 51 
 52   clocks:
 53     maxItems: 1
 54 
 55   power-domains:
 56     items:
 57       - description: a side power domain
 58       - description: b side power domain
 59 
 60   power-domain-names:
 61     items:
 62       - const: processor-a-side
 63       - const: processor-b-side
 64 
 65   interrupt-controller: true
 66 
 67   msi-controller: true
 68 
 69   "#msi-cells":
 70     const: 0
 71 
 72 required:
 73   - compatible
 74   - reg
 75   - interrupts
 76   - interrupt-controller
 77   - msi-controller
 78   - "#msi-cells"
 79 
 80 additionalProperties: false
 81 
 82 examples:
 83   - |
 84     #include <dt-bindings/interrupt-controller/arm-gic.h>
 85     #include <dt-bindings/firmware/imx/rsrc.h>
 86 
 87     msi-controller@5d270000 {
 88         compatible = "fsl,imx6sx-mu-msi";
 89         msi-controller;
 90         #msi-cells = <0>;
 91         interrupt-controller;
 92         reg = <0x5d270000 0x10000>,     /* A side */
 93               <0x5d300000 0x10000>;     /* B side */
 94         reg-names = "processor-a-side", "processor-b-side";
 95         interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
 96         power-domains = <&pd IMX_SC_R_MU_12A>,
 97                         <&pd IMX_SC_R_MU_12B>;
 98         power-domain-names = "processor-a-side", "processor-b-side";
 99     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php