Message ID | 1613611500-12414-3-git-send-email-peng.fan@oss.nxp.com |
---|---|
State | New |
Headers | show |
Series | remoteproc: imx_rproc: support iMX8MQ/M | expand |
On Thu, Feb 18, 2021 at 09:24:52AM +0800, peng.fan@oss.nxp.com wrote: > From: Peng Fan <peng.fan@nxp.com> > > Add i.MX8MQ/M support, also include mailbox for rpmsg/virtio usage. > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > .../bindings/remoteproc/fsl,imx-rproc.yaml | 51 ++++++++++++++++++- > 1 file changed, 50 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > index 54d2456530a6..52c8e523506d 100644 > --- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > @@ -4,7 +4,7 @@ > $id: "http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml#" > $schema: "http://devicetree.org/meta-schemas/core.yaml#" > > -title: NXP iMX6SX/iMX7D Co-Processor Bindings > +title: NXP i.MX Co-Processor Bindings > > description: > This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs. > @@ -15,6 +15,8 @@ maintainers: > properties: > compatible: > enum: > + - fsl,imx8mq-cm4 > + - fsl,imx8mm-cm4 > - fsl,imx7d-cm4 > - fsl,imx6sx-cm4 > > @@ -26,6 +28,20 @@ properties: > description: > Phandle to syscon block which provide access to System Reset Controller > > + mbox-names: > + items: > + - const: tx > + - const: rx > + - const: rxdb > + > + mboxes: > + description: > + This property is required only if the rpmsg/virtio functionality is used. > + List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB. > + (see mailbox/fsl,mu.yaml) > + minItems: 1 > + maxItems: 3 > + > memory-region: > description: > If present, a phandle for a reserved memory area that used for vdev buffer, > @@ -58,4 +74,37 @@ examples: > clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>; > }; > > + - | > + #include <dt-bindings/clock/imx8mm-clock.h> > + rsc_table: rsc_table@550ff000 { > + no-map; > + reg = <0x550ff000 0x1000>; > + }; > + > + vdev0vring0: vdev0vring0@55000000 { > + no-map; > + reg = <0x55000000 0x8000>; > + }; > + > + vdev0vring1: vdev0vring1@55008000 { > + reg = <0x55008000 0x8000>; > + no-map; > + }; > + > + vdev0buffer: vdev0buffer@55400000 { > + compatible = "shared-dma-pool"; > + reg = <0x55400000 0x100000>; > + no-map; > + }; These all go in /reserved-memory, right? Best to omit them from the example. > + > + imx8mm-cm4 { > + compatible = "fsl,imx8mm-cm4"; > + clocks = <&clk IMX8MM_CLK_M4_DIV>; > + mbox-names = "tx", "rx", "rxdb"; > + mboxes = <&mu 0 1 > + &mu 1 1 > + &mu 3 1>; > + memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>; > + syscon = <&src>; > + }; > ... > -- > 2.30.0 >
diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml index 54d2456530a6..52c8e523506d 100644 --- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml @@ -4,7 +4,7 @@ $id: "http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml#" $schema: "http://devicetree.org/meta-schemas/core.yaml#" -title: NXP iMX6SX/iMX7D Co-Processor Bindings +title: NXP i.MX Co-Processor Bindings description: This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs. @@ -15,6 +15,8 @@ maintainers: properties: compatible: enum: + - fsl,imx8mq-cm4 + - fsl,imx8mm-cm4 - fsl,imx7d-cm4 - fsl,imx6sx-cm4 @@ -26,6 +28,20 @@ properties: description: Phandle to syscon block which provide access to System Reset Controller + mbox-names: + items: + - const: tx + - const: rx + - const: rxdb + + mboxes: + description: + This property is required only if the rpmsg/virtio functionality is used. + List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB. + (see mailbox/fsl,mu.yaml) + minItems: 1 + maxItems: 3 + memory-region: description: If present, a phandle for a reserved memory area that used for vdev buffer, @@ -58,4 +74,37 @@ examples: clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>; }; + - | + #include <dt-bindings/clock/imx8mm-clock.h> + rsc_table: rsc_table@550ff000 { + no-map; + reg = <0x550ff000 0x1000>; + }; + + vdev0vring0: vdev0vring0@55000000 { + no-map; + reg = <0x55000000 0x8000>; + }; + + vdev0vring1: vdev0vring1@55008000 { + reg = <0x55008000 0x8000>; + no-map; + }; + + vdev0buffer: vdev0buffer@55400000 { + compatible = "shared-dma-pool"; + reg = <0x55400000 0x100000>; + no-map; + }; + + imx8mm-cm4 { + compatible = "fsl,imx8mm-cm4"; + clocks = <&clk IMX8MM_CLK_M4_DIV>; + mbox-names = "tx", "rx", "rxdb"; + mboxes = <&mu 0 1 + &mu 1 1 + &mu 3 1>; + memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>; + syscon = <&src>; + }; ...