linux/arch/arm/mach-davinci/include/mach/usb.h
<<
>>
Prefs
   1/*
   2 * USB related definitions
   3 *
   4 * Copyright (C) 2009 MontaVista Software, Inc. <source@mvista.com>
   5 *
   6 * This file is licensed under the terms of the GNU General Public License
   7 * version 2. This program is licensed "as is" without any warranty of any
   8 * kind, whether express or implied.
   9 */
  10
  11#ifndef __ASM_ARCH_USB_H
  12#define __ASM_ARCH_USB_H
  13
  14/* DA8xx CFGCHIP2 (USB 2.0 PHY Control) register bits */
  15#define CFGCHIP2_PHYCLKGD       (1 << 17)
  16#define CFGCHIP2_VBUSSENSE      (1 << 16)
  17#define CFGCHIP2_RESET          (1 << 15)
  18#define CFGCHIP2_OTGMODE        (3 << 13)
  19#define CFGCHIP2_NO_OVERRIDE    (0 << 13)
  20#define CFGCHIP2_FORCE_HOST     (1 << 13)
  21#define CFGCHIP2_FORCE_DEVICE   (2 << 13)
  22#define CFGCHIP2_FORCE_HOST_VBUS_LOW (3 << 13)
  23#define CFGCHIP2_USB1PHYCLKMUX  (1 << 12)
  24#define CFGCHIP2_USB2PHYCLKMUX  (1 << 11)
  25#define CFGCHIP2_PHYPWRDN       (1 << 10)
  26#define CFGCHIP2_OTGPWRDN       (1 << 9)
  27#define CFGCHIP2_DATPOL         (1 << 8)
  28#define CFGCHIP2_USB1SUSPENDM   (1 << 7)
  29#define CFGCHIP2_PHY_PLLON      (1 << 6)        /* override PLL suspend */
  30#define CFGCHIP2_SESENDEN       (1 << 5)        /* Vsess_end comparator */
  31#define CFGCHIP2_VBDTCTEN       (1 << 4)        /* Vbus comparator */
  32#define CFGCHIP2_REFFREQ        (0xf << 0)
  33#define CFGCHIP2_REFFREQ_12MHZ  (1 << 0)
  34#define CFGCHIP2_REFFREQ_24MHZ  (2 << 0)
  35#define CFGCHIP2_REFFREQ_48MHZ  (3 << 0)
  36
  37struct  da8xx_ohci_root_hub;
  38
  39typedef void (*da8xx_ocic_handler_t)(struct da8xx_ohci_root_hub *hub,
  40                                     unsigned port);
  41
  42/* Passed as the platform data to the OHCI driver */
  43struct  da8xx_ohci_root_hub {
  44        /* Switch the port power on/off */
  45        int     (*set_power)(unsigned port, int on);
  46        /* Read the port power status */
  47        int     (*get_power)(unsigned port);
  48        /* Read the port over-current indicator */
  49        int     (*get_oci)(unsigned port);
  50        /* Over-current indicator change notification (pass NULL to disable) */
  51        int     (*ocic_notify)(da8xx_ocic_handler_t handler);
  52
  53        /* Time from power on to power good (in 2 ms units) */
  54        u8      potpgt;
  55};
  56
  57void davinci_setup_usb(unsigned mA, unsigned potpgt_ms);
  58
  59#endif  /* ifndef __ASM_ARCH_USB_H */
  60