~ubuntu-branches/ubuntu/trusty/linux-armadaxp/trusty

« back to all changes in this revision

Viewing changes to Documentation/DocBook/dvb/ca.xml

  • Committer: Package Import Robot
  • Author(s): Michael Casadevall, Bryan Wu, Dann Frazier, Michael Casadeall
  • Date: 2012-03-10 15:00:54 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20120310150054-flugb39zon8vvgwe
Tags: 3.2.0-1600.1
[ Bryan Wu ]
* UBUNTU: import debian/debian.env and debian.armadaxp

[ Dann Frazier ]
* ARM: Armada XP: remove trailing '/' in dirnames in mvRules.mk

[ Michael Casadeall ]
* tools: add some tools for Marvell Armada XP processor
* kernel: timer tick hacking from Marvell
* kernel: Sheeva Errata: add delay on Sheeva when powering down
* net: add Marvell NFP netfilter
* net: socket and skb modifications made by Marvell
* miscdevice: add minor IDs for some Marvell Armada drivers
* fs: introduce memory pool for splice()
* video: EDID detection updates from Marvell Armada XP patchset
* video: backlight: add Marvell Dove LCD backlight driver
* video: display: add THS8200 display driver
* video: framebuffer: add Marvell Dove and Armada XP processor onchip LCD controller driver
* usbtest: add Interrupt transfer testing by Marvell Armada XP code
* usb: ehci: add support for Marvell EHCI controler
* tty/serial: 8250: add support for Marvell Armada XP processor and DeviceTree work
* rtc: add support for Marvell Armada XP onchip RTC controller
* net: pppoe: add Marvell ethernet NFP hook in PPPoE networking driver
* mtd: nand: add support for Marvell Armada XP Nand Flash Controller
* mtd: maps: add Marvell Armada XP specific map driver
* mmc: add support for Marvell Armada XP MMC/SD host controller
* i2c: add support for Marvell Armada XP onchip i2c bus controller
* hwmon: add Kconfig option for Armada XP onchip thermal sensor driver
* dmaengine: add Net DMA support for splice and update Marvell XOR DMA engine driver
* ata: add support for Marvell Armada XP SATA controller and update some quirks
* ARM: add Marvell Armada XP machine to mach-types
* ARM: oprofile: add support for Marvell PJ4B core
* ARM: mm: more ARMv6 switches for Marvell Armada XP
* ARM: remove static declaration to allow compilation
* ARM: alignment access fault trick
* ARM: mm: skip some fault fixing when run on NONE SMP ARMv6 mode during early abort event
* ARM: mm: add Marvell Sheeva CPU Architecture for PJ4B
* ARM: introduce optimized copy operation for Marvell Armada XP
* ARM: SAUCE: hardware breakpoint trick for Marvell Armada XP
* ARM: big endian and little endian tricks for Marvell Armada XP
* ARM: SAUCE: Add Marvell Armada XP build rules to arch/arm/kernel/Makefile
* ARM: vfp: add special handling for Marvell Armada XP
* ARM: add support for Marvell U-Boot
* ARM: add mv_controller_num for ARM PCI drivers
* ARM: add support for local PMUs, general SMP tweaks and cache flushing
* ARM: add Marvell device identifies in glue-proc.h
* ARM: add IPC driver support for Marvell platforms
* ARM: add DMA mapping for Marvell platforms
* ARM: add Sheeva errata and PJ4B code for booting
* ARM: update Kconfig and Makefile to include Marvell Armada XP platforms
* ARM: Armada XP: import LSP from Marvell for Armada XP 3.2 kernel enablement

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<title>DVB CA Device</title>
2
 
<para>The DVB CA device controls the conditional access hardware. It can be accessed through
3
 
<emphasis role="tt">/dev/dvb/adapter0/ca0</emphasis>. Data types and and ioctl definitions can be accessed by
4
 
including <emphasis role="tt">linux/dvb/ca.h</emphasis> in your application.
5
 
</para>
6
 
 
7
 
<section id="ca_data_types">
8
 
<title>CA Data Types</title>
9
 
 
10
 
 
11
 
<section id="ca_slot_info_t">
12
 
<title>ca_slot_info_t</title>
13
 
 <programlisting>
14
 
 /&#x22C6; slot interface types and info &#x22C6;/
