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