blob: ff9c35dca59d39b05f94c26c88ac7d53c51a00fb [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Milan Svobodaaed6fad2006-11-29 12:09:52 +01002/*
Milan Svobodaaed6fad2006-11-29 12:09:52 +01003 * This supports machine-specific differences in how the PXA2xx
4 * USB Device Controller (UDC) is wired.
5 *
6 * It is set in linux/arch/arm/mach-pxa/<machine>.c or in
7 * linux/arch/mach-ixp4xx/<machine>.c and used in
8 * the probe routine of linux/drivers/usb/gadget/pxa2xx_udc.c
9 */
Russell King46000062012-09-21 10:23:44 +010010#ifndef PXA2XX_UDC_H
11#define PXA2XX_UDC_H
Milan Svobodaaed6fad2006-11-29 12:09:52 +010012
13struct pxa2xx_udc_mach_info {
14 int (*udc_is_connected)(void); /* do we see host? */
15 void (*udc_command)(int cmd);
16#define PXA2XX_UDC_CMD_CONNECT 0 /* let host see us */
17#define PXA2XX_UDC_CMD_DISCONNECT 1 /* so host won't see us */
18
19 /* Boards following the design guidelines in the developer's manual,
Joe Perches84c07922008-02-03 16:50:59 +020020 * with on-chip GPIOs not Lubbock's weird hardware, can have a sane
Milan Svobodaaed6fad2006-11-29 12:09:52 +010021 * VBUS IRQ and omit the methods above. Store the GPIO number
Russell King73b610a2008-09-25 13:35:27 +010022 * here. Note that sometimes the signals go through inverters...
Milan Svobodaaed6fad2006-11-29 12:09:52 +010023 */
Ian Molton8fb105f2008-06-25 22:34:51 +010024 bool gpio_pullup_inverted;
Steve Bennett390daa02010-04-21 16:30:33 +100025 int gpio_pullup; /* high == pullup activated */
Milan Svobodaaed6fad2006-11-29 12:09:52 +010026};
27
Russell King46000062012-09-21 10:23:44 +010028#endif