diff mbox series

[V4,3/4] arm64: dts: sc7280: Update QUPv3 Debug UART DT node

Message ID 1627306847-25308-4-git-send-email-rajpat@codeaurora.org
State Superseded
Headers show
Series Add QSPI and QUPv3 DT nodes for SC7280 SoC | expand

Commit Message

Rajesh Patil July 26, 2021, 1:40 p.m. UTC
From: Roja Rani Yarubandi <rojay@codeaurora.org>

Update QUPv3 Debug UART DT node with the interconnect names and
functions for SC7280 SoC.

Split the Debug UART pin control functions.

Signed-off-by: Roja Rani Yarubandi <rojay@codeaurora.org>
Signed-off-by: Rajesh Patil <rajpat@codeaurora.org>
---
Changes in V4:
 - As per Bjorn's comment, posting this debug-uart node update
   as seperate patch

 arch/arm64/boot/dts/qcom/sc7280-idp.dts | 18 +++++++-----------
 arch/arm64/boot/dts/qcom/sc7280.dtsi    | 28 ++++++++++++++++++++++++----
 2 files changed, 31 insertions(+), 15 deletions(-)

Comments

Rajesh Patil Aug. 11, 2021, 12:04 p.m. UTC | #1
On 2021-07-26 21:12, Matthias Kaehlcke wrote:
> On Mon, Jul 26, 2021 at 07:10:46PM +0530, Rajesh Patil wrote:

>> From: Roja Rani Yarubandi <rojay@codeaurora.org>

>> 

>> Update QUPv3 Debug UART DT node with the interconnect names and

>> functions for SC7280 SoC.

>> 

>> Split the Debug UART pin control functions.

>> 

>> Signed-off-by: Roja Rani Yarubandi <rojay@codeaurora.org>

>> Signed-off-by: Rajesh Patil <rajpat@codeaurora.org>

>> ---

>> Changes in V4:

>>  - As per Bjorn's comment, posting this debug-uart node update

>>    as seperate patch

>> 

>>  arch/arm64/boot/dts/qcom/sc7280-idp.dts | 18 +++++++-----------

>>  arch/arm64/boot/dts/qcom/sc7280.dtsi    | 28 

>> ++++++++++++++++++++++++----

>>  2 files changed, 31 insertions(+), 15 deletions(-)

>> 

>> diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts 

>> b/arch/arm64/boot/dts/qcom/sc7280-idp.dts

>> index f63cf51..a50c9e5 100644

>> --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts

>> +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts

>> @@ -383,18 +383,14 @@

>>  	bias-pull-up;

>>  };

>> 

>> -&qup_uart5_default {

>> -	tx {

>> -		pins = "gpio46";

>> -		drive-strength = <2>;

>> -		bias-disable;

>> -	};

>> +&qup_uart5_tx {

>> +	drive-strength = <2>;

>> +	bias-disable;

>> +};

>> 

>> -	rx {

>> -		pins = "gpio47";

>> -		drive-strength = <2>;

>> -		bias-pull-up;

>> -	};

>> +&qup_uart5_rx {

>> +	drive-strength = <2>;

>> +	bias-pull-up;

>>  };

>> 

>>  &sdc1_on {

>> diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi 

>> b/arch/arm64/boot/dts/qcom/sc7280.dtsi

>> index 455e58f..951818f 100644

>> --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi

>> +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi

>> @@ -853,8 +853,13 @@

>>  				clock-names = "se";

>>  				clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;

>>  				pinctrl-names = "default";

>> -				pinctrl-0 = <&qup_uart5_default>;

>> +				pinctrl-0 = <&qup_uart5_cts>, <&qup_uart5_rts>, <&qup_uart5_tx>, 

>> <&qup_uart5_rx>;

>>  				interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;

>> +				power-domains = <&rpmhpd SC7280_CX>;

>> +				operating-points-v2 = <&qup_opp_table>;

>> +				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt 

>> SLAVE_QUP_CORE_0 0>,

>> +						<&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>;

>> +				interconnect-names = "qup-core", "qup-config";

> 

> 

> Most of the above should be added by patch '[2/4] arm64: dts: sc7280: 

> Add QUPv3

> wrapper_0 nodes'.


Based on the comments on v3 [1], I have added this as a separate patch
[1] https://lore.kernel.org/patchwork/patch/1441257/

> 

> I have to say I dislike that the SoC DT file dictates which UART to use 

> for

> the serial console. Technically it could be any of them, right? uart5 

> is

> used because that's what the IDP does, and the rest of the world is 

> expected

> to follow. Why not configure uart5 as "qcom,geni-uart" by default and

> overwrite the compatible string and pinctrl in the board file? You 

> could even

> add 'qup-uartN-all' (or similar) pinconfigs to sc7280.dtsi, which would 

> make

> the changes in the board file trivial.


Okay, will make the compatible as "qcom,geni-uart" in SoC dt and later 
modify it in idp dts as "qcom,geni-debug-uart".

Thanks,
Rajesh
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts b/arch/arm64/boot/dts/qcom/sc7280-idp.dts
index f63cf51..a50c9e5 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts
@@ -383,18 +383,14 @@ 
 	bias-pull-up;
 };
 
-&qup_uart5_default {
-	tx {
-		pins = "gpio46";
-		drive-strength = <2>;
-		bias-disable;
-	};
+&qup_uart5_tx {
+	drive-strength = <2>;
+	bias-disable;
+};
 
-	rx {
-		pins = "gpio47";
-		drive-strength = <2>;
-		bias-pull-up;
-	};
+&qup_uart5_rx {
+	drive-strength = <2>;
+	bias-pull-up;
 };
 
 &sdc1_on {
diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
index 455e58f..951818f 100644
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
@@ -853,8 +853,13 @@ 
 				clock-names = "se";
 				clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
 				pinctrl-names = "default";
-				pinctrl-0 = <&qup_uart5_default>;
+				pinctrl-0 = <&qup_uart5_cts>, <&qup_uart5_rts>, <&qup_uart5_tx>, <&qup_uart5_rx>;
 				interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
+				power-domains = <&rpmhpd SC7280_CX>;
+				operating-points-v2 = <&qup_opp_table>;
+				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
+						<&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>;
+				interconnect-names = "qup-core", "qup-config";
 				status = "disabled";
 			};
 
@@ -2234,9 +2239,24 @@ 
 				function = "qup04";
 			};
 
-			qup_uart5_default: qup-uart5-default {
-				pins = "gpio46", "gpio47";
-				function = "qup13";
+			qup_uart5_cts: qup-uart5-cts {
+				pins = "gpio20";
+				function = "qup05";
+			};
+
+			qup_uart5_rts: qup-uart5-rts {
+				pins = "gpio21";
+				function = "qup05";
+			};
+
+			qup_uart5_tx: qup-uart5-tx {
+				pins = "gpio22";
+				function = "qup05";
+			};
+
+			qup_uart5_rx: qup-uart5-rx {
+				pins = "gpio23";
+				function = "qup05";
 			};
 
 			qup_uart6_cts: qup-uart6-cts {