15
 
 
16
 
 typedef struct ca_slot_info_s {
17
 
         int num;               /&#x22C6; slot number &#x22C6;/
18
 
 
19
 
         int type;           /&#x22C6; CA interface this slot supports &#x22C6;/
20
 
 #define CA_CI            1  /&#x22C6; CI high level interface &#x22C6;/
21
 
 #define CA_CI_LINK       2  /&#x22C6; CI link layer level interface &#x22C6;/
22
 
 #define CA_CI_PHYS       4  /&#x22C6; CI physical layer level interface &#x22C6;/
23
 
 #define CA_SC          128  /&#x22C6; simple smart card interface &#x22C6;/
24
 
 
25
 
         unsigned int flags;
26
 
 #define CA_CI_MODULE_PRESENT 1 /&#x22C6; module (or card) inserted &#x22C6;/
27
 
 #define CA_CI_MODULE_READY   2
28
 
 } ca_slot_info_t;
29
 
</programlisting>
30
 
 
31
 
</section>
32
 
<section id="ca_descr_info_t">
33
 
<title>ca_descr_info_t</title>
34
 
 <programlisting>
35
 
 typedef struct ca_descr_info_s {
36
 
         unsigned int num;  /&#x22C6; number of available descramblers (keys) &#x22C6;/
37
 
         unsigned int type; /&#x22C6; type of supported scrambling system &#x22C6;/
38
 
 #define CA_ECD           1
39
 
 #define CA_NDS           2
40
 
 #define CA_DSS           4
41
 
 } ca_descr_info_t;
42
 
</programlisting>
43
 
 
44
 
</section>
45
 
<section id="ca_cap_t">
46
 
<title>ca_cap_t</title>
47
 
 <programlisting>
48
 
 typedef struct ca_cap_s {
49
 
         unsigned int slot_num;  /&#x22C6; total number of CA card and module slots &#x22C6;/
50
 
         unsigned int slot_type; /&#x22C6; OR of all supported types &#x22C6;/
51
 
         unsigned int descr_num; /&#x22C6; total number of descrambler slots (keys) &#x22C6;/
52
 
         unsigned int descr_type;/&#x22C6; OR of all supported types &#x22C6;/
53
 
 } ca_cap_t;
54
 
</programlisting>
55
 
 
56
 
</section>
57
 
<section id="ca_msg_t">
58
 
<title>ca_msg_t</title>
59
 
 <programlisting>
60
 
 /&#x22C6; a message to/from a CI-CAM &#x22C6;/
61
 
 typedef struct ca_msg_s {
62
 
         unsigned int index;
63
 
         unsigned int type;
64
 
         unsigned int length;
65
 
         unsigned char msg[256];
66
 
 } ca_msg_t;
67
 
</programlisting>
68
 
 
69
 
</section>
70
 
<section id="ca_descr_t">
71
 
<title>ca_descr_t</title>
72
 
 <programlisting>
73
 
 typedef struct ca_descr_s {
74
 
         unsigned int index;
75
 
         unsigned int parity;
76
 
         unsigned char cw[8];
77
 
 } ca_descr_t;
78
 
</programlisting>
79
 
 </section></section>
80
 
<section id="ca_function_calls">
81
 
<title>CA Function Calls</title>
82
 
 
83
 
 
84
 
<section id="ca_fopen">
85
 
<title>open()</title>
86
 
<para>DESCRIPTION
87
 
</para>
88
 
<informaltable><tgroup cols="1"><tbody><row><entry
89
 
 align="char">
90
 
<para>This system call opens a named ca device (e.g. /dev/ost/ca) for subsequent use.</para>
91
 
<para>When an open() call has succeeded, the device will be ready for use.
92
 
 The significance of blocking or non-blocking mode is described in the
93
 
 documentation for functions where there is a difference. It does not affect the
94
 
 semantics of the open() call itself. A device opened in blocking mode can later
95
 
 be put into non-blocking mode (and vice versa) using the F_SETFL command
96
 
 of the fcntl system call. This is a standard system call, documented in the Linux
97
 
 manual page for fcntl. Only one user can open the CA Device in O_RDWR
98
 
 mode. All other attempts to open the device in this mode will fail, and an error
99
 
 code will be returned.</para>
100
 
</entry>
101
 
 </row></tbody></tgroup></informaltable>
