Skip to content

Commit

Permalink
Merge tag 'media/v3.20-1' of git://git.kernel.org/pub/scm/linux/kerne…
Browse files Browse the repository at this point in the history
…l/git/mchehab/linux-media

Pull media updates from Mauro Carvalho Chehab:

 - Some documentation updates and a few new pixel formats

 - Stop btcx-risc abuse by cx88 and move it to bt8xx driver

 - New platform driver: am437x

 - New webcam driver: toptek

 - New remote controller hardware protocols added to img-ir driver

 - Removal of a few very old drivers that relies on old kABIs and are
   for very hard to find hardware: parallel port webcam drivers
   (bw-qcam, c-cam, pms and w9966), tlg2300, Video In/Out for SGI (vino)

 - Removal of the USB Telegent driver (tlg2300).  The company that
   developed this driver has long gone and the hardware is hard to find.
   As it relies on a legacy set of kABI symbols and nobody seems to care
   about it, remove it.

 - several improvements at rtl2832 driver

 - conversion on cx28521 and au0828 to use videobuf2 (VB2)

 - several improvements, fixups and board additions

* tag 'media/v3.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (321 commits)
  [media] dvb_net: Convert local hex dump to print_hex_dump_debug
  [media] dvb_net: Use standard debugging facilities
  [media] dvb_net: Use vsprintf %pM extension to print Ethernet addresses
  [media] staging: lirc_serial: adjust boolean assignments
  [media] stb0899: use sign_extend32() for sign extension
  [media] si2168: add support for 1.7MHz bandwidth
  [media] si2168: return error if set_frontend is called with invalid parameters
  [media] lirc_dev: avoid potential null-dereference
  [media] mn88472: simplify bandwidth registers setting code
  [media] dvb: tc90522: re-add symbol-rate report
  [media] lmedm04: add read snr, signal strength and ber call backs
  [media] lmedm04: Create frontend call back for read status
  [media] lmedm04: create frontend callbacks for signal/snr/ber/ucblocks
  [media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb
  [media] lmedm04: Increase Interupt due time to 200 msec
  [media] cx88-dvb: whitespace cleanup
  [media] rtl28xxu: properly initialize pdata
  [media] rtl2832: declare functions as static
  [media] rtl2830: declare functions as static
  [media] rtl2832_sdr: add kernel-doc comments for platform_data
  ...
  • Loading branch information
Linus Torvalds committed Feb 11, 2015
2 parents 6fc26fc + 4bad5d2 commit 3e63430
Show file tree
Hide file tree
Showing 357 changed files with 12,056 additions and 21,671 deletions.
11 changes: 5 additions & 6 deletions Documentation/DocBook/media/v4l/controls.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2692,12 +2692,11 @@ in the S5P family of SoCs by Samsung.
<row><entry></entry></row>
<row>
<entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE</constant>&nbsp;</entry>
<entry>integer</entry>
</row><row><entry spanname="descr">If the display delay is enabled then the decoder has to return a
CAPTURE buffer after processing a certain number of OUTPUT buffers. If this number is low, then it may result in
buffers not being dequeued in display order. In addition hardware may still use those buffers as reference, thus
application should not write to those buffers. This feature can be used for example for generating thumbnails of videos.
Applicable to the H264 decoder.
<entry>boolean</entry>
</row><row><entry spanname="descr">If the display delay is enabled then the decoder is forced to return a
CAPTURE buffer (decoded frame) after processing a certain number of OUTPUT buffers. The delay can be set through
<constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</constant>. This feature can be used for example
for generating thumbnails of videos. Applicable to the H264 decoder.
</entry>
</row>
<row><entry></entry></row>
Expand Down
2 changes: 1 addition & 1 deletion Documentation/DocBook/media/v4l/pixfmt-srggb10.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<refsect1>
<title>Description</title>

<para>The following four pixel formats are raw sRGB / Bayer formats with
<para>These four pixel formats are raw sRGB / Bayer formats with
10 bits per colour. Each colour component is stored in a 16-bit word, with 6
unused high bits filled with zeros. Each n-pixel row contains n/2 green samples
and n/2 blue or red samples, with alternating red and blue rows. Bytes are
Expand Down
2 changes: 1 addition & 1 deletion Documentation/DocBook/media/v4l/pixfmt-srggb10alaw8.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
</refnamediv>
<refsect1>
<title>Description</title>
<para>The following four pixel formats are raw sRGB / Bayer
<para>These four pixel formats are raw sRGB / Bayer
formats with 10 bits per color compressed to 8 bits each,
using the A-LAW algorithm. Each color component consumes 8
bits of memory. In other respects this format is similar to
Expand Down
2 changes: 1 addition & 1 deletion Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<refsect1>
<title>Description</title>

<para>The following four pixel formats are raw sRGB / Bayer formats
<para>These four pixel formats are raw sRGB / Bayer formats
with 10 bits per colour compressed to 8 bits each, using DPCM
compression. DPCM, differential pulse-code modulation, is lossy.
Each colour component consumes 8 bits of memory. In other respects
Expand Down
99 changes: 99 additions & 0 deletions Documentation/DocBook/media/v4l/pixfmt-srggb10p.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<refentry id="pixfmt-srggb10p">
<refmeta>
<refentrytitle>V4L2_PIX_FMT_SRGGB10P ('pRAA'),
V4L2_PIX_FMT_SGRBG10P ('pgAA'),
V4L2_PIX_FMT_SGBRG10P ('pGAA'),
V4L2_PIX_FMT_SBGGR10P ('pBAA'),
</refentrytitle>
&manvol;
</refmeta>
<refnamediv>
<refname id="V4L2-PIX-FMT-SRGGB10P"><constant>V4L2_PIX_FMT_SRGGB10P</constant></refname>
<refname id="V4L2-PIX-FMT-SGRBG10P"><constant>V4L2_PIX_FMT_SGRBG10P</constant></refname>
<refname id="V4L2-PIX-FMT-SGBRG10P"><constant>V4L2_PIX_FMT_SGBRG10P</constant></refname>
<refname id="V4L2-PIX-FMT-SBGGR10P"><constant>V4L2_PIX_FMT_SBGGR10P</constant></refname>
<refpurpose>10-bit packed Bayer formats</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>

<para>These four pixel formats are packed raw sRGB /
Bayer formats with 10 bits per colour. Every four consecutive
colour components are packed into 5 bytes. Each of the first 4
bytes contain the 8 high order bits of the pixels, and the
fifth byte contains the two least significants bits of each
pixel, in the same order.</para>

<para>Each n-pixel row contains n/2 green samples and n/2 blue
or red samples, with alternating green-red and green-blue
rows. They are conventionally described as GRGR... BGBG...,
RGRG... GBGB..., etc. Below is an example of one of these
formats:</para>

<example>
<title><constant>V4L2_PIX_FMT_SBGGR10P</constant> 4 &times; 4
pixel image</title>

<formalpara>
<title>Byte Order.</title>
<para>Each cell is one byte.
<informaltable frame="topbot" colsep="1" rowsep="1">
<tgroup cols="5" align="center" border="1">
<colspec align="left" colwidth="2*" />
<tbody valign="top">
<row>
<entry>start&nbsp;+&nbsp;0:</entry>
<entry>B<subscript>00high</subscript></entry>
<entry>G<subscript>01high</subscript></entry>
<entry>B<subscript>02high</subscript></entry>
<entry>G<subscript>03high</subscript></entry>
<entry>B<subscript>00low</subscript>(bits 7--6)
G<subscript>01low</subscript>(bits 5--4)
B<subscript>02low</subscript>(bits 3--2)
G<subscript>03low</subscript>(bits 1--0)
</entry>
</row>
<row>
<entry>start&nbsp;+&nbsp;5:</entry>
<entry>G<subscript>10high</subscript></entry>
<entry>R<subscript>11high</subscript></entry>
<entry>G<subscript>12high</subscript></entry>
<entry>R<subscript>13high</subscript></entry>
<entry>G<subscript>10low</subscript>(bits 7--6)
R<subscript>11low</subscript>(bits 5--4)
G<subscript>12low</subscript>(bits 3--2)
R<subscript>13low</subscript>(bits 1--0)
</entry>
</row>
<row>
<entry>start&nbsp;+&nbsp;10:</entry>
<entry>B<subscript>20high</subscript></entry>
<entry>G<subscript>21high</subscript></entry>
<entry>B<subscript>22high</subscript></entry>
<entry>G<subscript>23high</subscript></entry>
<entry>B<subscript>20low</subscript>(bits 7--6)
G<subscript>21low</subscript>(bits 5--4)
B<subscript>22low</subscript>(bits 3--2)
G<subscript>23low</subscript>(bits 1--0)
</entry>
</row>
<row>
<entry>start&nbsp;+&nbsp;15:</entry>
<entry>G<subscript>30high</subscript></entry>
<entry>R<subscript>31high</subscript></entry>
<entry>G<subscript>32high</subscript></entry>
<entry>R<subscript>33high</subscript></entry>
<entry>G<subscript>30low</subscript>(bits 7--6)
R<subscript>31low</subscript>(bits 5--4)
G<subscript>32low</subscript>(bits 3--2)
R<subscript>33low</subscript>(bits 1--0)
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</formalpara>
</example>
</refsect1>
</refentry>
2 changes: 1 addition & 1 deletion Documentation/DocBook/media/v4l/pixfmt-srggb12.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<refsect1>
<title>Description</title>

<para>The following four pixel formats are raw sRGB / Bayer formats with
<para>These four pixel formats are raw sRGB / Bayer formats with
12 bits per colour. Each colour component is stored in a 16-bit word, with 4
unused high bits filled with zeros. Each n-pixel row contains n/2 green samples
and n/2 blue or red samples, with alternating red and blue rows. Bytes are
Expand Down
1 change: 1 addition & 0 deletions Documentation/DocBook/media/v4l/pixfmt.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1405,6 +1405,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.<
&sub-srggb8;
&sub-sbggr16;
&sub-srggb10;
&sub-srggb10p;
&sub-srggb10alaw8;
&sub-srggb10dpcm8;
&sub-srggb12;
Expand Down
8 changes: 0 additions & 8 deletions Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -212,11 +212,3 @@ standards set in the <structfield>standards</structfield> field.
&return-value;
</refsect1>
</refentry>

<!--
Local Variables:
mode: sgml
sgml-parent-document: "v4l2.sgml"
indent-tabs-mode: nil
End:
-->
8 changes: 0 additions & 8 deletions Documentation/DocBook/media/v4l/vidioc-enum-dv-timings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,3 @@ is out of bounds or the <structfield>pad</structfield> number is invalid.</para>
</variablelist>
</refsect1>
</refentry>

<!--
Local Variables:
mode: sgml
sgml-parent-document: "v4l2.sgml"
indent-tabs-mode: nil
End:
-->
63 changes: 63 additions & 0 deletions Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
SMIA/SMIA++ sensor

SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
of that. These definitions are valid for both types of sensors.

More detailed documentation can be found in
Documentation/devicetree/bindings/media/video-interfaces.txt .


Mandatory properties
--------------------

- compatible: "nokia,smia"
- reg: I2C address (0x10, or an alternative address)
- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
dependent).
- clocks: External clock to the sensor
- clock-frequency: Frequency of the external clock to the sensor
- link-frequencies: List of allowed data link frequencies. An array of
64-bit elements.


Optional properties
-------------------

- nokia,nvm-size: The size of the NVM, in bytes. If the size is not given,
the NVM contents will not be read.
- reset-gpios: XSHUTDOWN GPIO


Endpoint node mandatory properties
----------------------------------

- clock-lanes: <0>
- data-lanes: <1..n>
- remote-endpoint: A phandle to the bus receiver's endpoint node.


Example
-------

&i2c2 {
clock-frequency = <400000>;

smiapp_1: camera@10 {
compatible = "nokia,smia";
reg = <0x10>;
reset-gpios = <&gpio3 20 0>;
vana-supply = <&vaux3>;
clocks = <&omap3_isp 0>;
clock-frequency = <9600000>;
nokia,nvm-size = <512>; /* 8 * 64 */
link-frequencies = /bits/ 64 <199200000 210000000 499200000>;
port {
smiapp_1_1: endpoint {
clock-lanes = <0>;
data-lanes = <1 2>;
remote-endpoint = <&csi2a_ep>;
};
};
};
};
4 changes: 3 additions & 1 deletion Documentation/devicetree/bindings/media/sunxi-ir.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Device-Tree bindings for SUNXI IR controller found in sunXi SoC family

Required properties:
- compatible : should be "allwinner,sun4i-a10-ir";
- compatible : "allwinner,sun4i-a10-ir" or "allwinner,sun5i-a13-ir"
- clocks : list of clock specifiers, corresponding to
entries in clock-names property;
- clock-names : should contain "apb" and "ir" entries;
Expand All @@ -10,13 +10,15 @@ Required properties:

Optional properties:
- linux,rc-map-name : Remote control map name.
- resets : phandle + reset specifier pair

Example:

ir0: ir@01c21800 {
compatible = "allwinner,sun4i-a10-ir";
clocks = <&apb0_gates 6>, <&ir0_clk>;
clock-names = "apb", "ir";
resets = <&apb0_rst 1>;
interrupts = <0 5 1>;
reg = <0x01C21800 0x40>;
linux,rc-map-name = "rc-rc6-mce";
Expand Down
61 changes: 61 additions & 0 deletions Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
Texas Instruments AM437x CAMERA (VPFE)
--------------------------------------

The Video Processing Front End (VPFE) is a key component for image capture
applications. The capture module provides the system interface and the
processing capability to connect RAW image-sensor modules and video decoders
to the AM437x device.

Required properties:
- compatible: must be "ti,am437x-vpfe"
- reg: physical base address and length of the registers set for the device;
- interrupts: should contain IRQ line for the VPFE;
- ti,am437x-vpfe-interface: can be one of the following,
0 - Raw Bayer Interface.
1 - 8 Bit BT656 Interface.
2 - 10 Bit BT656 Interface.
3 - YCbCr 8 Bit Interface.
4 - YCbCr 16 Bit Interface.

VPFE supports a single port node with parallel bus. It should contain one
'port' child node with child 'endpoint' node. Please refer to the bindings
defined in Documentation/devicetree/bindings/media/video-interfaces.txt.

Example:
vpfe: vpfe@f0034000 {
compatible = "ti,am437x-vpfe";
reg = <0x48328000 0x2000>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;

pinctrl-names = "default", "sleep";
pinctrl-0 = <&vpfe_pins_default>;
pinctrl-1 = <&vpfe_pins_sleep>;

port {
#address-cells = <1>;
#size-cells = <0>;

vpfe0_ep: endpoint {
remote-endpoint = <&ov2659_1>;
ti,am437x-vpfe-interface = <0>;
bus-width = <8>;
hsync-active = <0>;
vsync-active = <0>;
};
};
};

i2c1: i2c@4802a000 {

ov2659@30 {
compatible = "ti,ov2659";
reg = <0x30>;

port {
ov2659_1: endpoint {
remote-endpoint = <&vpfe0_ep>;
bus-width = <8>;
mclk-frequency = <12000000>;
};
};
};
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/media/video-interfaces.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@ Optional endpoint properties
array contains only one entry.
- clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous
clock mode.
- link-frequencies: Allowed data bus frequencies. For MIPI CSI-2, for
instance, this is the actual frequency of the bus, not bits per clock per
lane value. An array of 64-bit unsigned integers.


Example
Expand Down
Loading

0 comments on commit 3e63430

Please sign in to comment.