18c2ecf20Sopenharmony_ci
28c2ecf20Sopenharmony_ci* Marvell ODMI for MSI support
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciSome Marvell SoCs have an On-Die Message Interrupt (ODMI) controller
58c2ecf20Sopenharmony_ciwhich can be used by on-board peripheral for MSI interrupts.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciRequired properties:
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci- compatible           : The value here should contain:
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci    "marvell,ap806-odmi-controller", "marvell,odmi-controller".
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci- interrupt,controller : Identifies the node as an interrupt controller.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci- msi-controller       : Identifies the node as an MSI controller.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci- marvell,odmi-frames  : Number of ODMI frames available. Each frame
188c2ecf20Sopenharmony_ci                         provides a number of events.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci- reg                  : List of register definitions, one for each
218c2ecf20Sopenharmony_ci                         ODMI frame.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci- marvell,spi-base     : List of GIC base SPI interrupts, one for each
248c2ecf20Sopenharmony_ci                         ODMI frame. Those SPI interrupts are 0-based,
258c2ecf20Sopenharmony_ci                         i.e marvell,spi-base = <128> will use SPI #96.
268c2ecf20Sopenharmony_ci                         See Documentation/devicetree/bindings/interrupt-controller/arm,gic.yaml
278c2ecf20Sopenharmony_ci                         for details about the GIC Device Tree binding.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciExample:
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	odmi: odmi@300000 {
328c2ecf20Sopenharmony_ci		compatible = "marvell,ap806-odmi-controller",
338c2ecf20Sopenharmony_ci			     "marvell,odmi-controller";
348c2ecf20Sopenharmony_ci		interrupt-controller;
358c2ecf20Sopenharmony_ci		msi-controller;
368c2ecf20Sopenharmony_ci		marvell,odmi-frames = <4>;
378c2ecf20Sopenharmony_ci		reg = <0x300000 0x4000>,
388c2ecf20Sopenharmony_ci		      <0x304000 0x4000>,
398c2ecf20Sopenharmony_ci		      <0x308000 0x4000>,
408c2ecf20Sopenharmony_ci		      <0x30C000 0x4000>;
418c2ecf20Sopenharmony_ci		marvell,spi-base = <128>, <136>, <144>, <152>;
428c2ecf20Sopenharmony_ci	};
43