On 1/3/24 11:54 AM, Mathieu Poirier wrote: > Hi Tanmay, > > On Fri, Dec 15, 2023 at 03:57:24PM -0800, Tanmay Shah wrote: > > Add properties as per new bindings in zynqmp remoteproc node > > to represent TCM address and size. > > > > This patch also adds alternative remoteproc node to represent > > remoteproc cluster in split mode. By default lockstep mode is > > enabled and users should disable it before using split mode > > dts. Both device-tree nodes can't be used simultaneously one > > of them must be disabled. For zcu102-1.0 and zcu102-1.1 board > > remoteproc split mode dts node is enabled and lockstep mode > > dts is disabled. > > > > Signed-off-by: Tanmay Shah <tanmay.shah@xxxxxxx> > > --- > > .../boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts | 8 +++ > > arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 60 +++++++++++++++++-- > > 2 files changed, 63 insertions(+), 5 deletions(-) > > > > diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts > > index c8f71a1aec89..495ca94b45db 100644 > > --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts > > +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts > > @@ -14,6 +14,14 @@ / { > > compatible = "xlnx,zynqmp-zcu102-rev1.0", "xlnx,zynqmp-zcu102", "xlnx,zynqmp"; > > }; > > > > +&rproc_split { > > + status = "okay"; > > +}; > > + > > +&rproc_lockstep { > > + status = "disabled"; > > +}; > > + > > &eeprom { > > #address-cells = <1>; > > #size-cells = <1>; > > diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi > > index b61fc99cd911..602e6aba7ac5 100644 > > --- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi > > +++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi > > @@ -247,19 +247,69 @@ fpga_full: fpga-full { > > ranges; > > }; > > > > - remoteproc { > > + rproc_lockstep: remoteproc@ffe00000 { > > compatible = "xlnx,zynqmp-r5fss"; > > xlnx,cluster-mode = <1>; > > > > - r5f-0 { > > + #address-cells = <2>; > > + #size-cells = <2>; > > + > > + ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x20000>, > > + <0x0 0x20000 0x0 0xffe20000 0x0 0x20000>, > > + <0x1 0x0 0x0 0xffe90000 0x0 0x10000>, > > + <0x1 0x20000 0x0 0xffeb0000 0x0 0x10000>; > > As far as I can tell, in lockstep mode the last two entries are not needed. > This is also contrasting with that is in the bindings, which is quite confusing. Hi Mathieu, Yes I agree. I think it should be same as of bindings example. However, I will have to test and make sure no impact on driver. I will fix it in next revision. Meanwhile, are you going to review driver changes as well or do you want to wait for next revision ? Tanmay > > + > > + r5f@0 { > > + compatible = "xlnx,zynqmp-r5f"; > > + reg = <0x0 0x0 0x0 0x20000>, <0x0 0x20000 0x0 0x20000>; > > + reg-names = "atcm", "btcm"; > > + power-domains = <&zynqmp_firmware PD_RPU_0>, > > + <&zynqmp_firmware PD_R5_0_ATCM>, > > + <&zynqmp_firmware PD_R5_0_BTCM>; > > + memory-region = <&rproc_0_fw_image>; > > + }; > > + > > + r5f@1 { > > + compatible = "xlnx,zynqmp-r5f"; > > + reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>; > > + reg-names = "atcm", "btcm"; > > + power-domains = <&zynqmp_firmware PD_RPU_1>, > > + <&zynqmp_firmware PD_R5_1_ATCM>, > > + <&zynqmp_firmware PD_R5_1_BTCM>; > > + memory-region = <&rproc_1_fw_image>; > > + }; > > + }; > > + > > + rproc_split: remoteproc-split@ffe00000 { > > + status = "disabled"; > > + compatible = "xlnx,zynqmp-r5fss"; > > + xlnx,cluster-mode = <0>; > > + > > + #address-cells = <2>; > > + #size-cells = <2>; > > + > > + ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x10000>, > > + <0x0 0x20000 0x0 0xffe20000 0x0 0x10000>, > > + <0x1 0x0 0x0 0xffe90000 0x0 0x10000>, > > + <0x1 0x20000 0x0 0xffeb0000 0x0 0x10000>; > > + > > + r5f@0 { > > compatible = "xlnx,zynqmp-r5f"; > > - power-domains = <&zynqmp_firmware PD_RPU_0>; > > + reg = <0x0 0x0 0x0 0x10000>, <0x0 0x20000 0x0 0x10000>; > > + reg-names = "atcm", "btcm"; > > + power-domains = <&zynqmp_firmware PD_RPU_0>, > > + <&zynqmp_firmware PD_R5_0_ATCM>, > > + <&zynqmp_firmware PD_R5_0_BTCM>; > > memory-region = <&rproc_0_fw_image>; > > }; > > > > - r5f-1 { > > + r5f@1 { > > compatible = "xlnx,zynqmp-r5f"; > > - power-domains = <&zynqmp_firmware PD_RPU_1>; > > + reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>; > > + reg-names = "atcm", "btcm"; > > + power-domains = <&zynqmp_firmware PD_RPU_1>, > > + <&zynqmp_firmware PD_R5_1_ATCM>, > > + <&zynqmp_firmware PD_R5_1_BTCM>; > > memory-region = <&rproc_1_fw_image>; > > }; > > }; > > -- > > 2.25.1 > >