From: Ben Levinsky <ben.levinsky@xilinx.com> To: ohad@wizery.com, bjorn.andersson@linaro.org, michal.simek@xilinx.com, jollys@xilinx.com, rajan.vaja@xilinx.com, robh+dt@kernel.org, mark.rutland@arm.com Cc: linux-remoteproc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jason Wu <j.wu@xilinx.com>, Wendy Liang <jliang@xilinx.com> Subject: [PATCH 4/5] dt-bindings: remoteproc: Add documentation for ZynqMP R5 rproc bindings Date: Mon, 24 Feb 2020 09:52:30 -0800 [thread overview] Message-ID: <1582566751-13118-5-git-send-email-ben.levinsky@xilinx.com> (raw) In-Reply-To: <1582566751-13118-1-git-send-email-ben.levinsky@xilinx.com> From: Jason Wu <j.wu@xilinx.com> Add binding for ZynqMP R5 OpenAMP. Represent the RPU domain resources in one device node. Each RPU processor is a subnode of the top RPU domain node. Signed-off-by: Jason Wu <j.wu@xilinx.com> Signed-off-by: Wendy Liang <jliang@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> --- .../remoteproc/xilinx,zynqmp-r5-remoteproc.txt | 135 +++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/xilinx,zynqmp-r5-remoteproc.txt diff --git a/Documentation/devicetree/bindings/remoteproc/xilinx,zynqmp-r5-remoteproc.txt b/Documentation/devicetree/bindings/remoteproc/xilinx,zynqmp-r5-remoteproc.txt new file mode 100644 index 0000000..ee7a515 --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/xilinx,zynqmp-r5-remoteproc.txt @@ -0,0 +1,135 @@ +Xilinx ARM Cortex A53-R5 remoteproc driver +========================================== + +ZynqMP family of devices use two Cortex R5 processors to help with various +low power / real time tasks. + +This driver requires specific ZynqMP hardware design. + +ZynqMP R5 Device Node: +================================= +A ZynqMP R5 device node is used to represent RPU domain +within ZynqMP SoC. This device node contains RPU processor +subnodes. + +Required Properties: +-------------------- + - compatible : Should be "xlnx,zynqmp-r5-remoteproc-1.0" + - core_conf : R5 core configuration (valid string - split or lock-step) + - interrupts : Interrupt mapping for remoteproc IPI. It is required if the + user uses the remoteproc driver with the RPMsg kernel driver. + - interrupt-parent : Phandle for the interrupt controller. It is required if + the user uses the remoteproc driver with the RPMsg kernel + kernel driver. + +ZynqMP R5 Remoteproc Device Node: +================================= +A ZynqMP R5 Remoteproc device node is used to represent a RPU processor. +It is a subnode to the ZynqMP R5 device node. It also contains tightly +coupled memory subnodes. + +Required Properties: +-------------------- + - pnode-id: ZynqMP R5 processor power domain ID which will be used by + ZynqMP power management unit to idetify the processor. + +Optional Properties: +-------------------- + - memory-region: reserved memory which will be used by R5 processor + + +ZynqMP R5 Remoteproc Device Node: +================================= +A ZynqMP R5 Remoteproc device node is used to represent a RPU processor. +It is a subnode to the ZynqMP R5 device node. + +Required Properties: +-------------------- + - pnode-id: ZynqMP R5 processor power domain ID which will be used by + ZynqMP power management unit to idetify the processor. + +Optional Properties: +-------------------- + - memory-region: reserved memory which will be used by R5 processor + - mboxes: Specify tx and rx mailboxes + - mbox-names: List of identifier strings for tx/rx mailbox channel. + +ZynqMP R5 TCM Device Node: +================================= +The ZynqMP R5 TCM device node is used to represent the TCM memory. +It is a subnode to the ZynqMP R5 processor. + +Required Properties: +-------------------- + - reg: TCM address range + - pnode-id: TCM power domain ID + + +Example: +-------- + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + /* R5 0 firmware memory in DDR */ + rproc_0_fw_reserved: rproc@3ed000000 { + no-map; + reg = <0x0 0x3ed00000 0x0 0x40000>; + }; + /* DMA shared memory between APU and RPU */ + rpu0vdev0buffer: rpu0vdev0buffer@3ed400000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0x3ed40000 0x0 0x100000>; + }; + }; + + zynqmp-r5-remoteproc@0 { + compatible = "xlnx,zynqmp-r5-remoteproc-1.0"; + core_conf = "split"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + r5-0: r5@0 { + #address-cells = <2>; + #size-cells = <2>; + ranges; + memory-region = <&rproc_0_fw_reserved>, + <&rpu0vdev0buffer>; + pnode-id = <0x7>; + mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>; + mbox-names = "tx", "rx"; + tcm-a: tcm@0 { + reg = <0x0 0xFFE00000 0x0 0x10000>, + pnode-id = <0xf>; + }; + tcm-b: tcm@1 { + reg = <0x0 0xFFE20000 0x0 0x10000>, + pnode-id = <0x10>; + }; + }; + } ; + + zynqmp_ipi { + compatible = "xlnx,zynqmp-ipi-mailbox"; + interrupt-parent = <&gic>; + interrupts = <0 29 4>; + xlnx,ipi-id = <7>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* APU<->RPU0 IPI mailbox controller */ + ipi_mailbox_rpu0: mailbox@ff90600 { + reg = <0xff990600 0x20>, + <0xff990620 0x20>, + <0xff9900c0 0x20>, + <0xff9900e0 0x20>; + reg-names = "local_request_region", + "local_response_region", + "remote_request_region", + "remote_response_region"; + #mbox-cells = <1>; + xlnx,ipi-id = <1>; + }; + }; -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Ben Levinsky <ben.levinsky@xilinx.com> To: ohad@wizery.com, bjorn.andersson@linaro.org, michal.simek@xilinx.com, jollys@xilinx.com, rajan.vaja@xilinx.com, robh+dt@kernel.org, mark.rutland@arm.com Cc: devicetree@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, Wendy Liang <jliang@xilinx.com>, Jason Wu <j.wu@xilinx.com>, linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/5] dt-bindings: remoteproc: Add documentation for ZynqMP R5 rproc bindings Date: Mon, 24 Feb 2020 09:52:30 -0800 [thread overview] Message-ID: <1582566751-13118-5-git-send-email-ben.levinsky@xilinx.com> (raw) In-Reply-To: <1582566751-13118-1-git-send-email-ben.levinsky@xilinx.com> From: Jason Wu <j.wu@xilinx.com> Add binding for ZynqMP R5 OpenAMP. Represent the RPU domain resources in one device node. Each RPU processor is a subnode of the top RPU domain node. Signed-off-by: Jason Wu <j.wu@xilinx.com> Signed-off-by: Wendy Liang <jliang@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> --- .../remoteproc/xilinx,zynqmp-r5-remoteproc.txt | 135 +++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/xilinx,zynqmp-r5-remoteproc.txt diff --git a/Documentation/devicetree/bindings/remoteproc/xilinx,zynqmp-r5-remoteproc.txt b/Documentation/devicetree/bindings/remoteproc/xilinx,zynqmp-r5-remoteproc.txt new file mode 100644 index 0000000..ee7a515 --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/xilinx,zynqmp-r5-remoteproc.txt @@ -0,0 +1,135 @@ +Xilinx ARM Cortex A53-R5 remoteproc driver +========================================== + +ZynqMP family of devices use two Cortex R5 processors to help with various +low power / real time tasks. + +This driver requires specific ZynqMP hardware design. + +ZynqMP R5 Device Node: +================================= +A ZynqMP R5 device node is used to represent RPU domain +within ZynqMP SoC. This device node contains RPU processor +subnodes. + +Required Properties: +-------------------- + - compatible : Should be "xlnx,zynqmp-r5-remoteproc-1.0" + - core_conf : R5 core configuration (valid string - split or lock-step) + - interrupts : Interrupt mapping for remoteproc IPI. It is required if the + user uses the remoteproc driver with the RPMsg kernel driver. + - interrupt-parent : Phandle for the interrupt controller. It is required if + the user uses the remoteproc driver with the RPMsg kernel + kernel driver. + +ZynqMP R5 Remoteproc Device Node: +================================= +A ZynqMP R5 Remoteproc device node is used to represent a RPU processor. +It is a subnode to the ZynqMP R5 device node. It also contains tightly +coupled memory subnodes. + +Required Properties: +-------------------- + - pnode-id: ZynqMP R5 processor power domain ID which will be used by + ZynqMP power management unit to idetify the processor. + +Optional Properties: +-------------------- + - memory-region: reserved memory which will be used by R5 processor + + +ZynqMP R5 Remoteproc Device Node: +================================= +A ZynqMP R5 Remoteproc device node is used to represent a RPU processor. +It is a subnode to the ZynqMP R5 device node. + +Required Properties: +-------------------- + - pnode-id: ZynqMP R5 processor power domain ID which will be used by + ZynqMP power management unit to idetify the processor. + +Optional Properties: +-------------------- + - memory-region: reserved memory which will be used by R5 processor + - mboxes: Specify tx and rx mailboxes + - mbox-names: List of identifier strings for tx/rx mailbox channel. + +ZynqMP R5 TCM Device Node: +================================= +The ZynqMP R5 TCM device node is used to represent the TCM memory. +It is a subnode to the ZynqMP R5 processor. + +Required Properties: +-------------------- + - reg: TCM address range + - pnode-id: TCM power domain ID + + +Example: +-------- + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + /* R5 0 firmware memory in DDR */ + rproc_0_fw_reserved: rproc@3ed000000 { + no-map; + reg = <0x0 0x3ed00000 0x0 0x40000>; + }; + /* DMA shared memory between APU and RPU */ + rpu0vdev0buffer: rpu0vdev0buffer@3ed400000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0x3ed40000 0x0 0x100000>; + }; + }; + + zynqmp-r5-remoteproc@0 { + compatible = "xlnx,zynqmp-r5-remoteproc-1.0"; + core_conf = "split"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + r5-0: r5@0 { + #address-cells = <2>; + #size-cells = <2>; + ranges; + memory-region = <&rproc_0_fw_reserved>, + <&rpu0vdev0buffer>; + pnode-id = <0x7>; + mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>; + mbox-names = "tx", "rx"; + tcm-a: tcm@0 { + reg = <0x0 0xFFE00000 0x0 0x10000>, + pnode-id = <0xf>; + }; + tcm-b: tcm@1 { + reg = <0x0 0xFFE20000 0x0 0x10000>, + pnode-id = <0x10>; + }; + }; + } ; + + zynqmp_ipi { + compatible = "xlnx,zynqmp-ipi-mailbox"; + interrupt-parent = <&gic>; + interrupts = <0 29 4>; + xlnx,ipi-id = <7>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* APU<->RPU0 IPI mailbox controller */ + ipi_mailbox_rpu0: mailbox@ff90600 { + reg = <0xff990600 0x20>, + <0xff990620 0x20>, + <0xff9900c0 0x20>, + <0xff9900e0 0x20>; + reg-names = "local_request_region", + "local_response_region", + "remote_request_region", + "remote_response_region"; + #mbox-cells = <1>; + xlnx,ipi-id = <1>; + }; + }; -- 2.7.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-02-24 17:52 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-24 17:52 [PATCH 0/5] remoteproc: Add zynqmp_r5 driver Ben Levinsky 2020-02-24 17:52 ` Ben Levinsky 2020-02-24 17:52 ` [PATCH 1/5] firmware: xilinx: Add ZynqMP firmware ioctl enums for RPU configuration Ben Levinsky 2020-02-24 17:52 ` Ben Levinsky 2020-03-12 7:32 ` Michal Simek 2020-03-12 7:32 ` Michal Simek 2020-02-24 17:52 ` [PATCH 2/5] firmware: xilinx: Add shutdown/wakeup APIs Ben Levinsky 2020-02-24 17:52 ` Ben Levinsky 2020-03-12 7:34 ` Michal Simek 2020-03-12 7:34 ` Michal Simek 2020-02-24 17:52 ` [PATCH 3/5] firmware: xilinx: Add zynqmp_get_node_status API Ben Levinsky 2020-02-24 17:52 ` Ben Levinsky 2020-03-11 16:26 ` Mathieu Poirier 2020-03-11 16:26 ` Mathieu Poirier 2020-02-24 17:52 ` Ben Levinsky [this message] 2020-02-24 17:52 ` [PATCH 4/5] dt-bindings: remoteproc: Add documentation for ZynqMP R5 rproc bindings Ben Levinsky 2020-03-02 20:27 ` Rob Herring 2020-03-02 20:27 ` Rob Herring 2020-03-11 16:55 ` Mathieu Poirier 2020-03-11 16:55 ` Mathieu Poirier 2020-02-24 17:52 ` [PATCH 5/5] remoteproc: Add initial zynqmp R5 remoteproc driver Ben Levinsky 2020-02-24 17:52 ` Ben Levinsky 2020-03-05 23:12 ` Michael Auchter 2020-03-05 23:12 ` Michael Auchter 2020-03-11 17:38 ` Mathieu Poirier 2020-03-11 17:38 ` Mathieu Poirier
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1582566751-13118-5-git-send-email-ben.levinsky@xilinx.com \ --to=ben.levinsky@xilinx.com \ --cc=bjorn.andersson@linaro.org \ --cc=devicetree@vger.kernel.org \ --cc=j.wu@xilinx.com \ --cc=jliang@xilinx.com \ --cc=jollys@xilinx.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-remoteproc@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=michal.simek@xilinx.com \ --cc=ohad@wizery.com \ --cc=rajan.vaja@xilinx.com \ --cc=robh+dt@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.