From: Geraldo Nascimento <geraldogabriel@gmail.com>
To: Dragan Simic <dsimic@manjaro.org>
Cc: "Bjorn Helgaas" <helgaas@kernel.org>,
linux-rockchip@lists.infradead.org,
"Shawn Lin" <shawn.lin@rock-chips.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Heiko Stuebner" <heiko@sntech.de>,
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Johan Jonker" <jbx6244@gmail.com>
Subject: Re: [RFC PATCH 2/2] PCI: rockchip-host: drop wait on PERST# toggle
Date: Sun, 9 Nov 2025 20:57:52 -0300 [thread overview]
Message-ID: <aREqgL8JVYUcKO7R@geday> (raw)
In-Reply-To: <17220ae9-9e0e-cb0b-63bd-eaf9a6ed6411@manjaro.org>
On Mon, Nov 10, 2025 at 12:51:49AM +0100, Dragan Simic wrote:
> Hello Geraldo,
>
> On Wednesday, November 05, 2025 04:55 CET, Geraldo Nascimento <geraldogabriel@gmail.com> wrote:
> > I did some more testing, intrigued by why would a delay of more than
> > 5 ms after the enablement of the power rails trigger failure in
> > initial link-training.
> >
> > Something in my intuition kept telling me this was PERST# related,
> > and so I followed that rabbit-hole.
> >
> > It seems the following change will allow the SSD to work with the
> > Rockchip-IP PCIe core without any other changes. So it is purely
> > a DT change and we are able to keep the mandatory 100ms delay
> > after driving PERST# low, as well as the always-on/boot-on
> > properties of the 3v3 power regulator.
> >
> > This time everything is within the PCIe spec AFAICT, PERST# indeed
> > is an Open Drain signal, and indeed it does requires pull-up resistor
> > to maintain the drive after driving it high.
> >
> > I'm still testing the overall stability of this, let's hope for the
> > best!
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi b/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
> > index aa70776e898a..1c5afc0413bc 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
> > @@ -383,13 +383,14 @@ &pcie_phy {
> > };
> >
> > &pcie0 {
> > - ep-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
> > + ep-gpios = <&gpio0 RK_PB4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> > num-lanes = <4>;
> > - pinctrl-0 = <&pcie_clkreqnb_cpm>;
> > + pinctrl-0 = <&pcie_clkreqnb_cpm>, <&pcie_perst>;
> > pinctrl-names = "default";
> > vpcie0v9-supply = <&vcca_0v9>; /* VCC_0V9_S0 */
> > vpcie1v8-supply = <&vcca_1v8>; /* VCC_1V8_S0 */
> > vpcie3v3-supply = <&vcc3v3_pcie>;
> > + max-link-speed = <2>;
>
> FWIW, we shouldn't be enabling PCIe Gen2 here, because it's been
> already disabled for the RK3399 due to unknown errata in the commit
> 712fa1777207 ("arm64: dts: rockchip: add max-link-speed for rk3399",
> 2016-12-16). It's perfectly reasonable to assume the same for the
> RK3399Pro, which is basically RK3399 packaged together with RK1808,
> AFAIK with no on-package interconnects.
Hi Dragan!
Thanks for the catch, you are correct. But in this case it was just
for my tests and it crept in in the git diff. I wasn't really proposing
to make that change.
Thanks,
Geraldo Nascimento
WARNING: multiple messages have this Message-ID (diff)
From: Geraldo Nascimento <geraldogabriel@gmail.com>
To: Dragan Simic <dsimic@manjaro.org>
Cc: "Bjorn Helgaas" <helgaas@kernel.org>,
linux-rockchip@lists.infradead.org,
"Shawn Lin" <shawn.lin@rock-chips.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Heiko Stuebner" <heiko@sntech.de>,
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Johan Jonker" <jbx6244@gmail.com>
Subject: Re: [RFC PATCH 2/2] PCI: rockchip-host: drop wait on PERST# toggle
Date: Sun, 9 Nov 2025 20:57:52 -0300 [thread overview]
Message-ID: <aREqgL8JVYUcKO7R@geday> (raw)
In-Reply-To: <17220ae9-9e0e-cb0b-63bd-eaf9a6ed6411@manjaro.org>
On Mon, Nov 10, 2025 at 12:51:49AM +0100, Dragan Simic wrote:
> Hello Geraldo,
>
> On Wednesday, November 05, 2025 04:55 CET, Geraldo Nascimento <geraldogabriel@gmail.com> wrote:
> > I did some more testing, intrigued by why would a delay of more than
> > 5 ms after the enablement of the power rails trigger failure in
> > initial link-training.
> >
> > Something in my intuition kept telling me this was PERST# related,
> > and so I followed that rabbit-hole.
> >
> > It seems the following change will allow the SSD to work with the
> > Rockchip-IP PCIe core without any other changes. So it is purely
> > a DT change and we are able to keep the mandatory 100ms delay
> > after driving PERST# low, as well as the always-on/boot-on
> > properties of the 3v3 power regulator.
> >
> > This time everything is within the PCIe spec AFAICT, PERST# indeed
> > is an Open Drain signal, and indeed it does requires pull-up resistor
> > to maintain the drive after driving it high.
> >
> > I'm still testing the overall stability of this, let's hope for the
> > best!
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi b/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
> > index aa70776e898a..1c5afc0413bc 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
> > @@ -383,13 +383,14 @@ &pcie_phy {
> > };
> >
> > &pcie0 {
> > - ep-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
> > + ep-gpios = <&gpio0 RK_PB4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> > num-lanes = <4>;
> > - pinctrl-0 = <&pcie_clkreqnb_cpm>;
> > + pinctrl-0 = <&pcie_clkreqnb_cpm>, <&pcie_perst>;
> > pinctrl-names = "default";
> > vpcie0v9-supply = <&vcca_0v9>; /* VCC_0V9_S0 */
> > vpcie1v8-supply = <&vcca_1v8>; /* VCC_1V8_S0 */
> > vpcie3v3-supply = <&vcc3v3_pcie>;
> > + max-link-speed = <2>;
>
> FWIW, we shouldn't be enabling PCIe Gen2 here, because it's been
> already disabled for the RK3399 due to unknown errata in the commit
> 712fa1777207 ("arm64: dts: rockchip: add max-link-speed for rk3399",
> 2016-12-16). It's perfectly reasonable to assume the same for the
> RK3399Pro, which is basically RK3399 packaged together with RK1808,
> AFAIK with no on-package interconnects.
Hi Dragan!
Thanks for the catch, you are correct. But in this case it was just
for my tests and it crept in in the git diff. I wasn't really proposing
to make that change.
Thanks,
Geraldo Nascimento
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2025-11-09 23:58 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-03 6:26 [RFC PATCH 0/2] PCI: rockchip-host: support quirky devices Geraldo Nascimento
2025-11-03 6:26 ` Geraldo Nascimento
2025-11-03 6:27 ` [RFC PATCH 1/2] arm64: dts: rockchip: drop PCIe 3v3 always-on/boot-on Geraldo Nascimento
2025-11-03 6:27 ` Geraldo Nascimento
2025-11-03 6:27 ` [RFC PATCH 2/2] PCI: rockchip-host: drop wait on PERST# toggle Geraldo Nascimento
2025-11-03 6:27 ` Geraldo Nascimento
2025-11-03 18:10 ` Bjorn Helgaas
2025-11-03 18:10 ` Bjorn Helgaas
2025-11-03 20:55 ` Geraldo Nascimento
2025-11-03 20:55 ` Geraldo Nascimento
2025-11-05 3:55 ` Geraldo Nascimento
2025-11-05 3:55 ` Geraldo Nascimento
2025-11-05 9:06 ` Diederik de Haas
2025-11-05 9:06 ` Diederik de Haas
2025-11-05 21:22 ` Geraldo Nascimento
2025-11-05 21:22 ` Geraldo Nascimento
2025-11-07 10:27 ` Diederik de Haas
2025-11-07 10:27 ` Diederik de Haas
2025-11-09 23:51 ` Dragan Simic
2025-11-09 23:51 ` Dragan Simic
2025-11-09 23:57 ` Geraldo Nascimento [this message]
2025-11-09 23:57 ` Geraldo Nascimento
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=aREqgL8JVYUcKO7R@geday \
--to=geraldogabriel@gmail.com \
--cc=bhelgaas@google.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dsimic@manjaro.org \
--cc=heiko@sntech.de \
--cc=helgaas@kernel.org \
--cc=jbx6244@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=robh@kernel.org \
--cc=shawn.lin@rock-chips.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.