blob: c2712d69a59a9647ef269d836ef333592e6397e9 [file] [log] [blame]
i.MX RPMSG platform implementations
Required properties:
- compatible : "fsl,imx7d-rpmsg", "fsl,imx6sx-rpmsg".
"fsl,rpmsg-bus", "simple-bus", "fsl,imx8qxp-rpmsg".
"fsl,imx8qm-rpmsg".
- vdev-nums : The number of the remote virtual devices.
- reg : The reserved DDR phisical memory used to store
vring descriptors.
- multi-core-id: The id number of the remote processors.
And it is optional for the legacy platforms, since they
only have one remote processors.
- mub-partition: The partition ID of muB side, that's optional
and used on i.mx8qm/8qxp for partition reset. The default
value is 3 in driver without this property.
=====================================================================
message unit module for RPMSG
- mu_rpmsg : The message unit module used to do the communications
between the asymmetric cores.
- compatible : "fsl,imx8mq-mu", "fsl,imx6sx-mu", "fsl,imx-mu-rpmsg1".
Different mu module would be used by the different remote processor.
The "fsl, imx6sx-mu" is used by the first remote processor.
The "fsl,imx-mu-rpmsg1" is used by the second remote process.
- reg : Should contain MU registers location and length.
- interrupts : interrupt mapping for RPMSG MU IRQ
- interrupt-parent : A single value that points to the interrupt
parent to which the child domain is being mapped.
Value must be "&intmux_cm40" or "&intmux_cm41"
Example:
rpmsg: rpmsg{
compatible = "fsl,imx6sx-rpmsg";
status = "disabled";
};
&rpmsg{
vdev-nums = <1>;
reg = <0xbfff0000 0x10000>;
status = "okay";
};
imx_rpmsg: imx_rpmsg {
compatible = "fsl,rpmsg-bus", "simple-bus";
#address-cells = <2>;
#size-cells = <2>;
ranges;
mu_rpmsg: mu_rpmsg@37440000 {
compatible = "fsl,imx6sx-mu";
reg = <0x0 0x37440000 0x0 0x10000>;
interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&intmux_cm40>;
status = "okay";
};
rpmsg: rpmsg{
compatible = "fsl,imx8qxp-rpmsg";
status = "disabled";
};
};