diff mbox series

[2/2] arm64: dts: rockchip: Add missing PCIe supplies to RockPro64 board dtsi

Message ID 83f2938bdd4ba49c1e840537d6ede0f8219b7b90.1740748439.git.dsimic@manjaro.org (mailing list archive)
State New
Headers show
Series Slightly improve hardware description of Pine64 RockPro64 | expand

Commit Message

Dragan Simic Feb. 28, 2025, 1:15 p.m. UTC
Add missing "vpcie0v9-supply" and "vpcie1v8-supply" properties to the "pcie0"
node in the Pine64 RockPro64 board dtsi file.  This eliminates the following
warnings from the kernel log:

  rockchip-pcie f8000000.pcie: supply vpcie1v8 not found, using dummy regulator
  rockchip-pcie f8000000.pcie: supply vpcie0v9 not found, using dummy regulator

There are no functional changes to the way board works after these changes,
because the "vcca_0v9" and "vcca_1v8" regulators are always enabled, [1][2]
but these additions improve the accuracy of hardware description.

Shuffle and reorder the "vpcie*-supply" properties a bit, so they're sorted
alphanumerically, which is a bit more logical and more useful than having
these properties listed in their strict alphabetical order.

These changes apply to the both supported hardware revisions of the Pine64
RockPro64, i.e. to the production-run revisions 2.0 and 2.1. [1][2]

[1] https://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf
[2] https://files.pine64.org/doc/rockpro64/rockpro64_v20-SCH.pdf

Reported-by: Diederik de Haas <didi.debian@cknow.org>
Signed-off-by: Dragan Simic <dsimic@manjaro.org>
---

Notes:
    Actually, these additions to the DT _might_ improve the way RockPro64
    works a bit, by _possibly_ resolving the longstanding issues with PCI
    Express enumeration, which have been observed with certain PCI Express
    cards only.  This was mentioned in the commit 43853e843aa6 (arm64: dts:
    rockchip: Remove unsupported node from the Pinebook Pro dts, 2024-04-01),
    together with a brief description of the out-of-tree enumeration delay
    that reportedly resolves those issues.
    
    Symptomatically enough, AFAIK only the RockPro64 has been reported to
    suffer from the PCI Express issues, and it's only the RockPro64 that has
    the missing supplies in its DT, so maybe there's something that causes
    issues when the PCI Express is probed before the RK808 PMIC, which the
    "vcca_1v8" regulator comes from.  The above-mentioned enumeration delay
    might actually be just a workaround for those underlying issues.
    
    Admittedly, the RockPro64 is a bit specific board by having a standard
    PCI Express slot, allowing use of various standard cards, but pretty much
    standard PCI Express cards have been attached to other RK3399 boards as
    well, and I can't recall similar issues being reported for them.
    
    The required reliability testing will be performed as the time permits,
    so we'll hopefully see are these assumptions valid.  In the meantime,
    this patch remains perfectly safe, from the standpoint of being unable
    to do any harm or cause some unforeseen regressions.

 arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
index 47dc198706c8..41ee381ff81f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
@@ -673,8 +673,10 @@  &pcie0 {
 	num-lanes = <4>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pcie_perst>;
-	vpcie12v-supply = <&vcc12v_dcin>;
+	vpcie0v9-supply = <&vcca_0v9>;
+	vpcie1v8-supply = <&vcca_1v8>;
 	vpcie3v3-supply = <&vcc3v3_pcie>;
+	vpcie12v-supply = <&vcc12v_dcin>;
 	status = "okay";
 };