Re: [PATCH v4 2/2] ARM: dts: bananapi-m2-ultra: Enable USB0_OTG and HOST support
From: Samuel Holland <samuel@sholland.org>
Date: 2022-07-05 02:38:46
Also in:
linux-devicetree, linux-sunxi, lkml
Hi Qianfan, On 5/18/22 5:17 AM, qianfanguijin@163.com wrote:
quoted hunk ↗ jump to hunk
From: qianfan Zhao <redacted> let USB0 work at OTG mode. Signed-off-by: qianfan Zhao <redacted> --- .../boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+)diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts index 28197bbcb1d5..b3421e67967d 100644 --- a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts +++ b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts@@ -122,6 +122,10 @@ &de { status = "okay"; }; +&ehci0 { + status = "okay"; +}; + &ehci1 { status = "okay"; };@@ -164,6 +168,7 @@ axp22x: pmic@34 { reg = <0x34>; interrupt-parent = <&nmi_intc>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + x-powers,drive-vbus-en; }; };@@ -199,6 +204,10 @@ &mmc2 { status = "okay"; }; +&ohci0 { + status = "okay"; +}; + &ohci1 { status = "okay"; };@@ -216,6 +225,15 @@ &pio { vcc-pe-supply = <®_eldo1>; vcc-pf-supply = <®_dcdc1>; vcc-pg-supply = <®_dldo1>; + + /* USB0_DRVVBUS connected to both the PMIC.N_VBUSEN and PI13, + * we chose PMIC.N_VBUSEN for control, so set the gpio as + * input mode here. + */
Toggling a GPIO is going to be more efficient and have lower latency than a PMIC register write over I2C. (And there are several comments in the USB PHY driver about latency being important.) So I would prefer to model this as a GPIO-controlled regulator, and leave N_VBUSEN as an input. Regards, Samuel
quoted hunk ↗ jump to hunk
+ usb0_vbus_enable_gpio: usb0-vbus-enable-gpio { + pins = "PI13"; + function = "gpio_in"; + }; }; ®_aldo2 {@@ -298,6 +316,11 @@ ®_dldo4 { regulator-name = "vdd2v5-sata"; }; +®_drivevbus { + regulator-name = "usb0-vbus"; + status = "okay"; +}; + ®_eldo3 { regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>;@@ -333,7 +356,23 @@ bluetooth { }; }; +&usb_otg { + dr_mode = "otg"; + status = "okay"; +}; + +&usb_power_supply { + status = "okay"; +}; + &usbphy { + pinctrl-names = "default"; + pinctrl-0 = <&usb0_vbus_enable_gpio>; + + usb0_id_det-gpios = <&pio 8 4 GPIO_ACTIVE_HIGH>; /* PI4 */ + usb0_vbus_det-gpios = <&pio 8 8 GPIO_ACTIVE_HIGH>; /* PI8 */ + usb0_vbus_power-supply = <&usb_power_supply>; + usb0_vbus-supply = <®_drivevbus>; usb1_vbus-supply = <®_vcc5v0>; usb2_vbus-supply = <®_vcc5v0>; status = "okay";
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel