~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/ulpi/regs.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef __LINUX_ULPI_REGS_H
  3 #define __LINUX_ULPI_REGS_H
  4 
  5 /*
  6  * Macros for Set and Clear
  7  * See ULPI 1.1 specification to find the registers with Set and Clear offsets
  8  */
  9 #define ULPI_SET(a)                             (a + 1)
 10 #define ULPI_CLR(a)                             (a + 2)
 11 
 12 /*
 13  * Register Map
 14  */
 15 #define ULPI_VENDOR_ID_LOW                      0x00
 16 #define ULPI_VENDOR_ID_HIGH                     0x01
 17 #define ULPI_PRODUCT_ID_LOW                     0x02
 18 #define ULPI_PRODUCT_ID_HIGH                    0x03
 19 #define ULPI_FUNC_CTRL                          0x04
 20 #define ULPI_IFC_CTRL                           0x07
 21 #define ULPI_OTG_CTRL                           0x0a
 22 #define ULPI_USB_INT_EN_RISE                    0x0d
 23 #define ULPI_USB_INT_EN_FALL                    0x10
 24 #define ULPI_USB_INT_STS                        0x13
 25 #define ULPI_USB_INT_LATCH                      0x14
 26 #define ULPI_DEBUG                              0x15
 27 #define ULPI_SCRATCH                            0x16
 28 /* Optional Carkit Registers */
 29 #define ULPI_CARKIT_CTRL                        0x19
 30 #define ULPI_CARKIT_INT_DELAY                   0x1c
 31 #define ULPI_CARKIT_INT_EN                      0x1d
 32 #define ULPI_CARKIT_INT_STS                     0x20
 33 #define ULPI_CARKIT_INT_LATCH                   0x21
 34 #define ULPI_CARKIT_PLS_CTRL                    0x22
 35 /* Other Optional Registers */
 36 #define ULPI_TX_POS_WIDTH                       0x25
 37 #define ULPI_TX_NEG_WIDTH                       0x26
 38 #define ULPI_POLARITY_RECOVERY                  0x27
 39 /* Access Extended Register Set */
 40 #define ULPI_ACCESS_EXTENDED                    0x2f
 41 /* Vendor Specific */
 42 #define ULPI_VENDOR_SPECIFIC                    0x30
 43 /* Extended Registers */
 44 #define ULPI_EXT_VENDOR_SPECIFIC                0x80
 45 
 46 /*
 47  * Register Bits
 48  */
 49 
 50 /* Function Control */
 51 #define ULPI_FUNC_CTRL_XCVRSEL                  BIT(0)
 52 #define  ULPI_FUNC_CTRL_XCVRSEL_MASK            0x3
 53 #define  ULPI_FUNC_CTRL_HIGH_SPEED              0x0
 54 #define  ULPI_FUNC_CTRL_FULL_SPEED              0x1
 55 #define  ULPI_FUNC_CTRL_LOW_SPEED               0x2
 56 #define  ULPI_FUNC_CTRL_FS4LS                   0x3
 57 #define ULPI_FUNC_CTRL_TERMSELECT               BIT(2)
 58 #define ULPI_FUNC_CTRL_OPMODE                   BIT(3)
 59 #define  ULPI_FUNC_CTRL_OPMODE_MASK             (0x3 << 3)
 60 #define  ULPI_FUNC_CTRL_OPMODE_NORMAL           (0x0 << 3)
 61 #define  ULPI_FUNC_CTRL_OPMODE_NONDRIVING       (0x1 << 3)
 62 #define  ULPI_FUNC_CTRL_OPMODE_DISABLE_NRZI     (0x2 << 3)
 63 #define  ULPI_FUNC_CTRL_OPMODE_NOSYNC_NOEOP     (0x3 << 3)
 64 #define ULPI_FUNC_CTRL_RESET                    BIT(5)
 65 #define ULPI_FUNC_CTRL_SUSPENDM                 BIT(6)
 66 
 67 /* Interface Control */
 68 #define ULPI_IFC_CTRL_6_PIN_SERIAL_MODE         BIT(0)
 69 #define ULPI_IFC_CTRL_3_PIN_SERIAL_MODE         BIT(1)
 70 #define ULPI_IFC_CTRL_CARKITMODE                BIT(2)
 71 #define ULPI_IFC_CTRL_CLOCKSUSPENDM             BIT(3)
 72 #define ULPI_IFC_CTRL_AUTORESUME                BIT(4)
 73 #define ULPI_IFC_CTRL_EXTERNAL_VBUS             BIT(5)
 74 #define ULPI_IFC_CTRL_PASSTHRU                  BIT(6)
 75 #define ULPI_IFC_CTRL_PROTECT_IFC_DISABLE       BIT(7)
 76 
 77 /* OTG Control */
 78 #define ULPI_OTG_CTRL_ID_PULLUP                 BIT(0)
 79 #define ULPI_OTG_CTRL_DP_PULLDOWN               BIT(1)
 80 #define ULPI_OTG_CTRL_DM_PULLDOWN               BIT(2)
 81 #define ULPI_OTG_CTRL_DISCHRGVBUS               BIT(3)
 82 #define ULPI_OTG_CTRL_CHRGVBUS                  BIT(4)
 83 #define ULPI_OTG_CTRL_DRVVBUS                   BIT(5)
 84 #define ULPI_OTG_CTRL_DRVVBUS_EXT               BIT(6)
 85 #define ULPI_OTG_CTRL_EXTVBUSIND                BIT(7)
 86 
 87 /* USB Interrupt Enable Rising,
 88  * USB Interrupt Enable Falling,
 89  * USB Interrupt Status and
 90  * USB Interrupt Latch
 91  */
 92 #define ULPI_INT_HOST_DISCONNECT                BIT(0)
 93 #define ULPI_INT_VBUS_VALID                     BIT(1)
 94 #define ULPI_INT_SESS_VALID                     BIT(2)
 95 #define ULPI_INT_SESS_END                       BIT(3)
 96 #define ULPI_INT_IDGRD                          BIT(4)
 97 
 98 /* Debug */
 99 #define ULPI_DEBUG_LINESTATE0                   BIT(0)
