ehci.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * SAMSUNG EXYNOS USB HOST EHCI Controller
  3. *
  4. * Copyright (C) 2012 Samsung Electronics Co.Ltd
  5. * Vivek Gautam <gautam.vivek@samsung.com>
  6. *
  7. * This program is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU General Public License as
  9. * published by the Free Software Foundation; either version 2 of
  10. * the License, or (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  20. * MA 02110-1301 USA
  21. */
  22. #ifndef __ASM_ARM_ARCH_EHCI_H__
  23. #define __ASM_ARM_ARCH_EHCI_H__
  24. #define CLK_24MHZ 5
  25. #define HOST_CTRL0_PHYSWRSTALL (1 << 31)
  26. #define HOST_CTRL0_COMMONON_N (1 << 9)
  27. #define HOST_CTRL0_SIDDQ (1 << 6)
  28. #define HOST_CTRL0_FORCESLEEP (1 << 5)
  29. #define HOST_CTRL0_FORCESUSPEND (1 << 4)
  30. #define HOST_CTRL0_WORDINTERFACE (1 << 3)
  31. #define HOST_CTRL0_UTMISWRST (1 << 2)
  32. #define HOST_CTRL0_LINKSWRST (1 << 1)
  33. #define HOST_CTRL0_PHYSWRST (1 << 0)
  34. #define HOST_CTRL0_FSEL_MASK (7 << 16)
  35. #define EHCICTRL_ENAINCRXALIGN (1 << 29)
  36. #define EHCICTRL_ENAINCR4 (1 << 28)
  37. #define EHCICTRL_ENAINCR8 (1 << 27)
  38. #define EHCICTRL_ENAINCR16 (1 << 26)
  39. /* Register map for PHY control */
  40. struct exynos_usb_phy {
  41. unsigned int usbphyctrl0;
  42. unsigned int usbphytune0;
  43. unsigned int reserved1[2];
  44. unsigned int hsicphyctrl1;
  45. unsigned int hsicphytune1;
  46. unsigned int reserved2[2];
  47. unsigned int hsicphyctrl2;
  48. unsigned int hsicphytune2;
  49. unsigned int reserved3[2];
  50. unsigned int ehcictrl;
  51. unsigned int ohcictrl;
  52. unsigned int usbotgsys;
  53. unsigned int reserved4;
  54. unsigned int usbotgtune;
  55. };
  56. /* Switch on the VBUS power. */
  57. int board_usb_vbus_init(void);
  58. #endif /* __ASM_ARM_ARCH_EHCI_H__ */