028-v6.6-arm64-dts-rockchip-Fix-PCIe-regulators-on-Radxa-E25.patch 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. From a87852e37f782257ebc57cc44a0d3fbf806471f6 Mon Sep 17 00:00:00 2001
  2. From: Jonas Karlman <[email protected]>
  3. Date: Mon, 24 Jul 2023 14:52:16 +0000
  4. Subject: [PATCH] arm64: dts: rockchip: Fix PCIe regulators on Radxa E25
  5. Despite its name, the regulator vcc3v3_pcie30x1 has nothing to do with
  6. pcie30x1. Instead, it supply power to VBAT1-5 on the M.2 KEY B port as
  7. seen on page 8 of the schematic [1].
  8. pcie30x1 is used for the mini PCIe slot, and as seen on page 9 the
  9. vcc3v3_minipcie regulator is instead related to pcie30x1.
  10. The M.2 KEY B port can be used for WWAN USB2 modules or SATA drives.
  11. Use correct regulator vcc3v3_minipcie for pcie30x1.
  12. [1] https://dl.radxa.com/cm3p/e25/radxa-e25-v1.4-sch.pdf
  13. Fixes: 2bf2f4d9f673 ("arm64: dts: rockchip: Add Radxa CM3I E25")
  14. Signed-off-by: Jonas Karlman <[email protected]>
  15. Link: https://lore.kernel.org/r/[email protected]
  16. Signed-off-by: Heiko Stuebner <[email protected]>
  17. ---
  18. .../arm64/boot/dts/rockchip/rk3568-radxa-e25.dts | 16 ++++++++--------
  19. 1 file changed, 8 insertions(+), 8 deletions(-)
  20. --- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts
  21. +++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts
  22. @@ -47,6 +47,9 @@
  23. vin-supply = <&vcc5v0_sys>;
  24. };
  25. + /* actually fed by vcc5v0_sys, dependent
  26. + * on pi6c clock generator
  27. + */
  28. vcc3v3_minipcie: vcc3v3-minipcie-regulator {
  29. compatible = "regulator-fixed";
  30. enable-active-high;
  31. @@ -54,9 +57,9 @@
  32. pinctrl-names = "default";
  33. pinctrl-0 = <&minipcie_enable_h>;
  34. regulator-name = "vcc3v3_minipcie";
  35. - regulator-min-microvolt = <5000000>;
  36. - regulator-max-microvolt = <5000000>;
  37. - vin-supply = <&vcc5v0_sys>;
  38. + regulator-min-microvolt = <3300000>;
  39. + regulator-max-microvolt = <3300000>;
  40. + vin-supply = <&vcc3v3_pi6c_05>;
  41. };
  42. vcc3v3_ngff: vcc3v3-ngff-regulator {
  43. @@ -71,9 +74,6 @@
  44. vin-supply = <&vcc5v0_sys>;
  45. };
  46. - /* actually fed by vcc5v0_sys, dependent
  47. - * on pi6c clock generator
  48. - */
  49. vcc3v3_pcie30x1: vcc3v3-pcie30x1-regulator {
  50. compatible = "regulator-fixed";
  51. enable-active-high;
  52. @@ -83,7 +83,7 @@
  53. regulator-name = "vcc3v3_pcie30x1";
  54. regulator-min-microvolt = <3300000>;
  55. regulator-max-microvolt = <3300000>;
  56. - vin-supply = <&vcc3v3_pi6c_05>;
  57. + vin-supply = <&vcc5v0_sys>;
  58. };
  59. vcc3v3_pi6c_05: vcc3v3-pi6c-05-regulator {
  60. @@ -117,7 +117,7 @@
  61. pinctrl-names = "default";
  62. pinctrl-0 = <&pcie30x1m0_pins>;
  63. reset-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
  64. - vpcie3v3-supply = <&vcc3v3_pcie30x1>;
  65. + vpcie3v3-supply = <&vcc3v3_minipcie>;
  66. status = "okay";
  67. };