Message ID | 1534403190-28523-8-git-send-email-jliang@xilinx.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add Xilinx ZynqMP R5 remoteproc driver | expand |
Hi, this email is from Rob's (experimental) review bot. I found a couple of common problems with your patch. Please see below. On Thu, 16 Aug 2018 00:06:30 -0700, Wendy Liang wrote: > Add device tree binding for Xilinx Cortex-r5 remoteproc. > > Signed-off-by: Wendy Liang <jliang@xilinx.com> The preferred subject prefix is "dt-bindings: <binding dir>: ...". > --- > .../remoteproc/xlnx,zynqmp-r5-remoteproc.txt | 81 ++++++++++++++++++++++ > 1 file changed, 81 insertions(+) > create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt >
Hi Wendy, couple of minor stuff inline. On Thu, Aug 16, 2018 at 12:06 AM, Wendy Liang <wendy.liang@xilinx.com> wrote: > Add device tree binding for Xilinx Cortex-r5 remoteproc. > > Signed-off-by: Wendy Liang <jliang@xilinx.com> > --- > .../remoteproc/xlnx,zynqmp-r5-remoteproc.txt | 81 ++++++++++++++++++++++ > 1 file changed, 81 insertions(+) > create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt > > diff --git a/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt > new file mode 100644 > index 0000000..3940019 > --- /dev/null > +++ b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt > @@ -0,0 +1,81 @@ > +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. The ZynqMP family [..] uses [..] > + > +This driver requires specific ZynqMP hardware design. *a* specific ZynqMP hardware design. What does that mean? > + > +ZynqMP R5 RemoteProc Device Node: > +================================= > +A zynqmp_r5_remoteproc device node is used to represent a R5 IP instance > +within ZynqMP SoC. > + > +Required properties: > +-------------------- > + - compatible : Should be "xlnx,zynqmp-r5-remoteproc-1.0" > + - reg : Address and length of the register set for the device. It > + contains in the same order as described reg-names ? > + - reg-names: Contain the register set names. Contains > + "tcm_a" and "tcm_b" for TCM memories. > + If the user uses the remoteproc driver with the RPMsg kernel > + driver,"ipi" for the IPI register used to communicate with RPU > + is also required. > + Otherwise, if user only uses the remoteproc driver to boot RPU > + firmware, "ipi" is not required. > + - tcm-pnode-id: TCM resources power nodes IDs which are used to request TCM > + resources for the remoteproc driver to access. > + - rpu-pnode-id : RPU power node id which is used by the remoteproc driver > + to start RPU or shut it down. > + > +Optional properties: > +-------------------- > + - core_conf : R5 core configuration (valid string - split0 or split1 or > + lock-step), default is lock-step. > + - memory-region: memories regions for RPU executable and DMA memory. > + - 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. > + > +Example: > +-------- > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + rproc_0_fw_reserved: rproc@3ed000000 { > + compatible = "rproc-prog-memory"; > + no-map; > + reg = <0x0 0x3ed00000 0x0 0x40000>; > + }; > + rproc_0_dma_reserved: rproc@3ed400000 { > + compatible = "shared-dma-pool"; > + no-map; > + reg = <0x0 0x3ed40000 0x0 0x80000>; > + }; > + }; > + > + firmware { > + zynqmp_firmware: zynqmp-firmware { > + compatible = "xlnx,zynqmp-firmware"; > + method = "smc"; > + }; > + }; > + > + zynqmp-r5-remoteproc@0 { > + compatible = "xlnx,zynqmp-r5-remoteproc-1.0"; > + reg = <0x0 0xFFE00000 0x0 0x10000>, > + <0x0 0xFFE20000 0x0 0x10000>, > + <0x0 0xff340000 0x0 0x100>; > + reg-names = "tcm_a", "tcm_b", "ipi"; > + dma-ranges; > + core_conf = "split0"; > + memory-region = <&rproc_0_fw_reserved>, > + <&rproc_0_dma_reserved>; > + tcm-pnode-id = <0xf>, <0x10>; > + rpu-pnode-id = <0x7>; > + interrupt-parent = <&gic>; > + interrupts = <0 29 4>; > + } ; > -- > 2.7.4 > Cheers, Moritz
On Fri, Aug 17, 2018 at 8:09 AM, Rob Herring <robh@kernel.org> wrote: > Hi, this email is from Rob's (experimental) review bot. I found a couple > of common problems with your patch. Please see below. > > On Thu, 16 Aug 2018 00:06:30 -0700, Wendy Liang wrote: >> Add device tree binding for Xilinx Cortex-r5 remoteproc. >> >> Signed-off-by: Wendy Liang <jliang@xilinx.com> > > The preferred subject prefix is "dt-bindings: <binding dir>: ...". Will updated in the next release > >> --- >> .../remoteproc/xlnx,zynqmp-r5-remoteproc.txt | 81 ++++++++++++++++++++++ >> 1 file changed, 81 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt >>
On Fri, Aug 17, 2018 at 9:31 AM, Moritz Fischer <moritz.fischer@ettus.com> wrote: > Hi Wendy, > > couple of minor stuff inline. > > On Thu, Aug 16, 2018 at 12:06 AM, Wendy Liang <wendy.liang@xilinx.com> wrote: >> Add device tree binding for Xilinx Cortex-r5 remoteproc. >> >> Signed-off-by: Wendy Liang <jliang@xilinx.com> >> --- >> .../remoteproc/xlnx,zynqmp-r5-remoteproc.txt | 81 ++++++++++++++++++++++ >> 1 file changed, 81 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt >> >> diff --git a/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt >> new file mode 100644 >> index 0000000..3940019 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt >> @@ -0,0 +1,81 @@ >> +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. > > The ZynqMP family [..] uses [..] Will update in next version >> + >> +This driver requires specific ZynqMP hardware design. > > *a* specific ZynqMP hardware design. What does that mean? >> + >> +ZynqMP R5 RemoteProc Device Node: >> +================================= >> +A zynqmp_r5_remoteproc device node is used to represent a R5 IP instance >> +within ZynqMP SoC. >> + >> +Required properties: >> +-------------------- >> + - compatible : Should be "xlnx,zynqmp-r5-remoteproc-1.0" >> + - reg : Address and length of the register set for the device. It >> + contains in the same order as described reg-names > > ? >> + - reg-names: Contain the register set names. > > Contains Will update in next version > >> + "tcm_a" and "tcm_b" for TCM memories. >> + If the user uses the remoteproc driver with the RPMsg kernel >> + driver,"ipi" for the IPI register used to communicate with RPU >> + is also required. >> + Otherwise, if user only uses the remoteproc driver to boot RPU >> + firmware, "ipi" is not required. >> + - tcm-pnode-id: TCM resources power nodes IDs which are used to request TCM >> + resources for the remoteproc driver to access. >> + - rpu-pnode-id : RPU power node id which is used by the remoteproc driver >> + to start RPU or shut it down. >> + >> +Optional properties: >> +-------------------- >> + - core_conf : R5 core configuration (valid string - split0 or split1 or >> + lock-step), default is lock-step. >> + - memory-region: memories regions for RPU executable and DMA memory. >> + - 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. >> + >> +Example: >> +-------- >> + reserved-memory { >> + #address-cells = <2>; >> + #size-cells = <2>; >> + ranges; >> + rproc_0_fw_reserved: rproc@3ed000000 { >> + compatible = "rproc-prog-memory"; >> + no-map; >> + reg = <0x0 0x3ed00000 0x0 0x40000>; >> + }; >> + rproc_0_dma_reserved: rproc@3ed400000 { >> + compatible = "shared-dma-pool"; >> + no-map; >> + reg = <0x0 0x3ed40000 0x0 0x80000>; >> + }; >> + }; >> + >> + firmware { >> + zynqmp_firmware: zynqmp-firmware { >> + compatible = "xlnx,zynqmp-firmware"; >> + method = "smc"; >> + }; >> + }; >> + >> + zynqmp-r5-remoteproc@0 { >> + compatible = "xlnx,zynqmp-r5-remoteproc-1.0"; >> + reg = <0x0 0xFFE00000 0x0 0x10000>, >> + <0x0 0xFFE20000 0x0 0x10000>, >> + <0x0 0xff340000 0x0 0x100>; >> + reg-names = "tcm_a", "tcm_b", "ipi"; >> + dma-ranges; >> + core_conf = "split0"; >> + memory-region = <&rproc_0_fw_reserved>, >> + <&rproc_0_dma_reserved>; >> + tcm-pnode-id = <0xf>, <0x10>; >> + rpu-pnode-id = <0x7>; >> + interrupt-parent = <&gic>; >> + interrupts = <0 29 4>; >> + } ; >> -- >> 2.7.4 >> > > Cheers, > Moritz
On Thu 16 Aug 00:06 PDT 2018, Wendy Liang wrote: > Add device tree binding for Xilinx Cortex-r5 remoteproc. > > Signed-off-by: Wendy Liang <jliang@xilinx.com> > --- > .../remoteproc/xlnx,zynqmp-r5-remoteproc.txt | 81 ++++++++++++++++++++++ > 1 file changed, 81 insertions(+) > create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt > > diff --git a/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt > new file mode 100644 > index 0000000..3940019 > --- /dev/null > +++ b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt > @@ -0,0 +1,81 @@ > +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 RemoteProc Device Node: > +================================= > +A zynqmp_r5_remoteproc device node is used to represent a R5 IP instance > +within ZynqMP SoC. > + > +Required properties: > +-------------------- > + - compatible : Should be "xlnx,zynqmp-r5-remoteproc-1.0" What is 1.0? > + - reg : Address and length of the register set for the device. It > + contains in the same order as described reg-names > + - reg-names: Contain the register set names. > + "tcm_a" and "tcm_b" for TCM memories. > + If the user uses the remoteproc driver with the RPMsg kernel > + driver,"ipi" for the IPI register used to communicate with RPU > + is also required. > + Otherwise, if user only uses the remoteproc driver to boot RPU > + firmware, "ipi" is not required. > + - tcm-pnode-id: TCM resources power nodes IDs which are used to request TCM > + resources for the remoteproc driver to access. > + - rpu-pnode-id : RPU power node id which is used by the remoteproc driver > + to start RPU or shut it down. > + > +Optional properties: > +-------------------- > + - core_conf : R5 core configuration (valid string - split0 or split1 or > + lock-step), default is lock-step. > + - memory-region: memories regions for RPU executable and DMA memory. > + - 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. > + > +Example: > +-------- > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + rproc_0_fw_reserved: rproc@3ed000000 { > + compatible = "rproc-prog-memory"; > + no-map; > + reg = <0x0 0x3ed00000 0x0 0x40000>; > + }; > + rproc_0_dma_reserved: rproc@3ed400000 { > + compatible = "shared-dma-pool"; > + no-map; > + reg = <0x0 0x3ed40000 0x0 0x80000>; > + }; > + }; > + > + firmware { > + zynqmp_firmware: zynqmp-firmware { > + compatible = "xlnx,zynqmp-firmware"; > + method = "smc"; > + }; > + }; > + > + zynqmp-r5-remoteproc@0 { remoteproc@ffe00000 { > + compatible = "xlnx,zynqmp-r5-remoteproc-1.0"; > + reg = <0x0 0xFFE00000 0x0 0x10000>, > + <0x0 0xFFE20000 0x0 0x10000>, > + <0x0 0xff340000 0x0 0x100>; Make all addresses lowercase, rather than mixing case. > + reg-names = "tcm_a", "tcm_b", "ipi"; > + dma-ranges; > + core_conf = "split0"; > + memory-region = <&rproc_0_fw_reserved>, > + <&rproc_0_dma_reserved>; > + tcm-pnode-id = <0xf>, <0x10>; > + rpu-pnode-id = <0x7>; > + interrupt-parent = <&gic>; > + interrupts = <0 29 4>; interrutps = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; > + } ; > -- > 2.7.4 > Regards, Bjorn
diff --git a/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt new file mode 100644 index 0000000..3940019 --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt @@ -0,0 +1,81 @@ +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 RemoteProc Device Node: +================================= +A zynqmp_r5_remoteproc device node is used to represent a R5 IP instance +within ZynqMP SoC. + +Required properties: +-------------------- + - compatible : Should be "xlnx,zynqmp-r5-remoteproc-1.0" + - reg : Address and length of the register set for the device. It + contains in the same order as described reg-names + - reg-names: Contain the register set names. + "tcm_a" and "tcm_b" for TCM memories. + If the user uses the remoteproc driver with the RPMsg kernel + driver,"ipi" for the IPI register used to communicate with RPU + is also required. + Otherwise, if user only uses the remoteproc driver to boot RPU + firmware, "ipi" is not required. + - tcm-pnode-id: TCM resources power nodes IDs which are used to request TCM + resources for the remoteproc driver to access. + - rpu-pnode-id : RPU power node id which is used by the remoteproc driver + to start RPU or shut it down. + +Optional properties: +-------------------- + - core_conf : R5 core configuration (valid string - split0 or split1 or + lock-step), default is lock-step. + - memory-region: memories regions for RPU executable and DMA memory. + - 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. + +Example: +-------- + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + rproc_0_fw_reserved: rproc@3ed000000 { + compatible = "rproc-prog-memory"; + no-map; + reg = <0x0 0x3ed00000 0x0 0x40000>; + }; + rproc_0_dma_reserved: rproc@3ed400000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0x3ed40000 0x0 0x80000>; + }; + }; + + firmware { + zynqmp_firmware: zynqmp-firmware { + compatible = "xlnx,zynqmp-firmware"; + method = "smc"; + }; + }; + + zynqmp-r5-remoteproc@0 { + compatible = "xlnx,zynqmp-r5-remoteproc-1.0"; + reg = <0x0 0xFFE00000 0x0 0x10000>, + <0x0 0xFFE20000 0x0 0x10000>, + <0x0 0xff340000 0x0 0x100>; + reg-names = "tcm_a", "tcm_b", "ipi"; + dma-ranges; + core_conf = "split0"; + memory-region = <&rproc_0_fw_reserved>, + <&rproc_0_dma_reserved>; + tcm-pnode-id = <0xf>, <0x10>; + rpu-pnode-id = <0x7>; + interrupt-parent = <&gic>; + interrupts = <0 29 4>; + } ;
Add device tree binding for Xilinx Cortex-r5 remoteproc. Signed-off-by: Wendy Liang <jliang@xilinx.com> --- .../remoteproc/xlnx,zynqmp-r5-remoteproc.txt | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5-remoteproc.txt