0001
0002 #ifndef __LINUX_ULPI_REGS_H
0003 #define __LINUX_ULPI_REGS_H
0004
0005
0006
0007
0008
0009 #define ULPI_SET(a) (a + 1)
0010 #define ULPI_CLR(a) (a + 2)
0011
0012
0013
0014
0015 #define ULPI_VENDOR_ID_LOW 0x00
0016 #define ULPI_VENDOR_ID_HIGH 0x01
0017 #define ULPI_PRODUCT_ID_LOW 0x02
0018 #define ULPI_PRODUCT_ID_HIGH 0x03
0019 #define ULPI_FUNC_CTRL 0x04
0020 #define ULPI_IFC_CTRL 0x07
0021 #define ULPI_OTG_CTRL 0x0a
0022 #define ULPI_USB_INT_EN_RISE 0x0d
0023 #define ULPI_USB_INT_EN_FALL 0x10
0024 #define ULPI_USB_INT_STS 0x13
0025 #define ULPI_USB_INT_LATCH 0x14
0026 #define ULPI_DEBUG 0x15
0027 #define ULPI_SCRATCH 0x16
0028
0029 #define ULPI_CARKIT_CTRL 0x19
0030 #define ULPI_CARKIT_INT_DELAY 0x1c
0031 #define ULPI_CARKIT_INT_EN 0x1d
0032 #define ULPI_CARKIT_INT_STS 0x20
0033 #define ULPI_CARKIT_INT_LATCH 0x21
0034 #define ULPI_CARKIT_PLS_CTRL 0x22
0035
0036 #define ULPI_TX_POS_WIDTH 0x25
0037 #define ULPI_TX_NEG_WIDTH 0x26
0038 #define ULPI_POLARITY_RECOVERY 0x27
0039
0040 #define ULPI_ACCESS_EXTENDED 0x2f
0041
0042 #define ULPI_VENDOR_SPECIFIC 0x30
0043
0044 #define ULPI_EXT_VENDOR_SPECIFIC 0x80
0045
0046
0047
0048
0049
0050
0051 #define ULPI_FUNC_CTRL_XCVRSEL BIT(0)
0052 #define ULPI_FUNC_CTRL_XCVRSEL_MASK 0x3
0053 #define ULPI_FUNC_CTRL_HIGH_SPEED 0x0
0054 #define ULPI_FUNC_CTRL_FULL_SPEED 0x1
0055 #define ULPI_FUNC_CTRL_LOW_SPEED 0x2
0056 #define ULPI_FUNC_CTRL_FS4LS 0x3
0057 #define ULPI_FUNC_CTRL_TERMSELECT BIT(2)
0058 #define ULPI_FUNC_CTRL_OPMODE BIT(3)
0059 #define ULPI_FUNC_CTRL_OPMODE_MASK (0x3 << 3)
0060 #define ULPI_FUNC_CTRL_OPMODE_NORMAL (0x0 << 3)
0061 #define ULPI_FUNC_CTRL_OPMODE_NONDRIVING (0x1 << 3)
0062 #define ULPI_FUNC_CTRL_OPMODE_DISABLE_NRZI (0x2 << 3)
0063 #define ULPI_FUNC_CTRL_OPMODE_NOSYNC_NOEOP (0x3 << 3)
0064 #define ULPI_FUNC_CTRL_RESET BIT(5)
0065 #define ULPI_FUNC_CTRL_SUSPENDM BIT(6)
0066
0067
0068 #define ULPI_IFC_CTRL_6_PIN_SERIAL_MODE BIT(0)
0069 #define ULPI_IFC_CTRL_3_PIN_SERIAL_MODE BIT(1)
0070 #define ULPI_IFC_CTRL_CARKITMODE BIT(2)
0071 #define ULPI_IFC_CTRL_CLOCKSUSPENDM BIT(3)
0072 #define ULPI_IFC_CTRL_AUTORESUME BIT(4)
0073 #define ULPI_IFC_CTRL_EXTERNAL_VBUS BIT(5)
0074 #define ULPI_IFC_CTRL_PASSTHRU BIT(6)
0075 #define ULPI_IFC_CTRL_PROTECT_IFC_DISABLE BIT(7)
0076
0077
0078 #define ULPI_OTG_CTRL_ID_PULLUP BIT(0)
0079 #define ULPI_OTG_CTRL_DP_PULLDOWN BIT(1)
0080 #define ULPI_OTG_CTRL_DM_PULLDOWN BIT(2)
0081 #define ULPI_OTG_CTRL_DISCHRGVBUS BIT(3)
0082 #define ULPI_OTG_CTRL_CHRGVBUS BIT(4)
0083 #define ULPI_OTG_CTRL_DRVVBUS BIT(5)
0084 #define ULPI_OTG_CTRL_DRVVBUS_EXT BIT(6)
0085 #define ULPI_OTG_CTRL_EXTVBUSIND BIT(7)
0086
0087
0088
0089
0090
0091
0092 #define ULPI_INT_HOST_DISCONNECT BIT(0)
0093 #define ULPI_INT_VBUS_VALID BIT(1)
0094 #define ULPI_INT_SESS_VALID BIT(2)
0095 #define ULPI_INT_SESS_END BIT(3)
0096 #define ULPI_INT_IDGRD BIT(4)
0097
0098
0099 #define ULPI_DEBUG_LINESTATE0 BIT(0)
0100 #define ULPI_DEBUG_LINESTATE1 BIT(1)
0101
0102
0103 #define ULPI_CARKIT_CTRL_CARKITPWR BIT(0)
0104 #define ULPI_CARKIT_CTRL_IDGNDDRV BIT(1)
0105 #define ULPI_CARKIT_CTRL_TXDEN BIT(2)
0106 #define ULPI_CARKIT_CTRL_RXDEN BIT(3)
0107 #define ULPI_CARKIT_CTRL_SPKLEFTEN BIT(4)
0108 #define ULPI_CARKIT_CTRL_SPKRIGHTEN BIT(5)
0109 #define ULPI_CARKIT_CTRL_MICEN BIT(6)
0110
0111
0112 #define ULPI_CARKIT_INT_EN_IDFLOAT_RISE BIT(0)
0113 #define ULPI_CARKIT_INT_EN_IDFLOAT_FALL BIT(1)
0114 #define ULPI_CARKIT_INT_EN_CARINTDET BIT(2)
0115 #define ULPI_CARKIT_INT_EN_DP_RISE BIT(3)
0116 #define ULPI_CARKIT_INT_EN_DP_FALL BIT(4)
0117
0118
0119
0120
0121 #define ULPI_CARKIT_INT_IDFLOAT BIT(0)
0122 #define ULPI_CARKIT_INT_CARINTDET BIT(1)
0123 #define ULPI_CARKIT_INT_DP BIT(2)
0124
0125
0126 #define ULPI_CARKIT_PLS_CTRL_TXPLSEN BIT(0)
0127 #define ULPI_CARKIT_PLS_CTRL_RXPLSEN BIT(1)
0128 #define ULPI_CARKIT_PLS_CTRL_SPKRLEFT_BIASEN BIT(2)
0129 #define ULPI_CARKIT_PLS_CTRL_SPKRRIGHT_BIASEN BIT(3)
0130
0131 #endif