mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: Ziyang Huang <hzyitc@outlook.com>, agross@kernel.org
Cc: andersson@kernel.org, konrad.dybcio@linaro.org,
	robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	conor+dt@kernel.org, quic_gokulsri@quicinc.com,
	quic_srichara@quicinc.com, quic_varada@quicinc.com,
	linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] arm64: dts: ipq5018: Correct uart1_pins pinconf
Date: Fri, 1 Sep 2023 16:04:06 +0100	[thread overview]
Message-ID: <b6fa8337-a5c0-172a-a41b-ab18de3f4f72@linaro.org> (raw)
In-Reply-To: <TYZPR01MB5556D24A77DAFA013F93B551C9E4A@TYZPR01MB5556.apcprd01.prod.exchangelabs.com>

On 01/09/2023 15:10, Ziyang Huang wrote:
> In pinctrl, the pinconfigs for uart are named "blspX_uartY".
>    X is the UART ID. Starts from 1.
>      1-6 are in BLSP Block 1.
>      7-12 are in BLSP Block 2.
>    Y is the index of mux config. Starts from 0.
> 
> In dts, the serials are also named "blspX_uartY", but with different logic.
>    X is the BLSP Block ID. Starts from 1.
>    Y is the uart id inside block.
>      In "ipq6018.dtsi" and "ipq8074.dtsi", it starts from 1.
>      But in "ipq5332.dtsi" and "ipq9574.dtsi", it starts from 0.
> 
> +-----------------+-----------------+-------------+-----------------+
> |     Block ID    | ID inside Block |  dts name   | pinconfig name  |
> | (Starts from 1) | (Starts from 1) |             |                 |
> +-----------------+-----------------+-------------+-----------------+
> |        1        |        1        | blsp1_uart1 |   blsp0_uartY   |
> |        1        |        2        | blsp1_uart2 |   blsp1_uartY   |
> |        1        |        6        | blsp1_uart6 |   blsp5_uartY   |
> |        2        |        1        | blsp2_uart1 |   blsp6_uartY   |
> |        2        |        6        | blsp2_uart6 |   blsp12_uartY  |
> +-----------------+-----------------+-------------+-----------------+
> 
> In "ipq5018.dts", "blsp1_uart1" (dts name) is the first serial (confimed
> by the address), So its pinconfig should be "blsp0_uart0" (pinconfig name,
> use GPIO 20 and 21) or "blsp0_uart1" (pinconfig name, use GPIO 28 and 29).
> 
> Fixes: 570006756a16 ("arm64: dts: Add ipq5018 SoC and rdp432-c2 board support")
> Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
> ---
> Changes since v1:
> - Use corrent name in From
> 
> Changes since v2:
> - Define 2 pinconfs for uart1 in ipq5018.dtsi
> - rdp432-c2 use uart1_pins_a
> 
>   arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts |  2 +-
>   arch/arm64/boot/dts/qcom/ipq5018.dtsi          | 15 +++++++++++----
>   2 files changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts b/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
> index e636a1cb9b77..e83d1863e89c 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
> +++ b/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
> @@ -23,7 +23,7 @@ chosen {
>   };
>   
>   &blsp1_uart1 {
> -	pinctrl-0 = <&uart1_pins>;
> +	pinctrl-0 = <&uart1_pins_a>;
>   	pinctrl-names = "default";
>   	status = "okay";
>   };
> diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> index 9f13d2dcdfd5..50b4a2bd6fd3 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> @@ -103,11 +103,18 @@ tlmm: pinctrl@1000000 {
>   			interrupt-controller;
>   			#interrupt-cells = <2>;
>   
> -			uart1_pins: uart1-state {
> -				pins = "gpio31", "gpio32", "gpio33", "gpio34";
> -				function = "blsp1_uart1";
> +			uart1_pins_a: uart1@0 {
> +				pins = "gpio20", "gpio21";
> +				function = "blsp0_uart0";
>   				drive-strength = <8>;
> -				bias-pull-down;
> +				bias-disabled;
> +			};
> +
> +			uart1_pins_b: uart1@1 {
> +				pins = "gpio28", "gpio29";
> +				function = "blsp0_uart1";
> +				drive-strength = <8>;
> +				bias-disabled;
>   			};
>   		};
>   

The assignment of pins 20 and 21 to blsp1_uart1 is not correct.

The blspX_uartY in pinctrl should match what is in the dtsi so assigning 
pins_a above to blsp1_uart1 is not right. The dts name and pinctrl name 
should be the same.

Your console is on blsp0_uart0.

https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016/-/blob/5343739b4070bcec2fecd72f758c16adc31a3083/arch/arm/dts/ipq5018-mp03.3.dts#L33

So roughly speaking

arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts

aliases {
	serial0 = &blsp0_uart0;
};

chosen {
	stdout-path = "serial0:115200n8";
};

&blsp0_uart0 {
         pinctrl-0 = <&uart0_pins>;
         pinctrl-names = "default";
         status = "okay";
};


arch/arm64/boot/dts/qcom/ipq5018.dtsi

blsp0_uart0: serial@78af000

either that or  blsp0_uart1 for pins28 and pins29 - you seem to indicate 
pins_1 => blsp0_uart0.

The two roots of the problem are

1. Mislabeling of the uart block in the dtsi
2. Invalid miscongiruation of pins for that misnamed block

The fix should be

1. Fix the labeling of uart in the dtsi
2. Decide on which pins gpio20, gpio21 ? are the right ones to configure

I thought you said in a previous email if you changed pins gpio28 and 
gpio29 that the UART would fail if so that implies blsp0_uart1.

Either way the pinctrl and dts should agree.

---
bod


  reply	other threads:[~2023-09-01 15:04 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-01 14:10 Ziyang Huang
2023-09-01 15:04 ` Bryan O'Donoghue [this message]
2023-09-03 13:02   ` Ziyang Huang
2023-09-04  0:57     ` Bryan O'Donoghue
2023-09-05 11:19       ` Sricharan Ramabadhran
2023-09-13  0:39       ` Ziyang Huang
2023-09-02 12:22 ` Konrad Dybcio
2023-09-03 13:11   ` Ziyang Huang
2023-09-03 17:15 ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b6fa8337-a5c0-172a-a41b-ab18de3f4f72@linaro.org \
    --to=bryan.odonoghue@linaro.org \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hzyitc@outlook.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_gokulsri@quicinc.com \
    --cc=quic_srichara@quicinc.com \
    --cc=quic_varada@quicinc.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®