[PATCH] arm64: zynqmp: Update rproc node

Michal Simek michal.simek at amd.com
Fri May 31 08:06:28 CEST 2024



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.

Thanks,
Michal



More information about the U-Boot mailing list