Commit 4543e286 authored by Andrejs Cainikovs's avatar Andrejs Cainikovs Committed by Vignesh Raghavendra

arm64: dts: ti: verdin-am62: add support for Verdin USB1 interface

Add support for Verdin USB1 interface, implements role switch
functionality using "gpio-usb-b-connector", VBUS is also now
controlled with "regulator-fixed" using a standard GPIO.
Signed-off-by: default avatarAndrejs Cainikovs <andrejs.cainikovs@toradex.com>
Reviewed-by: default avatarFrancesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240209130106.38739-1-andrejs.cainikovs@gmail.comSigned-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
parent c094c536
......@@ -42,6 +42,22 @@ aliases {
usb1 = &usb1;
};
connector {
compatible = "gpio-usb-b-connector", "usb-b-connector";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0_id>;
id-gpios = <&main_gpio1 19 GPIO_ACTIVE_HIGH>;
label = "USB_1";
self-powered;
vbus-supply = <&reg_usb0_vbus>;
port {
usb_dr_connector: endpoint {
remote-endpoint = <&usb0_ep>;
};
};
};
verdin_gpio_keys: gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
......@@ -151,6 +167,18 @@ reg_sdhc1_vqmmc: regulator-sdhci1-vqmmc {
vin-supply = <&reg_sd_3v3_1v8>;
};
reg_usb0_vbus: regulator-usb0-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0_en>;
enable-active-high;
/* Verdin USB_1_EN (SODIMM 155) */
gpio = <&main_gpio1 50 GPIO_ACTIVE_HIGH>;
regulator-max-microvolt = <5000000>;
regulator-min-microvolt = <5000000>;
regulator-name = "USB_1_EN";
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
......@@ -436,6 +464,13 @@ AM62X_IOPAD(0x0244, PIN_INPUT_PULLUP, 7) /* (C17) MMC1_SDWP.GPIO1_49 */ /* SODIM
>;
};
/* Verdin USB_1_EN */
pinctrl_usb0_en: main-gpio1-50-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0254, PIN_INPUT, 7) /* (C20) USB0_DRVVBUS.GPIO1_50 */ /* SODIMM 155 */
>;
};
/* On-module I2C - PMIC_I2C */
pinctrl_i2c0: main-i2c0-default-pins {
pinctrl-single,pins = <
......@@ -660,13 +695,6 @@ AM62X_IOPAD(0x0038, PIN_OUTPUT, 5) /* (E24) OSPI0_CSn3.UART5_TXD */ /*
>;
};
/* Verdin USB_1 */
pinctrl_usb0: main-usb0-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0254, PIN_OUTPUT, 0) /* (C20) USB0_DRVVBUS */ /* SODIMM 155 */
>;
};
/* Verdin USB_2 */
pinctrl_usb1: main-usb1-default-pins {
pinctrl-single,pins = <
......@@ -1013,7 +1041,7 @@ &main_gpio1 {
"",
"",
"SODIMM_17",
"", /* 50 */
"SODIMM_155", /* 50 */
"",
"",
"",
......@@ -1428,11 +1456,16 @@ &usbss0 {
status = "disabled";
};
/* TODO: role swich using ID pin */
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb0_id>;
adp-disable;
usb-role-switch;
status = "disabled";
port {
usb0_ep: endpoint {
remote-endpoint = <&usb_dr_connector>;
};
};
};
/* Verdin USB_2 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment