Merge tag 'iommu-updates-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / Documentation / media / uapi / v4l / pixfmt-srggb10-ipu3.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _v4l2-pix-fmt-ipu3-sbggr10:
4 .. _v4l2-pix-fmt-ipu3-sgbrg10:
5 .. _v4l2-pix-fmt-ipu3-sgrbg10:
6 .. _v4l2-pix-fmt-ipu3-srggb10:
7
8 **********************************************************************************************************************************************
9 V4L2_PIX_FMT_IPU3_SBGGR10 ('ip3b'), V4L2_PIX_FMT_IPU3_SGBRG10 ('ip3g'), V4L2_PIX_FMT_IPU3_SGRBG10 ('ip3G'), V4L2_PIX_FMT_IPU3_SRGGB10 ('ip3r')
10 **********************************************************************************************************************************************
11
12 10-bit Bayer formats
13
14 Description
15 ===========
16
17 These four pixel formats are used by Intel IPU3 driver, they are raw
18 sRGB / Bayer formats with 10 bits per sample with every 25 pixels packed
19 to 32 bytes leaving 6 most significant bits padding in the last byte.
20 The format is little endian.
21
22 In other respects this format is similar to :ref:`V4L2-PIX-FMT-SRGGB10`.
23 Below is an example of a small image in V4L2_PIX_FMT_IPU3_SBGGR10 format.
24
25 **Byte Order.**
26 Each cell is one byte.
27
28 .. tabularcolumns:: |p{0.8cm}|p{4.0cm}|p{4.0cm}|p{4.0cm}|p{4.0cm}|
29
30 .. flat-table::
31
32     * - start + 0:
33       - B\ :sub:`0000low`
34       - G\ :sub:`0001low`\ (bits 7--2)
35
36         B\ :sub:`0000high`\ (bits 1--0)
37       - B\ :sub:`0002low`\ (bits 7--4)
38
39         G\ :sub:`0001high`\ (bits 3--0)
40       - G\ :sub:`0003low`\ (bits 7--6)
41
42         B\ :sub:`0002high`\ (bits 5--0)
43     * - start + 4:
44       - G\ :sub:`0003high`
45       - B\ :sub:`0004low`
46       - G\ :sub:`0005low`\ (bits 7--2)
47
48         B\ :sub:`0004high`\ (bits 1--0)
49       - B\ :sub:`0006low`\ (bits 7--4)
50
51         G\ :sub:`0005high`\ (bits 3--0)
52     * - start + 8:
53       - G\ :sub:`0007low`\ (bits 7--6)
54
55         B\ :sub:`0006high`\ (bits 5--0)
56       - G\ :sub:`0007high`
57       - B\ :sub:`0008low`
58       - G\ :sub:`0009low`\ (bits 7--2)
59
60         B\ :sub:`0008high`\ (bits 1--0)
61     * - start + 12:
62       - B\ :sub:`0010low`\ (bits 7--4)
63
64         G\ :sub:`0009high`\ (bits 3--0)
65       - G\ :sub:`0011low`\ (bits 7--6)
66
67         B\ :sub:`0010high`\ (bits 5--0)
68       - G\ :sub:`0011high`
69       - B\ :sub:`0012low`
70     * - start + 16:
71       - G\ :sub:`0013low`\ (bits 7--2)
72
73         B\ :sub:`0012high`\ (bits 1--0)
74       - B\ :sub:`0014low`\ (bits 7--4)
75
76         G\ :sub:`0013high`\ (bits 3--0)
77       - G\ :sub:`0015low`\ (bits 7--6)
78
79         B\ :sub:`0014high`\ (bits 5--0)
80       - G\ :sub:`0015high`
81     * - start + 20
82       - B\ :sub:`0016low`
83       - G\ :sub:`0017low`\ (bits 7--2)
84
85         B\ :sub:`0016high`\ (bits 1--0)
86       - B\ :sub:`0018low`\ (bits 7--4)
87
88         G\ :sub:`0017high`\ (bits 3--0)
89       - G\ :sub:`0019low`\ (bits 7--6)
90
91         B\ :sub:`0018high`\ (bits 5--0)
92     * - start + 24:
93       - G\ :sub:`0019high`
94       - B\ :sub:`0020low`
95       - G\ :sub:`0021low`\ (bits 7--2)
96
97         B\ :sub:`0020high`\ (bits 1--0)
98       - B\ :sub:`0022low`\ (bits 7--4)
99
100         G\ :sub:`0021high`\ (bits 3--0)
101     * - start + 28:
102       - G\ :sub:`0023low`\ (bits 7--6)
103
104         B\ :sub:`0022high`\ (bits 5--0)
105       - G\ :sub:`0023high`
106       - B\ :sub:`0024low`
107       - B\ :sub:`0024high`\ (bits 1--0)
108     * - start + 32:
109       - G\ :sub:`0100low`
110       - R\ :sub:`0101low`\ (bits 7--2)
111
112         G\ :sub:`0100high`\ (bits 1--0)
113       - G\ :sub:`0102low`\ (bits 7--4)
114
115         R\ :sub:`0101high`\ (bits 3--0)
116       - R\ :sub:`0103low`\ (bits 7--6)
117
118         G\ :sub:`0102high`\ (bits 5--0)
119     * - start + 36:
120       - R\ :sub:`0103high`
121       - G\ :sub:`0104low`
122       - R\ :sub:`0105low`\ (bits 7--2)
123
124         G\ :sub:`0104high`\ (bits 1--0)
125       - G\ :sub:`0106low`\ (bits 7--4)
126
127         R\ :sub:`0105high`\ (bits 3--0)
128     * - start + 40:
129       - R\ :sub:`0107low`\ (bits 7--6)
130
131         G\ :sub:`0106high`\ (bits 5--0)
132       - R\ :sub:`0107high`
133       - G\ :sub:`0108low`
134       - R\ :sub:`0109low`\ (bits 7--2)
135
136         G\ :sub:`0108high`\ (bits 1--0)
137     * - start + 44:
138       - G\ :sub:`0110low`\ (bits 7--4)
139
140         R\ :sub:`0109high`\ (bits 3--0)
141       - R\ :sub:`0111low`\ (bits 7--6)
142
143         G\ :sub:`0110high`\ (bits 5--0)
144       - R\ :sub:`0111high`
145       - G\ :sub:`0112low`
146     * - start + 48:
147       - R\ :sub:`0113low`\ (bits 7--2)
148
149         G\ :sub:`0112high`\ (bits 1--0)
150       - G\ :sub:`0114low`\ (bits 7--4)
151
152         R\ :sub:`0113high`\ (bits 3--0)
153       - R\ :sub:`0115low`\ (bits 7--6)
154
155         G\ :sub:`0114high`\ (bits 5--0)
156       - R\ :sub:`0115high`
157     * - start + 52:
158       - G\ :sub:`0116low`
159       - R\ :sub:`0117low`\ (bits 7--2)
160
161         G\ :sub:`0116high`\ (bits 1--0)
162       - G\ :sub:`0118low`\ (bits 7--4)
163
164         R\ :sub:`0117high`\ (bits 3--0)
165       - R\ :sub:`0119low`\ (bits 7--6)
166
167         G\ :sub:`0118high`\ (bits 5--0)
168     * - start + 56:
169       - R\ :sub:`0119high`
170       - G\ :sub:`0120low`
171       - R\ :sub:`0121low`\ (bits 7--2)
172
173         G\ :sub:`0120high`\ (bits 1--0)
174       - G\ :sub:`0122low`\ (bits 7--4)
175
176         R\ :sub:`0121high`\ (bits 3--0)
177     * - start + 60:
178       - R\ :sub:`0123low`\ (bits 7--6)
179
180         G\ :sub:`0122high`\ (bits 5--0)
181       - R\ :sub:`0123high`
182       - G\ :sub:`0124low`
183       - G\ :sub:`0124high`\ (bits 1--0)
184     * - start + 64:
185       - B\ :sub:`0200low`
186       - G\ :sub:`0201low`\ (bits 7--2)
187
188         B\ :sub:`0200high`\ (bits 1--0)
189       - B\ :sub:`0202low`\ (bits 7--4)
190
191         G\ :sub:`0201high`\ (bits 3--0)
192       - G\ :sub:`0203low`\ (bits 7--6)
193
194         B\ :sub:`0202high`\ (bits 5--0)
195     * - start + 68:
196       - G\ :sub:`0203high`
197       - B\ :sub:`0204low`
198       - G\ :sub:`0205low`\ (bits 7--2)
199
200         B\ :sub:`0204high`\ (bits 1--0)
201       - B\ :sub:`0206low`\ (bits 7--4)
202
203         G\ :sub:`0205high`\ (bits 3--0)
204     * - start + 72:
205       - G\ :sub:`0207low`\ (bits 7--6)
206
207         B\ :sub:`0206high`\ (bits 5--0)
208       - G\ :sub:`0207high`
209       - B\ :sub:`0208low`
210       - G\ :sub:`0209low`\ (bits 7--2)
211
212         B\ :sub:`0208high`\ (bits 1--0)
213     * - start + 76:
214       - B\ :sub:`0210low`\ (bits 7--4)
215
216         G\ :sub:`0209high`\ (bits 3--0)
217       - G\ :sub:`0211low`\ (bits 7--6)
218
219         B\ :sub:`0210high`\ (bits 5--0)
220       - G\ :sub:`0211high`
221       - B\ :sub:`0212low`
222     * - start + 80:
223       - G\ :sub:`0213low`\ (bits 7--2)
224
225         B\ :sub:`0212high`\ (bits 1--0)
226       - B\ :sub:`0214low`\ (bits 7--4)
227
228         G\ :sub:`0213high`\ (bits 3--0)
229       - G\ :sub:`0215low`\ (bits 7--6)
230
231         B\ :sub:`0214high`\ (bits 5--0)
232       - G\ :sub:`0215high`
233     * - start + 84:
234       - B\ :sub:`0216low`
235       - G\ :sub:`0217low`\ (bits 7--2)
236
237         B\ :sub:`0216high`\ (bits 1--0)
238       - B\ :sub:`0218low`\ (bits 7--4)
239
240         G\ :sub:`0217high`\ (bits 3--0)
241       - G\ :sub:`0219low`\ (bits 7--6)
242
243         B\ :sub:`0218high`\ (bits 5--0)
244     * - start + 88:
245       - G\ :sub:`0219high`
246       - B\ :sub:`0220low`
247       - G\ :sub:`0221low`\ (bits 7--2)
248
249         B\ :sub:`0220high`\ (bits 1--0)
250       - B\ :sub:`0222low`\ (bits 7--4)
251
252         G\ :sub:`0221high`\ (bits 3--0)
253     * - start + 92:
254       - G\ :sub:`0223low`\ (bits 7--6)
255
256         B\ :sub:`0222high`\ (bits 5--0)
257       - G\ :sub:`0223high`
258       - B\ :sub:`0224low`
259       - B\ :sub:`0224high`\ (bits 1--0)
260     * - start + 96:
261       - G\ :sub:`0300low`
262       - R\ :sub:`0301low`\ (bits 7--2)
263
264         G\ :sub:`0300high`\ (bits 1--0)
265       - G\ :sub:`0302low`\ (bits 7--4)
266
267         R\ :sub:`0301high`\ (bits 3--0)
268       - R\ :sub:`0303low`\ (bits 7--6)
269
270         G\ :sub:`0302high`\ (bits 5--0)
271     * - start + 100:
272       - R\ :sub:`0303high`
273       - G\ :sub:`0304low`
274       - R\ :sub:`0305low`\ (bits 7--2)
275
276         G\ :sub:`0304high`\ (bits 1--0)
277       - G\ :sub:`0306low`\ (bits 7--4)
278
279         R\ :sub:`0305high`\ (bits 3--0)
280     * - start + 104:
281       - R\ :sub:`0307low`\ (bits 7--6)
282
283         G\ :sub:`0306high`\ (bits 5--0)
284       - R\ :sub:`0307high`
285       - G\ :sub:`0308low`
286       - R\ :sub:`0309low`\ (bits 7--2)
287
288         G\ :sub:`0308high`\ (bits 1--0)
289     * - start + 108:
290       - G\ :sub:`0310low`\ (bits 7--4)
291
292         R\ :sub:`0309high`\ (bits 3--0)
293       - R\ :sub:`0311low`\ (bits 7--6)
294
295         G\ :sub:`0310high`\ (bits 5--0)
296       - R\ :sub:`0311high`
297       - G\ :sub:`0312low`
298     * - start + 112:
299       - R\ :sub:`0313low`\ (bits 7--2)
300
301         G\ :sub:`0312high`\ (bits 1--0)
302       - G\ :sub:`0314low`\ (bits 7--4)
303
304         R\ :sub:`0313high`\ (bits 3--0)
305       - R\ :sub:`0315low`\ (bits 7--6)
306
307         G\ :sub:`0314high`\ (bits 5--0)
308       - R\ :sub:`0315high`
309     * - start + 116:
310       - G\ :sub:`0316low`
311       - R\ :sub:`0317low`\ (bits 7--2)
312
313         G\ :sub:`0316high`\ (bits 1--0)
314       - G\ :sub:`0318low`\ (bits 7--4)
315
316         R\ :sub:`0317high`\ (bits 3--0)
317       - R\ :sub:`0319low`\ (bits 7--6)
318
319         G\ :sub:`0318high`\ (bits 5--0)
320     * - start + 120:
321       - R\ :sub:`0319high`
322       - G\ :sub:`0320low`
323       - R\ :sub:`0321low`\ (bits 7--2)
324
325         G\ :sub:`0320high`\ (bits 1--0)
326       - G\ :sub:`0322low`\ (bits 7--4)
327
328         R\ :sub:`0321high`\ (bits 3--0)
329     * - start + 124:
330       - R\ :sub:`0323low`\ (bits 7--6)
331
332         G\ :sub:`0322high`\ (bits 5--0)
333       - R\ :sub:`0323high`
334       - G\ :sub:`0324low`
335       - G\ :sub:`0324high`\ (bits 1--0)