From: Robin Murphy <robin.murphy@arm.com>
To: Peter Geis <pgwipeout@gmail.com>, Heiko Stuebner <heiko@sntech.de>
Cc: Mark Rutland <mark.rutland@arm.com>,
linux-rockchip@lists.infradead.org,
Rob Herring <robh+dt@kernel.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm64: dts: rockchip: Fix rk3328 rgmii high tx error rate
Date: Tue, 12 Mar 2019 01:21:24 +0000 [thread overview]
Message-ID: <f1237429-bef6-44e1-b777-fed078571541@arm.com> (raw)
In-Reply-To: <20190309182013.22162-1-pgwipeout@gmail.com>
On 2019-03-09 6:20 pm, Peter Geis wrote:
> Several rk3328 based boards experience high rgmii tx error rates.
> This is due to several pins in the rk3328.dtsi rgmii pinmux that are
> missing a pull level setting.
> This causes the pinmux driver to default to 0ma.
Hmm, according to the TRM, there is no 0ma setting; only 2, 4, 8, or 12...
> Fix this by setting those pins to 12ma, consistent with the other tx pins.
> This allows much higher data rates with much fewer retries and no recorded
> tx errors.
>
> Tested on the rk3328-roc-cc board.
>
> Signed-off-by: Peter Geis <pgwipeout@gmail.com>
> ---
> arch/arm64/boot/dts/rockchip/rk3328.dtsi | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> index 84f14b132e8f..48a4477ebe58 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> @@ -1673,19 +1673,19 @@
> <1 RK_PC1 2 &pcfg_pull_none_12ma>,
>
> /* mac_txclk */
> - <0 RK_PB0 1 &pcfg_pull_none>,
> + <0 RK_PB0 1 &pcfg_pull_none_12ma>,
> /* mac_txen */
> - <0 RK_PB4 1 &pcfg_pull_none>,
> + <0 RK_PB4 1 &pcfg_pull_none_12ma>,
> /* mac_clk */
> - <0 RK_PD0 1 &pcfg_pull_none>,
> + <0 RK_PD0 1 &pcfg_pull_none_12ma>,
> /* mac_txd1 */
> - <0 RK_PC0 1 &pcfg_pull_none>,
> + <0 RK_PC0 1 &pcfg_pull_none_12ma>,
> /* mac_txd0 */
> - <0 RK_PC1 1 &pcfg_pull_none>,
> + <0 RK_PC1 1 &pcfg_pull_none_12ma>,
> /* mac_txd3 */
> - <0 RK_PC7 1 &pcfg_pull_none>,
> + <0 RK_PC7 1 &pcfg_pull_none_12ma>,
> /* mac_txd2 */
> - <0 RK_PC6 1 &pcfg_pull_none>;
> + <0 RK_PC6 1 &pcfg_pull_none_12ma>;
...but weirder than that, according to the datasheet none of these are
actual pins anyway - those are the GPIO1B/C/D entries listed above this
set - so it's not really clear what might be going on here, but it
doesn't seem as straightforward as the commit message implies.
The TRM lists the entire IOMUX registers for GPIO0B and GPOIO0C as
reserved, and doesn't even list drive strength registers corresponding
to these banks at all. What's interesting is that Rockchip's 4.4 BSP
kernel implies that these pins might have actually existed at some point
during the chip's development[1], and digging right back into the 3.10
BSP suggests there is some non-obvious interaction between the two
configs[2][3]. So I guess there's a question of whether this patch is
really doing what we think it's doing, and whether what it does do is
truly appropriate to apply as the SoC-level default.
Robin.
[1]
https://github.com/rockchip-linux/kernel/commit/8aceffc885c7d4f3f35d09d56d22ba47e64aad5b
[2]
https://github.com/rockchip-linux/kernel/commit/727de6da39ee62bb5b1252141a53ed027d5609f8
[3]
https://github.com/rockchip-linux/kernel/commit/8e6b7f85dd5b451e57f220922a0ca1caecd71a94
> };
>
> rmiim1_pins: rmiim1-pins {
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-03-12 1:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-09 18:20 [PATCH] arm64: dts: rockchip: Fix rk3328 rgmii high tx error rate Peter Geis
2019-03-12 1:21 ` Robin Murphy [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-03-13 18:45 [PATCH] arm64: dts: rockchip: fix " Peter Geis
2019-03-16 20:00 ` Heiko Stuebner
2019-04-03 0:07 ` Robin Murphy
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=f1237429-bef6-44e1-b777-fed078571541@arm.com \
--to=robin.murphy@arm.com \
--cc=heiko@sntech.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=pgwipeout@gmail.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;
as well as URLs for NNTP newsgroup(s).