102
 
<para>SYNOPSIS
103
 
</para>
104
 
<informaltable><tgroup cols="1"><tbody><row><entry
105
 
 align="char">
106
 
<para>int open(const char &#x22C6;deviceName, int flags);</para>
107
 
</entry>
108
 
 </row></tbody></tgroup></informaltable>
109
 
<para>PARAMETERS
110
 
</para>
111
 
<informaltable><tgroup cols="2"><tbody><row><entry
112
 
 align="char">
113
 
<para>const char
114
 
 *deviceName</para>
115
 
</entry><entry
116
 
 align="char">
117
 
<para>Name of specific video device.</para>
118
 
</entry>
119
 
 </row><row><entry
120
 
 align="char">
121
 
<para>int flags</para>
122
 
</entry><entry
123
 
 align="char">
124
 
<para>A bit-wise OR of the following flags:</para>
125
 
</entry>
126
 
 </row><row><entry
127
 
 align="char">
128
 
</entry><entry
129
 
 align="char">
130
 
<para>O_RDONLY read-only access</para>
131
 
</entry>
132
 
 </row><row><entry
133
 
 align="char">
134
 
</entry><entry
135
 
 align="char">
136
 
<para>O_RDWR read/write access</para>
137
 
</entry>
138
 
 </row><row><entry
139
 
 align="char">
140
 
</entry><entry
141
 
 align="char">
142
 
<para>O_NONBLOCK open in non-blocking mode</para>
143
 
</entry>
144
 
 </row><row><entry
145
 
 align="char">
146
 
</entry><entry
147
 
 align="char">
148
 
<para>(blocking mode is the default)</para>
149
 
</entry>
150
 
 </row></tbody></tgroup></informaltable>
151
 
<para>ERRORS
152
 
</para>
153
 
<informaltable><tgroup cols="2"><tbody><row><entry
154
 
 align="char">
155
 
<para>ENODEV</para>
156
 
</entry><entry
157
 
 align="char">
158
 
<para>Device driver not loaded/available.</para>
159
 
</entry>
160
 
 </row><row><entry
161
 
 align="char">
162
 
<para>EINTERNAL</para>
163
 
</entry><entry
164
 
 align="char">
165
 
<para>Internal error.</para>
166
 
</entry>
167
 
 </row><row><entry
168
 
 align="char">
169
 
<para>EBUSY</para>
170
 
</entry><entry
171
 
 align="char">
172
 
<para>Device or resource busy.</para>
173
 
</entry>
174
 
 </row><row><entry
175
 
 align="char">
176
 
<para>EINVAL</para>
177
 
</entry><entry
178
 
 align="char">
179
 
<para>Invalid argument.</para>
180
 
</entry>
181
 
 </row></tbody></tgroup></informaltable>
182
 
 
183
 
</section>
184
 
<section id="ca_fclose">
185
 
<title>close()</title>
186
 
<para>DESCRIPTION
187
 
</para>
188
 
<informaltable><tgroup cols="1"><tbody><row><entry
189
 
 align="char">
190
 
<para>This system call closes a previously opened audio device.</para>
191
 
</entry>
192
 
 </row></tbody></tgroup></informaltable>
193
 
<para>SYNOPSIS
194
 
</para>
195
 
<informaltable><tgroup cols="1"><tbody><row><entry
196
 
 align="char">
197
 
<para>int close(int fd);</para>
198
 
</entry>
199
 
 </row></tbody></tgroup></informaltable>
200
 
<para>PARAMETERS
201
 
</para>
202
 
<informaltable><tgroup cols="2"><tbody><row><entry
203
 
 align="char">
204
 
<para>int fd</para>
205
 
</entry><entry
206
 
 align="char">
207
 
<para>File descriptor returned by a previous call to open().</para>
208
 
</entry>
209
 
 </row></tbody></tgroup></informaltable>
210
 
<para>ERRORS
211
 
</para>
212
 
<informaltable><tgroup cols="2"><tbody><row><entry
213
 
 align="char">
214
 
<para>EBADF</para>
215
 
</entry><entry
216
 
 align="char">
217
 
<para>fd is not a valid open file descriptor.</para>
218
 
</entry>
219
 
 </row></tbody></tgroup></informaltable>
220
 
 </section>
221
 
</section>