diff mbox series

arm64: zynqmp: Update rproc node

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

Commit Message

Michal Simek May 30, 2024, 10:39 a.m. UTC
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(-)

Comments

Tanmay Shah May 30, 2024, 10:16 p.m. UTC | #1
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
Michal Simek May 31, 2024, 6:06 a.m. UTC | #2
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
Tanmay Shah May 31, 2024, 3:28 p.m. UTC | #3
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
>
Michal Simek June 7, 2024, 7:46 a.m. UTC | #4
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 mbox series

Patch

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