[PATCH 6/7] arm64: dts: mediatek: mt8195-cherry: add WiFi PCIe and BT USB power supplies
Chen-Yu Tsai
wenst at chromium.org
Tue Feb 24 23:22:23 PST 2026
The MT8195 Cherry design features an M.2 E-key slot wired up with PCIe
and USB for a WiFi+BT adapter. Previously the power was just enabled
all the time with a default pinctrl setting that set the GPIO pin high.
With the PCIe slot description DT binding in place, the power supplies
can at least be added and tied to the PCIe and USB hosts. Once the
M.2 E-key binding is merged, this description can be further converted
to an M.2 E-key.
Signed-off-by: Chen-Yu Tsai <wenst at chromium.org>
---
.../boot/dts/mediatek/mt8195-cherry.dtsi | 47 ++++++++++++++-----
1 file changed, 36 insertions(+), 11 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index 6e99122c65ac..f1ff64a84267 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -83,6 +83,17 @@ pp3300_s3: regulator-pp3300-s3 {
vin-supply = <&pp3300_z2>;
};
+ pp3300_wlan: regulator-pp3300-wlan {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pp3300_wlan_en_pin>;
+ regulator-name = "pp3300_wlan";
+ /* load switch */
+ enable-active-high;
+ gpio = <&pio 58 GPIO_ACTIVE_HIGH>;
+ vin-supply = <&pp3300_z2>;
+ };
+
/* system wide 3.3V power rail */
pp3300_z2: regulator-pp3300-z2 {
compatible = "regulator-fixed";
@@ -760,10 +771,25 @@ &ovl0_in {
};
&pcie1 {
- status = "okay";
-
pinctrl-names = "default";
pinctrl-0 = <&pcie1_pins_default>;
+ status = "okay";
+
+ pcie at 0 {
+ compatible = "pciclass,0604";
+ reg = <0 0 0 0 0>;
+ device_type = "pci";
+ num-lanes = <1>;
+ vpcie3v3-supply = <&pp3300_wlan>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+
+ wifi at 0 {
+ reg = <0 0 0 0 0>;
+ wakeup-source;
+ };
+ };
};
&pio {
@@ -1179,12 +1205,6 @@ pins-vreg-en {
};
pio_default: pio-default-pins {
- pins-wifi-enable {
- pinmux = <PINMUX_GPIO58__FUNC_GPIO58>;
- output-high;
- drive-strength = <14>;
- };
-
pins-low-power-pd {
pinmux = <PINMUX_GPIO25__FUNC_GPIO25>,
<PINMUX_GPIO26__FUNC_GPIO26>,
@@ -1222,6 +1242,12 @@ pins-low-power-pupd {
};
};
+ pp3300_wlan_en_pin: pp3300-wlan-en-pins {
+ pins-en {
+ pinmux = <PINMUX_GPIO58__FUNC_GPIO58>;
+ };
+ };
+
rt1019p_pins_default: rt1019p-default-pins {
pins-amp-sdb {
pinmux = <PINMUX_GPIO100__FUNC_GPIO100>;
@@ -1570,11 +1596,10 @@ &xhci2 {
};
&xhci3 {
- status = "okay";
-
/* MT7921's USB Bluetooth has issues with USB2 LPM */
usb2-lpm-disable;
- vbus-supply = <&usb_vbus>;
+ vbus-supply = <&pp3300_wlan>;
+ status = "okay";
};
#include <arm/cros-ec-keyboard.dtsi>
--
2.53.0.414.gf7e9f6c205-goog
More information about the linux-arm-kernel
mailing list