linux/drivers/usb/gadget/udc
Peter Chen 7043e311a5 usb: gadget: core: change the comment for usb_gadget_connect
The pullup does not need to be enabled at below situations:
- For platforms which the hardware pullup starts after setting
register even they do not see the VBUS. If the pullup is always
enabled for these platforms, it will consume more power and
break the USB IF compliance tests [1].
- For platforms which need to do BC 1.2 charger detection after
seeing the VBUS. Pullup D+ will break the charger detection
flow.
- For platforms which the system suspend is allowed when the
connection with host is there but the bus is not at suspend.
For these platforms, it is better to disable pullup when
entering the system suspend otherwise the host may confuse
the device behavior after controller is in low power mode.
Disable pullup is considered as a disconnection event from
host side.

[1] USB-IF Full and Low Speed Compliance Test Procedure
F Back-voltage Testing
Section 7.2.1 of the USB specification requires that no device
shall supply (source) current on VBUS at its upstream facing
port at any time. From VBUS on its upstream facing port,
a device may only draw (sink) current. They may not provide power
to the pull-up resistor on D+/D- unless VBUS is present (see
Section 7.1.5).

Signed-off-by: Peter Chen <peter.chen@nxp.com>
Link: https://lore.kernel.org/r/20201230051114.21370-1-peter.chen@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-04 16:53:47 +01:00
..
aspeed-vhub usb: gadget: aspeed: fixup vhub port irq handling 2020-10-02 09:43:36 +03:00
bdc usb: bdc: remove duplicated error message 2020-10-02 09:57:46 +03:00
amd5536udc_pci.c usb: gadget: Replace HTTP links with HTTPS ones 2020-07-15 16:33:52 +02:00
amd5536udc.h usb: gadget: Replace HTTP links with HTTPS ones 2020-07-15 16:33:52 +02:00
at91_udc.c usb: gadget: at91_udc: remove useless cast for driver.name 2020-02-19 11:10:25 +01:00
at91_udc.h
atmel_usba_udc.c usb: gadget: udc: atmel: update endpoint allocation for sam9x60 2020-09-24 11:56:17 +03:00
atmel_usba_udc.h usb: gadget: udc: atmel: update endpoint allocation for sam9x60 2020-09-24 11:56:17 +03:00
bcm63xx_udc.c usb: gadget: bcm63xx_udc: fix up the error of undeclared usb_debug_root 2020-10-02 09:57:43 +03:00
core.c usb: gadget: core: change the comment for usb_gadget_connect 2021-01-04 16:53:47 +01:00
dummy_hcd.c USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug 2020-12-30 17:30:14 +01:00
fotg210-udc.c usb: gadget: fotg210-udc: remove useless cast for driver.name 2020-02-19 11:10:25 +01:00
fotg210.h
fsl_qe_udc.c usb/gadget: fsl_qe_udc: convert tasklets to use new tasklet_setup() API 2020-08-18 13:00:01 +02:00
fsl_qe_udc.h usb: Spelling s/enpoint/endpoint/ 2019-11-04 15:53:00 +01:00
fsl_udc_core.c usb: gadget: fsl: fix null pointer checking 2020-10-27 10:57:24 +02:00
fsl_usb2_udc.h
fusb300_udc.c usb: gadget: fusb300_udc: remove useless cast for driver.name 2020-02-19 11:10:25 +01:00
fusb300_udc.h
goku_udc.c usb: gadget: goku_udc: fix potential crashes in probe 2020-10-27 10:55:45 +02:00
goku_udc.h
gr_udc.c Linux 5.8-rc6 2020-07-20 09:41:30 +02:00
gr_udc.h usb: gadget: Replace HTTP links with HTTPS ones 2020-07-15 16:33:52 +02:00
Kconfig usb: gadget: fsl_mxc_udc: Remove the driver 2020-12-28 15:41:33 +01:00
lpc32xx_udc.c usb: gadget: lpc32xx_udc: Convert to DEFINE_SHOW_ATTRIBUTE 2020-10-02 09:57:39 +03:00
m66592-udc.c usb: gadget: fix potential double-free in m66592_probe. 2020-05-25 11:09:43 +03:00
m66592-udc.h
Makefile usb: gadget: fsl_mxc_udc: Remove the driver 2020-12-28 15:41:33 +01:00
max3420_udc.c usb: gadget: Replace HTTP links with HTTPS ones 2020-07-15 16:33:52 +02:00
mv_u3d_core.c usb: gadget: udc: mv_u3d_core: Remove unused static const 'driver_desc' 2020-07-09 17:19:58 +02:00
mv_u3d.h usb: Spelling s/enpoint/endpoint/ 2019-11-04 15:53:00 +01:00
mv_udc_core.c usb: gadget: udc: mv_udc_core: Remove unused static const variable 'driver_desc' 2020-07-09 17:19:57 +02:00
mv_udc.h
net2272.c USB: UDC: net2272: Fix memory leaks 2020-10-02 09:57:42 +03:00
net2272.h USB: UDC: net2272: Fix memory leaks 2020-10-02 09:57:42 +03:00
net2280.c USB: changes for v5.10 merge window 2020-10-03 15:59:57 +02:00
net2280.h USB: UDC: net2280: Fix memory leaks 2020-10-02 09:57:42 +03:00
omap_udc.c usb: gadget: Use fallthrough pseudo-keyword 2020-07-10 08:55:18 +02:00
omap_udc.h
pch_udc.c usb: gadget: pch_udc: Convert to use GPIO descriptors 2020-10-02 09:57:38 +03:00
pxa25x_udc.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pxa25x_udc.h
pxa27x_udc.c usb: gadget: pxa27x_udc: Replace in_interrupt() usage in comments 2020-10-28 13:05:42 +01:00
pxa27x_udc.h
r8a66597-udc.c usb: gadget: r8a66597: convert to devm_platform_ioremap_resource_byname 2020-07-29 16:49:38 +02:00
r8a66597-udc.h
renesas_usb3.c usb: roles: Provide the switch drivers handle to the switch in the API 2020-03-04 11:12:50 +01:00
s3c2410_udc_regs.h usb: gadget: s3c: use platform resources 2020-08-19 20:58:22 +02:00
s3c2410_udc.c usb: gadget: s3c: Remove unused 'udc' variable 2020-10-02 09:57:43 +03:00
s3c2410_udc.h usb: gadget: s3c: use platform resources 2020-08-19 20:58:22 +02:00
s3c-hsudc.c usb: gadget: s3c-hsudc: remove platform header dependency 2020-08-19 20:58:27 +02:00
snps_udc_core.c USB/Thunderbolt patches for 5.9-rc1 2020-08-05 12:13:10 -07:00
snps_udc_plat.c
tegra-xudc.c usb: gadget: tegra-xudc: Do not print errors on probe deferral 2020-10-02 09:57:43 +03:00
trace.c
trace.h
udc-xilinx.c USB: ch9: add "USB_" prefix in front of TEST defines 2020-06-24 15:01:24 +02:00