@@ -12,6 +12,7 @@
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
+#include <dt-bindings/usb/pd.h>
/ {
model = "MediaTek MT8195 demo board";
@@ -380,6 +381,22 @@
};
};
+ mt6360_pins: mt6360-pins {
+ pins {
+ pinmux = <PINMUX_GPIO100__FUNC_GPIO100>,
+ <PINMUX_GPIO101__FUNC_GPIO101>;
+ input-enable;
+ bias-pull-up;
+ };
+ };
+
+ u3_p0_vbus: u3_p0vbusdefault {
+ pins_cmd_dat {
+ pinmux = <PINMUX_GPIO63__FUNC_VBUSVALID>;
+ input-enable;
+ };
+ };
+
uart0_pins: uart0-pins {
pins {
pinmux = <PINMUX_GPIO98__FUNC_UTXD0>,
@@ -393,6 +410,14 @@
<PINMUX_GPIO103__FUNC_URXD1>;
};
};
+
+ usb_otg_vbus: usb-otg-vbus-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "otg-vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ };
};
@@ -412,6 +437,22 @@
status = "okay";
};
+&u3port0 {
+ status = "okay";
+};
+
+&u2port1 {
+ status = "okay";
+};
+
+&u2port2 {
+ status = "okay";
+};
+
+&u2port3 {
+ status = "okay";
+};
+
&u3phy0 {
status = "okay";
};
@@ -428,6 +469,16 @@
status = "okay";
};
+&ssusb {
+ pinctrl-names = "default";
+ pinctrl-0 = <&u3_p0_vbus>;
+ vusb33-supply = <&mt6359_vusb_ldo_reg>;
+ dr_mode = "otg";
+ mediatek,usb3-drd;
+ usb-role-switch;
+ status = "okay";
+};
+
&xhci0 {
vusb33-supply = <&mt6359_vusb_ldo_reg>;
vbus-supply = <&otg_vbus_regulator>;
1. Enable USB device port (USB port0). 2. Enable u2 speed for other USB HOST (USB port1/2/3). 3. Configure mt6360 (TYPEC) related pinctrls. Note: Full dual-role switch capability requires TYPEC MUX driver and dts update will be send in separate patches. Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> --- arch/arm64/boot/dts/mediatek/mt8195-demo.dts | 51 ++++++++++++++++++++ 1 file changed, 51 insertions(+)