diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2005-07-07 20:57:48 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-07 21:23:56 -0400 |
commit | 2819639b5630cd26d399ee0481be9a752280cf4d (patch) | |
tree | e742b0c098755591ae1cf864dbe71c0e7fd9110f /drivers | |
parent | 178c6efcd8435644028bf3f079c1e82107e72dfd (diff) |
[PATCH] dvb: flexcop: add big endian register definitions
Add big-endian register definitions for running on a PowerPC.
(Thanks to Paavo Hartikainen for testing.)
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/dvb/b2c2/flexcop-reg.h | 548 | ||||
-rw-r--r-- | drivers/media/dvb/b2c2/flexcop_ibi_value_be.h | 451 | ||||
-rw-r--r-- | drivers/media/dvb/b2c2/flexcop_ibi_value_le.h | 451 |
3 files changed, 909 insertions, 541 deletions
diff --git a/drivers/media/dvb/b2c2/flexcop-reg.h b/drivers/media/dvb/b2c2/flexcop-reg.h index 75b50f21afe6..4ae1eb5bfe98 100644 --- a/drivers/media/dvb/b2c2/flexcop-reg.h +++ b/drivers/media/dvb/b2c2/flexcop-reg.h | |||
@@ -36,555 +36,21 @@ typedef enum { | |||
36 | extern const char *flexcop_device_names[]; | 36 | extern const char *flexcop_device_names[]; |
37 | 37 | ||
38 | /* FlexCop IBI Registers */ | 38 | /* FlexCop IBI Registers */ |
39 | #if defined(__LITTLE_ENDIAN) | ||
40 | #include "flexcop_ibi_value_le.h" | ||
41 | #elif defined(__BIG_ENDIAN) | ||
42 | #include "flexcop_ibi_value_be.h" | ||
43 | #else | ||
44 | #error no endian defined | ||
45 | #endif | ||
39 | 46 | ||
40 | /* flexcop_ibi_reg - a huge union representing the register structure */ | ||
41 | typedef union { | ||
42 | u32 raw; | ||
43 | |||
44 | /* DMA 0x000 to 0x01c | ||
45 | * DMA1 0x000 to 0x00c | ||
46 | * DMA2 0x010 to 0x01c | ||
47 | */ | ||
48 | struct { | ||
49 | u32 dma_0start : 1; /* set: data will be delivered to dma1_address0 */ | ||
50 | u32 dma_0No_update : 1; /* set: dma1_cur_address will be updated, unset: no update */ | ||
51 | u32 dma_address0 :30; /* physical/virtual host memory address0 DMA */ | ||
52 | } dma_0x0; | ||
53 | |||
54 | struct { | ||
55 | u32 DMA_maxpackets : 8; /* (remapped) PCI DMA1 Packet Count Interrupt. This variable | ||
56 | is able to be read and written while bit(1) of register | ||
57 | 0x00c (remap_enable) is set. This variable represents | ||
58 | the number of packets that will be transmitted to the PCI | ||
59 | host using PCI DMA1 before an interrupt to the PCI is | ||
60 | asserted. This functionality may be enabled using bit(20) | ||
61 | of register 0x208. N=0 disables the IRQ. */ | ||
62 | u32 dma_addr_size :24; /* size of memory buffer in DWORDs (bytesize / 4) for DMA */ | ||
63 | } dma_0x4_remap; | ||
64 | |||
65 | struct { | ||
66 | u32 dma1timer : 7; /* reading PCI DMA1 timer ... when remap_enable is 0 */ | ||
67 | u32 unused : 1; | ||
68 | u32 dma_addr_size :24; | ||
69 | } dma_0x4_read; | ||
70 | |||
71 | struct { | ||
72 | u32 unused : 1; | ||
73 | u32 dmatimer : 7; /* writing PCI DMA1 timer ... when remap_enable is 0 */ | ||
74 | u32 dma_addr_size :24; | ||
75 | } dma_0x4_write; | ||
76 | |||
77 | struct { | ||
78 | u32 unused : 2; | ||
79 | u32 dma_cur_addr :30; /* current physical host memory address pointer for DMA */ | ||
80 | } dma_0x8; | ||
81 | |||
82 | struct { | ||
83 | u32 dma_1start : 1; /* set: data will be delivered to dma_address1, when dma_address0 is full */ | ||
84 | u32 remap_enable : 1; /* remap enable for 0x0x4(7:0) */ | ||
85 | u32 dma_address1 :30; /* Physical/virtual address 1 on DMA */ | ||
86 | } dma_0xc; | ||
87 | |||
88 | /* Two-wire Serial Master and Clock 0x100-0x110 */ | ||
89 | struct { | ||
90 | // u32 slave_transmitter : 1; /* ???*/ | ||
91 | u32 chipaddr : 7; /* two-line serial address of the target slave */ | ||
92 | u32 reserved1 : 1; | ||
93 | u32 baseaddr : 8; /* address of the location of the read/write operation */ | ||
94 | u32 data1_reg : 8; /* first byte in two-line serial read/write operation */ | ||
95 | u32 working_start : 1; /* when doing a write operation this indicator is 0 when ready | ||
96 | * set to 1 when doing a write operation */ | ||
97 | u32 twoWS_rw : 1; /* read/write indicator (1 = read, 0 write) */ | ||
98 | u32 total_bytes : 2; /* number of data bytes in each two-line serial transaction (0 = 1 byte, 11 = 4byte)*/ | ||
99 | u32 twoWS_port_reg : 2; /* port selection: 01 - Front End/Demod, 10 - EEPROM, 11 - Tuner */ | ||
100 | u32 no_base_addr_ack_error : 1; /* writing: write-req: frame is produced w/o baseaddr, read-req: read-cycles w/o | ||
101 | * preceding address assignment write frame | ||
102 | * ACK_ERROR = 1 when no ACK from slave in the last transaction */ | ||
103 | u32 st_done : 1; /* indicator for transaction is done */ | ||
104 | } tw_sm_c_100; | ||
105 | |||
106 | struct { | ||
107 | u32 data2_reg : 8; /* 2nd data byte */ | ||
108 | u32 data3_reg : 8; /* 3rd data byte */ | ||
109 | u32 data4_reg : 8; /* 4th data byte */ | ||
110 | u32 exlicit_stops : 1; /* when set, transactions are produced w/o trailing STOP flag, then send isolated STOP flags */ | ||
111 | u32 force_stop : 1; /* isolated stop flag */ | ||
112 | u32 unused : 6; | ||
113 | } tw_sm_c_104; | ||
114 | |||
115 | /* Clock. The register allows the FCIII to convert an incoming Master clock | ||
116 | * (MCLK) signal into a lower frequency clock through the use of a LowCounter | ||
117 | * (TLO) and a High- Counter (THI). The time counts for THI and TLO are | ||
118 | * measured in MCLK; each count represents 4 MCLK input clock cycles. | ||
119 | * | ||
120 | * The default output for port #1 is set for Front End Demod communication. (0x108) | ||
121 | * The default output for port #2 is set for EEPROM communication. (0x10c) | ||
122 | * The default output for port #3 is set for Tuner communication. (0x110) | ||
123 | */ | ||
124 | struct { | ||
125 | u32 thi1 : 6; /* Thi for port #1 (def: 100110b; 38) */ | ||
126 | u32 reserved1 : 2; | ||
127 | u32 tlo1 : 5; /* Tlo for port #1 (def: 11100b; 28) */ | ||
128 | u32 reserved2 :19; | ||
129 | } tw_sm_c_108; | ||
130 | |||
131 | struct { | ||
132 | u32 thi1 : 6; /* Thi for port #2 (def: 111001b; 57) */ | ||
133 | u32 reserved1 : 2; | ||
134 | u32 tlo1 : 5; /* Tlo for port #2 (def: 11100b; 28) */ | ||
135 | u32 reserved2 :19; | ||
136 | } tw_sm_c_10c; | ||
137 | |||
138 | struct { | ||
139 | u32 thi1 : 6; /* Thi for port #3 (def: 111001b; 57) */ | ||
140 | u32 reserved1 : 2; | ||
141 | u32 tlo1 : 5; /* Tlo for port #3 (def: 11100b; 28) */ | ||
142 | u32 reserved2 :19; | ||
143 | } tw_sm_c_110; | ||
144 | |||
145 | /* LNB Switch Frequency 0x200 | ||
146 | * Clock that creates the LNB switch tone. The default is set to have a fixed | ||
147 | * low output (not oscillating) to the LNB_CTL line. | ||
148 | */ | ||
149 | struct { | ||
150 | u32 LNB_CTLHighCount_sig :15; /* It is the number of pre-scaled clock cycles that will be low. */ | ||
151 | u32 LNB_CTLLowCount_sig :15; /* For example, to obtain a 22KHz output given a 45 Mhz Master | ||
152 | Clock signal (MCLK), set PreScalar=01 and LowCounter value to 0x1ff. */ | ||
153 | u32 LNB_CTLPrescaler_sig : 2; /* pre-scaler divides MCLK: 00 (no division), 01 by 2, 10 by 4, 11 by 12 */ | ||
154 | } lnb_switch_freq_200; | ||
155 | |||
156 | /* ACPI, Peripheral Reset, LNB Polarity | ||
157 | * ACPI power conservation mode, LNB polarity selection (low or high voltage), | ||
158 | * and peripheral reset. | ||
159 | */ | ||
160 | struct { | ||
161 | u32 ACPI1_sig : 1; /* turn of the power of tuner and LNB, not implemented in FCIII */ | ||
162 | u32 ACPI3_sig : 1; /* turn of power of the complete satelite receiver board (except FCIII) */ | ||
163 | u32 LNB_L_H_sig : 1; /* low or high voltage for LNB. (0 = low, 1 = high) */ | ||
164 | u32 Per_reset_sig : 1; /* misc. init reset (default: 1), to reset set to low and back to high */ | ||
165 | u32 reserved :20; | ||
166 | u32 Rev_N_sig_revision_hi : 4;/* 0xc in case of FCIII */ | ||
167 | u32 Rev_N_sig_reserved1 : 2; | ||
168 | u32 Rev_N_sig_caps : 1; /* if 1, FCIII has 32 PID- and MAC-filters and is capable of IP multicast */ | ||
169 | u32 Rev_N_sig_reserved2 : 1; | ||
170 | } misc_204; | ||
171 | |||
172 | /* Control and Status 0x208 to 0x21c */ | ||
173 | /* Gross enable and disable control */ | ||
174 | struct { | ||
175 | u32 Stream1_filter_sig : 1; /* Stream1 PID filtering */ | ||
176 | u32 Stream2_filter_sig : 1; /* Stream2 PID filtering */ | ||
177 | u32 PCR_filter_sig : 1; /* PCR PID filter */ | ||
178 | u32 PMT_filter_sig : 1; /* PMT PID filter */ | ||
179 | |||
180 | u32 EMM_filter_sig : 1; /* EMM PID filter */ | ||
181 | u32 ECM_filter_sig : 1; /* ECM PID filter */ | ||
182 | u32 Null_filter_sig : 1; /* Filters null packets, PID=0x1fff. */ | ||
183 | u32 Mask_filter_sig : 1; /* mask PID filter */ | ||
184 | |||
185 | u32 WAN_Enable_sig : 1; /* WAN output line through V8 memory space is activated. */ | ||
186 | u32 WAN_CA_Enable_sig : 1; /* not in FCIII */ | ||
187 | u32 CA_Enable_sig : 1; /* not in FCIII */ | ||
188 | u32 SMC_Enable_sig : 1; /* CI stream data (CAI) goes directly to the smart card intf (opposed IBI 0x600 or SC-cmd buf). */ | ||
189 | |||
190 | u32 Per_CA_Enable_sig : 1; /* not in FCIII */ | ||
191 | u32 Multi2_Enable_sig : 1; /* ? */ | ||
192 | u32 MAC_filter_Mode_sig : 1; /* (MAC_filter_enable) Globally enables MAC filters for Net PID filteres. */ | ||
193 | u32 Rcv_Data_sig : 1; /* PID filtering module enable. When this bit is a one, the PID filter will | ||
194 | examine and process packets according to all other (individual) PID | ||
195 | filtering controls. If it a zero, no packet processing of any kind will | ||
196 | take place. All data from the tuner will be thrown away. */ | ||
197 | |||
198 | u32 DMA1_IRQ_Enable_sig : 1; /* When set, a DWORD counter is enabled on PCI DMA1 that asserts the PCI | ||
199 | * interrupt after the specified count for filling the buffer. */ | ||
200 | u32 DMA1_Timer_Enable_sig : 1; /* When set, a timer is enabled on PCI DMA1 that asserts the PCI interrupt | ||
201 | after a specified amount of time. */ | ||
202 | u32 DMA2_IRQ_Enable_sig : 1; /* same as DMA1_IRQ_Enable_sig but for DMA2 */ | ||
203 | u32 DMA2_Timer_Enable_sig : 1; /* same as DMA1_Timer_Enable_sig but for DMA2 */ | ||
204 | |||
205 | u32 DMA1_Size_IRQ_Enable_sig : 1; /* When set, a packet count detector is enabled on PCI DMA1 that asserts the PCI interrupt. */ | ||
206 | u32 DMA2_Size_IRQ_Enable_sig : 1; /* When set, a packet count detector is enabled on PCI DMA2 that asserts the PCI interrupt. */ | ||
207 | u32 Mailbox_from_V8_Enable_sig: 1; /* When set, writes to the mailbox register produce an interrupt to the | ||
208 | PCI host to indicate that mailbox data is available. */ | ||
209 | |||
210 | u32 unused : 9; | ||
211 | } ctrl_208; | ||
212 | |||
213 | /* General status. When a PCI interrupt occurs, this register is read to | ||
214 | * discover the reason for the interrupt. | ||
215 | */ | ||
216 | struct { | ||
217 | u32 DMA1_IRQ_Status : 1; /* When set(1) the DMA1 counter had generated an IRQ. Read Only. */ | ||
218 | u32 DMA1_Timer_Status : 1; /* When set(1) the DMA1 timer had generated an IRQ. Read Only. */ | ||
219 | u32 DMA2_IRQ_Status : 1; /* When set(1) the DMA2 counter had generated an IRQ. Read Only. */ | ||
220 | u32 DMA2_Timer_Status : 1; /* When set(1) the DMA2 timer had generated an IRQ. Read Only. */ | ||
221 | u32 DMA1_Size_IRQ_Status : 1; /* (Read only). This register is read after an interrupt to */ | ||
222 | u32 DMA2_Size_IRQ_Status : 1; /* find out why we had an IRQ. Reading this register will clear this bit. Packet count*/ | ||
223 | u32 Mailbox_from_V8_Status_sig: 1; /* Same as above. Reading this register will clear this bit. */ | ||
224 | u32 Data_receiver_error : 1; /* 1 indicate an error in the receiver Front End (Tuner module) */ | ||
225 | u32 Continuity_error_flag : 1; /* 1 indicates a continuity error in the TS stream. */ | ||
226 | u32 LLC_SNAP_FLAG_set : 1; /* 1 indicates that the LCC_SNAP_FLAG was set. */ | ||
227 | u32 Transport_Error : 1; /* When set indicates that an unexpected packet was received. */ | ||
228 | u32 reserved :21; | ||
229 | } irq_20c; | ||
230 | |||
231 | |||
232 | /* Software reset register */ | ||
233 | struct { | ||
234 | u32 reset_blocks : 8; /* Enabled when Block_reset_enable = 0xB2 and 0x208 bits 15:8 = 0x00. | ||
235 | Each bit location represents a 0x100 block of registers. Writing | ||
236 | a one in a bit location resets that block of registers and the logic | ||
237 | that it controls. */ | ||
238 | u32 Block_reset_enable : 8; /* This variable is set to 0xB2 when the register is written. */ | ||
239 | u32 Special_controls :16; /* Asserts Reset_V8 => 0xC258; Turns on pci encryption => 0xC25A; | ||
240 | Turns off pci encryption => 0xC259 Note: pci_encryption default | ||
241 | at power-up is ON. */ | ||
242 | } sw_reset_210; | ||
243 | |||
244 | struct { | ||
245 | u32 vuart_oe_sig : 1; /* When clear, the V8 processor has sole control of the serial UART | ||
246 | (RS-232 Smart Card interface). When set, the IBI interface | ||
247 | defined by register 0x600 controls the serial UART. */ | ||
248 | u32 v2WS_oe_sig : 1; /* When clear, the V8 processor has direct control of the Two-line | ||
249 | Serial Master EEPROM target. When set, the Two-line Serial Master | ||
250 | EEPROM target interface is controlled by IBI register 0x100. */ | ||
251 | u32 halt_V8_sig : 1; /* When set, contiguous wait states are applied to the V8-space | ||
252 | bus masters. Once this signal is cleared, normal V8-space | ||
253 | operations resume. */ | ||
254 | u32 section_pkg_enable_sig: 1; /* When set, this signal enables the front end translation circuitry | ||
255 | to process section packed transport streams. */ | ||
256 | u32 s2p_sel_sig : 1; /* Serial to parallel conversion. When set, polarized transport data | ||
257 | within the FlexCop3 front end circuitry is converted from a serial | ||
258 | stream into parallel data before downstream processing otherwise | ||
259 | interprets the data. */ | ||
260 | u32 unused1 : 3; | ||
261 | u32 polarity_PS_CLK_sig: 1; /* This signal is used to invert the input polarity of the tranport | ||
262 | stream CLOCK signal before any processing occurs on the transport | ||
263 | stream within FlexCop3. */ | ||
264 | u32 polarity_PS_VALID_sig: 1; /* This signal is used to invert the input polarity of the tranport | ||
265 | stream VALID signal before any processing occurs on the transport | ||
266 | stream within FlexCop3. */ | ||
267 | u32 polarity_PS_SYNC_sig: 1; /* This signal is used to invert the input polarity of the tranport | ||
268 | stream SYNC signal before any processing occurs on the transport | ||
269 | stream within FlexCop3. */ | ||
270 | u32 polarity_PS_ERR_sig: 1; /* This signal is used to invert the input polarity of the tranport | ||
271 | stream ERROR signal before any processing occurs on the transport | ||
272 | stream within FlexCop3. */ | ||
273 | u32 unused2 :20; | ||
274 | } misc_214; | ||
275 | |||
276 | /* Mailbox from V8 to host */ | ||
277 | struct { | ||
278 | u32 Mailbox_from_V8 :32; /* When this register is written by either the V8 processor or by an | ||
279 | end host, an interrupt is generated to the PCI host to indicate | ||
280 | that mailbox data is available. Reading register 20c will clear | ||
281 | the IRQ. */ | ||
282 | } mbox_v8_to_host_218; | ||
283 | |||
284 | /* Mailbox from host to v8 Mailbox_to_V8 | ||
285 | * Mailbox_to_V8 mailbox storage register | ||
286 | * used to send messages from PCI to V8. Writing to this register will send an | ||
287 | * IRQ to the V8. Then it can read the data from here. Reading this register | ||
288 | * will clear the IRQ. If the V8 is halted and bit 31 of this register is set, | ||
289 | * then this register is used instead as a direct interface to access the | ||
290 | * V8space memory. | ||
291 | */ | ||
292 | struct { | ||
293 | u32 sysramaccess_data : 8; /* Data byte written or read from the specified address in V8 SysRAM. */ | ||
294 | u32 sysramaccess_addr :15; /* 15 bit address used to access V8 Sys-RAM. */ | ||
295 | u32 unused : 7; | ||
296 | u32 sysramaccess_write: 1; /* Write flag used to latch data into the V8 SysRAM. */ | ||
297 | u32 sysramaccess_busmuster: 1; /* Setting this bit when the V8 is halted at 0x214 Bit(2) allows | ||
298 | this IBI register interface to directly drive the V8-space memory. */ | ||
299 | } mbox_host_to_v8_21c; | ||
300 | |||
301 | |||
302 | /* PIDs, Translation Bit, SMC Filter Select 0x300 to 0x31c */ | ||
303 | struct { | ||
304 | u32 Stream1_PID :13; /* Primary use is receiving Net data, so these 13 bits normally | ||
305 | hold the PID value for the desired network stream. */ | ||
306 | u32 Stream1_trans : 1; /* When set, Net translation will take place for Net data ferried in TS packets. */ | ||
307 | u32 MAC_Multicast_filter : 1; /* When clear, multicast MAC filtering is not allowed for Stream1 and PID_n filters. */ | ||
308 | u32 debug_flag_pid_saved : 1; | ||
309 | u32 Stream2_PID :13; /* 13 bits for Stream 2 PID filter value. General use. */ | ||
310 | u32 Stream2_trans : 1; /* When set Tables/CAI translation will take place for the data ferried in | ||
311 | Stream2_PID TS packets. */ | ||
312 | u32 debug_flag_write_status00 : 1; | ||
313 | u32 debug_fifo_problem : 1; | ||
314 | } pid_filter_300; | ||
315 | |||
316 | struct { | ||
317 | u32 PCR_PID :13; /* PCR stream PID filter value. Primary use is Program Clock Reference stream filtering. */ | ||
318 | u32 PCR_trans : 1; /* When set, Tables/CAI translation will take place for these packets. */ | ||
319 | u32 debug_overrun3 : 1; | ||
320 | u32 debug_overrun2 : 1; | ||
321 | u32 PMT_PID :13; /* stream PID filter value. Primary use is Program Management Table segment filtering. */ | ||
322 | u32 PMT_trans : 1; /* When set, Tables/CAI translation will take place for these packets. */ | ||
323 | u32 reserved : 2; | ||
324 | } pid_filter_304; | ||
325 | |||
326 | struct { | ||
327 | u32 EMM_PID :13; /* EMM PID filter value. Primary use is Entitlement Management Messaging for | ||
328 | conditional access-related data. */ | ||
329 | u32 EMM_trans : 1; /* When set, Tables/CAI translation will take place for these packets. */ | ||
330 | u32 EMM_filter_4 : 1; /* When set will pass only EMM data possessing the same ID code as the | ||
331 | first four bytes (32 bits) of the end-user s 6-byte Smart Card ID number Select */ | ||
332 | u32 EMM_filter_6 : 1; /* When set will pass only EMM data possessing the same 6-byte code as the end-users | ||
333 | complete 6-byte Smart Card ID number. */ | ||
334 | u32 ECM_PID :13; /* ECM PID filter value. Primary use is Entitlement Control Messaging for conditional | ||
335 | access-related data. */ | ||
336 | u32 ECM_trans : 1; /* When set, Tables/CAI translation will take place for these packets. */ | ||
337 | u32 reserved : 2; | ||
338 | } pid_filter_308; | ||
339 | |||
340 | struct { | ||
341 | u32 Group_PID :13; /* PID value for group filtering. */ | ||
342 | u32 Group_trans : 1; /* When set, Tables/CAI translation will take place for these packets. */ | ||
343 | u32 unused1 : 2; | ||
344 | u32 Group_mask :13; /* Mask value used in logical "and" equation that defines group filtering */ | ||
345 | u32 unused2 : 3; | ||
346 | } pid_filter_30c_ext_ind_0_7; | ||
347 | |||
348 | struct { | ||
349 | u32 net_master_read :17; | ||
350 | u32 unused :15; | ||
351 | } pid_filter_30c_ext_ind_1; | ||
352 | |||
353 | struct { | ||
354 | u32 net_master_write :17; | ||
355 | u32 unused :15; | ||
356 | } pid_filter_30c_ext_ind_2; | ||
357 | |||
358 | struct { | ||
359 | u32 next_net_master_write :17; | ||
360 | u32 unused :15; | ||
361 | } pid_filter_30c_ext_ind_3; | ||
362 | |||
363 | struct { | ||
364 | u32 unused1 : 1; | ||
365 | u32 state_write :10; | ||
366 | u32 reserved1 : 6; /* default: 000100 */ | ||
367 | u32 stack_read :10; | ||
368 | u32 reserved2 : 5; /* default: 00100 */ | ||
369 | } pid_filter_30c_ext_ind_4; | ||
370 | |||
371 | struct { | ||
372 | u32 stack_cnt :10; | ||
373 | u32 unused :22; | ||
374 | } pid_filter_30c_ext_ind_5; | ||
375 | |||
376 | struct { | ||
377 | u32 pid_fsm_save_reg0 : 2; | ||
378 | u32 pid_fsm_save_reg1 : 2; | ||
379 | u32 pid_fsm_save_reg2 : 2; | ||
380 | u32 pid_fsm_save_reg3 : 2; | ||
381 | u32 pid_fsm_save_reg4 : 2; | ||
382 | u32 pid_fsm_save_reg300 : 2; | ||
383 | u32 write_status1 : 2; | ||
384 | u32 write_status4 : 2; | ||
385 | u32 data_size_reg :12; | ||
386 | u32 unused : 4; | ||
387 | } pid_filter_30c_ext_ind_6; | ||
388 | |||
389 | struct { | ||
390 | u32 index_reg : 5; /* (Index pointer) Points at an internal PIDn register. A binary code | ||
391 | representing one of 32 internal PIDn registers as well as its | ||
392 | corresponding internal MAC_lown register. */ | ||
393 | u32 extra_index_reg : 3; /* This vector is used to select between sets of debug signals routed to register 0x30c. */ | ||
394 | u32 AB_select : 1; /* Used in conjunction with 0x31c. read/write to the MAC_highA or MAC_highB register | ||
395 | 0=MAC_highB register, 1=MAC_highA */ | ||
396 | u32 pass_alltables : 1; /* 1=Net packets are not filtered against the Network Table ID found in register 0x400. | ||
397 | All types of networks (DVB, ATSC, ISDB) are passed. */ | ||
398 | u32 unused :22; | ||
399 | } index_reg_310; | ||
400 | |||
401 | struct { | ||
402 | u32 PID :13; /* PID value */ | ||
403 | u32 PID_trans : 1; /* translation will take place for packets filtered */ | ||
404 | u32 PID_enable_bit : 1; /* When set this PID filter is enabled */ | ||
405 | u32 reserved :17; | ||
406 | } pid_n_reg_314; | ||
407 | |||
408 | struct { | ||
409 | u32 A4_byte : 8; | ||
410 | u32 A5_byte : 8; | ||
411 | u32 A6_byte : 8; | ||
412 | u32 Enable_bit : 1; /* enabled (1) or disabled (1) */ | ||
413 | u32 HighAB_bit : 1; /* use MAC_highA (1) or MAC_highB (0) as MSB */ | ||
414 | u32 reserved : 6; | ||
415 | } mac_low_reg_318; | ||
416 | |||
417 | struct { | ||
418 | u32 A1_byte : 8; | ||
419 | u32 A2_byte : 8; | ||
420 | u32 A3_byte : 8; | ||
421 | u32 reserved : 8; | ||
422 | } mac_high_reg_31c; | ||
423 | |||
424 | /* Table, SMCID,MACDestination Filters 0x400 to 0x41c */ | ||
425 | struct { | ||
426 | u32 reserved :16; | ||
427 | #define fc_data_Tag_ID_DVB 0x3e | 47 | #define fc_data_Tag_ID_DVB 0x3e |
428 | #define fc_data_Tag_ID_ATSC 0x3f | 48 | #define fc_data_Tag_ID_ATSC 0x3f |
429 | #define fc_data_Tag_ID_IDSB 0x8b | 49 | #define fc_data_Tag_ID_IDSB 0x8b |
430 | u32 data_Tag_ID :16; | ||
431 | } data_tag_400; | ||
432 | |||
433 | struct { | ||
434 | u32 Card_IDbyte6 : 8; | ||
435 | u32 Card_IDbyte5 : 8; | ||
436 | u32 Card_IDbyte4 : 8; | ||
437 | u32 Card_IDbyte3 : 8; | ||
438 | } card_id_408; | ||
439 | |||
440 | struct { | ||
441 | u32 Card_IDbyte2 : 8; | ||
442 | u32 Card_IDbyte1 : 8; | ||
443 | } card_id_40c; | ||
444 | |||
445 | /* holding the unique mac address of the receiver which houses the FlexCopIII */ | ||
446 | struct { | ||
447 | u32 MAC1 : 8; | ||
448 | u32 MAC2 : 8; | ||
449 | u32 MAC3 : 8; | ||
450 | u32 MAC6 : 8; | ||
451 | } mac_address_418; | ||
452 | |||
453 | struct { | ||
454 | u32 MAC7 : 8; | ||
455 | u32 MAC8 : 8; | ||
456 | u32 reserved : 16; | ||
457 | } mac_address_41c; | ||
458 | |||
459 | struct { | ||
460 | u32 transmitter_data_byte : 8; | ||
461 | u32 ReceiveDataReady : 1; | ||
462 | u32 ReceiveByteFrameError: 1; | ||
463 | u32 txbuffempty : 1; | ||
464 | u32 reserved :21; | ||
465 | } ci_600; | ||
466 | |||
467 | struct { | ||
468 | u32 pi_d : 8; | ||
469 | u32 pi_ha :20; | ||
470 | u32 pi_rw : 1; | ||
471 | u32 pi_component_reg : 3; | ||
472 | } pi_604; | ||
473 | |||
474 | struct { | ||
475 | u32 serialReset : 1; | ||
476 | u32 oncecycle_read : 1; | ||
477 | u32 Timer_Read_req : 1; | ||
478 | u32 Timer_Load_req : 1; | ||
479 | u32 timer_data : 7; | ||
480 | u32 unused : 1; /* ??? not mentioned in data book */ | ||
481 | u32 Timer_addr : 5; | ||
482 | u32 reserved : 3; | ||
483 | u32 pcmcia_a_mod_pwr_n : 1; | ||
484 | u32 pcmcia_b_mod_pwr_n : 1; | ||
485 | u32 config_Done_stat : 1; | ||
486 | u32 config_Init_stat : 1; | ||
487 | u32 config_Prog_n : 1; | ||
488 | u32 config_wr_n : 1; | ||
489 | u32 config_cs_n : 1; | ||
490 | u32 config_cclk : 1; | ||
491 | u32 pi_CiMax_IRQ_n : 1; | ||
492 | u32 pi_timeout_status : 1; | ||
493 | u32 pi_wait_n : 1; | ||
494 | u32 pi_busy_n : 1; | ||
495 | } pi_608; | ||
496 | 50 | ||
497 | struct { | ||
498 | u32 PID :13; | ||
499 | u32 key_enable : 1; | ||
500 | #define fc_key_code_default 0x1 | 51 | #define fc_key_code_default 0x1 |
501 | #define fc_key_code_even 0x2 | 52 | #define fc_key_code_even 0x2 |
502 | #define fc_key_code_odd 0x3 | 53 | #define fc_key_code_odd 0x3 |
503 | u32 key_code : 2; | ||
504 | u32 key_array_col : 3; | ||
505 | u32 key_array_row : 5; | ||
506 | u32 dvb_en : 1; /* 0=TS bypasses the Descrambler */ | ||
507 | u32 rw_flag : 1; | ||
508 | u32 reserved : 6; | ||
509 | } dvb_reg_60c; | ||
510 | |||
511 | /* SRAM and Output Destination 0x700 to 0x714 */ | ||
512 | struct { | ||
513 | u32 sram_addr :15; | ||
514 | u32 sram_rw : 1; /* 0=write, 1=read */ | ||
515 | u32 sram_data : 8; | ||
516 | u32 sc_xfer_bit : 1; | ||
517 | u32 reserved1 : 3; | ||
518 | u32 oe_pin_reg : 1; | ||
519 | u32 ce_pin_reg : 1; | ||
520 | u32 reserved2 : 1; | ||
521 | u32 start_sram_ibi : 1; | ||
522 | } sram_ctrl_reg_700; | ||
523 | |||
524 | struct { | ||
525 | u32 net_addr_read :16; | ||
526 | u32 net_addr_write :16; | ||
527 | } net_buf_reg_704; | ||
528 | |||
529 | struct { | ||
530 | u32 cai_read :11; | ||
531 | u32 reserved1 : 5; | ||
532 | u32 cai_write :11; | ||
533 | u32 reserved2 : 6; | ||
534 | u32 cai_cnt : 4; | ||
535 | } cai_buf_reg_708; | ||
536 | |||
537 | struct { | ||
538 | u32 cao_read :11; | ||
539 | u32 reserved1 : 5; | ||
540 | u32 cap_write :11; | ||
541 | u32 reserved2 : 6; | ||
542 | u32 cao_cnt : 4; | ||
543 | } cao_buf_reg_70c; | ||
544 | |||
545 | struct { | ||
546 | u32 media_read :11; | ||
547 | u32 reserved1 : 5; | ||
548 | u32 media_write :11; | ||
549 | u32 reserved2 : 6; | ||
550 | u32 media_cnt : 4; | ||
551 | } media_buf_reg_710; | ||
552 | |||
553 | struct { | ||
554 | u32 NET_Dest : 2; | ||
555 | u32 CAI_Dest : 2; | ||
556 | u32 CAO_Dest : 2; | ||
557 | u32 MEDIA_Dest : 2; | ||
558 | u32 net_ovflow_error : 1; | ||
559 | u32 media_ovflow_error : 1; | ||
560 | u32 cai_ovflow_error : 1; | ||
561 | u32 cao_ovflow_error : 1; | ||
562 | u32 ctrl_usb_wan : 1; | ||
563 | u32 ctrl_sramdma : 1; | ||
564 | u32 ctrl_maximumfill : 1; | ||
565 | u32 reserved :17; | ||
566 | } sram_dest_reg_714; | ||
567 | |||
568 | struct { | ||
569 | u32 net_cnt :12; | ||
570 | u32 reserved1 : 4; | ||
571 | u32 net_addr_read : 1; | ||
572 | u32 reserved2 : 3; | ||
573 | u32 net_addr_write : 1; | ||
574 | u32 reserved3 :11; | ||
575 | } net_buf_reg_718; | ||
576 | |||
577 | struct { | ||
578 | u32 wan_speed_sig : 2; | ||
579 | u32 reserved1 : 6; | ||
580 | u32 wan_wait_state : 8; | ||
581 | u32 sram_chip : 2; | ||
582 | u32 sram_memmap : 2; | ||
583 | u32 reserved2 : 4; | ||
584 | u32 wan_pkt_frame : 4; | ||
585 | u32 reserved3 : 4; | ||
586 | } wan_ctrl_reg_71c; | ||
587 | } flexcop_ibi_value; | ||
588 | 54 | ||
589 | extern flexcop_ibi_value ibi_zero; | 55 | extern flexcop_ibi_value ibi_zero; |
590 | 56 | ||
diff --git a/drivers/media/dvb/b2c2/flexcop_ibi_value_be.h b/drivers/media/dvb/b2c2/flexcop_ibi_value_be.h new file mode 100644 index 000000000000..bf3cb5a71fb4 --- /dev/null +++ b/drivers/media/dvb/b2c2/flexcop_ibi_value_be.h | |||
@@ -0,0 +1,451 @@ | |||
1 | /* This file is part of linux driver for digital TV devices equipped with B2C2 FlexcopII(b)/III | ||
2 | * | ||
3 | * register descriptions | ||
4 | * | ||
5 | * see flexcop.c for copyright information. | ||
6 | */ | ||
7 | |||
8 | /* This file is automatically generated, do not edit things here. */ | ||
9 | #ifndef __FLEXCOP_IBI_VALUE_INCLUDED__ | ||
10 | #define __FLEXCOP_IBI_VALUE_INCLUDED__ | ||
11 | |||
12 | typedef union { | ||
13 | u32 raw; | ||
14 | |||
15 | struct { | ||
16 | u32 dma_address0 :30; | ||
17 | u32 dma_0No_update : 1; | ||
18 | u32 dma_0start : 1; | ||
19 | } dma_0x0; | ||
20 | |||
21 | struct { | ||
22 | u32 dma_addr_size :24; | ||
23 | u32 DMA_maxpackets : 8; | ||
24 | } dma_0x4_remap; | ||
25 | |||
26 | struct { | ||
27 | u32 dma_addr_size :24; | ||
28 | u32 unused : 1; | ||
29 | u32 dma1timer : 7; | ||
30 | } dma_0x4_read; | ||
31 | |||
32 | struct { | ||
33 | u32 dma_addr_size :24; | ||
34 | u32 dmatimer : 7; | ||
35 | u32 unused : 1; | ||
36 | } dma_0x4_write; | ||
37 | |||
38 | struct { | ||
39 | u32 dma_cur_addr :30; | ||
40 | u32 unused : 2; | ||
41 | } dma_0x8; | ||
42 | |||
43 | struct { | ||
44 | u32 dma_address1 :30; | ||
45 | u32 remap_enable : 1; | ||
46 | u32 dma_1start : 1; | ||
47 | } dma_0xc; | ||
48 | |||
49 | struct { | ||
50 | u32 st_done : 1; | ||
51 | u32 no_base_addr_ack_error : 1; | ||
52 | u32 twoWS_port_reg : 2; | ||
53 | u32 total_bytes : 2; | ||
54 | u32 twoWS_rw : 1; | ||
55 | u32 working_start : 1; | ||
56 | u32 data1_reg : 8; | ||
57 | u32 baseaddr : 8; | ||
58 | u32 reserved1 : 1; | ||
59 | u32 chipaddr : 7; | ||
60 | } tw_sm_c_100; | ||
61 | |||
62 | struct { | ||
63 | u32 unused : 6; | ||
64 | u32 force_stop : 1; | ||
65 | u32 exlicit_stops : 1; | ||
66 | u32 data4_reg : 8; | ||
67 | u32 data3_reg : 8; | ||
68 | u32 data2_reg : 8; | ||
69 | } tw_sm_c_104; | ||
70 | |||
71 | struct { | ||
72 | u32 reserved2 :19; | ||
73 | u32 tlo1 : 5; | ||
74 | u32 reserved1 : 2; | ||
75 | u32 thi1 : 6; | ||
76 | } tw_sm_c_108; | ||
77 | |||
78 | struct { | ||
79 | u32 reserved2 :19; | ||
80 | u32 tlo1 : 5; | ||
81 | u32 reserved1 : 2; | ||
82 | u32 thi1 : 6; | ||
83 | } tw_sm_c_10c; | ||
84 | |||
85 | struct { | ||
86 | u32 reserved2 :19; | ||
87 | u32 tlo1 : 5; | ||
88 | u32 reserved1 : 2; | ||
89 | u32 thi1 : 6; | ||
90 | } tw_sm_c_110; | ||
91 | |||
92 | struct { | ||
93 | u32 LNB_CTLPrescaler_sig : 2; | ||
94 | u32 LNB_CTLLowCount_sig :15; | ||
95 | u32 LNB_CTLHighCount_sig :15; | ||
96 | } lnb_switch_freq_200; | ||
97 | |||
98 | struct { | ||
99 | u32 Rev_N_sig_reserved2 : 1; | ||
100 | u32 Rev_N_sig_caps : 1; | ||
101 | u32 Rev_N_sig_reserved1 : 2; | ||
102 | u32 Rev_N_sig_revision_hi : 4; | ||
103 | u32 reserved :20; | ||
104 | u32 Per_reset_sig : 1; | ||
105 | u32 LNB_L_H_sig : 1; | ||
106 | u32 ACPI3_sig : 1; | ||
107 | u32 ACPI1_sig : 1; | ||
108 | } misc_204; | ||
109 | |||
110 | struct { | ||
111 | u32 unused : 9; | ||
112 | u32 Mailbox_from_V8_Enable_sig : 1; | ||
113 | u32 DMA2_Size_IRQ_Enable_sig : 1; | ||
114 | u32 DMA1_Size_IRQ_Enable_sig : 1; | ||
115 | u32 DMA2_Timer_Enable_sig : 1; | ||
116 | u32 DMA2_IRQ_Enable_sig : 1; | ||
117 | u32 DMA1_Timer_Enable_sig : 1; | ||
118 | u32 DMA1_IRQ_Enable_sig : 1; | ||
119 | u32 Rcv_Data_sig : 1; | ||
120 | u32 MAC_filter_Mode_sig : 1; | ||
121 | u32 Multi2_Enable_sig : 1; | ||
122 | u32 Per_CA_Enable_sig : 1; | ||
123 | u32 SMC_Enable_sig : 1; | ||
124 | u32 CA_Enable_sig : 1; | ||
125 | u32 WAN_CA_Enable_sig : 1; | ||
126 | u32 WAN_Enable_sig : 1; | ||
127 | u32 Mask_filter_sig : 1; | ||
128 | u32 Null_filter_sig : 1; | ||
129 | u32 ECM_filter_sig : 1; | ||
130 | u32 EMM_filter_sig : 1; | ||
131 | u32 PMT_filter_sig : 1; | ||
132 | u32 PCR_filter_sig : 1; | ||
133 | u32 Stream2_filter_sig : 1; | ||
134 | u32 Stream1_filter_sig : 1; | ||
135 | } ctrl_208; | ||
136 | |||
137 | struct { | ||
138 | u32 reserved :21; | ||
139 | u32 Transport_Error : 1; | ||
140 | u32 LLC_SNAP_FLAG_set : 1; | ||
141 | u32 Continuity_error_flag : 1; | ||
142 | u32 Data_receiver_error : 1; | ||
143 | u32 Mailbox_from_V8_Status_sig : 1; | ||
144 | u32 DMA2_Size_IRQ_Status : 1; | ||
145 | u32 DMA1_Size_IRQ_Status : 1; | ||
146 | u32 DMA2_Timer_Status : 1; | ||
147 | u32 DMA2_IRQ_Status : 1; | ||
148 | u32 DMA1_Timer_Status : 1; | ||
149 | u32 DMA1_IRQ_Status : 1; | ||
150 | } irq_20c; | ||
151 | |||
152 | struct { | ||
153 | u32 Special_controls :16; | ||
154 | u32 Block_reset_enable : 8; | ||
155 | u32 reset_blocks : 8; | ||
156 | } sw_reset_210; | ||
157 | |||
158 | struct { | ||
159 | u32 unused2 :20; | ||
160 | u32 polarity_PS_ERR_sig : 1; | ||
161 | u32 polarity_PS_SYNC_sig : 1; | ||
162 | u32 polarity_PS_VALID_sig : 1; | ||
163 | u32 polarity_PS_CLK_sig : 1; | ||
164 | u32 unused1 : 3; | ||
165 | u32 s2p_sel_sig : 1; | ||
166 | u32 section_pkg_enable_sig : 1; | ||
167 | u32 halt_V8_sig : 1; | ||
168 | u32 v2WS_oe_sig : 1; | ||
169 | u32 vuart_oe_sig : 1; | ||
170 | } misc_214; | ||
171 | |||
172 | struct { | ||
173 | u32 Mailbox_from_V8 :32; | ||
174 | } mbox_v8_to_host_218; | ||
175 | |||
176 | struct { | ||
177 | u32 sysramaccess_busmuster : 1; | ||
178 | u32 sysramaccess_write : 1; | ||
179 | u32 unused : 7; | ||
180 | u32 sysramaccess_addr :15; | ||
181 | u32 sysramaccess_data : 8; | ||
182 | } mbox_host_to_v8_21c; | ||
183 | |||
184 | struct { | ||
185 | u32 debug_fifo_problem : 1; | ||
186 | u32 debug_flag_write_status00 : 1; | ||
187 | u32 Stream2_trans : 1; | ||
188 | u32 Stream2_PID :13; | ||
189 | u32 debug_flag_pid_saved : 1; | ||
190 | u32 MAC_Multicast_filter : 1; | ||
191 | u32 Stream1_trans : 1; | ||
192 | u32 Stream1_PID :13; | ||
193 | } pid_filter_300; | ||
194 | |||
195 | struct { | ||
196 | u32 reserved : 2; | ||
197 | u32 PMT_trans : 1; | ||
198 | u32 PMT_PID :13; | ||
199 | u32 debug_overrun2 : 1; | ||
200 | u32 debug_overrun3 : 1; | ||
201 | u32 PCR_trans : 1; | ||
202 | u32 PCR_PID :13; | ||
203 | } pid_filter_304; | ||
204 | |||
205 | struct { | ||
206 | u32 reserved : 2; | ||
207 | u32 ECM_trans : 1; | ||
208 | u32 ECM_PID :13; | ||
209 | u32 EMM_filter_6 : 1; | ||
210 | u32 EMM_filter_4 : 1; | ||
211 | u32 EMM_trans : 1; | ||
212 | u32 EMM_PID :13; | ||
213 | } pid_filter_308; | ||
214 | |||
215 | struct { | ||
216 | u32 unused2 : 3; | ||
217 | u32 Group_mask :13; | ||
218 | u32 unused1 : 2; | ||
219 | u32 Group_trans : 1; | ||
220 | u32 Group_PID :13; | ||
221 | } pid_filter_30c_ext_ind_0_7; | ||
222 | |||
223 | struct { | ||
224 | u32 unused :15; | ||
225 | u32 net_master_read :17; | ||
226 | } pid_filter_30c_ext_ind_1; | ||
227 | |||
228 | struct { | ||
229 | u32 unused :15; | ||
230 | u32 net_master_write :17; | ||
231 | } pid_filter_30c_ext_ind_2; | ||
232 | |||
233 | struct { | ||
234 | u32 unused :15; | ||
235 | u32 next_net_master_write :17; | ||
236 | } pid_filter_30c_ext_ind_3; | ||
237 | |||
238 | struct { | ||
239 | u32 reserved2 : 5; | ||
240 | u32 stack_read :10; | ||
241 | u32 reserved1 : 6; | ||
242 | u32 state_write :10; | ||
243 | u32 unused1 : 1; | ||
244 | } pid_filter_30c_ext_ind_4; | ||
245 | |||
246 | struct { | ||
247 | u32 unused :22; | ||
248 | u32 stack_cnt :10; | ||
249 | } pid_filter_30c_ext_ind_5; | ||
250 | |||
251 | struct { | ||
252 | u32 unused : 4; | ||
253 | u32 data_size_reg :12; | ||
254 | u32 write_status4 : 2; | ||
255 | u32 write_status1 : 2; | ||
256 | u32 pid_fsm_save_reg300 : 2; | ||
257 | u32 pid_fsm_save_reg4 : 2; | ||
258 | u32 pid_fsm_save_reg3 : 2; | ||
259 | u32 pid_fsm_save_reg2 : 2; | ||
260 | u32 pid_fsm_save_reg1 : 2; | ||
261 | u32 pid_fsm_save_reg0 : 2; | ||
262 | } pid_filter_30c_ext_ind_6; | ||
263 | |||
264 | struct { | ||
265 | u32 unused :22; | ||
266 | u32 pass_alltables : 1; | ||
267 | u32 AB_select : 1; | ||
268 | u32 extra_index_reg : 3; | ||
269 | u32 index_reg : 5; | ||
270 | } index_reg_310; | ||
271 | |||
272 | struct { | ||
273 | u32 reserved :17; | ||
274 | u32 PID_enable_bit : 1; | ||
275 | u32 PID_trans : 1; | ||
276 | u32 PID :13; | ||
277 | } pid_n_reg_314; | ||
278 | |||
279 | struct { | ||
280 | u32 reserved : 6; | ||
281 | u32 HighAB_bit : 1; | ||
282 | u32 Enable_bit : 1; | ||
283 | u32 A6_byte : 8; | ||
284 | u32 A5_byte : 8; | ||
285 | u32 A4_byte : 8; | ||
286 | } mac_low_reg_318; | ||
287 | |||
288 | struct { | ||
289 | u32 reserved : 8; | ||
290 | u32 A3_byte : 8; | ||
291 | u32 A2_byte : 8; | ||
292 | u32 A1_byte : 8; | ||
293 | } mac_high_reg_31c; | ||
294 | |||
295 | struct { | ||
296 | u32 data_Tag_ID :16; | ||
297 | u32 reserved :16; | ||
298 | } data_tag_400; | ||
299 | |||
300 | struct { | ||
301 | u32 Card_IDbyte3 : 8; | ||
302 | u32 Card_IDbyte4 : 8; | ||
303 | u32 Card_IDbyte5 : 8; | ||
304 | u32 Card_IDbyte6 : 8; | ||
305 | } card_id_408; | ||
306 | |||
307 | struct { | ||
308 | u32 Card_IDbyte1 : 8; | ||
309 | u32 Card_IDbyte2 : 8; | ||
310 | } card_id_40c; | ||
311 | |||
312 | struct { | ||
313 | u32 MAC6 : 8; | ||
314 | u32 MAC3 : 8; | ||
315 | u32 MAC2 : 8; | ||
316 | u32 MAC1 : 8; | ||
317 | } mac_address_418; | ||
318 | |||
319 | struct { | ||
320 | u32 reserved :16; | ||
321 | u32 MAC8 : 8; | ||
322 | u32 MAC7 : 8; | ||
323 | } mac_address_41c; | ||
324 | |||
325 | struct { | ||
326 | u32 reserved :21; | ||
327 | u32 txbuffempty : 1; | ||
328 | u32 ReceiveByteFrameError : 1; | ||
329 | u32 ReceiveDataReady : 1; | ||
330 | u32 transmitter_data_byte : 8; | ||
331 | } ci_600; | ||
332 | |||
333 | struct { | ||
334 | u32 pi_component_reg : 3; | ||
335 | u32 pi_rw : 1; | ||
336 | u32 pi_ha :20; | ||
337 | u32 pi_d : 8; | ||
338 | } pi_604; | ||
339 | |||
340 | struct { | ||
341 | u32 pi_busy_n : 1; | ||
342 | u32 pi_wait_n : 1; | ||
343 | u32 pi_timeout_status : 1; | ||
344 | u32 pi_CiMax_IRQ_n : 1; | ||
345 | u32 config_cclk : 1; | ||
346 | u32 config_cs_n : 1; | ||
347 | u32 config_wr_n : 1; | ||
348 | u32 config_Prog_n : 1; | ||
349 | u32 config_Init_stat : 1; | ||
350 | u32 config_Done_stat : 1; | ||
351 | u32 pcmcia_b_mod_pwr_n : 1; | ||
352 | u32 pcmcia_a_mod_pwr_n : 1; | ||
353 | u32 reserved : 3; | ||
354 | u32 Timer_addr : 5; | ||
355 | u32 unused : 1; | ||
356 | u32 timer_data : 7; | ||
357 | u32 Timer_Load_req : 1; | ||
358 | u32 Timer_Read_req : 1; | ||
359 | u32 oncecycle_read : 1; | ||
360 | u32 serialReset : 1; | ||
361 | } pi_608; | ||
362 | |||
363 | struct { | ||
364 | u32 reserved : 6; | ||
365 | u32 rw_flag : 1; | ||
366 | u32 dvb_en : 1; | ||
367 | u32 key_array_row : 5; | ||
368 | u32 key_array_col : 3; | ||
369 | u32 key_code : 2; | ||
370 | u32 key_enable : 1; | ||
371 | u32 PID :13; | ||
372 | } dvb_reg_60c; | ||
373 | |||
374 | struct { | ||
375 | u32 start_sram_ibi : 1; | ||
376 | u32 reserved2 : 1; | ||
377 | u32 ce_pin_reg : 1; | ||
378 | u32 oe_pin_reg : 1; | ||
379 | u32 reserved1 : 3; | ||
380 | u32 sc_xfer_bit : 1; | ||
381 | u32 sram_data : 8; | ||
382 | u32 sram_rw : 1; | ||
383 | u32 sram_addr :15; | ||
384 | } sram_ctrl_reg_700; | ||
385 | |||
386 | struct { | ||
387 | u32 net_addr_write :16; | ||
388 | u32 net_addr_read :16; | ||
389 | } net_buf_reg_704; | ||
390 | |||
391 | struct { | ||
392 | u32 cai_cnt : 4; | ||
393 | u32 reserved2 : 6; | ||
394 | u32 cai_write :11; | ||
395 | u32 reserved1 : 5; | ||
396 | u32 cai_read :11; | ||
397 | } cai_buf_reg_708; | ||
398 | |||
399 | struct { | ||
400 | u32 cao_cnt : 4; | ||
401 | u32 reserved2 : 6; | ||
402 | u32 cap_write :11; | ||
403 | u32 reserved1 : 5; | ||
404 | u32 cao_read :11; | ||
405 | } cao_buf_reg_70c; | ||
406 | |||
407 | struct { | ||
408 | u32 media_cnt : 4; | ||
409 | u32 reserved2 : 6; | ||
410 | u32 media_write :11; | ||
411 | u32 reserved1 : 5; | ||
412 | u32 media_read :11; | ||
413 | } media_buf_reg_710; | ||
414 | |||
415 | struct { | ||
416 | u32 reserved :17; | ||
417 | u32 ctrl_maximumfill : 1; | ||
418 | u32 ctrl_sramdma : 1; | ||
419 | u32 ctrl_usb_wan : 1; | ||
420 | u32 cao_ovflow_error : 1; | ||
421 | u32 cai_ovflow_error : 1; | ||
422 | u32 media_ovflow_error : 1; | ||
423 | u32 net_ovflow_error : 1; | ||
424 | u32 MEDIA_Dest : 2; | ||
425 | u32 CAO_Dest : 2; | ||
426 | u32 CAI_Dest : 2; | ||
427 | u32 NET_Dest : 2; | ||
428 | } sram_dest_reg_714; | ||
429 | |||
430 | struct { | ||
431 | u32 reserved3 :11; | ||
432 | u32 net_addr_write : 1; | ||
433 | u32 reserved2 : 3; | ||
434 | u32 net_addr_read : 1; | ||
435 | u32 reserved1 : 4; | ||
436 | u32 net_cnt :12; | ||
437 | } net_buf_reg_718; | ||
438 | |||
439 | struct { | ||
440 | u32 reserved3 : 4; | ||
441 | u32 wan_pkt_frame : 4; | ||
442 | u32 reserved2 : 4; | ||
443 | u32 sram_memmap : 2; | ||
444 | u32 sram_chip : 2; | ||
445 | u32 wan_wait_state : 8; | ||
446 | u32 reserved1 : 6; | ||
447 | u32 wan_speed_sig : 2; | ||
448 | } wan_ctrl_reg_71c; | ||
449 | } flexcop_ibi_value; | ||
450 | |||
451 | #endif | ||
diff --git a/drivers/media/dvb/b2c2/flexcop_ibi_value_le.h b/drivers/media/dvb/b2c2/flexcop_ibi_value_le.h new file mode 100644 index 000000000000..bd4528d747d7 --- /dev/null +++ b/drivers/media/dvb/b2c2/flexcop_ibi_value_le.h | |||
@@ -0,0 +1,451 @@ | |||
1 | /* This file is part of linux driver for digital TV devices equipped with B2C2 FlexcopII(b)/III | ||
2 | * | ||
3 | * register descriptions | ||
4 | * | ||
5 | * see flexcop.c for copyright information. | ||
6 | */ | ||
7 | |||
8 | /* This file is automatically generated, do not edit things here. */ | ||
9 | #ifndef __FLEXCOP_IBI_VALUE_INCLUDED__ | ||
10 | #define __FLEXCOP_IBI_VALUE_INCLUDED__ | ||
11 | |||
12 | typedef union { | ||
13 | u32 raw; | ||
14 | |||
15 | struct { | ||
16 | u32 dma_0start : 1; | ||
17 | u32 dma_0No_update : 1; | ||
18 | u32 dma_address0 :30; | ||
19 | } dma_0x0; | ||
20 | |||
21 | struct { | ||
22 | u32 DMA_maxpackets : 8; | ||
23 | u32 dma_addr_size :24; | ||
24 | } dma_0x4_remap; | ||
25 | |||
26 | struct { | ||
27 | u32 dma1timer : 7; | ||
28 | u32 unused : 1; | ||
29 | u32 dma_addr_size :24; | ||
30 | } dma_0x4_read; | ||
31 | |||
32 | struct { | ||
33 | u32 unused : 1; | ||
34 | u32 dmatimer : 7; | ||
35 | u32 dma_addr_size :24; | ||
36 | } dma_0x4_write; | ||
37 | |||
38 | struct { | ||
39 | u32 unused : 2; | ||
40 | u32 dma_cur_addr :30; | ||
41 | } dma_0x8; | ||
42 | |||
43 | struct { | ||
44 | u32 dma_1start : 1; | ||
45 | u32 remap_enable : 1; | ||
46 | u32 dma_address1 :30; | ||
47 | } dma_0xc; | ||
48 | |||
49 | struct { | ||
50 | u32 chipaddr : 7; | ||
51 | u32 reserved1 : 1; | ||
52 | u32 baseaddr : 8; | ||
53 | u32 data1_reg : 8; | ||
54 | u32 working_start : 1; | ||
55 | u32 twoWS_rw : 1; | ||
56 | u32 total_bytes : 2; | ||
57 | u32 twoWS_port_reg : 2; | ||
58 | u32 no_base_addr_ack_error : 1; | ||
59 | u32 st_done : 1; | ||
60 | } tw_sm_c_100; | ||
61 | |||
62 | struct { | ||
63 | u32 data2_reg : 8; | ||
64 | u32 data3_reg : 8; | ||
65 | u32 data4_reg : 8; | ||
66 | u32 exlicit_stops : 1; | ||
67 | u32 force_stop : 1; | ||
68 | u32 unused : 6; | ||
69 | } tw_sm_c_104; | ||
70 | |||
71 | struct { | ||
72 | u32 thi1 : 6; | ||
73 | u32 reserved1 : 2; | ||
74 | u32 tlo1 : 5; | ||
75 | u32 reserved2 :19; | ||
76 | } tw_sm_c_108; | ||
77 | |||
78 | struct { | ||
79 | u32 thi1 : 6; | ||
80 | u32 reserved1 : 2; | ||
81 | u32 tlo1 : 5; | ||
82 | u32 reserved2 :19; | ||
83 | } tw_sm_c_10c; | ||
84 | |||
85 | struct { | ||
86 | u32 thi1 : 6; | ||
87 | u32 reserved1 : 2; | ||
88 | u32 tlo1 : 5; | ||
89 | u32 reserved2 :19; | ||
90 | } tw_sm_c_110; | ||
91 | |||
92 | struct { | ||
93 | u32 LNB_CTLHighCount_sig :15; | ||
94 | u32 LNB_CTLLowCount_sig :15; | ||
95 | u32 LNB_CTLPrescaler_sig : 2; | ||
96 | } lnb_switch_freq_200; | ||
97 | |||
98 | struct { | ||
99 | u32 ACPI1_sig : 1; | ||
100 | u32 ACPI3_sig : 1; | ||
101 | u32 LNB_L_H_sig : 1; | ||
102 | u32 Per_reset_sig : 1; | ||
103 | u32 reserved :20; | ||
104 | u32 Rev_N_sig_revision_hi : 4; | ||
105 | u32 Rev_N_sig_reserved1 : 2; | ||
106 | u32 Rev_N_sig_caps : 1; | ||
107 | u32 Rev_N_sig_reserved2 : 1; | ||
108 | } misc_204; | ||
109 | |||
110 | struct { | ||
111 | u32 Stream1_filter_sig : 1; | ||
112 | u32 Stream2_filter_sig : 1; | ||
113 | u32 PCR_filter_sig : 1; | ||
114 | u32 PMT_filter_sig : 1; | ||
115 | u32 EMM_filter_sig : 1; | ||
116 | u32 ECM_filter_sig : 1; | ||
117 | u32 Null_filter_sig : 1; | ||
118 | u32 Mask_filter_sig : 1; | ||
119 | u32 WAN_Enable_sig : 1; | ||
120 | u32 WAN_CA_Enable_sig : 1; | ||
121 | u32 CA_Enable_sig : 1; | ||
122 | u32 SMC_Enable_sig : 1; | ||
123 | u32 Per_CA_Enable_sig : 1; | ||
124 | u32 Multi2_Enable_sig : 1; | ||
125 | u32 MAC_filter_Mode_sig : 1; | ||
126 | u32 Rcv_Data_sig : 1; | ||
127 | u32 DMA1_IRQ_Enable_sig : 1; | ||
128 | u32 DMA1_Timer_Enable_sig : 1; | ||
129 | u32 DMA2_IRQ_Enable_sig : 1; | ||
130 | u32 DMA2_Timer_Enable_sig : 1; | ||
131 | u32 DMA1_Size_IRQ_Enable_sig : 1; | ||
132 | u32 DMA2_Size_IRQ_Enable_sig : 1; | ||
133 | u32 Mailbox_from_V8_Enable_sig : 1; | ||
134 | u32 unused : 9; | ||
135 | } ctrl_208; | ||
136 | |||
137 | struct { | ||
138 | u32 DMA1_IRQ_Status : 1; | ||
139 | u32 DMA1_Timer_Status : 1; | ||
140 | u32 DMA2_IRQ_Status : 1; | ||
141 | u32 DMA2_Timer_Status : 1; | ||
142 | u32 DMA1_Size_IRQ_Status : 1; | ||
143 | u32 DMA2_Size_IRQ_Status : 1; | ||
144 | u32 Mailbox_from_V8_Status_sig : 1; | ||
145 | u32 Data_receiver_error : 1; | ||
146 | u32 Continuity_error_flag : 1; | ||
147 | u32 LLC_SNAP_FLAG_set : 1; | ||
148 | u32 Transport_Error : 1; | ||
149 | u32 reserved :21; | ||
150 | } irq_20c; | ||
151 | |||
152 | struct { | ||
153 | u32 reset_blocks : 8; | ||
154 | u32 Block_reset_enable : 8; | ||
155 | u32 Special_controls :16; | ||
156 | } sw_reset_210; | ||
157 | |||
158 | struct { | ||
159 | u32 vuart_oe_sig : 1; | ||
160 | u32 v2WS_oe_sig : 1; | ||
161 | u32 halt_V8_sig : 1; | ||
162 | u32 section_pkg_enable_sig : 1; | ||
163 | u32 s2p_sel_sig : 1; | ||
164 | u32 unused1 : 3; | ||
165 | u32 polarity_PS_CLK_sig : 1; | ||
166 | u32 polarity_PS_VALID_sig : 1; | ||
167 | u32 polarity_PS_SYNC_sig : 1; | ||
168 | u32 polarity_PS_ERR_sig : 1; | ||
169 | u32 unused2 :20; | ||
170 | } misc_214; | ||
171 | |||
172 | struct { | ||
173 | u32 Mailbox_from_V8 :32; | ||
174 | } mbox_v8_to_host_218; | ||
175 | |||
176 | struct { | ||
177 | u32 sysramaccess_data : 8; | ||
178 | u32 sysramaccess_addr :15; | ||
179 | u32 unused : 7; | ||
180 | u32 sysramaccess_write : 1; | ||
181 | u32 sysramaccess_busmuster : 1; | ||
182 | } mbox_host_to_v8_21c; | ||
183 | |||
184 | struct { | ||
185 | u32 Stream1_PID :13; | ||
186 | u32 Stream1_trans : 1; | ||
187 | u32 MAC_Multicast_filter : 1; | ||
188 | u32 debug_flag_pid_saved : 1; | ||
189 | u32 Stream2_PID :13; | ||
190 | u32 Stream2_trans : 1; | ||
191 | u32 debug_flag_write_status00 : 1; | ||
192 | u32 debug_fifo_problem : 1; | ||
193 | } pid_filter_300; | ||
194 | |||
195 | struct { | ||
196 | u32 PCR_PID :13; | ||
197 | u32 PCR_trans : 1; | ||
198 | u32 debug_overrun3 : 1; | ||
199 | u32 debug_overrun2 : 1; | ||
200 | u32 PMT_PID :13; | ||
201 | u32 PMT_trans : 1; | ||
202 | u32 reserved : 2; | ||
203 | } pid_filter_304; | ||
204 | |||
205 | struct { | ||
206 | u32 EMM_PID :13; | ||
207 | u32 EMM_trans : 1; | ||
208 | u32 EMM_filter_4 : 1; | ||
209 | u32 EMM_filter_6 : 1; | ||
210 | u32 ECM_PID :13; | ||
211 | u32 ECM_trans : 1; | ||
212 | u32 reserved : 2; | ||
213 | } pid_filter_308; | ||
214 | |||
215 | struct { | ||
216 | u32 Group_PID :13; | ||
217 | u32 Group_trans : 1; | ||
218 | u32 unused1 : 2; | ||
219 | u32 Group_mask :13; | ||
220 | u32 unused2 : 3; | ||
221 | } pid_filter_30c_ext_ind_0_7; | ||
222 | |||
223 | struct { | ||
224 | u32 net_master_read :17; | ||
225 | u32 unused :15; | ||
226 | } pid_filter_30c_ext_ind_1; | ||
227 | |||
228 | struct { | ||
229 | u32 net_master_write :17; | ||
230 | u32 unused :15; | ||
231 | } pid_filter_30c_ext_ind_2; | ||
232 | |||
233 | struct { | ||
234 | u32 next_net_master_write :17; | ||
235 | u32 unused :15; | ||
236 | } pid_filter_30c_ext_ind_3; | ||
237 | |||
238 | struct { | ||
239 | u32 unused1 : 1; | ||
240 | u32 state_write :10; | ||
241 | u32 reserved1 : 6; | ||
242 | u32 stack_read :10; | ||
243 | u32 reserved2 : 5; | ||
244 | } pid_filter_30c_ext_ind_4; | ||
245 | |||
246 | struct { | ||
247 | u32 stack_cnt :10; | ||
248 | u32 unused :22; | ||
249 | } pid_filter_30c_ext_ind_5; | ||
250 | |||
251 | struct { | ||
252 | u32 pid_fsm_save_reg0 : 2; | ||
253 | u32 pid_fsm_save_reg1 : 2; | ||
254 | u32 pid_fsm_save_reg2 : 2; | ||
255 | u32 pid_fsm_save_reg3 : 2; | ||
256 | u32 pid_fsm_save_reg4 : 2; | ||
257 | u32 pid_fsm_save_reg300 : 2; | ||
258 | u32 write_status1 : 2; | ||
259 | u32 write_status4 : 2; | ||
260 | u32 data_size_reg :12; | ||
261 | u32 unused : 4; | ||
262 | } pid_filter_30c_ext_ind_6; | ||
263 | |||
264 | struct { | ||
265 | u32 index_reg : 5; | ||
266 | u32 extra_index_reg : 3; | ||
267 | u32 AB_select : 1; | ||
268 | u32 pass_alltables : 1; | ||
269 | u32 unused :22; | ||
270 | } index_reg_310; | ||
271 | |||
272 | struct { | ||
273 | u32 PID :13; | ||
274 | u32 PID_trans : 1; | ||
275 | u32 PID_enable_bit : 1; | ||
276 | u32 reserved :17; | ||
277 | } pid_n_reg_314; | ||
278 | |||
279 | struct { | ||
280 | u32 A4_byte : 8; | ||
281 | u32 A5_byte : 8; | ||
282 | u32 A6_byte : 8; | ||
283 | u32 Enable_bit : 1; | ||
284 | u32 HighAB_bit : 1; | ||
285 | u32 reserved : 6; | ||
286 | } mac_low_reg_318; | ||
287 | |||
288 | struct { | ||
289 | u32 A1_byte : 8; | ||
290 | u32 A2_byte : 8; | ||
291 | u32 A3_byte : 8; | ||
292 | u32 reserved : 8; | ||
293 | } mac_high_reg_31c; | ||
294 | |||
295 | struct { | ||
296 | u32 reserved :16; | ||
297 | u32 data_Tag_ID :16; | ||
298 | } data_tag_400; | ||
299 | |||
300 | struct { | ||
301 | u32 Card_IDbyte6 : 8; | ||
302 | u32 Card_IDbyte5 : 8; | ||
303 | u32 Card_IDbyte4 : 8; | ||
304 | u32 Card_IDbyte3 : 8; | ||
305 | } card_id_408; | ||
306 | |||
307 | struct { | ||
308 | u32 Card_IDbyte2 : 8; | ||
309 | u32 Card_IDbyte1 : 8; | ||
310 | } card_id_40c; | ||
311 | |||
312 | struct { | ||
313 | u32 MAC1 : 8; | ||
314 | u32 MAC2 : 8; | ||
315 | u32 MAC3 : 8; | ||
316 | u32 MAC6 : 8; | ||
317 | } mac_address_418; | ||
318 | |||
319 | struct { | ||
320 | u32 MAC7 : 8; | ||
321 | u32 MAC8 : 8; | ||
322 | u32 reserved :16; | ||
323 | } mac_address_41c; | ||
324 | |||
325 | struct { | ||
326 | u32 transmitter_data_byte : 8; | ||
327 | u32 ReceiveDataReady : 1; | ||
328 | u32 ReceiveByteFrameError : 1; | ||
329 | u32 txbuffempty : 1; | ||
330 | u32 reserved :21; | ||
331 | } ci_600; | ||
332 | |||
333 | struct { | ||
334 | u32 pi_d : 8; | ||
335 | u32 pi_ha :20; | ||
336 | u32 pi_rw : 1; | ||
337 | u32 pi_component_reg : 3; | ||
338 | } pi_604; | ||
339 | |||
340 | struct { | ||
341 | u32 serialReset : 1; | ||
342 | u32 oncecycle_read : 1; | ||
343 | u32 Timer_Read_req : 1; | ||
344 | u32 Timer_Load_req : 1; | ||
345 | u32 timer_data : 7; | ||
346 | u32 unused : 1; | ||
347 | u32 Timer_addr : 5; | ||
348 | u32 reserved : 3; | ||
349 | u32 pcmcia_a_mod_pwr_n : 1; | ||
350 | u32 pcmcia_b_mod_pwr_n : 1; | ||
351 | u32 config_Done_stat : 1; | ||
352 | u32 config_Init_stat : 1; | ||
353 | u32 config_Prog_n : 1; | ||
354 | u32 config_wr_n : 1; | ||
355 | u32 config_cs_n : 1; | ||
356 | u32 config_cclk : 1; | ||
357 | u32 pi_CiMax_IRQ_n : 1; | ||
358 | u32 pi_timeout_status : 1; | ||
359 | u32 pi_wait_n : 1; | ||
360 | u32 pi_busy_n : 1; | ||
361 | } pi_608; | ||
362 | |||
363 | struct { | ||
364 | u32 PID :13; | ||
365 | u32 key_enable : 1; | ||
366 | u32 key_code : 2; | ||
367 | u32 key_array_col : 3; | ||
368 | u32 key_array_row : 5; | ||
369 | u32 dvb_en : 1; | ||
370 | u32 rw_flag : 1; | ||
371 | u32 reserved : 6; | ||
372 | } dvb_reg_60c; | ||
373 | |||
374 | struct { | ||
375 | u32 sram_addr :15; | ||
376 | u32 sram_rw : 1; | ||
377 | u32 sram_data : 8; | ||
378 | u32 sc_xfer_bit : 1; | ||
379 | u32 reserved1 : 3; | ||
380 | u32 oe_pin_reg : 1; | ||
381 | u32 ce_pin_reg : 1; | ||
382 | u32 reserved2 : 1; | ||
383 | u32 start_sram_ibi : 1; | ||
384 | } sram_ctrl_reg_700; | ||
385 | |||
386 | struct { | ||
387 | u32 net_addr_read :16; | ||
388 | u32 net_addr_write :16; | ||
389 | } net_buf_reg_704; | ||
390 | |||
391 | struct { | ||
392 | u32 cai_read :11; | ||
393 | u32 reserved1 : 5; | ||
394 | u32 cai_write :11; | ||
395 | u32 reserved2 : 6; | ||
396 | u32 cai_cnt : 4; | ||
397 | } cai_buf_reg_708; | ||
398 | |||
399 | struct { | ||
400 | u32 cao_read :11; | ||
401 | u32 reserved1 : 5; | ||
402 | u32 cap_write :11; | ||
403 | u32 reserved2 : 6; | ||
404 | u32 cao_cnt : 4; | ||
405 | } cao_buf_reg_70c; | ||
406 | |||
407 | struct { | ||
408 | u32 media_read :11; | ||
409 | u32 reserved1 : 5; | ||
410 | u32 media_write :11; | ||
411 | u32 reserved2 : 6; | ||
412 | u32 media_cnt : 4; | ||
413 | } media_buf_reg_710; | ||
414 | |||
415 | struct { | ||
416 | u32 NET_Dest : 2; | ||
417 | u32 CAI_Dest : 2; | ||
418 | u32 CAO_Dest : 2; | ||
419 | u32 MEDIA_Dest : 2; | ||
420 | u32 net_ovflow_error : 1; | ||
421 | u32 media_ovflow_error : 1; | ||
422 | u32 cai_ovflow_error : 1; | ||
423 | u32 cao_ovflow_error : 1; | ||
424 | u32 ctrl_usb_wan : 1; | ||
425 | u32 ctrl_sramdma : 1; | ||
426 | u32 ctrl_maximumfill : 1; | ||
427 | u32 reserved :17; | ||
428 | } sram_dest_reg_714; | ||
429 | |||
430 | struct { | ||
431 | u32 net_cnt :12; | ||
432 | u32 reserved1 : 4; | ||
433 | u32 net_addr_read : 1; | ||
434 | u32 reserved2 : 3; | ||
435 | u32 net_addr_write : 1; | ||
436 | u32 reserved3 :11; | ||
437 | } net_buf_reg_718; | ||
438 | |||
439 | struct { | ||
440 | u32 wan_speed_sig : 2; | ||
441 | u32 reserved1 : 6; | ||
442 | u32 wan_wait_state : 8; | ||
443 | u32 sram_chip : 2; | ||
444 | u32 sram_memmap : 2; | ||
445 | u32 reserved2 : 4; | ||
446 | u32 wan_pkt_frame : 4; | ||
447 | u32 reserved3 : 4; | ||
448 | } wan_ctrl_reg_71c; | ||
449 | } flexcop_ibi_value; | ||
450 | |||
451 | #endif | ||