[PATCH 6/7] arm64: dts: mediatek: mt8195-cherry: add WiFi PCIe and BT USB power supplies
From: Chen-Yu Tsai
Date: Wed Feb 25 2026 - 02:33:28 EST
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@xxxxxxxxxxxx>
---
.../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@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@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