1 /* SPDX-License-Identifier: GPL-2.0 */ 1 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 regi 8 */ 9 #define ULPI_SET(a) 10 #define ULPI_CLR(a) 11 12 /* 13 * Register Map 14 */ 15 #define ULPI_VENDOR_ID_LOW 16 #define ULPI_VENDOR_ID_HIGH 17 #define ULPI_PRODUCT_ID_LOW 18 #define ULPI_PRODUCT_ID_HIGH 19 #define ULPI_FUNC_CTRL 20 #define ULPI_IFC_CTRL 21 #define ULPI_OTG_CTRL 22 #define ULPI_USB_INT_EN_RISE 23 #define ULPI_USB_INT_EN_FALL 24 #define ULPI_USB_INT_STS 25 #define ULPI_USB_INT_LATCH 26 #define ULPI_DEBUG 27 #define ULPI_SCRATCH 28 /* Optional Carkit Registers */ 29 #define ULPI_CARKIT_CTRL 30 #define ULPI_CARKIT_INT_DELAY 31 #define ULPI_CARKIT_INT_EN 32 #define ULPI_CARKIT_INT_STS 33 #define ULPI_CARKIT_INT_LATCH 34 #define ULPI_CARKIT_PLS_CTRL 35 /* Other Optional Registers */ 36 #define ULPI_TX_POS_WIDTH 37 #define ULPI_TX_NEG_WIDTH 38 #define ULPI_POLARITY_RECOVERY 39 /* Access Extended Register Set */ 40 #define ULPI_ACCESS_EXTENDED 41 /* Vendor Specific */ 42 #define ULPI_VENDOR_SPECIFIC 43 /* Extended Registers */ 44 #define ULPI_EXT_VENDOR_SPECIFIC 45 46 /* 47 * Register Bits 48 */ 49 50 /* Function Control */ 51 #define ULPI_FUNC_CTRL_XCVRSEL 52 #define ULPI_FUNC_CTRL_XCVRSEL_MASK 53 #define ULPI_FUNC_CTRL_HIGH_SPEED 54 #define ULPI_FUNC_CTRL_FULL_SPEED 55 #define ULPI_FUNC_CTRL_LOW_SPEED 56 #define ULPI_FUNC_CTRL_FS4LS 57 #define ULPI_FUNC_CTRL_TERMSELECT 58 #define ULPI_FUNC_CTRL_OPMODE 59 #define ULPI_FUNC_CTRL_OPMODE_MASK 60 #define ULPI_FUNC_CTRL_OPMODE_NORMAL 61 #define ULPI_FUNC_CTRL_OPMODE_NONDRIVING 62 #define ULPI_FUNC_CTRL_OPMODE_DISABLE_NRZI 63 #define ULPI_FUNC_CTRL_OPMODE_NOSYNC_NOEOP 64 #define ULPI_FUNC_CTRL_RESET 65 #define ULPI_FUNC_CTRL_SUSPENDM 66 67 /* Interface Control */ 68 #define ULPI_IFC_CTRL_6_PIN_SERIAL_MODE 69 #define ULPI_IFC_CTRL_3_PIN_SERIAL_MODE 70 #define ULPI_IFC_CTRL_CARKITMODE 71 #define ULPI_IFC_CTRL_CLOCKSUSPENDM 72 #define ULPI_IFC_CTRL_AUTORESUME 73 #define ULPI_IFC_CTRL_EXTERNAL_VBUS 74 #define ULPI_IFC_CTRL_PASSTHRU 75 #define ULPI_IFC_CTRL_PROTECT_IFC_DISABLE 76 77 /* OTG Control */ 78 #define ULPI_OTG_CTRL_ID_PULLUP 79 #define ULPI_OTG_CTRL_DP_PULLDOWN 80 #define ULPI_OTG_CTRL_DM_PULLDOWN 81 #define ULPI_OTG_CTRL_DISCHRGVBUS 82 #define ULPI_OTG_CTRL_CHRGVBUS 83 #define ULPI_OTG_CTRL_DRVVBUS 84 #define ULPI_OTG_CTRL_DRVVBUS_EXT 85 #define ULPI_OTG_CTRL_EXTVBUSIND 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 93 #define ULPI_INT_VBUS_VALID 94 #define ULPI_INT_SESS_VALID 95 #define ULPI_INT_SESS_END 96 #define ULPI_INT_IDGRD 97 98 /* Debug */ 99 #define ULPI_DEBUG_LINESTATE0 100 #define ULPI_DEBUG_LINESTATE1 101 102 /* Carkit Control */ 103 #define ULPI_CARKIT_CTRL_CARKITPWR 104 #define ULPI_CARKIT_CTRL_IDGNDDRV 105 #define ULPI_CARKIT_CTRL_TXDEN 106 #define ULPI_CARKIT_CTRL_RXDEN 107 #define ULPI_CARKIT_CTRL_SPKLEFTEN 108 #define ULPI_CARKIT_CTRL_SPKRIGHTEN 109 #define ULPI_CARKIT_CTRL_MICEN 110 111 /* Carkit Interrupt Enable */ 112 #define ULPI_CARKIT_INT_EN_IDFLOAT_RISE 113 #define ULPI_CARKIT_INT_EN_IDFLOAT_FALL 114 #define ULPI_CARKIT_INT_EN_CARINTDET 115 #define ULPI_CARKIT_INT_EN_DP_RISE 116 #define ULPI_CARKIT_INT_EN_DP_FALL 117 118 /* Carkit Interrupt Status and 119 * Carkit Interrupt Latch 120 */ 121 #define ULPI_CARKIT_INT_IDFLOAT 122 #define ULPI_CARKIT_INT_CARINTDET 123 #define ULPI_CARKIT_INT_DP 124 125 /* Carkit Pulse Control*/ 126 #define ULPI_CARKIT_PLS_CTRL_TXPLSEN 127 #define ULPI_CARKIT_PLS_CTRL_RXPLSEN 128 #define ULPI_CARKIT_PLS_CTRL_SPKRLEFT_BIASEN 129 #define ULPI_CARKIT_PLS_CTRL_SPKRRIGHT_BIASEN 130 131 #endif /* __LINUX_ULPI_REGS_H */ 132
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.