| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 1 | #define EM_GPIO_0  (1 << 0) | 
|  | 2 | #define EM_GPIO_1  (1 << 1) | 
|  | 3 | #define EM_GPIO_2  (1 << 2) | 
|  | 4 | #define EM_GPIO_3  (1 << 3) | 
|  | 5 | #define EM_GPIO_4  (1 << 4) | 
|  | 6 | #define EM_GPIO_5  (1 << 5) | 
|  | 7 | #define EM_GPIO_6  (1 << 6) | 
|  | 8 | #define EM_GPIO_7  (1 << 7) | 
|  | 9 |  | 
|  | 10 | #define EM_GPO_0   (1 << 0) | 
|  | 11 | #define EM_GPO_1   (1 << 1) | 
|  | 12 | #define EM_GPO_2   (1 << 2) | 
|  | 13 | #define EM_GPO_3   (1 << 3) | 
|  | 14 |  | 
| Holger Nelson | 8ab3362 | 2011-12-28 18:55:41 -0300 | [diff] [blame] | 15 | /* em28xx endpoints */ | 
| Frank Schaefer | c647a91 | 2012-11-08 14:11:52 -0300 | [diff] [blame] | 16 | /* 0x82:   (always ?) analog */ | 
| Holger Nelson | 8ab3362 | 2011-12-28 18:55:41 -0300 | [diff] [blame] | 17 | #define EM28XX_EP_AUDIO		0x83 | 
| Frank Schaefer | c647a91 | 2012-11-08 14:11:52 -0300 | [diff] [blame] | 18 | /* 0x84:   digital or analog */ | 
| Holger Nelson | 8ab3362 | 2011-12-28 18:55:41 -0300 | [diff] [blame] | 19 |  | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 20 | /* em2800 registers */ | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 21 | #define EM2800_R08_AUDIOSRC 0x08 | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 22 |  | 
|  | 23 | /* em28xx registers */ | 
|  | 24 |  | 
| Devin Heitmueller | 5c2231c | 2008-11-19 08:22:28 -0300 | [diff] [blame] | 25 | #define EM28XX_R00_CHIPCFG	0x00 | 
|  | 26 |  | 
|  | 27 | /* em28xx Chip Configuration 0x00 */ | 
|  | 28 | #define EM28XX_CHIPCFG_VENDOR_AUDIO		0x80 | 
|  | 29 | #define EM28XX_CHIPCFG_I2S_VOLUME_CAPABLE	0x40 | 
| Devin Heitmueller | 54d79e3 | 2008-12-29 22:52:37 -0300 | [diff] [blame] | 30 | #define EM28XX_CHIPCFG_I2S_5_SAMPRATES		0x30 | 
|  | 31 | #define EM28XX_CHIPCFG_I2S_3_SAMPRATES		0x20 | 
| Devin Heitmueller | 5c2231c | 2008-11-19 08:22:28 -0300 | [diff] [blame] | 32 | #define EM28XX_CHIPCFG_AC97			0x10 | 
|  | 33 | #define EM28XX_CHIPCFG_AUDIOMASK		0x30 | 
|  | 34 |  | 
| Devin Heitmueller | d18e2fd | 2009-05-16 17:09:28 -0300 | [diff] [blame] | 35 | #define EM28XX_R01_CHIPCFG2	0x01 | 
|  | 36 |  | 
|  | 37 | /* em28xx Chip Configuration 2 0x01 */ | 
|  | 38 | #define EM28XX_CHIPCFG2_TS_PRESENT		0x10 | 
|  | 39 | #define EM28XX_CHIPCFG2_TS_REQ_INTERVAL_MASK	0x0c /* bits 3-2 */ | 
|  | 40 | #define EM28XX_CHIPCFG2_TS_REQ_INTERVAL_1MF	0x00 | 
|  | 41 | #define EM28XX_CHIPCFG2_TS_REQ_INTERVAL_2MF	0x04 | 
|  | 42 | #define EM28XX_CHIPCFG2_TS_REQ_INTERVAL_4MF	0x08 | 
|  | 43 | #define EM28XX_CHIPCFG2_TS_REQ_INTERVAL_8MF	0x0c | 
|  | 44 | #define EM28XX_CHIPCFG2_TS_PACKETSIZE_MASK	0x03 /* bits 0-1 */ | 
|  | 45 | #define EM28XX_CHIPCFG2_TS_PACKETSIZE_188	0x00 | 
|  | 46 | #define EM28XX_CHIPCFG2_TS_PACKETSIZE_376	0x01 | 
|  | 47 | #define EM28XX_CHIPCFG2_TS_PACKETSIZE_564	0x02 | 
|  | 48 | #define EM28XX_CHIPCFG2_TS_PACKETSIZE_752	0x03 | 
|  | 49 |  | 
|  | 50 |  | 
| Frank Schaefer | 1e2e908 | 2013-03-26 13:38:40 -0300 | [diff] [blame] | 51 | /* GPIO/GPO registers */ | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 52 | #define EM2880_R04_GPO	0x04    /* em2880-em2883 only */ | 
|  | 53 | #define EM28XX_R08_GPIO	0x08	/* em2820 or upper */ | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 54 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 55 | #define EM28XX_R06_I2C_CLK	0x06 | 
| Devin Heitmueller | 23159a0 | 2008-11-20 09:53:05 -0300 | [diff] [blame] | 56 |  | 
|  | 57 | /* em28xx I2C Clock Register (0x06) */ | 
|  | 58 | #define EM28XX_I2C_CLK_ACK_LAST_READ	0x80 | 
|  | 59 | #define EM28XX_I2C_CLK_WAIT_ENABLE	0x40 | 
|  | 60 | #define EM28XX_I2C_EEPROM_ON_BOARD	0x08 | 
|  | 61 | #define EM28XX_I2C_EEPROM_KEY_VALID	0x04 | 
|  | 62 | #define EM2874_I2C_SECONDARY_BUS_SELECT	0x04 /* em2874 has two i2c busses */ | 
|  | 63 | #define EM28XX_I2C_FREQ_1_5_MHZ		0x03 /* bus frequency (bits [1-0]) */ | 
|  | 64 | #define EM28XX_I2C_FREQ_25_KHZ		0x02 | 
|  | 65 | #define EM28XX_I2C_FREQ_400_KHZ		0x01 | 
|  | 66 | #define EM28XX_I2C_FREQ_100_KHZ		0x00 | 
|  | 67 |  | 
|  | 68 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 69 | #define EM28XX_R0A_CHIPID	0x0a | 
|  | 70 | #define EM28XX_R0C_USBSUSP	0x0c	/* */ | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 71 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 72 | #define EM28XX_R0E_AUDIOSRC	0x0e | 
|  | 73 | #define EM28XX_R0F_XCLK	0x0f | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 74 |  | 
| Devin Heitmueller | 5592768 | 2008-11-25 06:03:31 -0300 | [diff] [blame] | 75 | /* em28xx XCLK Register (0x0f) */ | 
|  | 76 | #define EM28XX_XCLK_AUDIO_UNMUTE	0x80 /* otherwise audio muted */ | 
|  | 77 | #define EM28XX_XCLK_I2S_MSB_TIMING	0x40 /* otherwise standard timing */ | 
|  | 78 | #define EM28XX_XCLK_IR_RC5_MODE		0x20 /* otherwise NEC mode */ | 
|  | 79 | #define EM28XX_XCLK_IR_NEC_CHK_PARITY	0x10 | 
|  | 80 | #define EM28XX_XCLK_FREQUENCY_30MHZ	0x00 /* Freq. select (bits [3-0]) */ | 
|  | 81 | #define EM28XX_XCLK_FREQUENCY_15MHZ	0x01 | 
|  | 82 | #define EM28XX_XCLK_FREQUENCY_10MHZ	0x02 | 
|  | 83 | #define EM28XX_XCLK_FREQUENCY_7_5MHZ	0x03 | 
|  | 84 | #define EM28XX_XCLK_FREQUENCY_6MHZ	0x04 | 
|  | 85 | #define EM28XX_XCLK_FREQUENCY_5MHZ	0x05 | 
|  | 86 | #define EM28XX_XCLK_FREQUENCY_4_3MHZ	0x06 | 
|  | 87 | #define EM28XX_XCLK_FREQUENCY_12MHZ	0x07 | 
|  | 88 | #define EM28XX_XCLK_FREQUENCY_20MHZ	0x08 | 
|  | 89 | #define EM28XX_XCLK_FREQUENCY_20MHZ_2	0x09 | 
|  | 90 | #define EM28XX_XCLK_FREQUENCY_48MHZ	0x0a | 
|  | 91 | #define EM28XX_XCLK_FREQUENCY_24MHZ	0x0b | 
|  | 92 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 93 | #define EM28XX_R10_VINMODE	0x10 | 
| Devin Heitmueller | 206313d | 2009-08-31 23:23:03 -0300 | [diff] [blame] | 94 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 95 | #define EM28XX_R11_VINCTRL	0x11 | 
| Devin Heitmueller | 206313d | 2009-08-31 23:23:03 -0300 | [diff] [blame] | 96 |  | 
|  | 97 | /* em28xx Video Input Control Register 0x11 */ | 
|  | 98 | #define EM28XX_VINCTRL_VBI_SLICED	0x80 | 
|  | 99 | #define EM28XX_VINCTRL_VBI_RAW		0x40 | 
|  | 100 | #define EM28XX_VINCTRL_VOUT_MODE_IN	0x20 /* HREF,VREF,VACT in output */ | 
|  | 101 | #define EM28XX_VINCTRL_CCIR656_ENABLE	0x10 | 
|  | 102 | #define EM28XX_VINCTRL_VBI_16BIT_RAW	0x08 /* otherwise 8-bit raw */ | 
|  | 103 | #define EM28XX_VINCTRL_FID_ON_HREF	0x04 | 
|  | 104 | #define EM28XX_VINCTRL_DUAL_EDGE_STROBE	0x02 | 
|  | 105 | #define EM28XX_VINCTRL_INTERLACED	0x01 | 
|  | 106 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 107 | #define EM28XX_R12_VINENABLE	0x12	/* */ | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 108 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 109 | #define EM28XX_R14_GAMMA	0x14 | 
|  | 110 | #define EM28XX_R15_RGAIN	0x15 | 
|  | 111 | #define EM28XX_R16_GGAIN	0x16 | 
|  | 112 | #define EM28XX_R17_BGAIN	0x17 | 
|  | 113 | #define EM28XX_R18_ROFFSET	0x18 | 
|  | 114 | #define EM28XX_R19_GOFFSET	0x19 | 
|  | 115 | #define EM28XX_R1A_BOFFSET	0x1a | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 116 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 117 | #define EM28XX_R1B_OFLOW	0x1b | 
|  | 118 | #define EM28XX_R1C_HSTART	0x1c | 
|  | 119 | #define EM28XX_R1D_VSTART	0x1d | 
|  | 120 | #define EM28XX_R1E_CWIDTH	0x1e | 
|  | 121 | #define EM28XX_R1F_CHEIGHT	0x1f | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 122 |  | 
| Frank Schaefer | 43a5e08 | 2013-02-15 14:38:31 -0300 | [diff] [blame] | 123 | #define EM28XX_R20_YGAIN	0x20 /* contrast [0:4]   */ | 
|  | 124 | #define   CONTRAST_DEFAULT	0x10 | 
|  | 125 |  | 
|  | 126 | #define EM28XX_R21_YOFFSET	0x21 /* brightness       */	/* signed */ | 
|  | 127 | #define   BRIGHTNESS_DEFAULT	0x00 | 
|  | 128 |  | 
|  | 129 | #define EM28XX_R22_UVGAIN	0x22 /* saturation [0:4] */ | 
|  | 130 | #define   SATURATION_DEFAULT	0x10 | 
|  | 131 |  | 
|  | 132 | #define EM28XX_R23_UOFFSET	0x23 /* blue balance     */	/* signed */ | 
|  | 133 | #define   BLUE_BALANCE_DEFAULT	0x00 | 
|  | 134 |  | 
|  | 135 | #define EM28XX_R24_VOFFSET	0x24 /* red balance      */	/* signed */ | 
|  | 136 | #define   RED_BALANCE_DEFAULT	0x00 | 
|  | 137 |  | 
|  | 138 | #define EM28XX_R25_SHARPNESS	0x25 /* sharpness [0:4]  */ | 
|  | 139 | #define   SHARPNESS_DEFAULT	0x00 | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 140 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 141 | #define EM28XX_R26_COMPR	0x26 | 
|  | 142 | #define EM28XX_R27_OUTFMT	0x27 | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 143 |  | 
| Devin Heitmueller | 3fbf930 | 2008-12-29 23:34:37 -0300 | [diff] [blame] | 144 | /* em28xx Output Format Register (0x27) */ | 
|  | 145 | #define EM28XX_OUTFMT_RGB_8_RGRG	0x00 | 
|  | 146 | #define EM28XX_OUTFMT_RGB_8_GRGR	0x01 | 
|  | 147 | #define EM28XX_OUTFMT_RGB_8_GBGB	0x02 | 
|  | 148 | #define EM28XX_OUTFMT_RGB_8_BGBG	0x03 | 
|  | 149 | #define EM28XX_OUTFMT_RGB_16_656	0x04 | 
|  | 150 | #define EM28XX_OUTFMT_RGB_8_BAYER	0x08 /* Pattern in Reg 0x10[1-0] */ | 
|  | 151 | #define EM28XX_OUTFMT_YUV211		0x10 | 
|  | 152 | #define EM28XX_OUTFMT_YUV422_Y0UY1V	0x14 | 
|  | 153 | #define EM28XX_OUTFMT_YUV422_Y1UY0V	0x15 | 
|  | 154 | #define EM28XX_OUTFMT_YUV411		0x18 | 
|  | 155 |  | 
|  | 156 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 157 | #define EM28XX_R28_XMIN	0x28 | 
|  | 158 | #define EM28XX_R29_XMAX	0x29 | 
|  | 159 | #define EM28XX_R2A_YMIN	0x2a | 
|  | 160 | #define EM28XX_R2B_YMAX	0x2b | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 161 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 162 | #define EM28XX_R30_HSCALELOW	0x30 | 
|  | 163 | #define EM28XX_R31_HSCALEHIGH	0x31 | 
|  | 164 | #define EM28XX_R32_VSCALELOW	0x32 | 
|  | 165 | #define EM28XX_R33_VSCALEHIGH	0x33 | 
| Frank Schaefer | 8168532 | 2013-02-10 16:05:11 -0300 | [diff] [blame] | 166 | #define   EM28XX_HVSCALE_MAX	0x3fff /* => 20% */ | 
|  | 167 |  | 
| Devin Heitmueller | da52a55 | 2009-09-01 01:19:46 -0300 | [diff] [blame] | 168 | #define EM28XX_R34_VBI_START_H	0x34 | 
|  | 169 | #define EM28XX_R35_VBI_START_V	0x35 | 
| Frank Schaefer | 1e2e908 | 2013-03-26 13:38:40 -0300 | [diff] [blame] | 170 | /* | 
|  | 171 | * NOTE: the EM276x (and EM25xx, EM277x/8x ?) (camera bridges) use these | 
|  | 172 | * registers for a different unknown purpose. | 
|  | 173 | *   => register 0x34 is set to capture width / 16 | 
|  | 174 | *   => register 0x35 is set to capture height / 16 | 
|  | 175 | */ | 
|  | 176 |  | 
| Devin Heitmueller | da52a55 | 2009-09-01 01:19:46 -0300 | [diff] [blame] | 177 | #define EM28XX_R36_VBI_WIDTH	0x36 | 
|  | 178 | #define EM28XX_R37_VBI_HEIGHT	0x37 | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 179 |  | 
| Mauro Carvalho Chehab | 41facaa | 2008-04-17 21:44:58 -0300 | [diff] [blame] | 180 | #define EM28XX_R40_AC97LSB	0x40 | 
|  | 181 | #define EM28XX_R41_AC97MSB	0x41 | 
|  | 182 | #define EM28XX_R42_AC97ADDR	0x42 | 
|  | 183 | #define EM28XX_R43_AC97BUSY	0x43 | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 184 |  | 
| Mauro Carvalho Chehab | a924a49 | 2008-11-12 08:41:29 -0300 | [diff] [blame] | 185 | #define EM28XX_R45_IR		0x45 | 
|  | 186 | /* 0x45  bit 7    - parity bit | 
|  | 187 | bits 6-0 - count | 
|  | 188 | 0x46  IR brand | 
|  | 189 | 0x47  IR data | 
|  | 190 | */ | 
|  | 191 |  | 
| Devin Heitmueller | 6a1acc3 | 2008-11-12 02:05:06 -0300 | [diff] [blame] | 192 | /* em2874 registers */ | 
| Devin Heitmueller | 4b92253 | 2008-11-13 03:15:55 -0300 | [diff] [blame] | 193 | #define EM2874_R50_IR_CONFIG    0x50 | 
|  | 194 | #define EM2874_R51_IR           0x51 | 
| Devin Heitmueller | ebef13d | 2008-11-12 02:05:24 -0300 | [diff] [blame] | 195 | #define EM2874_R5F_TS_ENABLE    0x5f | 
| Devin Heitmueller | 6a1acc3 | 2008-11-12 02:05:06 -0300 | [diff] [blame] | 196 | #define EM2874_R80_GPIO         0x80 | 
|  | 197 |  | 
| Devin Heitmueller | 4b92253 | 2008-11-13 03:15:55 -0300 | [diff] [blame] | 198 | /* em2874 IR config register (0x50) */ | 
|  | 199 | #define EM2874_IR_NEC           0x00 | 
| Mauro Carvalho Chehab | 105e368 | 2012-12-15 08:29:11 -0300 | [diff] [blame] | 200 | #define EM2874_IR_NEC_NO_PARITY 0x01 | 
| Devin Heitmueller | 4b92253 | 2008-11-13 03:15:55 -0300 | [diff] [blame] | 201 | #define EM2874_IR_RC5           0x04 | 
| Mauro Carvalho Chehab | 5599678 | 2010-01-11 10:47:33 -0300 | [diff] [blame] | 202 | #define EM2874_IR_RC6_MODE_0    0x08 | 
|  | 203 | #define EM2874_IR_RC6_MODE_6A   0x0b | 
| Devin Heitmueller | 4b92253 | 2008-11-13 03:15:55 -0300 | [diff] [blame] | 204 |  | 
| Devin Heitmueller | ebef13d | 2008-11-12 02:05:24 -0300 | [diff] [blame] | 205 | /* em2874 Transport Stream Enable Register (0x5f) */ | 
|  | 206 | #define EM2874_TS1_CAPTURE_ENABLE (1 << 0) | 
|  | 207 | #define EM2874_TS1_FILTER_ENABLE  (1 << 1) | 
|  | 208 | #define EM2874_TS1_NULL_DISCARD   (1 << 2) | 
|  | 209 | #define EM2874_TS2_CAPTURE_ENABLE (1 << 4) | 
|  | 210 | #define EM2874_TS2_FILTER_ENABLE  (1 << 5) | 
|  | 211 | #define EM2874_TS2_NULL_DISCARD   (1 << 6) | 
|  | 212 |  | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 213 | /* register settings */ | 
|  | 214 | #define EM2800_AUDIO_SRC_TUNER  0x0d | 
|  | 215 | #define EM2800_AUDIO_SRC_LINE   0x0c | 
|  | 216 | #define EM28XX_AUDIO_SRC_TUNER	0xc0 | 
|  | 217 | #define EM28XX_AUDIO_SRC_LINE	0x80 | 
|  | 218 |  | 
|  | 219 | /* FIXME: Need to be populated with the other chip ID's */ | 
|  | 220 | enum em28xx_chip_id { | 
| Mauro Carvalho Chehab | f57b17c3 | 2009-11-12 11:21:05 -0300 | [diff] [blame] | 221 | CHIP_ID_EM2800 = 7, | 
| Mauro Carvalho Chehab | d594317 | 2009-08-07 12:13:31 -0300 | [diff] [blame] | 222 | CHIP_ID_EM2710 = 17, | 
|  | 223 | CHIP_ID_EM2820 = 18,	/* Also used by some em2710 */ | 
| Mauro Carvalho Chehab | f09fb53 | 2008-11-16 10:40:21 -0300 | [diff] [blame] | 224 | CHIP_ID_EM2840 = 20, | 
| Devin Heitmueller | 67c96f6 | 2008-11-18 05:05:46 -0300 | [diff] [blame] | 225 | CHIP_ID_EM2750 = 33, | 
| Devin Heitmueller | a8a1f8c | 2008-06-10 12:35:42 -0300 | [diff] [blame] | 226 | CHIP_ID_EM2860 = 34, | 
| Devin Heitmueller | b1fa26c | 2008-12-16 23:15:33 -0300 | [diff] [blame] | 227 | CHIP_ID_EM2870 = 35, | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 228 | CHIP_ID_EM2883 = 36, | 
| Frank Schaefer | 736a320 | 2013-03-26 13:38:37 -0300 | [diff] [blame] | 229 | CHIP_ID_EM2765 = 54, | 
| Devin Heitmueller | 5caeba0 | 2008-11-12 02:04:48 -0300 | [diff] [blame] | 230 | CHIP_ID_EM2874 = 65, | 
| Mauro Carvalho Chehab | fec528b | 2011-07-03 21:05:06 -0300 | [diff] [blame] | 231 | CHIP_ID_EM2884 = 68, | 
| Antti Palosaari | bc02269 | 2011-04-07 16:04:48 -0300 | [diff] [blame] | 232 | CHIP_ID_EM28174 = 113, | 
| Mauro Carvalho Chehab | 2ba890e | 2008-04-17 21:42:58 -0300 | [diff] [blame] | 233 | }; | 
| Mauro Carvalho Chehab | 6fbcebf | 2008-11-17 22:30:09 -0300 | [diff] [blame] | 234 |  | 
|  | 235 | /* | 
| Ezequiel GarcĂa | 9f98f7b | 2012-06-11 15:17:24 -0300 | [diff] [blame] | 236 | * Registers used by em202 | 
| Mauro Carvalho Chehab | 6fbcebf | 2008-11-17 22:30:09 -0300 | [diff] [blame] | 237 | */ | 
|  | 238 |  | 
| Mauro Carvalho Chehab | 6fbcebf | 2008-11-17 22:30:09 -0300 | [diff] [blame] | 239 | /* EMP202 vendor registers */ | 
|  | 240 | #define EM202_EXT_MODEM_CTRL     0x3e | 
|  | 241 | #define EM202_GPIO_CONF          0x4c | 
|  | 242 | #define EM202_GPIO_POLARITY      0x4e | 
|  | 243 | #define EM202_GPIO_STICKY        0x50 | 
|  | 244 | #define EM202_GPIO_MASK          0x52 | 
|  | 245 | #define EM202_GPIO_STATUS        0x54 | 
|  | 246 | #define EM202_SPDIF_OUT_SEL      0x6a | 
|  | 247 | #define EM202_ANTIPOP            0x72 | 
|  | 248 | #define EM202_EAPD_GPIO_ACCESS   0x74 |