[PATCH] ARM: dts: colibri-imx6ull: Enable dual-role switching

From: Philippe Schenker
Date: Wed Nov 02 2022 - 11:52:42 EST


From: Philippe Schenker <philippe.schenker@xxxxxxxxxxx>

The Colibri standard provides a GPIO called USBC_DET to switch from
USB Host to USB Device and back. The Colibri iMX6ULL does have the SoC
ball USB_OTG1_VBUS connected in series with a capacitor to ground.

This means that we need to provide to the extcon framework VBUS and ID
events using the single GPIO we have. The Extcon USB GPIO driver does
use id-gpio also for VBUS event, as in our case where vbus-gpio is
absent.

Signed-off-by: Philippe Schenker <philippe.schenker@xxxxxxxxxxx>

---

arch/arm/boot/dts/imx6ull-colibri.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi b/arch/arm/boot/dts/imx6ull-colibri.dtsi
index 577a424b0e1d..feb1fcd9a684 100644
--- a/arch/arm/boot/dts/imx6ull-colibri.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi
@@ -24,6 +24,13 @@ backlight: backlight {
status = "okay";
};

+ extcon_usbc_det: usbc-det {
+ compatible = "linux,extcon-usb-gpio";
+ id-gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>; /* SODIMM 137 / USBC_DET */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_snvs_usbc_det>;
+ };
+
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
@@ -275,6 +282,7 @@ &uart5 {
/* Colibri USBC */
&usbotg1 {
dr_mode = "otg";
+ extcon = <&extcon_usbc_det>, <&extcon_usbc_det>;
srp-disable;
hnp-disable;
adp-disable;
--
2.38.1