[PATCH] arm64: zynqmp: Update rproc node

Tanmay Shah tanmay.shah at amd.com
Fri May 31 17:28:18 CEST 2024


Reviewed-by: Tanmay Shah <tanmay.shah at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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
> 



More information about the U-Boot mailing list