regs-usb.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Copyright (C) 2011 Marvell International Ltd. All rights reserved.
  4. */
  5. #ifndef __ASM_ARCH_REGS_USB_H
  6. #define __ASM_ARCH_REGS_USB_H
  7. #define PXA168_U2O_REGBASE (0xd4208000)
  8. #define PXA168_U2O_PHYBASE (0xd4207000)
  9. #define PXA168_U2H_REGBASE (0xd4209000)
  10. #define PXA168_U2H_PHYBASE (0xd4206000)
  11. #define MMP3_HSIC1_REGBASE (0xf0001000)
  12. #define MMP3_HSIC1_PHYBASE (0xf0001800)
  13. #define MMP3_HSIC2_REGBASE (0xf0002000)
  14. #define MMP3_HSIC2_PHYBASE (0xf0002800)
  15. #define MMP3_FSIC_REGBASE (0xf0003000)
  16. #define MMP3_FSIC_PHYBASE (0xf0003800)
  17. #define USB_REG_RANGE (0x1ff)
  18. #define USB_PHY_RANGE (0xff)
  19. /* registers */
  20. #define U2x_CAPREGS_OFFSET 0x100
  21. /* phy regs */
  22. #define UTMI_REVISION 0x0
  23. #define UTMI_CTRL 0x4
  24. #define UTMI_PLL 0x8
  25. #define UTMI_TX 0xc
  26. #define UTMI_RX 0x10
  27. #define UTMI_IVREF 0x14
  28. #define UTMI_T0 0x18
  29. #define UTMI_T1 0x1c
  30. #define UTMI_T2 0x20
  31. #define UTMI_T3 0x24
  32. #define UTMI_T4 0x28
  33. #define UTMI_T5 0x2c
  34. #define UTMI_RESERVE 0x30
  35. #define UTMI_USB_INT 0x34
  36. #define UTMI_DBG_CTL 0x38
  37. #define UTMI_OTG_ADDON 0x3c
  38. /* For UTMICTRL Register */
  39. #define UTMI_CTRL_USB_CLK_EN (1 << 31)
  40. /* pxa168 */
  41. #define UTMI_CTRL_SUSPEND_SET1 (1 << 30)
  42. #define UTMI_CTRL_SUSPEND_SET2 (1 << 29)
  43. #define UTMI_CTRL_RXBUF_PDWN (1 << 24)
  44. #define UTMI_CTRL_TXBUF_PDWN (1 << 11)
  45. #define UTMI_CTRL_INPKT_DELAY_SHIFT 30
  46. #define UTMI_CTRL_INPKT_DELAY_SOF_SHIFT 28
  47. #define UTMI_CTRL_PU_REF_SHIFT 20
  48. #define UTMI_CTRL_ARC_PULLDN_SHIFT 12
  49. #define UTMI_CTRL_PLL_PWR_UP_SHIFT 1
  50. #define UTMI_CTRL_PWR_UP_SHIFT 0
  51. /* For UTMI_PLL Register */
  52. #define UTMI_PLL_PLLCALI12_SHIFT 29
  53. #define UTMI_PLL_PLLCALI12_MASK (0x3 << 29)
  54. #define UTMI_PLL_PLLVDD18_SHIFT 27
  55. #define UTMI_PLL_PLLVDD18_MASK (0x3 << 27)
  56. #define UTMI_PLL_PLLVDD12_SHIFT 25
  57. #define UTMI_PLL_PLLVDD12_MASK (0x3 << 25)
  58. #define UTMI_PLL_CLK_BLK_EN_SHIFT 24
  59. #define CLK_BLK_EN (0x1 << 24)
  60. #define PLL_READY (0x1 << 23)
  61. #define KVCO_EXT (0x1 << 22)
  62. #define VCOCAL_START (0x1 << 21)
  63. #define UTMI_PLL_KVCO_SHIFT 15
  64. #define UTMI_PLL_KVCO_MASK (0x7 << 15)
  65. #define UTMI_PLL_ICP_SHIFT 12
  66. #define UTMI_PLL_ICP_MASK (0x7 << 12)
  67. #define UTMI_PLL_FBDIV_SHIFT 4
  68. #define UTMI_PLL_FBDIV_MASK (0xFF << 4)
  69. #define UTMI_PLL_REFDIV_SHIFT 0
  70. #define UTMI_PLL_REFDIV_MASK (0xF << 0)
  71. /* For UTMI_TX Register */
  72. #define UTMI_TX_REG_EXT_FS_RCAL_SHIFT 27
  73. #define UTMI_TX_REG_EXT_FS_RCAL_MASK (0xf << 27)
  74. #define UTMI_TX_REG_EXT_FS_RCAL_EN_SHIFT 26
  75. #define UTMI_TX_REG_EXT_FS_RCAL_EN_MASK (0x1 << 26)
  76. #define UTMI_TX_TXVDD12_SHIFT 22
  77. #define UTMI_TX_TXVDD12_MASK (0x3 << 22)
  78. #define UTMI_TX_CK60_PHSEL_SHIFT 17
  79. #define UTMI_TX_CK60_PHSEL_MASK (0xf << 17)
  80. #define UTMI_TX_IMPCAL_VTH_SHIFT 14
  81. #define UTMI_TX_IMPCAL_VTH_MASK (0x7 << 14)
  82. #define REG_RCAL_START (0x1 << 12)
  83. #define UTMI_TX_LOW_VDD_EN_SHIFT 11
  84. #define UTMI_TX_AMP_SHIFT 0
  85. #define UTMI_TX_AMP_MASK (0x7 << 0)
  86. /* For UTMI_RX Register */
  87. #define UTMI_REG_SQ_LENGTH_SHIFT 15
  88. #define UTMI_REG_SQ_LENGTH_MASK (0x3 << 15)
  89. #define UTMI_RX_SQ_THRESH_SHIFT 4
  90. #define UTMI_RX_SQ_THRESH_MASK (0xf << 4)
  91. #define UTMI_OTG_ADDON_OTG_ON (1 << 0)
  92. /* fsic registers */
  93. #define FSIC_MISC 0x4
  94. #define FSIC_INT 0x28
  95. #define FSIC_CTRL 0x30
  96. /* HSIC registers */
  97. #define HSIC_PAD_CTRL 0x4
  98. #define HSIC_CTRL 0x8
  99. #define HSIC_CTRL_HSIC_ENABLE (1<<7)
  100. #define HSIC_CTRL_PLL_BYPASS (1<<4)
  101. #define TEST_GRP_0 0xc
  102. #define TEST_GRP_1 0x10
  103. #define HSIC_INT 0x14
  104. #define HSIC_INT_READY_INT_EN (1<<10)
  105. #define HSIC_INT_CONNECT_INT_EN (1<<9)
  106. #define HSIC_INT_CORE_INT_EN (1<<8)
  107. #define HSIC_INT_HS_READY (1<<2)
  108. #define HSIC_INT_CONNECT (1<<1)
  109. #define HSIC_INT_CORE (1<<0)
  110. #define HSIC_CONFIG 0x18
  111. #define USBHSIC_CTRL 0x20
  112. #define HSIC_USB_CTRL 0x28
  113. #define HSIC_USB_CTRL_CLKEN 1
  114. #define HSIC_USB_CLK_PHY 0x0
  115. #define HSIC_USB_CLK_PMU 0x1
  116. #endif /* __ASM_ARCH_PXA_U2O_H */