100 #define ULPI_DEBUG_LINESTATE1                   BIT(1)
101 
102 /* Carkit Control */
103 #define ULPI_CARKIT_CTRL_CARKITPWR              BIT(0)
104 #define ULPI_CARKIT_CTRL_IDGNDDRV               BIT(1)
105 #define ULPI_CARKIT_CTRL_TXDEN                  BIT(2)
106 #define ULPI_CARKIT_CTRL_RXDEN                  BIT(3)
107 #define ULPI_CARKIT_CTRL_SPKLEFTEN              BIT(4)
108 #define ULPI_CARKIT_CTRL_SPKRIGHTEN             BIT(5)
109 #define ULPI_CARKIT_CTRL_MICEN                  BIT(6)
110 
111 /* Carkit Interrupt Enable */
112 #define ULPI_CARKIT_INT_EN_IDFLOAT_RISE         BIT(0)
113 #define ULPI_CARKIT_INT_EN_IDFLOAT_FALL         BIT(1)
114 #define ULPI_CARKIT_INT_EN_CARINTDET            BIT(2)
115 #define ULPI_CARKIT_INT_EN_DP_RISE              BIT(3)
116 #define ULPI_CARKIT_INT_EN_DP_FALL              BIT(4)
117 
118 /* Carkit Interrupt Status and
119  * Carkit Interrupt Latch
120  */
121 #define ULPI_CARKIT_INT_IDFLOAT                 BIT(0)
122 #define ULPI_CARKIT_INT_CARINTDET               BIT(1)
123 #define ULPI_CARKIT_INT_DP                      BIT(2)
124 
125 /* Carkit Pulse Control*/
126 #define ULPI_CARKIT_PLS_CTRL_TXPLSEN            BIT(0)
127 #define ULPI_CARKIT_PLS_CTRL_RXPLSEN            BIT(1)
128 #define ULPI_CARKIT_PLS_CTRL_SPKRLEFT_BIASEN    BIT(2)
129 #define ULPI_CARKIT_PLS_CTRL_SPKRRIGHT_BIASEN   BIT(3)
130 
131 #endif /* __LINUX_ULPI_REGS_H */
132 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php