Message ID | d8247a46f486a612f85767de9b832ad33fa980fe.1717065556.git.michal.simek@amd.com |
---|---|
State | Accepted |
Commit | efff3976e3a68c922bb7f7730e2c15ead442e60d |
Delegated to: | Michal Simek |
Headers | show |
Series | arm64: zynqmp: Update rproc node | expand |
On 5/30/24 5:39 AM, Michal Simek wrote: > remoteproc node should be updated to be aligned with the latest dt-schema. > > Signed-off-by: Michal Simek <michal.simek@amd.com> > --- > > Once we push all dts to Linux we can change to OF_UPSTREAM but till that > time we need to keep DTSes in sync. > --- > arch/arm/dts/zynqmp.dtsi | 67 +++++++++++++++++-- > include/dt-bindings/power/xlnx-zynqmp-power.h | 17 ++--- > 2 files changed, 68 insertions(+), 16 deletions(-) > > diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi > index 53a606c340a4..34f592c1a85f 100644 > --- a/arch/arm/dts/zynqmp.dtsi > +++ b/arch/arm/dts/zynqmp.dtsi > @@ -314,19 +314,76 @@ > ranges; > }; > > - remoteproc { > + rproc_lockstep: remoteproc@ffe00000 { > compatible = "xlnx,zynqmp-r5fss"; > xlnx,cluster-mode = <1>; > + xlnx,tcm-mode = <1>; > > - r5f-0 { > + #address-cells = <2>; > + #size-cells = <2>; > + > + ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x10000>, > + <0x0 0x20000 0x0 0xffe20000 0x0 0x10000>, > + <0x0 0x10000 0x0 0xffe10000 0x0 0x10000>, > + <0x0 0x30000 0x0 0xffe30000 0x0 0x10000>; > + > + r5f@0 { > + compatible = "xlnx,zynqmp-r5f"; > + reg = <0x0 0x0 0x0 0x10000>, > + <0x0 0x20000 0x0 0x10000>, > + <0x0 0x10000 0x0 0x10000>, > + <0x0 0x30000 0x0 0x10000>; > + reg-names = "atcm0", "btcm0", "atcm1", "btcm1"; > + power-domains = <&zynqmp_firmware PD_RPU_0>, > + <&zynqmp_firmware PD_R5_0_ATCM>, > + <&zynqmp_firmware PD_R5_0_BTCM>, > + <&zynqmp_firmware PD_R5_1_ATCM>, > + <&zynqmp_firmware PD_R5_1_BTCM>; > + memory-region = <&rproc_0_fw_image>; > + }; > + > + r5f@1 { > + compatible = "xlnx,zynqmp-r5f"; > + reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>; > + reg-names = "atcm0", "btcm0"; > + 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>; > + xlnx,tcm-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 = "atcm0", "btcm0"; > + 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 = "atcm0", "btcm0"; > + 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>; > }; > }; > diff --git a/include/dt-bindings/power/xlnx-zynqmp-power.h b/include/dt-bindings/power/xlnx-zynqmp-power.h > index e7eb0960480a..618024cbb20d 100644 > --- a/include/dt-bindings/power/xlnx-zynqmp-power.h > +++ b/include/dt-bindings/power/xlnx-zynqmp-power.h > @@ -6,16 +6,12 @@ > #ifndef _DT_BINDINGS_ZYNQMP_POWER_H > #define _DT_BINDINGS_ZYNQMP_POWER_H > > -#define PD_RPU_0 6 > -#define PD_RPU_1 7 > -#define PD_OCM_BANK_0 11 > -#define PD_OCM_BANK_1 12 > -#define PD_OCM_BANK_2 13 > -#define PD_OCM_BANK_3 14 > -#define PD_TCM_BANK_0 15 > -#define PD_TCM_BANK_1 16 > -#define PD_TCM_BANK_2 17 > -#define PD_TCM_BANK_3 18 > +#define PD_RPU_0 7 > +#define PD_RPU_1 8 > +#define PD_R5_0_ATCM 15 > +#define PD_R5_0_BTCM 16 > +#define PD_R5_1_ATCM 17 > +#define PD_R5_1_BTCM 18 > #define PD_USB_0 22 > #define PD_USB_1 23 > #define PD_TTC_0 24 > @@ -45,6 +41,5 @@ > #define PD_CAN_1 48 > #define PD_GPU 58 > #define PD_PCIE 59 > -#define PD_PL 69 This last change looks unrelated. Other than that looks good to me. Thanks. > > #endif
On 5/31/24 00:16, Tanmay Shah wrote: > > > On 5/30/24 5:39 AM, Michal Simek wrote: >> remoteproc node should be updated to be aligned with the latest dt-schema. >> >> Signed-off-by: Michal Simek <michal.simek@amd.com> >> --- >> >> Once we push all dts to Linux we can change to OF_UPSTREAM but till that >> time we need to keep DTSes in sync. >> --- >> arch/arm/dts/zynqmp.dtsi | 67 +++++++++++++++++-- >> include/dt-bindings/power/xlnx-zynqmp-power.h | 17 ++--- >> 2 files changed, 68 insertions(+), 16 deletions(-) >> >> diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi >> index 53a606c340a4..34f592c1a85f 100644 >> --- a/arch/arm/dts/zynqmp.dtsi >> +++ b/arch/arm/dts/zynqmp.dtsi >> @@ -314,19 +314,76 @@ >> ranges; >> }; >> >> - remoteproc { >> + rproc_lockstep: remoteproc@ffe00000 { >> compatible = "xlnx,zynqmp-r5fss"; >> xlnx,cluster-mode = <1>; >> + xlnx,tcm-mode = <1>; >> >> - r5f-0 { >> + #address-cells = <2>; >> + #size-cells = <2>; >> + >> + ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x10000>, >> + <0x0 0x20000 0x0 0xffe20000 0x0 0x10000>, >> + <0x0 0x10000 0x0 0xffe10000 0x0 0x10000>, >> + <0x0 0x30000 0x0 0xffe30000 0x0 0x10000>; >> + >> + r5f@0 { >> + compatible = "xlnx,zynqmp-r5f"; >> + reg = <0x0 0x0 0x0 0x10000>, >> + <0x0 0x20000 0x0 0x10000>, >> + <0x0 0x10000 0x0 0x10000>, >> + <0x0 0x30000 0x0 0x10000>; >> + reg-names = "atcm0", "btcm0", "atcm1", "btcm1"; >> + power-domains = <&zynqmp_firmware PD_RPU_0>, >> + <&zynqmp_firmware PD_R5_0_ATCM>, >> + <&zynqmp_firmware PD_R5_0_BTCM>, >> + <&zynqmp_firmware PD_R5_1_ATCM>, >> + <&zynqmp_firmware PD_R5_1_BTCM>; >> + memory-region = <&rproc_0_fw_image>; >> + }; >> + >> + r5f@1 { >> + compatible = "xlnx,zynqmp-r5f"; >> + reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>; >> + reg-names = "atcm0", "btcm0"; >> + 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>; >> + xlnx,tcm-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 = "atcm0", "btcm0"; >> + 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 = "atcm0", "btcm0"; >> + 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>; >> }; >> }; >> diff --git a/include/dt-bindings/power/xlnx-zynqmp-power.h b/include/dt-bindings/power/xlnx-zynqmp-power.h >> index e7eb0960480a..618024cbb20d 100644 >> --- a/include/dt-bindings/power/xlnx-zynqmp-power.h >> +++ b/include/dt-bindings/power/xlnx-zynqmp-power.h >> @@ -6,16 +6,12 @@ >> #ifndef _DT_BINDINGS_ZYNQMP_POWER_H >> #define _DT_BINDINGS_ZYNQMP_POWER_H >> >> -#define PD_RPU_0 6 >> -#define PD_RPU_1 7 >> -#define PD_OCM_BANK_0 11 >> -#define PD_OCM_BANK_1 12 >> -#define PD_OCM_BANK_2 13 >> -#define PD_OCM_BANK_3 14 >> -#define PD_TCM_BANK_0 15 >> -#define PD_TCM_BANK_1 16 >> -#define PD_TCM_BANK_2 17 >> -#define PD_TCM_BANK_3 18 >> +#define PD_RPU_0 7 >> +#define PD_RPU_1 8 >> +#define PD_R5_0_ATCM 15 >> +#define PD_R5_0_BTCM 16 >> +#define PD_R5_1_ATCM 17 >> +#define PD_R5_1_BTCM 18 >> #define PD_USB_0 22 >> #define PD_USB_1 23 >> #define PD_TTC_0 24 >> @@ -45,6 +41,5 @@ >> #define PD_CAN_1 48 >> #define PD_GPU 58 >> #define PD_PCIE 59 >> -#define PD_PL 69 > > This last change looks unrelated. Other than that looks good to me. You are using new PD_R5_1_ATCM, etc that's why also this part is needed. That removing PD_PL is unrelated. I can split it but not sure if it is worth of separate patch but can be done for sure. Thanks, Michal
Reviewed-by: Tanmay Shah <tanmay.shah@amd.com> On 5/31/24 1:06 AM, Michal Simek wrote: > > > On 5/31/24 00:16, Tanmay Shah wrote: >> >> >> On 5/30/24 5:39 AM, Michal Simek wrote: >>> remoteproc node should be updated to be aligned with the latest dt-schema. >>> >>> Signed-off-by: Michal Simek <michal.simek@amd.com> >>> --- >>> >>> Once we push all dts to Linux we can change to OF_UPSTREAM but till that >>> time we need to keep DTSes in sync. >>> --- >>> arch/arm/dts/zynqmp.dtsi | 67 +++++++++++++++++-- >>> include/dt-bindings/power/xlnx-zynqmp-power.h | 17 ++--- >>> 2 files changed, 68 insertions(+), 16 deletions(-) >>> >>> diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi >>> index 53a606c340a4..34f592c1a85f 100644 >>> --- a/arch/arm/dts/zynqmp.dtsi >>> +++ b/arch/arm/dts/zynqmp.dtsi >>> @@ -314,19 +314,76 @@ >>> ranges; >>> }; >>> >>> - remoteproc { >>> + rproc_lockstep: remoteproc@ffe00000 { >>> compatible = "xlnx,zynqmp-r5fss"; >>> xlnx,cluster-mode = <1>; >>> + xlnx,tcm-mode = <1>; >>> >>> - r5f-0 { >>> + #address-cells = <2>; >>> + #size-cells = <2>; >>> + >>> + ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x10000>, >>> + <0x0 0x20000 0x0 0xffe20000 0x0 0x10000>, >>> + <0x0 0x10000 0x0 0xffe10000 0x0 0x10000>, >>> + <0x0 0x30000 0x0 0xffe30000 0x0 0x10000>; >>> + >>> + r5f@0 { >>> + compatible = "xlnx,zynqmp-r5f"; >>> + reg = <0x0 0x0 0x0 0x10000>, >>> + <0x0 0x20000 0x0 0x10000>, >>> + <0x0 0x10000 0x0 0x10000>, >>> + <0x0 0x30000 0x0 0x10000>; >>> + reg-names = "atcm0", "btcm0", "atcm1", "btcm1"; >>> + power-domains = <&zynqmp_firmware PD_RPU_0>, >>> + <&zynqmp_firmware PD_R5_0_ATCM>, >>> + <&zynqmp_firmware PD_R5_0_BTCM>, >>> + <&zynqmp_firmware PD_R5_1_ATCM>, >>> + <&zynqmp_firmware PD_R5_1_BTCM>; >>> + memory-region = <&rproc_0_fw_image>; >>> + }; >>> + >>> + r5f@1 { >>> + compatible = "xlnx,zynqmp-r5f"; >>> + reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>; >>> + reg-names = "atcm0", "btcm0"; >>> + 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>; >>> + xlnx,tcm-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 = "atcm0", "btcm0"; >>> + 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 = "atcm0", "btcm0"; >>> + 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>; >>> }; >>> }; >>> diff --git a/include/dt-bindings/power/xlnx-zynqmp-power.h b/include/dt-bindings/power/xlnx-zynqmp-power.h >>> index e7eb0960480a..618024cbb20d 100644 >>> --- a/include/dt-bindings/power/xlnx-zynqmp-power.h >>> +++ b/include/dt-bindings/power/xlnx-zynqmp-power.h >>> @@ -6,16 +6,12 @@ >>> #ifndef _DT_BINDINGS_ZYNQMP_POWER_H >>> #define _DT_BINDINGS_ZYNQMP_POWER_H >>> >>> -#define PD_RPU_0 6 >>> -#define PD_RPU_1 7 >>> -#define PD_OCM_BANK_0 11 >>> -#define PD_OCM_BANK_1 12 >>> -#define PD_OCM_BANK_2 13 >>> -#define PD_OCM_BANK_3 14 >>> -#define PD_TCM_BANK_0 15 >>> -#define PD_TCM_BANK_1 16 >>> -#define PD_TCM_BANK_2 17 >>> -#define PD_TCM_BANK_3 18 >>> +#define PD_RPU_0 7 >>> +#define PD_RPU_1 8 >>> +#define PD_R5_0_ATCM 15 >>> +#define PD_R5_0_BTCM 16 >>> +#define PD_R5_1_ATCM 17 >>> +#define PD_R5_1_BTCM 18 >>> #define PD_USB_0 22 >>> #define PD_USB_1 23 >>> #define PD_TTC_0 24 >>> @@ -45,6 +41,5 @@ >>> #define PD_CAN_1 48 >>> #define PD_GPU 58 >>> #define PD_PCIE 59 >>> -#define PD_PL 69 >> >> This last change looks unrelated. Other than that looks good to me. > > You are using new PD_R5_1_ATCM, etc that's why also this part is needed. > > That removing PD_PL is unrelated. I can split it but not sure if it is worth of > separate patch but can be done for sure. > Yeah I meant removing PD_PL. I am okay to include in this patch as well. > Thanks, > Michal >
On 5/30/24 12:39, Michal Simek wrote: > remoteproc node should be updated to be aligned with the latest dt-schema. > > Signed-off-by: Michal Simek <michal.simek@amd.com> > --- > > Once we push all dts to Linux we can change to OF_UPSTREAM but till that > time we need to keep DTSes in sync. > --- > arch/arm/dts/zynqmp.dtsi | 67 +++++++++++++++++-- > include/dt-bindings/power/xlnx-zynqmp-power.h | 17 ++--- > 2 files changed, 68 insertions(+), 16 deletions(-) > > diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi > index 53a606c340a4..34f592c1a85f 100644 > --- a/arch/arm/dts/zynqmp.dtsi > +++ b/arch/arm/dts/zynqmp.dtsi > @@ -314,19 +314,76 @@ > ranges; > }; > > - remoteproc { > + rproc_lockstep: remoteproc@ffe00000 { > compatible = "xlnx,zynqmp-r5fss"; > xlnx,cluster-mode = <1>; > + xlnx,tcm-mode = <1>; > > - r5f-0 { > + #address-cells = <2>; > + #size-cells = <2>; > + > + ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x10000>, > + <0x0 0x20000 0x0 0xffe20000 0x0 0x10000>, > + <0x0 0x10000 0x0 0xffe10000 0x0 0x10000>, > + <0x0 0x30000 0x0 0xffe30000 0x0 0x10000>; > + > + r5f@0 { > + compatible = "xlnx,zynqmp-r5f"; > + reg = <0x0 0x0 0x0 0x10000>, > + <0x0 0x20000 0x0 0x10000>, > + <0x0 0x10000 0x0 0x10000>, > + <0x0 0x30000 0x0 0x10000>; > + reg-names = "atcm0", "btcm0", "atcm1", "btcm1"; > + power-domains = <&zynqmp_firmware PD_RPU_0>, > + <&zynqmp_firmware PD_R5_0_ATCM>, > + <&zynqmp_firmware PD_R5_0_BTCM>, > + <&zynqmp_firmware PD_R5_1_ATCM>, > + <&zynqmp_firmware PD_R5_1_BTCM>; > + memory-region = <&rproc_0_fw_image>; > + }; > + > + r5f@1 { > + compatible = "xlnx,zynqmp-r5f"; > + reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>; > + reg-names = "atcm0", "btcm0"; > + 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>; > + xlnx,tcm-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 = "atcm0", "btcm0"; > + 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 = "atcm0", "btcm0"; > + 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>; > }; > }; > diff --git a/include/dt-bindings/power/xlnx-zynqmp-power.h b/include/dt-bindings/power/xlnx-zynqmp-power.h > index e7eb0960480a..618024cbb20d 100644 > --- a/include/dt-bindings/power/xlnx-zynqmp-power.h > +++ b/include/dt-bindings/power/xlnx-zynqmp-power.h > @@ -6,16 +6,12 @@ > #ifndef _DT_BINDINGS_ZYNQMP_POWER_H > #define _DT_BINDINGS_ZYNQMP_POWER_H > > -#define PD_RPU_0 6 > -#define PD_RPU_1 7 > -#define PD_OCM_BANK_0 11 > -#define PD_OCM_BANK_1 12 > -#define PD_OCM_BANK_2 13 > -#define PD_OCM_BANK_3 14 > -#define PD_TCM_BANK_0 15 > -#define PD_TCM_BANK_1 16 > -#define PD_TCM_BANK_2 17 > -#define PD_TCM_BANK_3 18 > +#define PD_RPU_0 7 > +#define PD_RPU_1 8 > +#define PD_R5_0_ATCM 15 > +#define PD_R5_0_BTCM 16 > +#define PD_R5_1_ATCM 17 > +#define PD_R5_1_BTCM 18 > #define PD_USB_0 22 > #define PD_USB_1 23 > #define PD_TTC_0 24 > @@ -45,6 +41,5 @@ > #define PD_CAN_1 48 > #define PD_GPU 58 > #define PD_PCIE 59 > -#define PD_PL 69 > > #endif Applied. M
diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi index 53a606c340a4..34f592c1a85f 100644 --- a/arch/arm/dts/zynqmp.dtsi +++ b/arch/arm/dts/zynqmp.dtsi @@ -314,19 +314,76 @@ ranges; }; - remoteproc { + rproc_lockstep: remoteproc@ffe00000 { compatible = "xlnx,zynqmp-r5fss"; xlnx,cluster-mode = <1>; + xlnx,tcm-mode = <1>; - r5f-0 { + #address-cells = <2>; + #size-cells = <2>; + + ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x10000>, + <0x0 0x20000 0x0 0xffe20000 0x0 0x10000>, + <0x0 0x10000 0x0 0xffe10000 0x0 0x10000>, + <0x0 0x30000 0x0 0xffe30000 0x0 0x10000>; + + r5f@0 { + compatible = "xlnx,zynqmp-r5f"; + reg = <0x0 0x0 0x0 0x10000>, + <0x0 0x20000 0x0 0x10000>, + <0x0 0x10000 0x0 0x10000>, + <0x0 0x30000 0x0 0x10000>; + reg-names = "atcm0", "btcm0", "atcm1", "btcm1"; + power-domains = <&zynqmp_firmware PD_RPU_0>, + <&zynqmp_firmware PD_R5_0_ATCM>, + <&zynqmp_firmware PD_R5_0_BTCM>, + <&zynqmp_firmware PD_R5_1_ATCM>, + <&zynqmp_firmware PD_R5_1_BTCM>; + memory-region = <&rproc_0_fw_image>; + }; + + r5f@1 { + compatible = "xlnx,zynqmp-r5f"; + reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>; + reg-names = "atcm0", "btcm0"; + 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>; + xlnx,tcm-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 = "atcm0", "btcm0"; + 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 = "atcm0", "btcm0"; + 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>; }; }; diff --git a/include/dt-bindings/power/xlnx-zynqmp-power.h b/include/dt-bindings/power/xlnx-zynqmp-power.h index e7eb0960480a..618024cbb20d 100644 --- a/include/dt-bindings/power/xlnx-zynqmp-power.h +++ b/include/dt-bindings/power/xlnx-zynqmp-power.h @@ -6,16 +6,12 @@ #ifndef _DT_BINDINGS_ZYNQMP_POWER_H #define _DT_BINDINGS_ZYNQMP_POWER_H -#define PD_RPU_0 6 -#define PD_RPU_1 7 -#define PD_OCM_BANK_0 11 -#define PD_OCM_BANK_1 12 -#define PD_OCM_BANK_2 13 -#define PD_OCM_BANK_3 14 -#define PD_TCM_BANK_0 15 -#define PD_TCM_BANK_1 16 -#define PD_TCM_BANK_2 17 -#define PD_TCM_BANK_3 18 +#define PD_RPU_0 7 +#define PD_RPU_1 8 +#define PD_R5_0_ATCM 15 +#define PD_R5_0_BTCM 16 +#define PD_R5_1_ATCM 17 +#define PD_R5_1_BTCM 18 #define PD_USB_0 22 #define PD_USB_1 23 #define PD_TTC_0 24 @@ -45,6 +41,5 @@ #define PD_CAN_1 48 #define PD_GPU 58 #define PD_PCIE 59 -#define PD_PL 69 #endif
remoteproc node should be updated to be aligned with the latest dt-schema. Signed-off-by: Michal Simek <michal.simek@amd.com> --- Once we push all dts to Linux we can change to OF_UPSTREAM but till that time we need to keep DTSes in sync. --- arch/arm/dts/zynqmp.dtsi | 67 +++++++++++++++++-- include/dt-bindings/power/xlnx-zynqmp-power.h | 17 ++--- 2 files changed, 68 insertions(+), 16 deletions(-)