[0/2] Redefine interconnect provider DT nodes for SDM845
mbox series

Message ID 1563568344-1274-1-git-send-email-daidavid1@codeaurora.org
Headers show
Series
  • Redefine interconnect provider DT nodes for SDM845
Related show

Message

David Dai July 19, 2019, 8:32 p.m. UTC
Redefine the SDM845 interconnect device nodes as the previous definitions
of using a single child node under the apps_rsc device did not accurately
capture the description of the hardware. The Network-On-Chip (NoC) interconnect
devices should be represented in a manner akin to QCS404 platforms[1]
where there is a separation of NoC devices and its RPM/RPMh counterparts.

The bcm-voter devices are representing the RPMh devices that the interconnect
providers need to communicate with and there can be more than one instance of
the Bus Clock Manager (BCM) which can live under different instances of Resource
State Coordinators (RSC). There are display use cases where consumers may need
to target a different bcm-voter (Some display specific RSC) than the default,
and there needs to be a way to represent this connection in devicetree.

[1]: https://lkml.org/lkml/2019/6/13/143

David Dai (2):
  dt-bindings: interconnect: Update Qualcomm SDM845 DT bindings
  arm64: dts: sdm845: Redefine interconnect provider DT nodes

 .../bindings/interconnect/qcom,bcm-voter.txt       | 32 ++++++++++++
 .../bindings/interconnect/qcom,sdm845.txt          | 40 ++++++++++----
 arch/arm64/boot/dts/qcom/sdm845.dtsi               | 61 ++++++++++++++++++++--
 3 files changed, 121 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,bcm-voter.txt

Comments

Bjorn Andersson July 21, 2019, 7:13 p.m. UTC | #1
On Fri 19 Jul 13:32 PDT 2019, David Dai wrote:

> Add the DT nodes for each of the Network-On-Chip interconnect
> buses found on SDM845 based platform and redefine the rsc_hlos
> child node as a bcm-voter device to better represent the hardware.
> 
> Signed-off-by: David Dai <daidavid1@codeaurora.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 61 ++++++++++++++++++++++++++++++++++--
>  1 file changed, 58 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index e7d78bc..204222e 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -610,6 +610,62 @@
>  			#power-domain-cells = <1>;
>  		};
>  
> +		aggre1_noc: interconnect@16e0000 {
> +			compatible = "qcom,sdm845-aggre1_noc";
> +			reg = <0 0x16e0000 0 0xd080>;

Please pad the address to 8 digits and keep nodes sorted by address.

> +			#interconnect-cells = <1>;
> +			qcom,bcm-voter = <&apps_bcm_voter>;
> +		};
> +
> +		aggre2_noc: interconnect@1700000 {
> +			compatible = "qcom,sdm845-aggre2_noc";
> +			reg = <0 0x1700000 0 0x3b100>;
> +			#interconnect-cells = <1>;
> +			qcom,bcm-voter = <&apps_bcm_voter>;
> +		};
> +
> +		config_noc: interconnect@1500000 {
> +			compatible = "qcom,sdm845-config_noc";
> +			reg = <0 0x1500000 0 0x5080>;
> +			#interconnect-cells = <1>;
> +			qcom,bcm-voter = <&apps_bcm_voter>;
> +		};
[..]
>  		qfprom@784000 {
>  			compatible = "qcom,qfprom";
>  			reg = <0 0x00784000 0 0x8ff>;
> @@ -2801,9 +2857,8 @@
>  				};
>  			};
>  
> -			rsc_hlos: interconnect {
> -				compatible = "qcom,sdm845-rsc-hlos";
> -				#interconnect-cells = <1>;
> +			apps_bcm_voter: bcm_voter {

No '_' in node names, so bcm-voter.

Apart from this nits this looks good.

Regards,
Bjorn

> +				compatible = "qcom,sdm845-bcm-voter";
>  			};
>  		};
>  
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
>
David Dai July 23, 2019, 6:24 p.m. UTC | #2
Thanks for looking over this, Bjorn.

On 7/21/2019 12:13 PM, Bjorn Andersson wrote:
> On Fri 19 Jul 13:32 PDT 2019, David Dai wrote:
>
>> Add the DT nodes for each of the Network-On-Chip interconnect
>> buses found on SDM845 based platform and redefine the rsc_hlos
>> child node as a bcm-voter device to better represent the hardware.
>>
>> Signed-off-by: David Dai <daidavid1@codeaurora.org>
>> ---
>>   arch/arm64/boot/dts/qcom/sdm845.dtsi | 61 ++++++++++++++++++++++++++++++++++--
>>   1 file changed, 58 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> index e7d78bc..204222e 100644
>> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> @@ -610,6 +610,62 @@
>>   			#power-domain-cells = <1>;
>>   		};
>>   
>> +		aggre1_noc: interconnect@16e0000 {
>> +			compatible = "qcom,sdm845-aggre1_noc";
>> +			reg = <0 0x16e0000 0 0xd080>;
> Please pad the address to 8 digits and keep nodes sorted by address.
Will fix.
>> +			#interconnect-cells = <1>;
>> +			qcom,bcm-voter = <&apps_bcm_voter>;
>> +		};
>> +
>> +		aggre2_noc: interconnect@1700000 {
>> +			compatible = "qcom,sdm845-aggre2_noc";
>> +			reg = <0 0x1700000 0 0x3b100>;
>> +			#interconnect-cells = <1>;
>> +			qcom,bcm-voter = <&apps_bcm_voter>;
>> +		};
>> +
>> +		config_noc: interconnect@1500000 {
>> +			compatible = "qcom,sdm845-config_noc";
>> +			reg = <0 0x1500000 0 0x5080>;
>> +			#interconnect-cells = <1>;
>> +			qcom,bcm-voter = <&apps_bcm_voter>;
>> +		};
> [..]
>>   		qfprom@784000 {
>>   			compatible = "qcom,qfprom";
>>   			reg = <0 0x00784000 0 0x8ff>;
>> @@ -2801,9 +2857,8 @@
>>   				};
>>   			};
>>   
>> -			rsc_hlos: interconnect {
>> -				compatible = "qcom,sdm845-rsc-hlos";
>> -				#interconnect-cells = <1>;
>> +			apps_bcm_voter: bcm_voter {
> No '_' in node names, so bcm-voter.
Ok.
>
> Apart from this nits this looks good.
>
> Regards,
> Bjorn
>
>> +				compatible = "qcom,sdm845-bcm-voter";
>>   			};
>>   		};
>>   
>> -- 
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> a Linux Foundation Collaborative Project
>>