diff options
Diffstat (limited to 'Documentation')
26 files changed, 1379 insertions, 513 deletions
diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml index 4a5eaeed0b9e..a9b15e34c5b2 100644 --- a/Documentation/DocBook/media/dvb/dvbproperty.xml +++ b/Documentation/DocBook/media/dvb/dvbproperty.xml | |||
@@ -1,6 +1,6 @@ | |||
1 | <section id="FE_GET_SET_PROPERTY"> | 1 | <section id="FE_GET_SET_PROPERTY"> |
2 | <title><constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></title> | 2 | <title><constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></title> |
3 | <para>This section describes the DVB version 5 extention of the DVB-API, also | 3 | <para>This section describes the DVB version 5 extension of the DVB-API, also |
4 | called "S2API", as this API were added to provide support for DVB-S2. It was | 4 | called "S2API", as this API were added to provide support for DVB-S2. It was |
5 | designed to be able to replace the old frontend API. Yet, the DISEQC and | 5 | designed to be able to replace the old frontend API. Yet, the DISEQC and |
6 | the capability ioctls weren't implemented yet via the new way.</para> | 6 | the capability ioctls weren't implemented yet via the new way.</para> |
@@ -903,14 +903,12 @@ enum fe_interleaving { | |||
903 | <constant>svalue</constant> is for signed values of the measure (dB measures) | 903 | <constant>svalue</constant> is for signed values of the measure (dB measures) |
904 | and <constant>uvalue</constant> is for unsigned values (counters, relative scale)</para></listitem> | 904 | and <constant>uvalue</constant> is for unsigned values (counters, relative scale)</para></listitem> |
905 | <listitem><para><constant>scale</constant> - Scale for the value. It can be:</para> | 905 | <listitem><para><constant>scale</constant> - Scale for the value. It can be:</para> |
906 | <section id = "fecap-scale-params"> | 906 | <itemizedlist mark='bullet' id="fecap-scale-params"> |
907 | <itemizedlist mark='bullet'> | ||
908 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - The parameter is supported by the frontend, but it was not possible to collect it (could be a transitory or permanent condition)</para></listitem> | 907 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - The parameter is supported by the frontend, but it was not possible to collect it (could be a transitory or permanent condition)</para></listitem> |
909 | <listitem><para><constant>FE_SCALE_DECIBEL</constant> - parameter is a signed value, measured in 1/1000 dB</para></listitem> | 908 | <listitem><para><constant>FE_SCALE_DECIBEL</constant> - parameter is a signed value, measured in 1/1000 dB</para></listitem> |
910 | <listitem><para><constant>FE_SCALE_RELATIVE</constant> - parameter is a unsigned value, where 0 means 0% and 65535 means 100%.</para></listitem> | 909 | <listitem><para><constant>FE_SCALE_RELATIVE</constant> - parameter is a unsigned value, where 0 means 0% and 65535 means 100%.</para></listitem> |
911 | <listitem><para><constant>FE_SCALE_COUNTER</constant> - parameter is a unsigned value that counts the occurrence of an event, like bit error, block error, or lapsed time.</para></listitem> | 910 | <listitem><para><constant>FE_SCALE_COUNTER</constant> - parameter is a unsigned value that counts the occurrence of an event, like bit error, block error, or lapsed time.</para></listitem> |
912 | </itemizedlist> | 911 | </itemizedlist> |
913 | </section> | ||
914 | </listitem> | 912 | </listitem> |
915 | </itemizedlist> | 913 | </itemizedlist> |
916 | <section id="DTV-STAT-SIGNAL-STRENGTH"> | 914 | <section id="DTV-STAT-SIGNAL-STRENGTH"> |
@@ -918,9 +916,9 @@ enum fe_interleaving { | |||
918 | <para>Indicates the signal strength level at the analog part of the tuner or of the demod.</para> | 916 | <para>Indicates the signal strength level at the analog part of the tuner or of the demod.</para> |
919 | <para>Possible scales for this metric are:</para> | 917 | <para>Possible scales for this metric are:</para> |
920 | <itemizedlist mark='bullet'> | 918 | <itemizedlist mark='bullet'> |
921 | <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> | 919 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem> |
922 | <listitem><constant>FE_SCALE_DECIBEL</constant> - signal strength is in 0.0001 dBm units, power measured in miliwatts. This value is generally negative.</listitem> | 920 | <listitem><para><constant>FE_SCALE_DECIBEL</constant> - signal strength is in 0.0001 dBm units, power measured in miliwatts. This value is generally negative.</para></listitem> |
923 | <listitem><constant>FE_SCALE_RELATIVE</constant> - The frontend provides a 0% to 100% measurement for power (actually, 0 to 65535).</listitem> | 921 | <listitem><para><constant>FE_SCALE_RELATIVE</constant> - The frontend provides a 0% to 100% measurement for power (actually, 0 to 65535).</para></listitem> |
924 | </itemizedlist> | 922 | </itemizedlist> |
925 | </section> | 923 | </section> |
926 | <section id="DTV-STAT-CNR"> | 924 | <section id="DTV-STAT-CNR"> |
@@ -928,9 +926,9 @@ enum fe_interleaving { | |||
928 | <para>Indicates the Signal to Noise ratio for the main carrier.</para> | 926 | <para>Indicates the Signal to Noise ratio for the main carrier.</para> |
929 | <para>Possible scales for this metric are:</para> | 927 | <para>Possible scales for this metric are:</para> |
930 | <itemizedlist mark='bullet'> | 928 | <itemizedlist mark='bullet'> |
931 | <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> | 929 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem> |
932 | <listitem><constant>FE_SCALE_DECIBEL</constant> - Signal/Noise ratio is in 0.0001 dB units.</listitem> | 930 | <listitem><para><constant>FE_SCALE_DECIBEL</constant> - Signal/Noise ratio is in 0.0001 dB units.</para></listitem> |
933 | <listitem><constant>FE_SCALE_RELATIVE</constant> - The frontend provides a 0% to 100% measurement for Signal/Noise (actually, 0 to 65535).</listitem> | 931 | <listitem><para><constant>FE_SCALE_RELATIVE</constant> - The frontend provides a 0% to 100% measurement for Signal/Noise (actually, 0 to 65535).</para></listitem> |
934 | </itemizedlist> | 932 | </itemizedlist> |
935 | </section> | 933 | </section> |
936 | <section id="DTV-STAT-PRE-ERROR-BIT-COUNT"> | 934 | <section id="DTV-STAT-PRE-ERROR-BIT-COUNT"> |
@@ -943,8 +941,8 @@ enum fe_interleaving { | |||
943 | The frontend may reset it when a channel/transponder is tuned.</para> | 941 | The frontend may reset it when a channel/transponder is tuned.</para> |
944 | <para>Possible scales for this metric are:</para> | 942 | <para>Possible scales for this metric are:</para> |
945 | <itemizedlist mark='bullet'> | 943 | <itemizedlist mark='bullet'> |
946 | <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> | 944 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem> |
947 | <listitem><constant>FE_SCALE_COUNTER</constant> - Number of error bits counted before the inner coding.</listitem> | 945 | <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of error bits counted before the inner coding.</para></listitem> |
948 | </itemizedlist> | 946 | </itemizedlist> |
949 | </section> | 947 | </section> |
950 | <section id="DTV-STAT-PRE-TOTAL-BIT-COUNT"> | 948 | <section id="DTV-STAT-PRE-TOTAL-BIT-COUNT"> |
@@ -952,14 +950,14 @@ enum fe_interleaving { | |||
952 | <para>Measures the amount of bits received before the inner code block, during the same period as | 950 | <para>Measures the amount of bits received before the inner code block, during the same period as |
953 | <link linkend="DTV-STAT-PRE-ERROR-BIT-COUNT"><constant>DTV_STAT_PRE_ERROR_BIT_COUNT</constant></link> measurement was taken.</para> | 951 | <link linkend="DTV-STAT-PRE-ERROR-BIT-COUNT"><constant>DTV_STAT_PRE_ERROR_BIT_COUNT</constant></link> measurement was taken.</para> |
954 | <para>It should be noticed that this measurement can be smaller than the total amount of bits on the transport stream, | 952 | <para>It should be noticed that this measurement can be smaller than the total amount of bits on the transport stream, |
955 | as the frontend may need to manually restart the measurement, loosing some data between each measurement interval.</para> | 953 | as the frontend may need to manually restart the measurement, losing some data between each measurement interval.</para> |
956 | <para>This measurement is monotonically increased, as the frontend gets more bit count measurements. | 954 | <para>This measurement is monotonically increased, as the frontend gets more bit count measurements. |
957 | The frontend may reset it when a channel/transponder is tuned.</para> | 955 | The frontend may reset it when a channel/transponder is tuned.</para> |
958 | <para>Possible scales for this metric are:</para> | 956 | <para>Possible scales for this metric are:</para> |
959 | <itemizedlist mark='bullet'> | 957 | <itemizedlist mark='bullet'> |
960 | <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> | 958 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem> |
961 | <listitem><constant>FE_SCALE_COUNTER</constant> - Number of bits counted while measuring | 959 | <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of bits counted while measuring |
962 | <link linkend="DTV-STAT-PRE-ERROR-BIT-COUNT"><constant>DTV_STAT_PRE_ERROR_BIT_COUNT</constant></link>.</listitem> | 960 | <link linkend="DTV-STAT-PRE-ERROR-BIT-COUNT"><constant>DTV_STAT_PRE_ERROR_BIT_COUNT</constant></link>.</para></listitem> |
963 | </itemizedlist> | 961 | </itemizedlist> |
964 | </section> | 962 | </section> |
965 | <section id="DTV-STAT-POST-ERROR-BIT-COUNT"> | 963 | <section id="DTV-STAT-POST-ERROR-BIT-COUNT"> |
@@ -972,8 +970,8 @@ enum fe_interleaving { | |||
972 | The frontend may reset it when a channel/transponder is tuned.</para> | 970 | The frontend may reset it when a channel/transponder is tuned.</para> |
973 | <para>Possible scales for this metric are:</para> | 971 | <para>Possible scales for this metric are:</para> |
974 | <itemizedlist mark='bullet'> | 972 | <itemizedlist mark='bullet'> |
975 | <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> | 973 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem> |
976 | <listitem><constant>FE_SCALE_COUNTER</constant> - Number of error bits counted after the inner coding.</listitem> | 974 | <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of error bits counted after the inner coding.</para></listitem> |
977 | </itemizedlist> | 975 | </itemizedlist> |
978 | </section> | 976 | </section> |
979 | <section id="DTV-STAT-POST-TOTAL-BIT-COUNT"> | 977 | <section id="DTV-STAT-POST-TOTAL-BIT-COUNT"> |
@@ -981,14 +979,14 @@ enum fe_interleaving { | |||
981 | <para>Measures the amount of bits received after the inner coding, during the same period as | 979 | <para>Measures the amount of bits received after the inner coding, during the same period as |
982 | <link linkend="DTV-STAT-POST-ERROR-BIT-COUNT"><constant>DTV_STAT_POST_ERROR_BIT_COUNT</constant></link> measurement was taken.</para> | 980 | <link linkend="DTV-STAT-POST-ERROR-BIT-COUNT"><constant>DTV_STAT_POST_ERROR_BIT_COUNT</constant></link> measurement was taken.</para> |
983 | <para>It should be noticed that this measurement can be smaller than the total amount of bits on the transport stream, | 981 | <para>It should be noticed that this measurement can be smaller than the total amount of bits on the transport stream, |
984 | as the frontend may need to manually restart the measurement, loosing some data between each measurement interval.</para> | 982 | as the frontend may need to manually restart the measurement, losing some data between each measurement interval.</para> |
985 | <para>This measurement is monotonically increased, as the frontend gets more bit count measurements. | 983 | <para>This measurement is monotonically increased, as the frontend gets more bit count measurements. |
986 | The frontend may reset it when a channel/transponder is tuned.</para> | 984 | The frontend may reset it when a channel/transponder is tuned.</para> |
987 | <para>Possible scales for this metric are:</para> | 985 | <para>Possible scales for this metric are:</para> |
988 | <itemizedlist mark='bullet'> | 986 | <itemizedlist mark='bullet'> |
989 | <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> | 987 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem> |
990 | <listitem><constant>FE_SCALE_COUNTER</constant> - Number of bits counted while measuring | 988 | <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of bits counted while measuring |
991 | <link linkend="DTV-STAT-POST-ERROR-BIT-COUNT"><constant>DTV_STAT_POST_ERROR_BIT_COUNT</constant></link>.</listitem> | 989 | <link linkend="DTV-STAT-POST-ERROR-BIT-COUNT"><constant>DTV_STAT_POST_ERROR_BIT_COUNT</constant></link>.</para></listitem> |
992 | </itemizedlist> | 990 | </itemizedlist> |
993 | </section> | 991 | </section> |
994 | <section id="DTV-STAT-ERROR-BLOCK-COUNT"> | 992 | <section id="DTV-STAT-ERROR-BLOCK-COUNT"> |
@@ -998,8 +996,8 @@ enum fe_interleaving { | |||
998 | The frontend may reset it when a channel/transponder is tuned.</para> | 996 | The frontend may reset it when a channel/transponder is tuned.</para> |
999 | <para>Possible scales for this metric are:</para> | 997 | <para>Possible scales for this metric are:</para> |
1000 | <itemizedlist mark='bullet'> | 998 | <itemizedlist mark='bullet'> |
1001 | <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> | 999 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem> |
1002 | <listitem><constant>FE_SCALE_COUNTER</constant> - Number of error blocks counted after the outer coding.</listitem> | 1000 | <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of error blocks counted after the outer coding.</para></listitem> |
1003 | </itemizedlist> | 1001 | </itemizedlist> |
1004 | </section> | 1002 | </section> |
1005 | <section id="DTV-STAT-TOTAL-BLOCK-COUNT"> | 1003 | <section id="DTV-STAT-TOTAL-BLOCK-COUNT"> |
@@ -1011,9 +1009,9 @@ enum fe_interleaving { | |||
1011 | by <link linkend="DTV-STAT-TOTAL-BLOCK-COUNT"><constant>DTV-STAT-TOTAL-BLOCK-COUNT</constant></link>.</para> | 1009 | by <link linkend="DTV-STAT-TOTAL-BLOCK-COUNT"><constant>DTV-STAT-TOTAL-BLOCK-COUNT</constant></link>.</para> |
1012 | <para>Possible scales for this metric are:</para> | 1010 | <para>Possible scales for this metric are:</para> |
1013 | <itemizedlist mark='bullet'> | 1011 | <itemizedlist mark='bullet'> |
1014 | <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> | 1012 | <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem> |
1015 | <listitem><constant>FE_SCALE_COUNTER</constant> - Number of blocks counted while measuring | 1013 | <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of blocks counted while measuring |
1016 | <link linkend="DTV-STAT-ERROR-BLOCK-COUNT"><constant>DTV_STAT_ERROR_BLOCK_COUNT</constant></link>.</listitem> | 1014 | <link linkend="DTV-STAT-ERROR-BLOCK-COUNT"><constant>DTV_STAT_ERROR_BLOCK_COUNT</constant></link>.</para></listitem> |
1017 | </itemizedlist> | 1015 | </itemizedlist> |
1018 | </section> | 1016 | </section> |
1019 | </section> | 1017 | </section> |
diff --git a/Documentation/DocBook/media/v4l/common.xml b/Documentation/DocBook/media/v4l/common.xml index ae06afbbb3a9..1ddf354aa997 100644 --- a/Documentation/DocBook/media/v4l/common.xml +++ b/Documentation/DocBook/media/v4l/common.xml | |||
@@ -750,15 +750,6 @@ header can be used to get the timings of the formats in the <xref linkend="cea86 | |||
750 | <xref linkend="vesadmt" /> standards. | 750 | <xref linkend="vesadmt" /> standards. |
751 | </para> | 751 | </para> |
752 | </listitem> | 752 | </listitem> |
753 | <listitem> | ||
754 | <para>DV Presets: Digital Video (DV) presets (<emphasis role="bold">deprecated</emphasis>). | ||
755 | These are IDs representing a | ||
756 | video timing at the input/output. Presets are pre-defined timings implemented | ||
757 | by the hardware according to video standards. A __u32 data type is used to represent | ||
758 | a preset unlike the bit mask that is used in &v4l2-std-id; allowing future extensions | ||
759 | to support as many different presets as needed. This API is deprecated in favor of the DV Timings | ||
760 | API.</para> | ||
761 | </listitem> | ||
762 | </itemizedlist> | 753 | </itemizedlist> |
763 | <para>To enumerate and query the attributes of the DV timings supported by a device, | 754 | <para>To enumerate and query the attributes of the DV timings supported by a device, |
764 | applications use the &VIDIOC-ENUM-DV-TIMINGS; and &VIDIOC-DV-TIMINGS-CAP; ioctls. | 755 | applications use the &VIDIOC-ENUM-DV-TIMINGS; and &VIDIOC-DV-TIMINGS-CAP; ioctls. |
@@ -766,11 +757,6 @@ API.</para> | |||
766 | &VIDIOC-S-DV-TIMINGS; ioctl and to get current DV timings they use the | 757 | &VIDIOC-S-DV-TIMINGS; ioctl and to get current DV timings they use the |
767 | &VIDIOC-G-DV-TIMINGS; ioctl. To detect the DV timings as seen by the video receiver applications | 758 | &VIDIOC-G-DV-TIMINGS; ioctl. To detect the DV timings as seen by the video receiver applications |
768 | use the &VIDIOC-QUERY-DV-TIMINGS; ioctl.</para> | 759 | use the &VIDIOC-QUERY-DV-TIMINGS; ioctl.</para> |
769 | <para>To enumerate and query the attributes of DV presets supported by a device, | ||
770 | applications use the &VIDIOC-ENUM-DV-PRESETS; ioctl. To get the current DV preset, | ||
771 | applications use the &VIDIOC-G-DV-PRESET; ioctl and to set a preset they use the | ||
772 | &VIDIOC-S-DV-PRESET; ioctl. To detect the preset as seen by the video receiver applications | ||
773 | use the &VIDIOC-QUERY-DV-PRESET; ioctl.</para> | ||
774 | <para>Applications can make use of the <xref linkend="input-capabilities" /> and | 760 | <para>Applications can make use of the <xref linkend="input-capabilities" /> and |
775 | <xref linkend="output-capabilities"/> flags to decide what ioctls are available to set the | 761 | <xref linkend="output-capabilities"/> flags to decide what ioctls are available to set the |
776 | video timings for the device.</para> | 762 | video timings for the device.</para> |
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml index 104a1a2b8849..f43542ae2981 100644 --- a/Documentation/DocBook/media/v4l/compat.xml +++ b/Documentation/DocBook/media/v4l/compat.xml | |||
@@ -2310,6 +2310,9 @@ more information.</para> | |||
2310 | <listitem> | 2310 | <listitem> |
2311 | <para>Added FM Modulator (FM TX) Extended Control Class: <constant>V4L2_CTRL_CLASS_FM_TX</constant> and their Control IDs.</para> | 2311 | <para>Added FM Modulator (FM TX) Extended Control Class: <constant>V4L2_CTRL_CLASS_FM_TX</constant> and their Control IDs.</para> |
2312 | </listitem> | 2312 | </listitem> |
2313 | <listitem> | ||
2314 | <para>Added FM Receiver (FM RX) Extended Control Class: <constant>V4L2_CTRL_CLASS_FM_RX</constant> and their Control IDs.</para> | ||
2315 | </listitem> | ||
2313 | <listitem> | 2316 | <listitem> |
2314 | <para>Added Remote Controller chapter, describing the default Remote Controller mapping for media devices.</para> | 2317 | <para>Added Remote Controller chapter, describing the default Remote Controller mapping for media devices.</para> |
2315 | </listitem> | 2318 | </listitem> |
@@ -2493,6 +2496,23 @@ that used it. It was originally scheduled for removal in 2.6.35. | |||
2493 | </orderedlist> | 2496 | </orderedlist> |
2494 | </section> | 2497 | </section> |
2495 | 2498 | ||
2499 | <section> | ||
2500 | <title>V4L2 in Linux 3.10</title> | ||
2501 | <orderedlist> | ||
2502 | <listitem> | ||
2503 | <para>Removed obsolete and unused DV_PRESET ioctls | ||
2504 | VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and | ||
2505 | VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output capability | ||
2506 | flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS. | ||
2507 | </para> | ||
2508 | </listitem> | ||
2509 | <listitem> | ||
2510 | <para>Added new debugging ioctl &VIDIOC-DBG-G-CHIP-INFO;. | ||
2511 | </para> | ||
2512 | </listitem> | ||
2513 | </orderedlist> | ||
2514 | </section> | ||
2515 | |||
2496 | <section id="other"> | 2516 | <section id="other"> |
2497 | <title>Relation of V4L2 to other Linux multimedia APIs</title> | 2517 | <title>Relation of V4L2 to other Linux multimedia APIs</title> |
2498 | 2518 | ||
@@ -2625,8 +2645,8 @@ interfaces and should not be implemented in new drivers.</para> | |||
2625 | <xref linkend="extended-controls" />.</para> | 2645 | <xref linkend="extended-controls" />.</para> |
2626 | </listitem> | 2646 | </listitem> |
2627 | <listitem> | 2647 | <listitem> |
2628 | <para>&VIDIOC-G-DV-PRESET;, &VIDIOC-S-DV-PRESET;, &VIDIOC-ENUM-DV-PRESETS; and | 2648 | <para>VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_ENUM_DV_PRESETS and |
2629 | &VIDIOC-QUERY-DV-PRESET; ioctls. Use the DV Timings API (<xref linkend="dv-timings" />).</para> | 2649 | VIDIOC_QUERY_DV_PRESET ioctls. Use the DV Timings API (<xref linkend="dv-timings" />).</para> |
2630 | </listitem> | 2650 | </listitem> |
2631 | <listitem> | 2651 | <listitem> |
2632 | <para><constant>VIDIOC_SUBDEV_G_CROP</constant> and | 2652 | <para><constant>VIDIOC_SUBDEV_G_CROP</constant> and |
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml index 9e8f85498678..8d7a77928d49 100644 --- a/Documentation/DocBook/media/v4l/controls.xml +++ b/Documentation/DocBook/media/v4l/controls.xml | |||
@@ -2300,6 +2300,12 @@ Possible values are:</entry> | |||
2300 | </row> | 2300 | </row> |
2301 | <row><entry></entry></row> | 2301 | <row><entry></entry></row> |
2302 | <row> | 2302 | <row> |
2303 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER</constant> </entry> | ||
2304 | <entry>boolean</entry> | ||
2305 | </row><row><entry spanname="descr">Repeat the video sequence headers. Repeating these | ||
2306 | headers makes random access to the video stream easier. Applicable to the MPEG1, 2 and 4 encoder.</entry> | ||
2307 | </row> | ||
2308 | <row> | ||
2303 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER</constant> </entry> | 2309 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER</constant> </entry> |
2304 | <entry>boolean</entry> | 2310 | <entry>boolean</entry> |
2305 | </row><row><entry spanname="descr">Enabled the deblocking post processing filter for MPEG4 decoder. | 2311 | </row><row><entry spanname="descr">Enabled the deblocking post processing filter for MPEG4 decoder. |
@@ -3136,6 +3142,13 @@ giving priority to the center of the metered area.</entry> | |||
3136 | <entry><constant>V4L2_EXPOSURE_METERING_SPOT</constant> </entry> | 3142 | <entry><constant>V4L2_EXPOSURE_METERING_SPOT</constant> </entry> |
3137 | <entry>Measure only very small area at the center of the frame.</entry> | 3143 | <entry>Measure only very small area at the center of the frame.</entry> |
3138 | </row> | 3144 | </row> |
3145 | <row> | ||
3146 | <entry><constant>V4L2_EXPOSURE_METERING_MATRIX</constant> </entry> | ||
3147 | <entry>A multi-zone metering. The light intensity is measured | ||
3148 | in several points of the frame and the the results are combined. The | ||
3149 | algorithm of the zones selection and their significance in calculating the | ||
3150 | final value is device dependant.</entry> | ||
3151 | </row> | ||
3139 | </tbody> | 3152 | </tbody> |
3140 | </entrytbl> | 3153 | </entrytbl> |
3141 | </row> | 3154 | </row> |
@@ -3848,7 +3861,7 @@ in Hz. The range and step are driver-specific.</entry> | |||
3848 | </row> | 3861 | </row> |
3849 | <row> | 3862 | <row> |
3850 | <entry spanname="id"><constant>V4L2_CID_TUNE_PREEMPHASIS</constant> </entry> | 3863 | <entry spanname="id"><constant>V4L2_CID_TUNE_PREEMPHASIS</constant> </entry> |
3851 | <entry>integer</entry> | 3864 | <entry>enum v4l2_preemphasis</entry> |
3852 | </row> | 3865 | </row> |
3853 | <row id="v4l2-preemphasis"><entry spanname="descr">Configures the pre-emphasis value for broadcasting. | 3866 | <row id="v4l2-preemphasis"><entry spanname="descr">Configures the pre-emphasis value for broadcasting. |
3854 | A pre-emphasis filter is applied to the broadcast to accentuate the high audio frequencies. | 3867 | A pre-emphasis filter is applied to the broadcast to accentuate the high audio frequencies. |
@@ -4687,4 +4700,76 @@ interface and may change in the future.</para> | |||
4687 | </table> | 4700 | </table> |
4688 | 4701 | ||
4689 | </section> | 4702 | </section> |
4703 | |||
4704 | <section id="fm-rx-controls"> | ||
4705 | <title>FM Receiver Control Reference</title> | ||
4706 | |||
4707 | <para>The FM Receiver (FM_RX) class includes controls for common features of | ||
4708 | FM Reception capable devices.</para> | ||
4709 | |||
4710 | <table pgwide="1" frame="none" id="fm-rx-control-id"> | ||
4711 | <title>FM_RX Control IDs</title> | ||
4712 | |||
4713 | <tgroup cols="4"> | ||
4714 | <colspec colname="c1" colwidth="1*" /> | ||
4715 | <colspec colname="c2" colwidth="6*" /> | ||
4716 | <colspec colname="c3" colwidth="2*" /> | ||
4717 | <colspec colname="c4" colwidth="6*" /> | ||
4718 | <spanspec namest="c1" nameend="c2" spanname="id" /> | ||
4719 | <spanspec namest="c2" nameend="c4" spanname="descr" /> | ||
4720 | <thead> | ||
4721 | <row> | ||
4722 | <entry spanname="id" align="left">ID</entry> | ||
4723 | <entry align="left">Type</entry> | ||
4724 | </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry> | ||
4725 | </row> | ||
4726 | </thead> | ||
4727 | <tbody valign="top"> | ||
4728 | <row><entry></entry></row> | ||
4729 | <row> | ||
4730 | <entry spanname="id"><constant>V4L2_CID_FM_RX_CLASS</constant> </entry> | ||
4731 | <entry>class</entry> | ||
4732 | </row><row><entry spanname="descr">The FM_RX class | ||
4733 | descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a | ||
4734 | description of this control class.</entry> | ||
4735 | </row> | ||
4736 | <row> | ||
4737 | <entry spanname="id"><constant>V4L2_CID_RDS_RECEPTION</constant> </entry> | ||
4738 | <entry>boolean</entry> | ||
4739 | </row><row><entry spanname="descr">Enables/disables RDS | ||
4740 | reception by the radio tuner</entry> | ||
4741 | </row> | ||
4742 | <row> | ||
4743 | <entry spanname="id"><constant>V4L2_CID_TUNE_DEEMPHASIS</constant> </entry> | ||
4744 | <entry>enum v4l2_deemphasis</entry> | ||
4745 | </row> | ||
4746 | <row id="v4l2-deemphasis"><entry spanname="descr">Configures the de-emphasis value for reception. | ||
4747 | A de-emphasis filter is applied to the broadcast to accentuate the high audio frequencies. | ||
4748 | Depending on the region, a time constant of either 50 or 75 useconds is used. The enum v4l2_deemphasis | ||
4749 | defines possible values for de-emphasis. Here they are:</entry> | ||
4750 | </row><row> | ||
4751 | <entrytbl spanname="descr" cols="2"> | ||
4752 | <tbody valign="top"> | ||
4753 | <row> | ||
4754 | <entry><constant>V4L2_DEEMPHASIS_DISABLED</constant> </entry> | ||
4755 | <entry>No de-emphasis is applied.</entry> | ||
4756 | </row> | ||
4757 | <row> | ||
4758 | <entry><constant>V4L2_DEEMPHASIS_50_uS</constant> </entry> | ||
4759 | <entry>A de-emphasis of 50 uS is used.</entry> | ||
4760 | </row> | ||
4761 | <row> | ||
4762 | <entry><constant>V4L2_DEEMPHASIS_75_uS</constant> </entry> | ||
4763 | <entry>A de-emphasis of 75 uS is used.</entry> | ||
4764 | </row> | ||
4765 | </tbody> | ||
4766 | </entrytbl> | ||
4767 | |||
4768 | </row> | ||
4769 | <row><entry></entry></row> | ||
4770 | </tbody> | ||
4771 | </tgroup> | ||
4772 | </table> | ||
4773 | |||
4774 | </section> | ||
4690 | </section> | 4775 | </section> |
diff --git a/Documentation/DocBook/media/v4l/io.xml b/Documentation/DocBook/media/v4l/io.xml index e6c58559ca6b..2c4c068dde83 100644 --- a/Documentation/DocBook/media/v4l/io.xml +++ b/Documentation/DocBook/media/v4l/io.xml | |||
@@ -1145,6 +1145,12 @@ in which case caches have not been used.</entry> | |||
1145 | same clock outside V4L2, use | 1145 | same clock outside V4L2, use |
1146 | <function>clock_gettime(2)</function> .</entry> | 1146 | <function>clock_gettime(2)</function> .</entry> |
1147 | </row> | 1147 | </row> |
1148 | <row> | ||
1149 | <entry><constant>V4L2_BUF_FLAG_TIMESTAMP_COPY</constant></entry> | ||
1150 | <entry>0x4000</entry> | ||
1151 | <entry>The CAPTURE buffer timestamp has been taken from the | ||
1152 | corresponding OUTPUT buffer. This flag applies only to mem2mem devices.</entry> | ||
1153 | </row> | ||
1148 | </tbody> | 1154 | </tbody> |
1149 | </tgroup> | 1155 | </tgroup> |
1150 | </table> | 1156 | </table> |
diff --git a/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml b/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml index 576b68b33f2c..116c301656e0 100644 --- a/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml +++ b/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml | |||
@@ -272,6 +272,16 @@ | |||
272 | <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_LENS</constant></entry> | 272 | <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_LENS</constant></entry> |
273 | <entry>Lens controller</entry> | 273 | <entry>Lens controller</entry> |
274 | </row> | 274 | </row> |
275 | <row> | ||
276 | <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_DECODER</constant></entry> | ||
277 | <entry>Video decoder, the basic function of the video decoder is to | ||
278 | accept analogue video from a wide variety of sources such as | ||
279 | broadcast, DVD players, cameras and video cassette recorders, in | ||
280 | either NTSC, PAL or HD format and still occasionally SECAM, separate | ||
281 | it into its component parts, luminance and chrominance, and output | ||
282 | it in some digital video standard, with appropriate embedded timing | ||
283 | signals.</entry> | ||
284 | </row> | ||
275 | </tbody> | 285 | </tbody> |
276 | </tgroup> | 286 | </tgroup> |
277 | </table> | 287 | </table> |
diff --git a/Documentation/DocBook/media/v4l/subdev-formats.xml b/Documentation/DocBook/media/v4l/subdev-formats.xml index cc51372ed5e0..adc61982df7b 100644 --- a/Documentation/DocBook/media/v4l/subdev-formats.xml +++ b/Documentation/DocBook/media/v4l/subdev-formats.xml | |||
@@ -93,19 +93,35 @@ | |||
93 | 93 | ||
94 | <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-rgb"> | 94 | <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-rgb"> |
95 | <title>RGB formats</title> | 95 | <title>RGB formats</title> |
96 | <tgroup cols="11"> | 96 | <tgroup cols="27"> |
97 | <colspec colname="id" align="left" /> | 97 | <colspec colname="id" align="left" /> |
98 | <colspec colname="code" align="center"/> | 98 | <colspec colname="code" align="center"/> |
99 | <colspec colname="bit" /> | 99 | <colspec colname="bit" /> |
100 | <colspec colnum="4" colname="b07" align="center" /> | 100 | <colspec colnum="4" colname="b23" align="center" /> |
101 | <colspec colnum="5" colname="b06" align="center" /> | 101 | <colspec colnum="5" colname="b22" align="center" /> |
102 | <colspec colnum="6" colname="b05" align="center" /> | 102 | <colspec colnum="6" colname="b21" align="center" /> |
103 | <colspec colnum="7" colname="b04" align="center" /> | 103 | <colspec colnum="7" colname="b20" align="center" /> |
104 | <colspec colnum="8" colname="b03" align="center" /> | 104 | <colspec colnum="8" colname="b19" align="center" /> |
105 | <colspec colnum="9" colname="b02" align="center" /> | 105 | <colspec colnum="9" colname="b18" align="center" /> |
106 | <colspec colnum="10" colname="b01" align="center" /> | 106 | <colspec colnum="10" colname="b17" align="center" /> |
107 | <colspec colnum="11" colname="b00" align="center" /> | 107 | <colspec colnum="11" colname="b16" align="center" /> |
108 | <spanspec namest="b07" nameend="b00" spanname="b0" /> | 108 | <colspec colnum="12" colname="b15" align="center" /> |
109 | <colspec colnum="13" colname="b14" align="center" /> | ||
110 | <colspec colnum="14" colname="b13" align="center" /> | ||
111 | <colspec colnum="15" colname="b12" align="center" /> | ||
112 | <colspec colnum="16" colname="b11" align="center" /> | ||
113 | <colspec colnum="17" colname="b10" align="center" /> | ||
114 | <colspec colnum="18" colname="b09" align="center" /> | ||
115 | <colspec colnum="19" colname="b08" align="center" /> | ||
116 | <colspec colnum="20" colname="b07" align="center" /> | ||
117 | <colspec colnum="21" colname="b06" align="center" /> | ||
118 | <colspec colnum="22" colname="b05" align="center" /> | ||
119 | <colspec colnum="23" colname="b04" align="center" /> | ||
120 | <colspec colnum="24" colname="b03" align="center" /> | ||
121 | <colspec colnum="25" colname="b02" align="center" /> | ||
122 | <colspec colnum="26" colname="b01" align="center" /> | ||
123 | <colspec colnum="27" colname="b00" align="center" /> | ||
124 | <spanspec namest="b23" nameend="b00" spanname="b0" /> | ||
109 | <thead> | 125 | <thead> |
110 | <row> | 126 | <row> |
111 | <entry>Identifier</entry> | 127 | <entry>Identifier</entry> |
@@ -117,6 +133,22 @@ | |||
117 | <entry></entry> | 133 | <entry></entry> |
118 | <entry></entry> | 134 | <entry></entry> |
119 | <entry>Bit</entry> | 135 | <entry>Bit</entry> |
136 | <entry>23</entry> | ||
137 | <entry>22</entry> | ||
138 | <entry>21</entry> | ||
139 | <entry>20</entry> | ||
140 | <entry>19</entry> | ||
141 | <entry>18</entry> | ||
142 | <entry>17</entry> | ||
143 | <entry>16</entry> | ||
144 | <entry>15</entry> | ||
145 | <entry>14</entry> | ||
146 | <entry>13</entry> | ||
147 | <entry>12</entry> | ||
148 | <entry>11</entry> | ||
149 | <entry>10</entry> | ||
150 | <entry>9</entry> | ||
151 | <entry>8</entry> | ||
120 | <entry>7</entry> | 152 | <entry>7</entry> |
121 | <entry>6</entry> | 153 | <entry>6</entry> |
122 | <entry>5</entry> | 154 | <entry>5</entry> |
@@ -132,6 +164,7 @@ | |||
132 | <entry>V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE</entry> | 164 | <entry>V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE</entry> |
133 | <entry>0x1001</entry> | 165 | <entry>0x1001</entry> |
134 | <entry></entry> | 166 | <entry></entry> |
167 | &dash-ent-16; | ||
135 | <entry>0</entry> | 168 | <entry>0</entry> |
136 | <entry>0</entry> | 169 | <entry>0</entry> |
137 | <entry>0</entry> | 170 | <entry>0</entry> |
@@ -145,6 +178,7 @@ | |||
145 | <entry></entry> | 178 | <entry></entry> |
146 | <entry></entry> | 179 | <entry></entry> |
147 | <entry></entry> | 180 | <entry></entry> |
181 | &dash-ent-16; | ||
148 | <entry>g<subscript>3</subscript></entry> | 182 | <entry>g<subscript>3</subscript></entry> |
149 | <entry>g<subscript>2</subscript></entry> | 183 | <entry>g<subscript>2</subscript></entry> |
150 | <entry>g<subscript>1</subscript></entry> | 184 | <entry>g<subscript>1</subscript></entry> |
@@ -158,6 +192,7 @@ | |||
158 | <entry>V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE</entry> | 192 | <entry>V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE</entry> |
159 | <entry>0x1002</entry> | 193 | <entry>0x1002</entry> |
160 | <entry></entry> | 194 | <entry></entry> |
195 | &dash-ent-16; | ||
161 | <entry>g<subscript>3</subscript></entry> | 196 | <entry>g<subscript>3</subscript></entry> |
162 | <entry>g<subscript>2</subscript></entry> | 197 | <entry>g<subscript>2</subscript></entry> |
163 | <entry>g<subscript>1</subscript></entry> | 198 | <entry>g<subscript>1</subscript></entry> |
@@ -171,6 +206,7 @@ | |||
171 | <entry></entry> | 206 | <entry></entry> |
172 | <entry></entry> | 207 | <entry></entry> |
173 | <entry></entry> | 208 | <entry></entry> |
209 | &dash-ent-16; | ||
174 | <entry>0</entry> | 210 | <entry>0</entry> |
175 | <entry>0</entry> | 211 | <entry>0</entry> |
176 | <entry>0</entry> | 212 | <entry>0</entry> |
@@ -184,6 +220,7 @@ | |||
184 | <entry>V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE</entry> | 220 | <entry>V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE</entry> |
185 | <entry>0x1003</entry> | 221 | <entry>0x1003</entry> |
186 | <entry></entry> | 222 | <entry></entry> |
223 | &dash-ent-16; | ||
187 | <entry>0</entry> | 224 | <entry>0</entry> |
188 | <entry>r<subscript>4</subscript></entry> | 225 | <entry>r<subscript>4</subscript></entry> |
189 | <entry>r<subscript>3</subscript></entry> | 226 | <entry>r<subscript>3</subscript></entry> |
@@ -197,6 +234,7 @@ | |||
197 | <entry></entry> | 234 | <entry></entry> |
198 | <entry></entry> | 235 | <entry></entry> |
199 | <entry></entry> | 236 | <entry></entry> |
237 | &dash-ent-16; | ||
200 | <entry>g<subscript>2</subscript></entry> | 238 | <entry>g<subscript>2</subscript></entry> |
201 | <entry>g<subscript>1</subscript></entry> | 239 | <entry>g<subscript>1</subscript></entry> |
202 | <entry>g<subscript>0</subscript></entry> | 240 | <entry>g<subscript>0</subscript></entry> |
@@ -210,6 +248,7 @@ | |||
210 | <entry>V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE</entry> | 248 | <entry>V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE</entry> |
211 | <entry>0x1004</entry> | 249 | <entry>0x1004</entry> |
212 | <entry></entry> | 250 | <entry></entry> |
251 | &dash-ent-16; | ||
213 | <entry>g<subscript>2</subscript></entry> | 252 | <entry>g<subscript>2</subscript></entry> |
214 | <entry>g<subscript>1</subscript></entry> | 253 | <entry>g<subscript>1</subscript></entry> |
215 | <entry>g<subscript>0</subscript></entry> | 254 | <entry>g<subscript>0</subscript></entry> |
@@ -223,6 +262,7 @@ | |||
223 | <entry></entry> | 262 | <entry></entry> |
224 | <entry></entry> | 263 | <entry></entry> |
225 | <entry></entry> | 264 | <entry></entry> |
265 | &dash-ent-16; | ||
226 | <entry>0</entry> | 266 | <entry>0</entry> |
227 | <entry>r<subscript>4</subscript></entry> | 267 | <entry>r<subscript>4</subscript></entry> |
228 | <entry>r<subscript>3</subscript></entry> | 268 | <entry>r<subscript>3</subscript></entry> |
@@ -236,6 +276,7 @@ | |||
236 | <entry>V4L2_MBUS_FMT_BGR565_2X8_BE</entry> | 276 | <entry>V4L2_MBUS_FMT_BGR565_2X8_BE</entry> |
237 | <entry>0x1005</entry> | 277 | <entry>0x1005</entry> |
238 | <entry></entry> | 278 | <entry></entry> |
279 | &dash-ent-16; | ||
239 | <entry>b<subscript>4</subscript></entry> | 280 | <entry>b<subscript>4</subscript></entry> |
240 | <entry>b<subscript>3</subscript></entry> | 281 | <entry>b<subscript>3</subscript></entry> |
241 | <entry>b<subscript>2</subscript></entry> | 282 | <entry>b<subscript>2</subscript></entry> |
@@ -249,6 +290,7 @@ | |||
249 | <entry></entry> | 290 | <entry></entry> |
250 | <entry></entry> | 291 | <entry></entry> |
251 | <entry></entry> | 292 | <entry></entry> |
293 | &dash-ent-16; | ||
252 | <entry>g<subscript>2</subscript></entry> | 294 | <entry>g<subscript>2</subscript></entry> |
253 | <entry>g<subscript>1</subscript></entry> | 295 | <entry>g<subscript>1</subscript></entry> |
254 | <entry>g<subscript>0</subscript></entry> | 296 | <entry>g<subscript>0</subscript></entry> |
@@ -262,6 +304,7 @@ | |||
262 | <entry>V4L2_MBUS_FMT_BGR565_2X8_LE</entry> | 304 | <entry>V4L2_MBUS_FMT_BGR565_2X8_LE</entry> |
263 | <entry>0x1006</entry> | 305 | <entry>0x1006</entry> |
264 | <entry></entry> | 306 | <entry></entry> |
307 | &dash-ent-16; | ||
265 | <entry>g<subscript>2</subscript></entry> | 308 | <entry>g<subscript>2</subscript></entry> |
266 | <entry>g<subscript>1</subscript></entry> | 309 | <entry>g<subscript>1</subscript></entry> |
267 | <entry>g<subscript>0</subscript></entry> | 310 | <entry>g<subscript>0</subscript></entry> |
@@ -275,6 +318,7 @@ | |||
275 | <entry></entry> | 318 | <entry></entry> |
276 | <entry></entry> | 319 | <entry></entry> |
277 | <entry></entry> | 320 | <entry></entry> |
321 | &dash-ent-16; | ||
278 | <entry>b<subscript>4</subscript></entry> | 322 | <entry>b<subscript>4</subscript></entry> |
279 | <entry>b<subscript>3</subscript></entry> | 323 | <entry>b<subscript>3</subscript></entry> |
280 | <entry>b<subscript>2</subscript></entry> | 324 | <entry>b<subscript>2</subscript></entry> |
@@ -288,6 +332,7 @@ | |||
288 | <entry>V4L2_MBUS_FMT_RGB565_2X8_BE</entry> | 332 | <entry>V4L2_MBUS_FMT_RGB565_2X8_BE</entry> |
289 | <entry>0x1007</entry> | 333 | <entry>0x1007</entry> |
290 | <entry></entry> | 334 | <entry></entry> |
335 | &dash-ent-16; | ||
291 | <entry>r<subscript>4</subscript></entry> | 336 | <entry>r<subscript>4</subscript></entry> |
292 | <entry>r<subscript>3</subscript></entry> | 337 | <entry>r<subscript>3</subscript></entry> |
293 | <entry>r<subscript>2</subscript></entry> | 338 | <entry>r<subscript>2</subscript></entry> |
@@ -301,6 +346,7 @@ | |||
301 | <entry></entry> | 346 | <entry></entry> |
302 | <entry></entry> | 347 | <entry></entry> |
303 | <entry></entry> | 348 | <entry></entry> |
349 | &dash-ent-16; | ||
304 | <entry>g<subscript>2</subscript></entry> | 350 | <entry>g<subscript>2</subscript></entry> |
305 | <entry>g<subscript>1</subscript></entry> | 351 | <entry>g<subscript>1</subscript></entry> |
306 | <entry>g<subscript>0</subscript></entry> | 352 | <entry>g<subscript>0</subscript></entry> |
@@ -314,6 +360,7 @@ | |||
314 | <entry>V4L2_MBUS_FMT_RGB565_2X8_LE</entry> | 360 | <entry>V4L2_MBUS_FMT_RGB565_2X8_LE</entry> |
315 | <entry>0x1008</entry> | 361 | <entry>0x1008</entry> |
316 | <entry></entry> | 362 | <entry></entry> |
363 | &dash-ent-16; | ||
317 | <entry>g<subscript>2</subscript></entry> | 364 | <entry>g<subscript>2</subscript></entry> |
318 | <entry>g<subscript>1</subscript></entry> | 365 | <entry>g<subscript>1</subscript></entry> |
319 | <entry>g<subscript>0</subscript></entry> | 366 | <entry>g<subscript>0</subscript></entry> |
@@ -327,6 +374,27 @@ | |||
327 | <entry></entry> | 374 | <entry></entry> |
328 | <entry></entry> | 375 | <entry></entry> |
329 | <entry></entry> | 376 | <entry></entry> |
377 | &dash-ent-16; | ||
378 | <entry>r<subscript>4</subscript></entry> | ||
379 | <entry>r<subscript>3</subscript></entry> | ||
380 | <entry>r<subscript>2</subscript></entry> | ||
381 | <entry>r<subscript>1</subscript></entry> | ||
382 | <entry>r<subscript>0</subscript></entry> | ||
383 | <entry>g<subscript>5</subscript></entry> | ||
384 | <entry>g<subscript>4</subscript></entry> | ||
385 | <entry>g<subscript>3</subscript></entry> | ||
386 | </row> | ||
387 | <row id="V4L2-MBUS-FMT-RGB666-1X18"> | ||
388 | <entry>V4L2_MBUS_FMT_RGB666_1X18</entry> | ||
389 | <entry>0x1009</entry> | ||
390 | <entry></entry> | ||
391 | <entry>-</entry> | ||
392 | <entry>-</entry> | ||
393 | <entry>-</entry> | ||
394 | <entry>-</entry> | ||
395 | <entry>-</entry> | ||
396 | <entry>-</entry> | ||
397 | <entry>r<subscript>5</subscript></entry> | ||
330 | <entry>r<subscript>4</subscript></entry> | 398 | <entry>r<subscript>4</subscript></entry> |
331 | <entry>r<subscript>3</subscript></entry> | 399 | <entry>r<subscript>3</subscript></entry> |
332 | <entry>r<subscript>2</subscript></entry> | 400 | <entry>r<subscript>2</subscript></entry> |
@@ -335,6 +403,124 @@ | |||
335 | <entry>g<subscript>5</subscript></entry> | 403 | <entry>g<subscript>5</subscript></entry> |
336 | <entry>g<subscript>4</subscript></entry> | 404 | <entry>g<subscript>4</subscript></entry> |
337 | <entry>g<subscript>3</subscript></entry> | 405 | <entry>g<subscript>3</subscript></entry> |
406 | <entry>g<subscript>2</subscript></entry> | ||
407 | <entry>g<subscript>1</subscript></entry> | ||
408 | <entry>g<subscript>0</subscript></entry> | ||
409 | <entry>b<subscript>5</subscript></entry> | ||
410 | <entry>b<subscript>4</subscript></entry> | ||
411 | <entry>b<subscript>3</subscript></entry> | ||
412 | <entry>b<subscript>2</subscript></entry> | ||
413 | <entry>b<subscript>1</subscript></entry> | ||
414 | <entry>b<subscript>0</subscript></entry> | ||
415 | </row> | ||
416 | <row id="V4L2-MBUS-FMT-RGB888-1X24"> | ||
417 | <entry>V4L2_MBUS_FMT_RGB888_1X24</entry> | ||
418 | <entry>0x100a</entry> | ||
419 | <entry></entry> | ||
420 | <entry>r<subscript>7</subscript></entry> | ||
421 | <entry>r<subscript>6</subscript></entry> | ||
422 | <entry>r<subscript>5</subscript></entry> | ||
423 | <entry>r<subscript>4</subscript></entry> | ||
424 | <entry>r<subscript>3</subscript></entry> | ||
425 | <entry>r<subscript>2</subscript></entry> | ||
426 | <entry>r<subscript>1</subscript></entry> | ||
427 | <entry>r<subscript>0</subscript></entry> | ||
428 | <entry>g<subscript>7</subscript></entry> | ||
429 | <entry>g<subscript>6</subscript></entry> | ||
430 | <entry>g<subscript>5</subscript></entry> | ||
431 | <entry>g<subscript>4</subscript></entry> | ||
432 | <entry>g<subscript>3</subscript></entry> | ||
433 | <entry>g<subscript>2</subscript></entry> | ||
434 | <entry>g<subscript>1</subscript></entry> | ||
435 | <entry>g<subscript>0</subscript></entry> | ||
436 | <entry>b<subscript>7</subscript></entry> | ||
437 | <entry>b<subscript>6</subscript></entry> | ||
438 | <entry>b<subscript>5</subscript></entry> | ||
439 | <entry>b<subscript>4</subscript></entry> | ||
440 | <entry>b<subscript>3</subscript></entry> | ||
441 | <entry>b<subscript>2</subscript></entry> | ||
442 | <entry>b<subscript>1</subscript></entry> | ||
443 | <entry>b<subscript>0</subscript></entry> | ||
444 | </row> | ||
445 | <row id="V4L2-MBUS-FMT-RGB888-2X12-BE"> | ||
446 | <entry>V4L2_MBUS_FMT_RGB888_2X12_BE</entry> | ||
447 | <entry>0x100b</entry> | ||
448 | <entry></entry> | ||
449 | &dash-ent-10; | ||
450 | <entry>-</entry> | ||
451 | <entry>-</entry> | ||
452 | <entry>r<subscript>7</subscript></entry> | ||
453 | <entry>r<subscript>6</subscript></entry> | ||
454 | <entry>r<subscript>5</subscript></entry> | ||
455 | <entry>r<subscript>4</subscript></entry> | ||
456 | <entry>r<subscript>3</subscript></entry> | ||
457 | <entry>r<subscript>2</subscript></entry> | ||
458 | <entry>r<subscript>1</subscript></entry> | ||
459 | <entry>r<subscript>0</subscript></entry> | ||
460 | <entry>g<subscript>7</subscript></entry> | ||
461 | <entry>g<subscript>6</subscript></entry> | ||
462 | <entry>g<subscript>5</subscript></entry> | ||
463 | <entry>g<subscript>4</subscript></entry> | ||
464 | </row> | ||
465 | <row> | ||
466 | <entry></entry> | ||
467 | <entry></entry> | ||
468 | <entry></entry> | ||
469 | &dash-ent-10; | ||
470 | <entry>-</entry> | ||
471 | <entry>-</entry> | ||
472 | <entry>g<subscript>3</subscript></entry> | ||
473 | <entry>g<subscript>2</subscript></entry> | ||
474 | <entry>g<subscript>1</subscript></entry> | ||
475 | <entry>g<subscript>0</subscript></entry> | ||
476 | <entry>b<subscript>7</subscript></entry> | ||
477 | <entry>b<subscript>6</subscript></entry> | ||
478 | <entry>b<subscript>5</subscript></entry> | ||
479 | <entry>b<subscript>4</subscript></entry> | ||
480 | <entry>b<subscript>3</subscript></entry> | ||
481 | <entry>b<subscript>2</subscript></entry> | ||
482 | <entry>b<subscript>1</subscript></entry> | ||
483 | <entry>b<subscript>0</subscript></entry> | ||
484 | </row> | ||
485 | <row id="V4L2-MBUS-FMT-RGB888-2X12-LE"> | ||
486 | <entry>V4L2_MBUS_FMT_RGB888_2X12_LE</entry> | ||
487 | <entry>0x100c</entry> | ||
488 | <entry></entry> | ||
489 | &dash-ent-10; | ||
490 | <entry>-</entry> | ||
491 | <entry>-</entry> | ||
492 | <entry>g<subscript>3</subscript></entry> | ||
493 | <entry>g<subscript>2</subscript></entry> | ||
494 | <entry>g<subscript>1</subscript></entry> | ||
495 | <entry>g<subscript>0</subscript></entry> | ||
496 | <entry>b<subscript>7</subscript></entry> | ||
497 | <entry>b<subscript>6</subscript></entry> | ||
498 | <entry>b<subscript>5</subscript></entry> | ||
499 | <entry>b<subscript>4</subscript></entry> | ||
500 | <entry>b<subscript>3</subscript></entry> | ||
501 | <entry>b<subscript>2</subscript></entry> | ||
502 | <entry>b<subscript>1</subscript></entry> | ||
503 | <entry>b<subscript>0</subscript></entry> | ||
504 | </row> | ||
505 | <row> | ||
506 | <entry></entry> | ||
507 | <entry></entry> | ||
508 | <entry></entry> | ||
509 | &dash-ent-10; | ||
510 | <entry>-</entry> | ||
511 | <entry>-</entry> | ||
512 | <entry>r<subscript>7</subscript></entry> | ||
513 | <entry>r<subscript>6</subscript></entry> | ||
514 | <entry>r<subscript>5</subscript></entry> | ||
515 | <entry>r<subscript>4</subscript></entry> | ||
516 | <entry>r<subscript>3</subscript></entry> | ||
517 | <entry>r<subscript>2</subscript></entry> | ||
518 | <entry>r<subscript>1</subscript></entry> | ||
519 | <entry>r<subscript>0</subscript></entry> | ||
520 | <entry>g<subscript>7</subscript></entry> | ||
521 | <entry>g<subscript>6</subscript></entry> | ||
522 | <entry>g<subscript>5</subscript></entry> | ||
523 | <entry>g<subscript>4</subscript></entry> | ||
338 | </row> | 524 | </row> |
339 | </tbody> | 525 | </tbody> |
340 | </tgroup> | 526 | </tgroup> |
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml index a3cce18384e9..bfc93cdcf696 100644 --- a/Documentation/DocBook/media/v4l/v4l2.xml +++ b/Documentation/DocBook/media/v4l/v4l2.xml | |||
@@ -124,6 +124,7 @@ Remote Controller chapter.</contrib> | |||
124 | <year>2010</year> | 124 | <year>2010</year> |
125 | <year>2011</year> | 125 | <year>2011</year> |
126 | <year>2012</year> | 126 | <year>2012</year> |
127 | <year>2013</year> | ||
127 | <holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin | 128 | <holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin |
128 | Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab, | 129 | Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab, |
129 | Pawel Osciak</holder> | 130 | Pawel Osciak</holder> |
@@ -140,12 +141,22 @@ structs, ioctls) must be noted in more detail in the history chapter | |||
140 | applications. --> | 141 | applications. --> |
141 | 142 | ||
142 | <revision> | 143 | <revision> |
144 | <revnumber>3.10</revnumber> | ||
145 | <date>2013-03-25</date> | ||
146 | <authorinitials>hv</authorinitials> | ||
147 | <revremark>Remove obsolete and unused DV_PRESET ioctls: | ||
148 | VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and | ||
149 | VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output capability | ||
150 | flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS. Added VIDIOC_DBG_G_CHIP_INFO. | ||
151 | </revremark> | ||
152 | </revision> | ||
153 | |||
154 | <revision> | ||
143 | <revnumber>3.9</revnumber> | 155 | <revnumber>3.9</revnumber> |
144 | <date>2012-12-03</date> | 156 | <date>2012-12-03</date> |
145 | <authorinitials>sa, sn</authorinitials> | 157 | <authorinitials>sa, sn</authorinitials> |
146 | <revremark>Added timestamp types to v4l2_buffer. | 158 | <revremark>Added timestamp types to v4l2_buffer. |
147 | Added <constant>V4L2_EVENT_CTRL_CH_RANGE</constant> control | 159 | Added V4L2_EVENT_CTRL_CH_RANGE control event changes flag. |
148 | event changes flag, see <xref linkend="changes-flags"/>. | ||
149 | </revremark> | 160 | </revremark> |
150 | </revision> | 161 | </revision> |
151 | 162 | ||
@@ -537,6 +548,7 @@ and discussions on the V4L mailing list.</revremark> | |||
537 | &sub-create-bufs; | 548 | &sub-create-bufs; |
538 | &sub-cropcap; | 549 | &sub-cropcap; |
539 | &sub-dbg-g-chip-ident; | 550 | &sub-dbg-g-chip-ident; |
551 | &sub-dbg-g-chip-info; | ||
540 | &sub-dbg-g-register; | 552 | &sub-dbg-g-register; |
541 | &sub-decoder-cmd; | 553 | &sub-decoder-cmd; |
542 | &sub-dqevent; | 554 | &sub-dqevent; |
@@ -544,7 +556,6 @@ and discussions on the V4L mailing list.</revremark> | |||
544 | &sub-encoder-cmd; | 556 | &sub-encoder-cmd; |
545 | &sub-enumaudio; | 557 | &sub-enumaudio; |
546 | &sub-enumaudioout; | 558 | &sub-enumaudioout; |
547 | &sub-enum-dv-presets; | ||
548 | &sub-enum-dv-timings; | 559 | &sub-enum-dv-timings; |
549 | &sub-enum-fmt; | 560 | &sub-enum-fmt; |
550 | &sub-enum-framesizes; | 561 | &sub-enum-framesizes; |
@@ -558,7 +569,6 @@ and discussions on the V4L mailing list.</revremark> | |||
558 | &sub-g-audioout; | 569 | &sub-g-audioout; |
559 | &sub-g-crop; | 570 | &sub-g-crop; |
560 | &sub-g-ctrl; | 571 | &sub-g-ctrl; |
561 | &sub-g-dv-preset; | ||
562 | &sub-g-dv-timings; | 572 | &sub-g-dv-timings; |
563 | &sub-g-enc-index; | 573 | &sub-g-enc-index; |
564 | &sub-g-ext-ctrls; | 574 | &sub-g-ext-ctrls; |
@@ -582,7 +592,6 @@ and discussions on the V4L mailing list.</revremark> | |||
582 | &sub-querybuf; | 592 | &sub-querybuf; |
583 | &sub-querycap; | 593 | &sub-querycap; |
584 | &sub-queryctrl; | 594 | &sub-queryctrl; |
585 | &sub-query-dv-preset; | ||
586 | &sub-query-dv-timings; | 595 | &sub-query-dv-timings; |
587 | &sub-querystd; | 596 | &sub-querystd; |
588 | &sub-reqbufs; | 597 | &sub-reqbufs; |
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml index 4ecd966808de..921e18550d26 100644 --- a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml +++ b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml | |||
@@ -200,10 +200,10 @@ the values from <xref linkend="chip-ids" />.</entry> | |||
200 | &cs-def; | 200 | &cs-def; |
201 | <tbody valign="top"> | 201 | <tbody valign="top"> |
202 | <row> | 202 | <row> |
203 | <entry><constant>V4L2_CHIP_MATCH_HOST</constant></entry> | 203 | <entry><constant>V4L2_CHIP_MATCH_BRIDGE</constant></entry> |
204 | <entry>0</entry> | 204 | <entry>0</entry> |
205 | <entry>Match the nth chip on the card, zero for the | 205 | <entry>Match the nth chip on the card, zero for the |
206 | host chip. Does not match &i2c; chips.</entry> | 206 | bridge chip. Does not match sub-devices.</entry> |
207 | </row> | 207 | </row> |
208 | <row> | 208 | <row> |
209 | <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry> | 209 | <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry> |
@@ -220,6 +220,11 @@ the values from <xref linkend="chip-ids" />.</entry> | |||
220 | <entry>3</entry> | 220 | <entry>3</entry> |
221 | <entry>Match the nth anciliary AC97 chip.</entry> | 221 | <entry>Match the nth anciliary AC97 chip.</entry> |
222 | </row> | 222 | </row> |
223 | <row> | ||
224 | <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry> | ||
225 | <entry>4</entry> | ||
226 | <entry>Match the nth sub-device. Can't be used with this ioctl.</entry> | ||
227 | </row> | ||
223 | </tbody> | 228 | </tbody> |
224 | </tgroup> | 229 | </tgroup> |
225 | </table> | 230 | </table> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml new file mode 100644 index 000000000000..e1cece6c5de1 --- /dev/null +++ b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml | |||
@@ -0,0 +1,223 @@ | |||
1 | <refentry id="vidioc-dbg-g-chip-info"> | ||
2 | <refmeta> | ||
3 | <refentrytitle>ioctl VIDIOC_DBG_G_CHIP_INFO</refentrytitle> | ||
4 | &manvol; | ||
5 | </refmeta> | ||
6 | |||
7 | <refnamediv> | ||
8 | <refname>VIDIOC_DBG_G_CHIP_INFO</refname> | ||
9 | <refpurpose>Identify the chips on a TV card</refpurpose> | ||
10 | </refnamediv> | ||
11 | |||
12 | <refsynopsisdiv> | ||
13 | <funcsynopsis> | ||
14 | <funcprototype> | ||
15 | <funcdef>int <function>ioctl</function></funcdef> | ||
16 | <paramdef>int <parameter>fd</parameter></paramdef> | ||
17 | <paramdef>int <parameter>request</parameter></paramdef> | ||
18 | <paramdef>struct v4l2_dbg_chip_info | ||
19 | *<parameter>argp</parameter></paramdef> | ||
20 | </funcprototype> | ||
21 | </funcsynopsis> | ||
22 | </refsynopsisdiv> | ||
23 | |||
24 | <refsect1> | ||
25 | <title>Arguments</title> | ||
26 | |||
27 | <variablelist> | ||
28 | <varlistentry> | ||
29 | <term><parameter>fd</parameter></term> | ||
30 | <listitem> | ||
31 | <para>&fd;</para> | ||
32 | </listitem> | ||
33 | </varlistentry> | ||
34 | <varlistentry> | ||
35 | <term><parameter>request</parameter></term> | ||
36 | <listitem> | ||
37 | <para>VIDIOC_DBG_G_CHIP_INFO</para> | ||
38 | </listitem> | ||
39 | </varlistentry> | ||
40 | <varlistentry> | ||
41 | <term><parameter>argp</parameter></term> | ||
42 | <listitem> | ||
43 | <para></para> | ||
44 | </listitem> | ||
45 | </varlistentry> | ||
46 | </variablelist> | ||
47 | </refsect1> | ||
48 | |||
49 | <refsect1> | ||
50 | <title>Description</title> | ||
51 | |||
52 | <note> | ||
53 | <title>Experimental</title> | ||
54 | |||
55 | <para>This is an <link | ||
56 | linkend="experimental">experimental</link> interface and may change in | ||
57 | the future.</para> | ||
58 | </note> | ||
59 | |||
60 | <para>For driver debugging purposes this ioctl allows test | ||
61 | applications to query the driver about the chips present on the TV | ||
62 | card. Regular applications must not use it. When you found a chip | ||
63 | specific bug, please contact the linux-media mailing list (&v4l-ml;) | ||
64 | so it can be fixed.</para> | ||
65 | |||
66 | <para>Additionally the Linux kernel must be compiled with the | ||
67 | <constant>CONFIG_VIDEO_ADV_DEBUG</constant> option to enable this ioctl.</para> | ||
68 | |||
69 | <para>To query the driver applications must initialize the | ||
70 | <structfield>match.type</structfield> and | ||
71 | <structfield>match.addr</structfield> or <structfield>match.name</structfield> | ||
72 | fields of a &v4l2-dbg-chip-info; | ||
73 | and call <constant>VIDIOC_DBG_G_CHIP_INFO</constant> with a pointer to | ||
74 | this structure. On success the driver stores information about the | ||
75 | selected chip in the <structfield>name</structfield> and | ||
76 | <structfield>flags</structfield> fields. On failure the structure | ||
77 | remains unchanged.</para> | ||
78 | |||
79 | <para>When <structfield>match.type</structfield> is | ||
80 | <constant>V4L2_CHIP_MATCH_BRIDGE</constant>, | ||
81 | <structfield>match.addr</structfield> selects the nth bridge 'chip' | ||
82 | on the TV card. You can enumerate all chips by starting at zero and | ||
83 | incrementing <structfield>match.addr</structfield> by one until | ||
84 | <constant>VIDIOC_DBG_G_CHIP_INFO</constant> fails with an &EINVAL;. | ||
85 | The number zero always selects the bridge chip itself, ⪚ the chip | ||
86 | connected to the PCI or USB bus. Non-zero numbers identify specific | ||
87 | parts of the bridge chip such as an AC97 register block.</para> | ||
88 | |||
89 | <para>When <structfield>match.type</structfield> is | ||
90 | <constant>V4L2_CHIP_MATCH_SUBDEV</constant>, | ||
91 | <structfield>match.addr</structfield> selects the nth sub-device. This | ||
92 | allows you to enumerate over all sub-devices.</para> | ||
93 | |||
94 | <para>On success, the <structfield>name</structfield> field will | ||
95 | contain a chip name and the <structfield>flags</structfield> field will | ||
96 | contain <constant>V4L2_CHIP_FL_READABLE</constant> if the driver supports | ||
97 | reading registers from the device or <constant>V4L2_CHIP_FL_WRITABLE</constant> | ||
98 | if the driver supports writing registers to the device.</para> | ||
99 | |||
100 | <para>We recommended the <application>v4l2-dbg</application> | ||
101 | utility over calling this ioctl directly. It is available from the | ||
102 | LinuxTV v4l-dvb repository; see <ulink | ||
103 | url="http://linuxtv.org/repo/">http://linuxtv.org/repo/</ulink> for | ||
104 | access instructions.</para> | ||
105 | |||
106 | <!-- Note for convenience vidioc-dbg-g-register.sgml | ||
107 | contains a duplicate of this table. --> | ||
108 | <table pgwide="1" frame="none" id="name-v4l2-dbg-match"> | ||
109 | <title>struct <structname>v4l2_dbg_match</structname></title> | ||
110 | <tgroup cols="4"> | ||
111 | &cs-ustr; | ||
112 | <tbody valign="top"> | ||
113 | <row> | ||
114 | <entry>__u32</entry> | ||
115 | <entry><structfield>type</structfield></entry> | ||
116 | <entry>See <xref linkend="name-chip-match-types" /> for a list of | ||
117 | possible types.</entry> | ||
118 | </row> | ||
119 | <row> | ||
120 | <entry>union</entry> | ||
121 | <entry>(anonymous)</entry> | ||
122 | </row> | ||
123 | <row> | ||
124 | <entry></entry> | ||
125 | <entry>__u32</entry> | ||
126 | <entry><structfield>addr</structfield></entry> | ||
127 | <entry>Match a chip by this number, interpreted according | ||
128 | to the <structfield>type</structfield> field.</entry> | ||
129 | </row> | ||
130 | <row> | ||
131 | <entry></entry> | ||
132 | <entry>char</entry> | ||
133 | <entry><structfield>name[32]</structfield></entry> | ||
134 | <entry>Match a chip by this name, interpreted according | ||
135 | to the <structfield>type</structfield> field.</entry> | ||
136 | </row> | ||
137 | </tbody> | ||
138 | </tgroup> | ||
139 | </table> | ||
140 | |||
141 | <table pgwide="1" frame="none" id="v4l2-dbg-chip-info"> | ||
142 | <title>struct <structname>v4l2_dbg_chip_info</structname></title> | ||
143 | <tgroup cols="3"> | ||
144 | &cs-str; | ||
145 | <tbody valign="top"> | ||
146 | <row> | ||
147 | <entry>struct v4l2_dbg_match</entry> | ||
148 | <entry><structfield>match</structfield></entry> | ||
149 | <entry>How to match the chip, see <xref linkend="name-v4l2-dbg-match" />.</entry> | ||
150 | </row> | ||
151 | <row> | ||
152 | <entry>char</entry> | ||
153 | <entry><structfield>name[32]</structfield></entry> | ||
154 | <entry>The name of the chip.</entry> | ||
155 | </row> | ||
156 | <row> | ||
157 | <entry>__u32</entry> | ||
158 | <entry><structfield>flags</structfield></entry> | ||
159 | <entry>Set by the driver. If <constant>V4L2_CHIP_FL_READABLE</constant> | ||
160 | is set, then the driver supports reading registers from the device. If | ||
161 | <constant>V4L2_CHIP_FL_WRITABLE</constant> is set, then it supports writing registers.</entry> | ||
162 | </row> | ||
163 | <row> | ||
164 | <entry>__u32</entry> | ||
165 | <entry><structfield>reserved[8]</structfield></entry> | ||
166 | <entry>Reserved fields, both application and driver must set these to 0.</entry> | ||
167 | </row> | ||
168 | </tbody> | ||
169 | </tgroup> | ||
170 | </table> | ||
171 | |||
172 | <!-- Note for convenience vidioc-dbg-g-register.sgml | ||
173 | contains a duplicate of this table. --> | ||
174 | <table pgwide="1" frame="none" id="name-chip-match-types"> | ||
175 | <title>Chip Match Types</title> | ||
176 | <tgroup cols="3"> | ||
177 | &cs-def; | ||
178 | <tbody valign="top"> | ||
179 | <row> | ||
180 | <entry><constant>V4L2_CHIP_MATCH_BRIDGE</constant></entry> | ||
181 | <entry>0</entry> | ||
182 | <entry>Match the nth chip on the card, zero for the | ||
183 | bridge chip. Does not match sub-devices.</entry> | ||
184 | </row> | ||
185 | <row> | ||
186 | <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry> | ||
187 | <entry>1</entry> | ||
188 | <entry>Match an &i2c; chip by its driver name. Can't be used with this ioctl.</entry> | ||
189 | </row> | ||
190 | <row> | ||
191 | <entry><constant>V4L2_CHIP_MATCH_I2C_ADDR</constant></entry> | ||
192 | <entry>2</entry> | ||
193 | <entry>Match a chip by its 7 bit &i2c; bus address. Can't be used with this ioctl.</entry> | ||
194 | </row> | ||
195 | <row> | ||
196 | <entry><constant>V4L2_CHIP_MATCH_AC97</constant></entry> | ||
197 | <entry>3</entry> | ||
198 | <entry>Match the nth anciliary AC97 chip. Can't be used with this ioctl.</entry> | ||
199 | </row> | ||
200 | <row> | ||
201 | <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry> | ||
202 | <entry>4</entry> | ||
203 | <entry>Match the nth sub-device.</entry> | ||
204 | </row> | ||
205 | </tbody> | ||
206 | </tgroup> | ||
207 | </table> | ||
208 | </refsect1> | ||
209 | |||
210 | <refsect1> | ||
211 | &return-value; | ||
212 | |||
213 | <variablelist> | ||
214 | <varlistentry> | ||
215 | <term><errorcode>EINVAL</errorcode></term> | ||
216 | <listitem> | ||
217 | <para>The <structfield>match_type</structfield> is invalid or | ||
218 | no device could be matched.</para> | ||
219 | </listitem> | ||
220 | </varlistentry> | ||
221 | </variablelist> | ||
222 | </refsect1> | ||
223 | </refentry> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml index a44aebc7997a..d13bac9e2445 100644 --- a/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml +++ b/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml | |||
@@ -87,7 +87,7 @@ written into the register.</para> | |||
87 | 87 | ||
88 | <para>To read a register applications must initialize the | 88 | <para>To read a register applications must initialize the |
89 | <structfield>match.type</structfield>, | 89 | <structfield>match.type</structfield>, |
90 | <structfield>match.chip</structfield> or <structfield>match.name</structfield> and | 90 | <structfield>match.addr</structfield> or <structfield>match.name</structfield> and |
91 | <structfield>reg</structfield> fields, and call | 91 | <structfield>reg</structfield> fields, and call |
92 | <constant>VIDIOC_DBG_G_REGISTER</constant> with a pointer to this | 92 | <constant>VIDIOC_DBG_G_REGISTER</constant> with a pointer to this |
93 | structure. On success the driver stores the register value in the | 93 | structure. On success the driver stores the register value in the |
@@ -95,11 +95,11 @@ structure. On success the driver stores the register value in the | |||
95 | unchanged.</para> | 95 | unchanged.</para> |
96 | 96 | ||
97 | <para>When <structfield>match.type</structfield> is | 97 | <para>When <structfield>match.type</structfield> is |
98 | <constant>V4L2_CHIP_MATCH_HOST</constant>, | 98 | <constant>V4L2_CHIP_MATCH_BRIDGE</constant>, |
99 | <structfield>match.addr</structfield> selects the nth non-&i2c; chip | 99 | <structfield>match.addr</structfield> selects the nth non-sub-device chip |
100 | on the TV card. The number zero always selects the host chip, ⪚ the | 100 | on the TV card. The number zero always selects the host chip, ⪚ the |
101 | chip connected to the PCI or USB bus. You can find out which chips are | 101 | chip connected to the PCI or USB bus. You can find out which chips are |
102 | present with the &VIDIOC-DBG-G-CHIP-IDENT; ioctl.</para> | 102 | present with the &VIDIOC-DBG-G-CHIP-INFO; ioctl.</para> |
103 | 103 | ||
104 | <para>When <structfield>match.type</structfield> is | 104 | <para>When <structfield>match.type</structfield> is |
105 | <constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant>, | 105 | <constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant>, |
@@ -109,7 +109,7 @@ For instance | |||
109 | supported by the saa7127 driver, regardless of its &i2c; bus address. | 109 | supported by the saa7127 driver, regardless of its &i2c; bus address. |
110 | When multiple chips supported by the same driver are present, the | 110 | When multiple chips supported by the same driver are present, the |
111 | effect of these ioctls is undefined. Again with the | 111 | effect of these ioctls is undefined. Again with the |
112 | &VIDIOC-DBG-G-CHIP-IDENT; ioctl you can find out which &i2c; chips are | 112 | &VIDIOC-DBG-G-CHIP-INFO; ioctl you can find out which &i2c; chips are |
113 | present.</para> | 113 | present.</para> |
114 | 114 | ||
115 | <para>When <structfield>match.type</structfield> is | 115 | <para>When <structfield>match.type</structfield> is |
@@ -122,19 +122,23 @@ bus address.</para> | |||
122 | <structfield>match.addr</structfield> selects the nth AC97 chip | 122 | <structfield>match.addr</structfield> selects the nth AC97 chip |
123 | on the TV card.</para> | 123 | on the TV card.</para> |
124 | 124 | ||
125 | <para>When <structfield>match.type</structfield> is | ||
126 | <constant>V4L2_CHIP_MATCH_SUBDEV</constant>, | ||
127 | <structfield>match.addr</structfield> selects the nth sub-device.</para> | ||
128 | |||
125 | <note> | 129 | <note> |
126 | <title>Success not guaranteed</title> | 130 | <title>Success not guaranteed</title> |
127 | 131 | ||
128 | <para>Due to a flaw in the Linux &i2c; bus driver these ioctls may | 132 | <para>Due to a flaw in the Linux &i2c; bus driver these ioctls may |
129 | return successfully without actually reading or writing a register. To | 133 | return successfully without actually reading or writing a register. To |
130 | catch the most likely failure we recommend a &VIDIOC-DBG-G-CHIP-IDENT; | 134 | catch the most likely failure we recommend a &VIDIOC-DBG-G-CHIP-INFO; |
131 | call confirming the presence of the selected &i2c; chip.</para> | 135 | call confirming the presence of the selected &i2c; chip.</para> |
132 | </note> | 136 | </note> |
133 | 137 | ||
134 | <para>These ioctls are optional, not all drivers may support them. | 138 | <para>These ioctls are optional, not all drivers may support them. |
135 | However when a driver supports these ioctls it must also support | 139 | However when a driver supports these ioctls it must also support |
136 | &VIDIOC-DBG-G-CHIP-IDENT;. Conversely it may support | 140 | &VIDIOC-DBG-G-CHIP-INFO;. Conversely it may support |
137 | <constant>VIDIOC_DBG_G_CHIP_IDENT</constant> but not these ioctls.</para> | 141 | <constant>VIDIOC_DBG_G_CHIP_INFO</constant> but not these ioctls.</para> |
138 | 142 | ||
139 | <para><constant>VIDIOC_DBG_G_REGISTER</constant> and | 143 | <para><constant>VIDIOC_DBG_G_REGISTER</constant> and |
140 | <constant>VIDIOC_DBG_S_REGISTER</constant> were introduced in Linux | 144 | <constant>VIDIOC_DBG_S_REGISTER</constant> were introduced in Linux |
@@ -217,10 +221,10 @@ register.</entry> | |||
217 | &cs-def; | 221 | &cs-def; |
218 | <tbody valign="top"> | 222 | <tbody valign="top"> |
219 | <row> | 223 | <row> |
220 | <entry><constant>V4L2_CHIP_MATCH_HOST</constant></entry> | 224 | <entry><constant>V4L2_CHIP_MATCH_BRIDGE</constant></entry> |
221 | <entry>0</entry> | 225 | <entry>0</entry> |
222 | <entry>Match the nth chip on the card, zero for the | 226 | <entry>Match the nth chip on the card, zero for the |
223 | host chip. Does not match &i2c; chips.</entry> | 227 | bridge chip. Does not match sub-devices.</entry> |
224 | </row> | 228 | </row> |
225 | <row> | 229 | <row> |
226 | <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry> | 230 | <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry> |
@@ -237,6 +241,11 @@ register.</entry> | |||
237 | <entry>3</entry> | 241 | <entry>3</entry> |
238 | <entry>Match the nth anciliary AC97 chip.</entry> | 242 | <entry>Match the nth anciliary AC97 chip.</entry> |
239 | </row> | 243 | </row> |
244 | <row> | ||
245 | <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry> | ||
246 | <entry>4</entry> | ||
247 | <entry>Match the nth sub-device.</entry> | ||
248 | </row> | ||
240 | </tbody> | 249 | </tbody> |
241 | </tgroup> | 250 | </tgroup> |
242 | </table> | 251 | </table> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml b/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml deleted file mode 100644 index fced5fb0dbf0..000000000000 --- a/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml +++ /dev/null | |||
@@ -1,240 +0,0 @@ | |||
1 | <refentry id="vidioc-enum-dv-presets"> | ||
2 | <refmeta> | ||
3 | <refentrytitle>ioctl VIDIOC_ENUM_DV_PRESETS</refentrytitle> | ||
4 | &manvol; | ||
5 | </refmeta> | ||
6 | |||
7 | <refnamediv> | ||
8 | <refname>VIDIOC_ENUM_DV_PRESETS</refname> | ||
9 | <refpurpose>Enumerate supported Digital Video presets</refpurpose> | ||
10 | </refnamediv> | ||
11 | |||
12 | <refsynopsisdiv> | ||
13 | <funcsynopsis> | ||
14 | <funcprototype> | ||
15 | <funcdef>int <function>ioctl</function></funcdef> | ||
16 | <paramdef>int <parameter>fd</parameter></paramdef> | ||
17 | <paramdef>int <parameter>request</parameter></paramdef> | ||
18 | <paramdef>struct v4l2_dv_enum_preset *<parameter>argp</parameter></paramdef> | ||
19 | </funcprototype> | ||
20 | </funcsynopsis> | ||
21 | </refsynopsisdiv> | ||
22 | |||
23 | <refsect1> | ||
24 | <title>Arguments</title> | ||
25 | |||
26 | <variablelist> | ||
27 | <varlistentry> | ||
28 | <term><parameter>fd</parameter></term> | ||
29 | <listitem> | ||
30 | <para>&fd;</para> | ||
31 | </listitem> | ||
32 | </varlistentry> | ||
33 | <varlistentry> | ||
34 | <term><parameter>request</parameter></term> | ||
35 | <listitem> | ||
36 | <para>VIDIOC_ENUM_DV_PRESETS</para> | ||
37 | </listitem> | ||
38 | </varlistentry> | ||
39 | <varlistentry> | ||
40 | <term><parameter>argp</parameter></term> | ||
41 | <listitem> | ||
42 | <para></para> | ||
43 | </listitem> | ||
44 | </varlistentry> | ||
45 | </variablelist> | ||
46 | </refsect1> | ||
47 | |||
48 | <refsect1> | ||
49 | <title>Description</title> | ||
50 | |||
51 | <para>This ioctl is <emphasis role="bold">deprecated</emphasis>. | ||
52 | New drivers and applications should use &VIDIOC-ENUM-DV-TIMINGS; instead. | ||
53 | </para> | ||
54 | |||
55 | <para>To query the attributes of a DV preset, applications initialize the | ||
56 | <structfield>index</structfield> field and zero the reserved array of &v4l2-dv-enum-preset; | ||
57 | and call the <constant>VIDIOC_ENUM_DV_PRESETS</constant> ioctl with a pointer to this | ||
58 | structure. Drivers fill the rest of the structure or return an | ||
59 | &EINVAL; when the index is out of bounds. To enumerate all DV Presets supported, | ||
60 | applications shall begin at index zero, incrementing by one until the | ||
61 | driver returns <errorcode>EINVAL</errorcode>. Drivers may enumerate a | ||
62 | different set of DV presets after switching the video input or | ||
63 | output.</para> | ||
64 | |||
65 | <table pgwide="1" frame="none" id="v4l2-dv-enum-preset"> | ||
66 | <title>struct <structname>v4l2_dv_enum_presets</structname></title> | ||
67 | <tgroup cols="3"> | ||
68 | &cs-str; | ||
69 | <tbody valign="top"> | ||
70 | <row> | ||
71 | <entry>__u32</entry> | ||
72 | <entry><structfield>index</structfield></entry> | ||
73 | <entry>Number of the DV preset, set by the | ||
74 | application.</entry> | ||
75 | </row> | ||
76 | <row> | ||
77 | <entry>__u32</entry> | ||
78 | <entry><structfield>preset</structfield></entry> | ||
79 | <entry>This field identifies one of the DV preset values listed in <xref linkend="v4l2-dv-presets-vals"/>.</entry> | ||
80 | </row> | ||
81 | <row> | ||
82 | <entry>__u8</entry> | ||
83 | <entry><structfield>name</structfield>[24]</entry> | ||
84 | <entry>Name of the preset, a NUL-terminated ASCII string, for example: "720P-60", "1080I-60". This information is | ||
85 | intended for the user.</entry> | ||
86 | </row> | ||
87 | <row> | ||
88 | <entry>__u32</entry> | ||
89 | <entry><structfield>width</structfield></entry> | ||
90 | <entry>Width of the active video in pixels for the DV preset.</entry> | ||
91 | </row> | ||
92 | <row> | ||
93 | <entry>__u32</entry> | ||
94 | <entry><structfield>height</structfield></entry> | ||
95 | <entry>Height of the active video in lines for the DV preset.</entry> | ||
96 | </row> | ||
97 | <row> | ||
98 | <entry>__u32</entry> | ||
99 | <entry><structfield>reserved</structfield>[4]</entry> | ||
100 | <entry>Reserved for future extensions. Drivers must set the array to zero.</entry> | ||
101 | </row> | ||
102 | </tbody> | ||
103 | </tgroup> | ||
104 | </table> | ||
105 | |||
106 | <table pgwide="1" frame="none" id="v4l2-dv-presets-vals"> | ||
107 | <title>struct <structname>DV Presets</structname></title> | ||
108 | <tgroup cols="3"> | ||
109 | &cs-str; | ||
110 | <tbody valign="top"> | ||
111 | <row> | ||
112 | <entry>Preset</entry> | ||
113 | <entry>Preset value</entry> | ||
114 | <entry>Description</entry> | ||
115 | </row> | ||
116 | <row> | ||
117 | <entry></entry> | ||
118 | <entry></entry> | ||
119 | <entry></entry> | ||
120 | </row> | ||
121 | <row> | ||
122 | <entry>V4L2_DV_INVALID</entry> | ||
123 | <entry>0</entry> | ||
124 | <entry>Invalid preset value.</entry> | ||
125 | </row> | ||
126 | <row> | ||
127 | <entry>V4L2_DV_480P59_94</entry> | ||
128 | <entry>1</entry> | ||
129 | <entry>720x480 progressive video at 59.94 fps as per BT.1362.</entry> | ||
130 | </row> | ||
131 | <row> | ||
132 | <entry>V4L2_DV_576P50</entry> | ||
133 | <entry>2</entry> | ||
134 | <entry>720x576 progressive video at 50 fps as per BT.1362.</entry> | ||
135 | </row> | ||
136 | <row> | ||
137 | <entry>V4L2_DV_720P24</entry> | ||
138 | <entry>3</entry> | ||
139 | <entry>1280x720 progressive video at 24 fps as per SMPTE 296M.</entry> | ||
140 | </row> | ||
141 | <row> | ||
142 | <entry>V4L2_DV_720P25</entry> | ||
143 | <entry>4</entry> | ||
144 | <entry>1280x720 progressive video at 25 fps as per SMPTE 296M.</entry> | ||
145 | </row> | ||
146 | <row> | ||
147 | <entry>V4L2_DV_720P30</entry> | ||
148 | <entry>5</entry> | ||
149 | <entry>1280x720 progressive video at 30 fps as per SMPTE 296M.</entry> | ||
150 | </row> | ||
151 | <row> | ||
152 | <entry>V4L2_DV_720P50</entry> | ||
153 | <entry>6</entry> | ||
154 | <entry>1280x720 progressive video at 50 fps as per SMPTE 296M.</entry> | ||
155 | </row> | ||
156 | <row> | ||
157 | <entry>V4L2_DV_720P59_94</entry> | ||
158 | <entry>7</entry> | ||
159 | <entry>1280x720 progressive video at 59.94 fps as per SMPTE 274M.</entry> | ||
160 | </row> | ||
161 | <row> | ||
162 | <entry>V4L2_DV_720P60</entry> | ||
163 | <entry>8</entry> | ||
164 | <entry>1280x720 progressive video at 60 fps as per SMPTE 274M/296M.</entry> | ||
165 | </row> | ||
166 | <row> | ||
167 | <entry>V4L2_DV_1080I29_97</entry> | ||
168 | <entry>9</entry> | ||
169 | <entry>1920x1080 interlaced video at 29.97 fps as per BT.1120/SMPTE 274M.</entry> | ||
170 | </row> | ||
171 | <row> | ||
172 | <entry>V4L2_DV_1080I30</entry> | ||
173 | <entry>10</entry> | ||
174 | <entry>1920x1080 interlaced video at 30 fps as per BT.1120/SMPTE 274M.</entry> | ||
175 | </row> | ||
176 | <row> | ||
177 | <entry>V4L2_DV_1080I25</entry> | ||
178 | <entry>11</entry> | ||
179 | <entry>1920x1080 interlaced video at 25 fps as per BT.1120.</entry> | ||
180 | </row> | ||
181 | <row> | ||
182 | <entry>V4L2_DV_1080I50</entry> | ||
183 | <entry>12</entry> | ||
184 | <entry>1920x1080 interlaced video at 50 fps as per SMPTE 296M.</entry> | ||
185 | </row> | ||
186 | <row> | ||
187 | <entry>V4L2_DV_1080I60</entry> | ||
188 | <entry>13</entry> | ||
189 | <entry>1920x1080 interlaced video at 60 fps as per SMPTE 296M.</entry> | ||
190 | </row> | ||
191 | <row> | ||
192 | <entry>V4L2_DV_1080P24</entry> | ||
193 | <entry>14</entry> | ||
194 | <entry>1920x1080 progressive video at 24 fps as per SMPTE 296M.</entry> | ||
195 | </row> | ||
196 | <row> | ||
197 | <entry>V4L2_DV_1080P25</entry> | ||
198 | <entry>15</entry> | ||
199 | <entry>1920x1080 progressive video at 25 fps as per SMPTE 296M.</entry> | ||
200 | </row> | ||
201 | <row> | ||
202 | <entry>V4L2_DV_1080P30</entry> | ||
203 | <entry>16</entry> | ||
204 | <entry>1920x1080 progressive video at 30 fps as per SMPTE 296M.</entry> | ||
205 | </row> | ||
206 | <row> | ||
207 | <entry>V4L2_DV_1080P50</entry> | ||
208 | <entry>17</entry> | ||
209 | <entry>1920x1080 progressive video at 50 fps as per BT.1120.</entry> | ||
210 | </row> | ||
211 | <row> | ||
212 | <entry>V4L2_DV_1080P60</entry> | ||
213 | <entry>18</entry> | ||
214 | <entry>1920x1080 progressive video at 60 fps as per BT.1120.</entry> | ||
215 | </row> | ||
216 | </tbody> | ||
217 | </tgroup> | ||
218 | </table> | ||
219 | </refsect1> | ||
220 | |||
221 | <refsect1> | ||
222 | &return-value; | ||
223 | |||
224 | <variablelist> | ||
225 | <varlistentry> | ||
226 | <term><errorcode>EINVAL</errorcode></term> | ||
227 | <listitem> | ||
228 | <para>The &v4l2-dv-enum-preset; <structfield>index</structfield> | ||
229 | is out of bounds.</para> | ||
230 | </listitem> | ||
231 | </varlistentry> | ||
232 | <varlistentry> | ||
233 | <term><errorcode>ENODATA</errorcode></term> | ||
234 | <listitem> | ||
235 | <para>Digital video presets are not supported for this input or output.</para> | ||
236 | </listitem> | ||
237 | </varlistentry> | ||
238 | </variablelist> | ||
239 | </refsect1> | ||
240 | </refentry> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-enuminput.xml b/Documentation/DocBook/media/v4l/vidioc-enuminput.xml index 3c9a81305ad4..493a39a8ef21 100644 --- a/Documentation/DocBook/media/v4l/vidioc-enuminput.xml +++ b/Documentation/DocBook/media/v4l/vidioc-enuminput.xml | |||
@@ -278,11 +278,6 @@ input/output interface to linux-media@vger.kernel.org on 19 Oct 2009. | |||
278 | &cs-def; | 278 | &cs-def; |
279 | <tbody valign="top"> | 279 | <tbody valign="top"> |
280 | <row> | 280 | <row> |
281 | <entry><constant>V4L2_IN_CAP_PRESETS</constant></entry> | ||
282 | <entry>0x00000001</entry> | ||
283 | <entry>This input supports setting DV presets by using VIDIOC_S_DV_PRESET.</entry> | ||
284 | </row> | ||
285 | <row> | ||
286 | <entry><constant>V4L2_IN_CAP_DV_TIMINGS</constant></entry> | 281 | <entry><constant>V4L2_IN_CAP_DV_TIMINGS</constant></entry> |
287 | <entry>0x00000002</entry> | 282 | <entry>0x00000002</entry> |
288 | <entry>This input supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry> | 283 | <entry>This input supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml b/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml index f4ab0798545d..2654e097df39 100644 --- a/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml +++ b/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml | |||
@@ -163,11 +163,6 @@ input/output interface to linux-media@vger.kernel.org on 19 Oct 2009. | |||
163 | &cs-def; | 163 | &cs-def; |
164 | <tbody valign="top"> | 164 | <tbody valign="top"> |
165 | <row> | 165 | <row> |
166 | <entry><constant>V4L2_OUT_CAP_PRESETS</constant></entry> | ||
167 | <entry>0x00000001</entry> | ||
168 | <entry>This output supports setting DV presets by using VIDIOC_S_DV_PRESET.</entry> | ||
169 | </row> | ||
170 | <row> | ||
171 | <entry><constant>V4L2_OUT_CAP_DV_TIMINGS</constant></entry> | 166 | <entry><constant>V4L2_OUT_CAP_DV_TIMINGS</constant></entry> |
172 | <entry>0x00000002</entry> | 167 | <entry>0x00000002</entry> |
173 | <entry>This output supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry> | 168 | <entry>This output supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml b/Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml deleted file mode 100644 index b9ea37634f6c..000000000000 --- a/Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml +++ /dev/null | |||
@@ -1,113 +0,0 @@ | |||
1 | <refentry id="vidioc-g-dv-preset"> | ||
2 | <refmeta> | ||
3 | <refentrytitle>ioctl VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET</refentrytitle> | ||
4 | &manvol; | ||
5 | </refmeta> | ||
6 | |||
7 | <refnamediv> | ||
8 | <refname>VIDIOC_G_DV_PRESET</refname> | ||
9 | <refname>VIDIOC_S_DV_PRESET</refname> | ||
10 | <refpurpose>Query or select the DV preset of the current input or output</refpurpose> | ||
11 | </refnamediv> | ||
12 | |||
13 | <refsynopsisdiv> | ||
14 | <funcsynopsis> | ||
15 | <funcprototype> | ||
16 | <funcdef>int <function>ioctl</function></funcdef> | ||
17 | <paramdef>int <parameter>fd</parameter></paramdef> | ||
18 | <paramdef>int <parameter>request</parameter></paramdef> | ||
19 | <paramdef>struct v4l2_dv_preset *<parameter>argp</parameter></paramdef> | ||
20 | </funcprototype> | ||
21 | </funcsynopsis> | ||
22 | </refsynopsisdiv> | ||
23 | |||
24 | <refsect1> | ||
25 | <title>Arguments</title> | ||
26 | |||
27 | <variablelist> | ||
28 | <varlistentry> | ||
29 | <term><parameter>fd</parameter></term> | ||
30 | <listitem> | ||
31 | <para>&fd;</para> | ||
32 | </listitem> | ||
33 | </varlistentry> | ||
34 | <varlistentry> | ||
35 | <term><parameter>request</parameter></term> | ||
36 | <listitem> | ||
37 | <para>VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET</para> | ||
38 | </listitem> | ||
39 | </varlistentry> | ||
40 | <varlistentry> | ||
41 | <term><parameter>argp</parameter></term> | ||
42 | <listitem> | ||
43 | <para></para> | ||
44 | </listitem> | ||
45 | </varlistentry> | ||
46 | </variablelist> | ||
47 | </refsect1> | ||
48 | |||
49 | <refsect1> | ||
50 | <title>Description</title> | ||
51 | |||
52 | <para>These ioctls are <emphasis role="bold">deprecated</emphasis>. | ||
53 | New drivers and applications should use &VIDIOC-G-DV-TIMINGS; and &VIDIOC-S-DV-TIMINGS; | ||
54 | instead. | ||
55 | </para> | ||
56 | |||
57 | <para>To query and select the current DV preset, applications | ||
58 | use the <constant>VIDIOC_G_DV_PRESET</constant> and <constant>VIDIOC_S_DV_PRESET</constant> | ||
59 | ioctls which take a pointer to a &v4l2-dv-preset; type as argument. | ||
60 | Applications must zero the reserved array in &v4l2-dv-preset;. | ||
61 | <constant>VIDIOC_G_DV_PRESET</constant> returns a dv preset in the field | ||
62 | <structfield>preset</structfield> of &v4l2-dv-preset;.</para> | ||
63 | |||
64 | <para><constant>VIDIOC_S_DV_PRESET</constant> accepts a pointer to a &v4l2-dv-preset; | ||
65 | that has the preset value to be set. Applications must zero the reserved array in &v4l2-dv-preset;. | ||
66 | If the preset is not supported, it returns an &EINVAL; </para> | ||
67 | </refsect1> | ||
68 | |||
69 | <refsect1> | ||
70 | &return-value; | ||
71 | |||
72 | <variablelist> | ||
73 | <varlistentry> | ||
74 | <term><errorcode>EINVAL</errorcode></term> | ||
75 | <listitem> | ||
76 | <para>This ioctl is not supported, or the | ||
77 | <constant>VIDIOC_S_DV_PRESET</constant>,<constant>VIDIOC_S_DV_PRESET</constant> parameter was unsuitable.</para> | ||
78 | </listitem> | ||
79 | </varlistentry> | ||
80 | <varlistentry> | ||
81 | <term><errorcode>ENODATA</errorcode></term> | ||
82 | <listitem> | ||
83 | <para>Digital video presets are not supported for this input or output.</para> | ||
84 | </listitem> | ||
85 | </varlistentry> | ||
86 | <varlistentry> | ||
87 | <term><errorcode>EBUSY</errorcode></term> | ||
88 | <listitem> | ||
89 | <para>The device is busy and therefore can not change the preset.</para> | ||
90 | </listitem> | ||
91 | </varlistentry> | ||
92 | </variablelist> | ||
93 | |||
94 | <table pgwide="1" frame="none" id="v4l2-dv-preset"> | ||
95 | <title>struct <structname>v4l2_dv_preset</structname></title> | ||
96 | <tgroup cols="3"> | ||
97 | &cs-str; | ||
98 | <tbody valign="top"> | ||
99 | <row> | ||
100 | <entry>__u32</entry> | ||
101 | <entry><structfield>preset</structfield></entry> | ||
102 | <entry>Preset value to represent the digital video timings</entry> | ||
103 | </row> | ||
104 | <row> | ||
105 | <entry>__u32</entry> | ||
106 | <entry><structfield>reserved[4]</structfield></entry> | ||
107 | <entry>Reserved fields for future use</entry> | ||
108 | </row> | ||
109 | </tbody> | ||
110 | </tgroup> | ||
111 | </table> | ||
112 | </refsect1> | ||
113 | </refentry> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml index 4e16112df992..b3bb9575b2e0 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml | |||
@@ -319,6 +319,15 @@ These controls are described in <xref | |||
319 | processing controls. These controls are described in <xref | 319 | processing controls. These controls are described in <xref |
320 | linkend="image-process-controls" />.</entry> | 320 | linkend="image-process-controls" />.</entry> |
321 | </row> | 321 | </row> |
322 | |||
323 | <row> | ||
324 | <entry><constant>V4L2_CTRL_CLASS_FM_RX</constant></entry> | ||
325 | <entry>0xa10000</entry> | ||
326 | <entry>The class containing FM Receiver (FM RX) controls. | ||
327 | These controls are described in <xref | ||
328 | linkend="fm-rx-controls" />.</entry> | ||
329 | </row> | ||
330 | |||
322 | </tbody> | 331 | </tbody> |
323 | </tgroup> | 332 | </tgroup> |
324 | </table> | 333 | </table> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml b/Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml deleted file mode 100644 index 68b49d09e245..000000000000 --- a/Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | <refentry id="vidioc-query-dv-preset"> | ||
2 | <refmeta> | ||
3 | <refentrytitle>ioctl VIDIOC_QUERY_DV_PRESET</refentrytitle> | ||
4 | &manvol; | ||
5 | </refmeta> | ||
6 | |||
7 | <refnamediv> | ||
8 | <refname>VIDIOC_QUERY_DV_PRESET</refname> | ||
9 | <refpurpose>Sense the DV preset received by the current | ||
10 | input</refpurpose> | ||
11 | </refnamediv> | ||
12 | |||
13 | <refsynopsisdiv> | ||
14 | <funcsynopsis> | ||
15 | <funcprototype> | ||
16 | <funcdef>int <function>ioctl</function></funcdef> | ||
17 | <paramdef>int <parameter>fd</parameter></paramdef> | ||
18 | <paramdef>int <parameter>request</parameter></paramdef> | ||
19 | <paramdef>struct v4l2_dv_preset *<parameter>argp</parameter></paramdef> | ||
20 | </funcprototype> | ||
21 | </funcsynopsis> | ||
22 | </refsynopsisdiv> | ||
23 | |||
24 | <refsect1> | ||
25 | <title>Arguments</title> | ||
26 | |||
27 | <variablelist> | ||
28 | <varlistentry> | ||
29 | <term><parameter>fd</parameter></term> | ||
30 | <listitem> | ||
31 | <para>&fd;</para> | ||
32 | </listitem> | ||
33 | </varlistentry> | ||
34 | <varlistentry> | ||
35 | <term><parameter>request</parameter></term> | ||
36 | <listitem> | ||
37 | <para>VIDIOC_QUERY_DV_PRESET</para> | ||
38 | </listitem> | ||
39 | </varlistentry> | ||
40 | <varlistentry> | ||
41 | <term><parameter>argp</parameter></term> | ||
42 | <listitem> | ||
43 | <para></para> | ||
44 | </listitem> | ||
45 | </varlistentry> | ||
46 | </variablelist> | ||
47 | </refsect1> | ||
48 | |||
49 | <refsect1> | ||
50 | <title>Description</title> | ||
51 | |||
52 | <para>This ioctl is <emphasis role="bold">deprecated</emphasis>. | ||
53 | New drivers and applications should use &VIDIOC-QUERY-DV-TIMINGS; instead. | ||
54 | </para> | ||
55 | |||
56 | <para>The hardware may be able to detect the current DV preset | ||
57 | automatically, similar to sensing the video standard. To do so, applications | ||
58 | call <constant> VIDIOC_QUERY_DV_PRESET</constant> with a pointer to a | ||
59 | &v4l2-dv-preset; type. Once the hardware detects a preset, that preset is | ||
60 | returned in the preset field of &v4l2-dv-preset;. If the preset could not be | ||
61 | detected because there was no signal, or the signal was unreliable, or the | ||
62 | signal did not map to a supported preset, then the value V4L2_DV_INVALID is | ||
63 | returned.</para> | ||
64 | </refsect1> | ||
65 | |||
66 | <refsect1> | ||
67 | &return-value; | ||
68 | |||
69 | <variablelist> | ||
70 | <varlistentry> | ||
71 | <term><errorcode>ENODATA</errorcode></term> | ||
72 | <listitem> | ||
73 | <para>Digital video presets are not supported for this input or output.</para> | ||
74 | </listitem> | ||
75 | </varlistentry> | ||
76 | </variablelist> | ||
77 | </refsect1> | ||
78 | </refentry> | ||
diff --git a/Documentation/DocBook/media_api.tmpl b/Documentation/DocBook/media_api.tmpl index 1f6593deb995..6a8b7158697f 100644 --- a/Documentation/DocBook/media_api.tmpl +++ b/Documentation/DocBook/media_api.tmpl | |||
@@ -23,6 +23,7 @@ | |||
23 | <!-- LinuxTV v4l-dvb repository. --> | 23 | <!-- LinuxTV v4l-dvb repository. --> |
24 | <!ENTITY v4l-dvb "<ulink url='http://linuxtv.org/repo/'>http://linuxtv.org/repo/</ulink>"> | 24 | <!ENTITY v4l-dvb "<ulink url='http://linuxtv.org/repo/'>http://linuxtv.org/repo/</ulink>"> |
25 | <!ENTITY dash-ent-10 "<entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry>"> | 25 | <!ENTITY dash-ent-10 "<entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry>"> |
26 | <!ENTITY dash-ent-16 "<entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry>"> | ||
26 | ]> | 27 | ]> |
27 | 28 | ||
28 | <book id="media_api"> | 29 | <book id="media_api"> |
diff --git a/Documentation/devicetree/bindings/media/exynos-fimc-lite.txt b/Documentation/devicetree/bindings/media/exynos-fimc-lite.txt new file mode 100644 index 000000000000..3f62adfb3e0b --- /dev/null +++ b/Documentation/devicetree/bindings/media/exynos-fimc-lite.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | Exynos4x12/Exynos5 SoC series camera host interface (FIMC-LITE) | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : should be "samsung,exynos4212-fimc" for Exynos4212 and | ||
6 | Exynos4412 SoCs; | ||
7 | - reg : physical base address and size of the device memory mapped | ||
8 | registers; | ||
9 | - interrupts : should contain FIMC-LITE interrupt; | ||
10 | - clocks : FIMC LITE gate clock should be specified in this property. | ||
11 | - clock-names : should contain "flite" entry. | ||
12 | |||
13 | Each FIMC device should have an alias in the aliases node, in the form of | ||
14 | fimc-lite<n>, where <n> is an integer specifying the IP block instance. | ||
diff --git a/Documentation/devicetree/bindings/media/exynos4-fimc-is.txt b/Documentation/devicetree/bindings/media/exynos4-fimc-is.txt new file mode 100644 index 000000000000..55c9ad6f9599 --- /dev/null +++ b/Documentation/devicetree/bindings/media/exynos4-fimc-is.txt | |||
@@ -0,0 +1,49 @@ | |||
1 | Exynos4x12 SoC series Imaging Subsystem (FIMC-IS) | ||
2 | |||
3 | The FIMC-IS is a subsystem for processing image signal from an image sensor. | ||
4 | The Exynos4x12 SoC series FIMC-IS V1.5 comprises of a dedicated ARM Cortex-A5 | ||
5 | processor, ISP, DRC and FD IP blocks and peripheral devices such as UART, I2C | ||
6 | and SPI bus controllers, PWM and ADC. | ||
7 | |||
8 | fimc-is node | ||
9 | ------------ | ||
10 | |||
11 | Required properties: | ||
12 | - compatible : should be "samsung,exynos4212-fimc-is" for Exynos4212 and | ||
13 | Exynos4412 SoCs; | ||
14 | - reg : physical base address and length of the registers set; | ||
15 | - interrupts : must contain two FIMC-IS interrupts, in order: ISP0, ISP1; | ||
16 | - clocks : list of clock specifiers, corresponding to entries in | ||
17 | clock-names property; | ||
18 | - clock-names : must contain "ppmuispx", "ppmuispx", "lite0", "lite1" | ||
19 | "mpll", "sysreg", "isp", "drc", "fd", "mcuisp", "uart", | ||
20 | "ispdiv0", "ispdiv1", "mcuispdiv0", "mcuispdiv1", "aclk200", | ||
21 | "div_aclk200", "aclk400mcuisp", "div_aclk400mcuisp" entries, | ||
22 | matching entries in the clocks property. | ||
23 | pmu subnode | ||
24 | ----------- | ||
25 | |||
26 | Required properties: | ||
27 | - reg : must contain PMU physical base address and size of the register set. | ||
28 | |||
29 | The following are the FIMC-IS peripheral device nodes and can be specified | ||
30 | either standalone or as the fimc-is node child nodes. | ||
31 | |||
32 | i2c-isp (ISP I2C bus controller) nodes | ||
33 | ------------------------------------------ | ||
34 | |||
35 | Required properties: | ||
36 | |||
37 | - compatible : should be "samsung,exynos4212-i2c-isp" for Exynos4212 and | ||
38 | Exynos4412 SoCs; | ||
39 | - reg : physical base address and length of the registers set; | ||
40 | - clocks : must contain gate clock specifier for this controller; | ||
41 | - clock-names : must contain "i2c_isp" entry. | ||
42 | |||
43 | For the above nodes it is required to specify a pinctrl state named "default", | ||
44 | according to the pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt. | ||
45 | |||
46 | Device tree nodes of the image sensors' controlled directly by the FIMC-IS | ||
47 | firmware must be child nodes of their corresponding ISP I2C bus controller node. | ||
48 | The data link of these image sensors must be specified using the common video | ||
49 | interfaces bindings, defined in video-interfaces.txt. | ||
diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt b/Documentation/devicetree/bindings/media/samsung-fimc.txt new file mode 100644 index 000000000000..51c776b7f7a3 --- /dev/null +++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt | |||
@@ -0,0 +1,197 @@ | |||
1 | Samsung S5P/EXYNOS SoC Camera Subsystem (FIMC) | ||
2 | ---------------------------------------------- | ||
3 | |||
4 | The S5P/Exynos SoC Camera subsystem comprises of multiple sub-devices | ||
5 | represented by separate device tree nodes. Currently this includes: FIMC (in | ||
6 | the S5P SoCs series known as CAMIF), MIPI CSIS, FIMC-LITE and FIMC-IS (ISP). | ||
7 | |||
8 | The sub-subdevices are defined as child nodes of the common 'camera' node which | ||
9 | also includes common properties of the whole subsystem not really specific to | ||
10 | any single sub-device, like common camera port pins or the CAMCLK clock outputs | ||
11 | for external image sensors attached to an SoC. | ||
12 | |||
13 | Common 'camera' node | ||
14 | -------------------- | ||
15 | |||
16 | Required properties: | ||
17 | |||
18 | - compatible : must be "samsung,fimc", "simple-bus" | ||
19 | - clocks : list of clock specifiers, corresponding to entries in | ||
20 | the clock-names property; | ||
21 | - clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0", | ||
22 | "pxl_async1" entries, matching entries in the clocks property. | ||
23 | |||
24 | The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used | ||
25 | to define a required pinctrl state named "default" and optional pinctrl states: | ||
26 | "idle", "active-a", active-b". These optional states can be used to switch the | ||
27 | camera port pinmux at runtime. The "idle" state should configure both the camera | ||
28 | ports A and B into high impedance state, especially the CAMCLK clock output | ||
29 | should be inactive. For the "active-a" state the camera port A must be activated | ||
30 | and the port B deactivated and for the state "active-b" it should be the other | ||
31 | way around. | ||
32 | |||
33 | The 'camera' node must include at least one 'fimc' child node. | ||
34 | |||
35 | 'fimc' device nodes | ||
36 | ------------------- | ||
37 | |||
38 | Required properties: | ||
39 | |||
40 | - compatible: "samsung,s5pv210-fimc" for S5PV210, "samsung,exynos4210-fimc" | ||
41 | for Exynos4210 and "samsung,exynos4212-fimc" for Exynos4x12 SoCs; | ||
42 | - reg: physical base address and length of the registers set for the device; | ||
43 | - interrupts: should contain FIMC interrupt; | ||
44 | - clocks: list of clock specifiers, must contain an entry for each required | ||
45 | entry in clock-names; | ||
46 | - clock-names: must contain "fimc", "sclk_fimc" entries. | ||
47 | - samsung,pix-limits: an array of maximum supported image sizes in pixels, for | ||
48 | details refer to Table 2-1 in the S5PV210 SoC User Manual; The meaning of | ||
49 | each cell is as follows: | ||
50 | 0 - scaler input horizontal size, | ||
51 | 1 - input horizontal size for the scaler bypassed, | ||
52 | 2 - REAL_WIDTH without input rotation, | ||
53 | 3 - REAL_HEIGHT with input rotation, | ||
54 | - samsung,sysreg: a phandle to the SYSREG node. | ||
55 | |||
56 | Each FIMC device should have an alias in the aliases node, in the form of | ||
57 | fimc<n>, where <n> is an integer specifying the IP block instance. | ||
58 | |||
59 | Optional properties: | ||
60 | |||
61 | - clock-frequency: maximum FIMC local clock (LCLK) frequency; | ||
62 | - samsung,min-pix-sizes: an array specyfing minimum image size in pixels at | ||
63 | the FIMC input and output DMA, in the first and second cell respectively. | ||
64 | Default value when this property is not present is <16 16>; | ||
65 | - samsung,min-pix-alignment: minimum supported image height alignment (first | ||
66 | cell) and the horizontal image offset (second cell). The values are in pixels | ||
67 | and default to <2 1> when this property is not present; | ||
68 | - samsung,mainscaler-ext: a boolean property indicating whether the FIMC IP | ||
69 | supports extended image size and has CIEXTEN register; | ||
70 | - samsung,rotators: a bitmask specifying whether this IP has the input and | ||
71 | the output rotator. Bits 4 and 0 correspond to input and output rotator | ||
72 | respectively. If a rotator is present its corresponding bit should be set. | ||
73 | Default value when this property is not specified is 0x11. | ||
74 | - samsung,cam-if: a bolean property indicating whether the IP block includes | ||
75 | the camera input interface. | ||
76 | - samsung,isp-wb: this property must be present if the IP block has the ISP | ||
77 | writeback input. | ||
78 | - samsung,lcd-wb: this property must be present if the IP block has the LCD | ||
79 | writeback input. | ||
80 | |||
81 | |||
82 | 'parallel-ports' node | ||
83 | --------------------- | ||
84 | |||
85 | This node should contain child 'port' nodes specifying active parallel video | ||
86 | input ports. It includes camera A and camera B inputs. 'reg' property in the | ||
87 | port nodes specifies data input - 0, 1 indicates input A, B respectively. | ||
88 | |||
89 | Optional properties | ||
90 | |||
91 | - samsung,camclk-out : specifies clock output for remote sensor, | ||
92 | 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT; | ||
93 | |||
94 | Image sensor nodes | ||
95 | ------------------ | ||
96 | |||
97 | The sensor device nodes should be added to their control bus controller (e.g. | ||
98 | I2C0) nodes and linked to a port node in the csis or the parallel-ports node, | ||
99 | using the common video interfaces bindings, defined in video-interfaces.txt. | ||
100 | The implementation of this bindings requires clock-frequency property to be | ||
101 | present in the sensor device nodes. | ||
102 | |||
103 | Example: | ||
104 | |||
105 | aliases { | ||
106 | fimc0 = &fimc_0; | ||
107 | }; | ||
108 | |||
109 | /* Parallel bus IF sensor */ | ||
110 | i2c_0: i2c@13860000 { | ||
111 | s5k6aa: sensor@3c { | ||
112 | compatible = "samsung,s5k6aafx"; | ||
113 | reg = <0x3c>; | ||
114 | vddio-supply = <...>; | ||
115 | |||
116 | clock-frequency = <24000000>; | ||
117 | clocks = <...>; | ||
118 | clock-names = "mclk"; | ||
119 | |||
120 | port { | ||
121 | s5k6aa_ep: endpoint { | ||
122 | remote-endpoint = <&fimc0_ep>; | ||
123 | bus-width = <8>; | ||
124 | hsync-active = <0>; | ||
125 | vsync-active = <1>; | ||
126 | pclk-sample = <1>; | ||
127 | }; | ||
128 | }; | ||
129 | }; | ||
130 | }; | ||
131 | |||
132 | /* MIPI CSI-2 bus IF sensor */ | ||
133 | s5c73m3: sensor@0x1a { | ||
134 | compatible = "samsung,s5c73m3"; | ||
135 | reg = <0x1a>; | ||
136 | vddio-supply = <...>; | ||
137 | |||
138 | clock-frequency = <24000000>; | ||
139 | clocks = <...>; | ||
140 | clock-names = "mclk"; | ||
141 | |||
142 | port { | ||
143 | s5c73m3_1: endpoint { | ||
144 | data-lanes = <1 2 3 4>; | ||
145 | remote-endpoint = <&csis0_ep>; | ||
146 | }; | ||
147 | }; | ||
148 | }; | ||
149 | |||
150 | camera { | ||
151 | compatible = "samsung,fimc", "simple-bus"; | ||
152 | #address-cells = <1>; | ||
153 | #size-cells = <1>; | ||
154 | status = "okay"; | ||
155 | |||
156 | pinctrl-names = "default"; | ||
157 | pinctrl-0 = <&cam_port_a_clk_active>; | ||
158 | |||
159 | /* parallel camera ports */ | ||
160 | parallel-ports { | ||
161 | /* camera A input */ | ||
162 | port@0 { | ||
163 | reg = <0>; | ||
164 | fimc0_ep: endpoint { | ||
165 | remote-endpoint = <&s5k6aa_ep>; | ||
166 | bus-width = <8>; | ||
167 | hsync-active = <0>; | ||
168 | vsync-active = <1>; | ||
169 | pclk-sample = <1>; | ||
170 | }; | ||
171 | }; | ||
172 | }; | ||
173 | |||
174 | fimc_0: fimc@11800000 { | ||
175 | compatible = "samsung,exynos4210-fimc"; | ||
176 | reg = <0x11800000 0x1000>; | ||
177 | interrupts = <0 85 0>; | ||
178 | status = "okay"; | ||
179 | }; | ||
180 | |||
181 | csis_0: csis@11880000 { | ||
182 | compatible = "samsung,exynos4210-csis"; | ||
183 | reg = <0x11880000 0x1000>; | ||
184 | interrupts = <0 78 0>; | ||
185 | /* camera C input */ | ||
186 | port@3 { | ||
187 | reg = <3>; | ||
188 | csis0_ep: endpoint { | ||
189 | remote-endpoint = <&s5c73m3_ep>; | ||
190 | data-lanes = <1 2 3 4>; | ||
191 | samsung,csis-hs-settle = <12>; | ||
192 | }; | ||
193 | }; | ||
194 | }; | ||
195 | }; | ||
196 | |||
197 | The MIPI-CSIS device binding is defined in samsung-mipi-csis.txt. | ||
diff --git a/Documentation/devicetree/bindings/media/samsung-mipi-csis.txt b/Documentation/devicetree/bindings/media/samsung-mipi-csis.txt new file mode 100644 index 000000000000..5f8e28e2484f --- /dev/null +++ b/Documentation/devicetree/bindings/media/samsung-mipi-csis.txt | |||
@@ -0,0 +1,81 @@ | |||
1 | Samsung S5P/EXYNOS SoC series MIPI CSI-2 receiver (MIPI CSIS) | ||
2 | ------------------------------------------------------------- | ||
3 | |||
4 | Required properties: | ||
5 | |||
6 | - compatible : "samsung,s5pv210-csis" for S5PV210 (S5PC110), | ||
7 | "samsung,exynos4210-csis" for Exynos4210 (S5PC210), | ||
8 | "samsung,exynos4212-csis" for Exynos4212/Exynos4412 | ||
9 | SoC series; | ||
10 | - reg : offset and length of the register set for the device; | ||
11 | - interrupts : should contain MIPI CSIS interrupt; the format of the | ||
12 | interrupt specifier depends on the interrupt controller; | ||
13 | - bus-width : maximum number of data lanes supported (SoC specific); | ||
14 | - vddio-supply : MIPI CSIS I/O and PLL voltage supply (e.g. 1.8V); | ||
15 | - vddcore-supply : MIPI CSIS Core voltage supply (e.g. 1.1V); | ||
16 | - clocks : list of clock specifiers, corresponding to entries in | ||
17 | clock-names property; | ||
18 | - clock-names : must contain "csis", "sclk_csis" entries, matching entries | ||
19 | in the clocks property. | ||
20 | |||
21 | Optional properties: | ||
22 | |||
23 | - clock-frequency : The IP's main (system bus) clock frequency in Hz, default | ||
24 | value when this property is not specified is 166 MHz; | ||
25 | - samsung,csis-wclk : CSI-2 wrapper clock selection. If this property is present | ||
26 | external clock from CMU will be used, or the bus clock if | ||
27 | if it's not specified. | ||
28 | |||
29 | The device node should contain one 'port' child node with one child 'endpoint' | ||
30 | node, according to the bindings defined in Documentation/devicetree/bindings/ | ||
31 | media/video-interfaces.txt. The following are properties specific to those nodes. | ||
32 | |||
33 | port node | ||
34 | --------- | ||
35 | |||
36 | - reg : (required) must be 3 for camera C input (CSIS0) or 4 for | ||
37 | camera D input (CSIS1); | ||
38 | |||
39 | endpoint node | ||
40 | ------------- | ||
41 | |||
42 | - data-lanes : (required) an array specifying active physical MIPI-CSI2 | ||
43 | data input lanes and their mapping to logical lanes; the | ||
44 | array's content is unused, only its length is meaningful; | ||
45 | |||
46 | - samsung,csis-hs-settle : (optional) differential receiver (HS-RX) settle time; | ||
47 | |||
48 | |||
49 | Example: | ||
50 | |||
51 | reg0: regulator@0 { | ||
52 | }; | ||
53 | |||
54 | reg1: regulator@1 { | ||
55 | }; | ||
56 | |||
57 | /* SoC properties */ | ||
58 | |||
59 | csis_0: csis@11880000 { | ||
60 | compatible = "samsung,exynos4210-csis"; | ||
61 | reg = <0x11880000 0x1000>; | ||
62 | interrupts = <0 78 0>; | ||
63 | #address-cells = <1>; | ||
64 | #size-cells = <0>; | ||
65 | }; | ||
66 | |||
67 | /* Board properties */ | ||
68 | |||
69 | csis_0: csis@11880000 { | ||
70 | clock-frequency = <166000000>; | ||
71 | vddio-supply = <®0>; | ||
72 | vddcore-supply = <®1>; | ||
73 | port { | ||
74 | reg = <3>; /* 3 - CSIS0, 4 - CSIS1 */ | ||
75 | csis0_ep: endpoint { | ||
76 | remote-endpoint = <...>; | ||
77 | data-lanes = <1>, <2>; | ||
78 | samsung,csis-hs-settle = <12>; | ||
79 | }; | ||
80 | }; | ||
81 | }; | ||
diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt new file mode 100644 index 000000000000..e022d2dc4962 --- /dev/null +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt | |||
@@ -0,0 +1,228 @@ | |||
1 | Common bindings for video receiver and transmitter interfaces | ||
2 | |||
3 | General concept | ||
4 | --------------- | ||
5 | |||
6 | Video data pipelines usually consist of external devices, e.g. camera sensors, | ||
7 | controlled over an I2C, SPI or UART bus, and SoC internal IP blocks, including | ||
8 | video DMA engines and video data processors. | ||
9 | |||
10 | SoC internal blocks are described by DT nodes, placed similarly to other SoC | ||
11 | blocks. External devices are represented as child nodes of their respective | ||
12 | bus controller nodes, e.g. I2C. | ||
13 | |||
14 | Data interfaces on all video devices are described by their child 'port' nodes. | ||
15 | Configuration of a port depends on other devices participating in the data | ||
16 | transfer and is described by 'endpoint' subnodes. | ||
17 | |||
18 | device { | ||
19 | ... | ||
20 | ports { | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <0>; | ||
23 | |||
24 | port@0 { | ||
25 | ... | ||
26 | endpoint@0 { ... }; | ||
27 | endpoint@1 { ... }; | ||
28 | }; | ||
29 | port@1 { ... }; | ||
30 | }; | ||
31 | }; | ||
32 | |||
33 | If a port can be configured to work with more than one remote device on the same | ||
34 | bus, an 'endpoint' child node must be provided for each of them. If more than | ||
35 | one port is present in a device node or there is more than one endpoint at a | ||
36 | port, or port node needs to be associated with a selected hardware interface, | ||
37 | a common scheme using '#address-cells', '#size-cells' and 'reg' properties is | ||
38 | used. | ||
39 | |||
40 | All 'port' nodes can be grouped under optional 'ports' node, which allows to | ||
41 | specify #address-cells, #size-cells properties independently for the 'port' | ||
42 | and 'endpoint' nodes and any child device nodes a device might have. | ||
43 | |||
44 | Two 'endpoint' nodes are linked with each other through their 'remote-endpoint' | ||
45 | phandles. An endpoint subnode of a device contains all properties needed for | ||
46 | configuration of this device for data exchange with other device. In most | ||
47 | cases properties at the peer 'endpoint' nodes will be identical, however they | ||
48 | might need to be different when there is any signal modifications on the bus | ||
49 | between two devices, e.g. there are logic signal inverters on the lines. | ||
50 | |||
51 | It is allowed for multiple endpoints at a port to be active simultaneously, | ||
52 | where supported by a device. For example, in case where a data interface of | ||
53 | a device is partitioned into multiple data busses, e.g. 16-bit input port | ||
54 | divided into two separate ITU-R BT.656 8-bit busses. In such case bus-width | ||
55 | and data-shift properties can be used to assign physical data lines to each | ||
56 | endpoint node (logical bus). | ||
57 | |||
58 | |||
59 | Required properties | ||
60 | ------------------- | ||
61 | |||
62 | If there is more than one 'port' or more than one 'endpoint' node or 'reg' | ||
63 | property is present in port and/or endpoint nodes the following properties | ||
64 | are required in a relevant parent node: | ||
65 | |||
66 | - #address-cells : number of cells required to define port/endpoint | ||
67 | identifier, should be 1. | ||
68 | - #size-cells : should be zero. | ||
69 | |||
70 | Optional endpoint properties | ||
71 | ---------------------------- | ||
72 | |||
73 | - remote-endpoint: phandle to an 'endpoint' subnode of a remote device node. | ||
74 | - slave-mode: a boolean property indicating that the link is run in slave mode. | ||
75 | The default when this property is not specified is master mode. In the slave | ||
76 | mode horizontal and vertical synchronization signals are provided to the | ||
77 | slave device (data source) by the master device (data sink). In the master | ||
78 | mode the data source device is also the source of the synchronization signals. | ||
79 | - bus-width: number of data lines actively used, valid for the parallel busses. | ||
80 | - data-shift: on the parallel data busses, if bus-width is used to specify the | ||
81 | number of data lines, data-shift can be used to specify which data lines are | ||
82 | used, e.g. "bus-width=<8>; data-shift=<2>;" means, that lines 9:2 are used. | ||
83 | - hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively. | ||
84 | - vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively. | ||
85 | Note, that if HSYNC and VSYNC polarities are not specified, embedded | ||
86 | synchronization may be required, where supported. | ||
87 | - data-active: similar to HSYNC and VSYNC, specifies data line polarity. | ||
88 | - field-even-active: field signal level during the even field data transmission. | ||
89 | - pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock | ||
90 | signal. | ||
91 | - data-lanes: an array of physical data lane indexes. Position of an entry | ||
92 | determines the logical lane number, while the value of an entry indicates | ||
93 | physical lane, e.g. for 2-lane MIPI CSI-2 bus we could have | ||
94 | "data-lanes = <1 2>;", assuming the clock lane is on hardware lane 0. | ||
95 | This property is valid for serial busses only (e.g. MIPI CSI-2). | ||
96 | - clock-lanes: an array of physical clock lane indexes. Position of an entry | ||
97 | determines the logical lane number, while the value of an entry indicates | ||
98 | physical lane, e.g. for a MIPI CSI-2 bus we could have "clock-lanes = <0>;", | ||
99 | which places the clock lane on hardware lane 0. This property is valid for | ||
100 | serial busses only (e.g. MIPI CSI-2). Note that for the MIPI CSI-2 bus this | ||
101 | array contains only one entry. | ||
102 | - clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous | ||
103 | clock mode. | ||
104 | |||
105 | |||
106 | Example | ||
107 | ------- | ||
108 | |||
109 | The example snippet below describes two data pipelines. ov772x and imx074 are | ||
110 | camera sensors with a parallel and serial (MIPI CSI-2) video bus respectively. | ||
111 | Both sensors are on the I2C control bus corresponding to the i2c0 controller | ||
112 | node. ov772x sensor is linked directly to the ceu0 video host interface. | ||
113 | imx074 is linked to ceu0 through the MIPI CSI-2 receiver (csi2). ceu0 has a | ||
114 | (single) DMA engine writing captured data to memory. ceu0 node has a single | ||
115 | 'port' node which may indicate that at any time only one of the following data | ||
116 | pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. | ||
117 | |||
118 | ceu0: ceu@0xfe910000 { | ||
119 | compatible = "renesas,sh-mobile-ceu"; | ||
120 | reg = <0xfe910000 0xa0>; | ||
121 | interrupts = <0x880>; | ||
122 | |||
123 | mclk: master_clock { | ||
124 | compatible = "renesas,ceu-clock"; | ||
125 | #clock-cells = <1>; | ||
126 | clock-frequency = <50000000>; /* Max clock frequency */ | ||
127 | clock-output-names = "mclk"; | ||
128 | }; | ||
129 | |||
130 | port { | ||
131 | #address-cells = <1>; | ||
132 | #size-cells = <0>; | ||
133 | |||
134 | /* Parallel bus endpoint */ | ||
135 | ceu0_1: endpoint@1 { | ||
136 | reg = <1>; /* Local endpoint # */ | ||
137 | remote = <&ov772x_1_1>; /* Remote phandle */ | ||
138 | bus-width = <8>; /* Used data lines */ | ||
139 | data-shift = <2>; /* Lines 9:2 are used */ | ||
140 | |||
141 | /* If hsync-active/vsync-active are missing, | ||
142 | embedded BT.656 sync is used */ | ||
143 | hsync-active = <0>; /* Active low */ | ||
144 | vsync-active = <0>; /* Active low */ | ||
145 | data-active = <1>; /* Active high */ | ||
146 | pclk-sample = <1>; /* Rising */ | ||
147 | }; | ||
148 | |||
149 | /* MIPI CSI-2 bus endpoint */ | ||
150 | ceu0_0: endpoint@0 { | ||
151 | reg = <0>; | ||
152 | remote = <&csi2_2>; | ||
153 | }; | ||
154 | }; | ||
155 | }; | ||
156 | |||
157 | i2c0: i2c@0xfff20000 { | ||
158 | ... | ||
159 | ov772x_1: camera@0x21 { | ||
160 | compatible = "omnivision,ov772x"; | ||
161 | reg = <0x21>; | ||
162 | vddio-supply = <®ulator1>; | ||
163 | vddcore-supply = <®ulator2>; | ||
164 | |||
165 | clock-frequency = <20000000>; | ||
166 | clocks = <&mclk 0>; | ||
167 | clock-names = "xclk"; | ||
168 | |||
169 | port { | ||
170 | /* With 1 endpoint per port no need for addresses. */ | ||
171 | ov772x_1_1: endpoint { | ||
172 | bus-width = <8>; | ||
173 | remote-endpoint = <&ceu0_1>; | ||
174 | hsync-active = <1>; | ||
175 | vsync-active = <0>; /* Who came up with an | ||
176 | inverter here ?... */ | ||
177 | data-active = <1>; | ||
178 | pclk-sample = <1>; | ||
179 | }; | ||
180 | }; | ||
181 | }; | ||
182 | |||
183 | imx074: camera@0x1a { | ||
184 | compatible = "sony,imx074"; | ||
185 | reg = <0x1a>; | ||
186 | vddio-supply = <®ulator1>; | ||
187 | vddcore-supply = <®ulator2>; | ||
188 | |||
189 | clock-frequency = <30000000>; /* Shared clock with ov772x_1 */ | ||
190 | clocks = <&mclk 0>; | ||
191 | clock-names = "sysclk"; /* Assuming this is the | ||
192 | name in the datasheet */ | ||
193 | port { | ||
194 | imx074_1: endpoint { | ||
195 | clock-lanes = <0>; | ||
196 | data-lanes = <1 2>; | ||
197 | remote-endpoint = <&csi2_1>; | ||
198 | }; | ||
199 | }; | ||
200 | }; | ||
201 | }; | ||
202 | |||
203 | csi2: csi2@0xffc90000 { | ||
204 | compatible = "renesas,sh-mobile-csi2"; | ||
205 | reg = <0xffc90000 0x1000>; | ||
206 | interrupts = <0x17a0>; | ||
207 | #address-cells = <1>; | ||
208 | #size-cells = <0>; | ||
209 | |||
210 | port@1 { | ||
211 | compatible = "renesas,csi2c"; /* One of CSI2I and CSI2C. */ | ||
212 | reg = <1>; /* CSI-2 PHY #1 of 2: PHY_S, | ||
213 | PHY_M has port address 0, | ||
214 | is unused. */ | ||
215 | csi2_1: endpoint { | ||
216 | clock-lanes = <0>; | ||
217 | data-lanes = <2 1>; | ||
218 | remote-endpoint = <&imx074_1>; | ||
219 | }; | ||
220 | }; | ||
221 | port@2 { | ||
222 | reg = <2>; /* port 2: link to the CEU */ | ||
223 | |||
224 | csi2_2: endpoint { | ||
225 | remote-endpoint = <&ceu0_0>; | ||
226 | }; | ||
227 | }; | ||
228 | }; | ||
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx index 3f12865b2a88..e81864405102 100644 --- a/Documentation/video4linux/CARDLIST.em28xx +++ b/Documentation/video4linux/CARDLIST.em28xx | |||
@@ -76,7 +76,7 @@ | |||
76 | 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340] | 76 | 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340] |
77 | 77 -> EM2874 Leadership ISDBT (em2874) | 77 | 77 -> EM2874 Leadership ISDBT (em2874) |
78 | 78 -> PCTV nanoStick T2 290e (em28174) | 78 | 78 -> PCTV nanoStick T2 290e (em28174) |
79 | 79 -> Terratec Cinergy H5 (em2884) [0ccd:10a2,0ccd:10ad] | 79 | 79 -> Terratec Cinergy H5 (em2884) [0ccd:10a2,0ccd:10ad,0ccd:10b6] |
80 | 80 -> PCTV DVB-S2 Stick (460e) (em28174) | 80 | 80 -> PCTV DVB-S2 Stick (460e) (em28174) |
81 | 81 -> Hauppauge WinTV HVR 930C (em2884) [2040:1605] | 81 | 81 -> Hauppauge WinTV HVR 930C (em2884) [2040:1605] |
82 | 82 -> Terratec Cinergy HTC Stick (em2884) [0ccd:00b2] | 82 | 82 -> Terratec Cinergy HTC Stick (em2884) [0ccd:00b2] |
@@ -85,3 +85,4 @@ | |||
85 | 85 -> PCTV QuatroStick (510e) (em2884) [2304:0242] | 85 | 85 -> PCTV QuatroStick (510e) (em2884) [2304:0242] |
86 | 86 -> PCTV QuatroStick nano (520e) (em2884) [2013:0251] | 86 | 86 -> PCTV QuatroStick nano (520e) (em2884) [2013:0251] |
87 | 87 -> Terratec Cinergy HTC USB XS (em2884) [0ccd:008e,0ccd:00ac] | 87 | 87 -> Terratec Cinergy HTC USB XS (em2884) [0ccd:008e,0ccd:00ac] |
88 | 88 -> C3 Tech Digital Duo HDTV/SDTV USB (em2884) [1b80:e755] | ||
diff --git a/Documentation/video4linux/CARDLIST.tuner b/Documentation/video4linux/CARDLIST.tuner index c83f6e418879..5b83a3ff15c2 100644 --- a/Documentation/video4linux/CARDLIST.tuner +++ b/Documentation/video4linux/CARDLIST.tuner | |||
@@ -86,3 +86,6 @@ tuner=85 - Philips FQ1236 MK5 | |||
86 | tuner=86 - Tena TNF5337 MFD | 86 | tuner=86 - Tena TNF5337 MFD |
87 | tuner=87 - Xceive 4000 tuner | 87 | tuner=87 - Xceive 4000 tuner |
88 | tuner=88 - Xceive 5000C tuner | 88 | tuner=88 - Xceive 5000C tuner |
89 | tuner=89 - Sony PAL+SECAM (BTF-PG472Z) | ||
90 | tuner=90 - Sony NTSC-M-JP (BTF-PK467Z) | ||
91 | tuner=91 - Sony NTSC-M (BTF-PB463Z) | ||
diff --git a/Documentation/video4linux/si476x.txt b/Documentation/video4linux/si476x.txt new file mode 100644 index 000000000000..d1a08db2cbd9 --- /dev/null +++ b/Documentation/video4linux/si476x.txt | |||
@@ -0,0 +1,187 @@ | |||
1 | SI476x Driver Readme | ||
2 | ------------------------------------------------ | ||
3 | Copyright (C) 2013 Andrey Smirnov <andrew.smirnov@gmail.com> | ||
4 | |||
5 | TODO for the driver | ||
6 | ------------------------------ | ||
7 | |||
8 | - According to the SiLabs' datasheet it is possible to update the | ||
9 | firmware of the radio chip in the run-time, thus bringing it to the | ||
10 | most recent version. Unfortunately I couldn't find any mentioning of | ||
11 | the said firmware update for the old chips that I tested the driver | ||
12 | against, so for chips like that the driver only exposes the old | ||
13 | functionality. | ||
14 | |||
15 | |||
16 | Parameters exposed over debugfs | ||
17 | ------------------------------- | ||
18 | SI476x allow user to get multiple characteristics that can be very | ||
19 | useful for EoL testing/RF performance estimation, parameters that have | ||
20 | very little to do with V4L2 subsystem. Such parameters are exposed via | ||
21 | debugfs and can be accessed via regular file I/O operations. | ||
22 | |||
23 | The drivers exposes following files: | ||
24 | |||
25 | * /sys/kernel/debug/<device-name>/acf | ||
26 | This file contains ACF(Automatically Controlled Features) status | ||
27 | information. The contents of the file is binary data of the | ||
28 | following layout: | ||
29 | |||
30 | Offset | Name | Description | ||
31 | ==================================================================== | ||
32 | 0x00 | blend_int | Flag, set when stereo separation has | ||
33 | | | crossed below the blend threshold | ||
34 | -------------------------------------------------------------------- | ||
35 | 0x01 | hblend_int | Flag, set when HiBlend cutoff | ||
36 | | | frequency is lower than threshold | ||
37 | -------------------------------------------------------------------- | ||
38 | 0x02 | hicut_int | Flag, set when HiCut cutoff | ||
39 | | | frequency is lower than threshold | ||
40 | -------------------------------------------------------------------- | ||
41 | 0x03 | chbw_int | Flag, set when channel filter | ||
42 | | | bandwidth is less than threshold | ||
43 | -------------------------------------------------------------------- | ||
44 | 0x04 | softmute_int | Flag indicating that softmute | ||
45 | | | attenuation has increased above | ||
46 | | | softmute threshold | ||
47 | -------------------------------------------------------------------- | ||
48 | 0x05 | smute | 0 - Audio is not soft muted | ||
49 | | | 1 - Audio is soft muted | ||
50 | -------------------------------------------------------------------- | ||
51 | 0x06 | smattn | Soft mute attenuation level in dB | ||
52 | -------------------------------------------------------------------- | ||
53 | 0x07 | chbw | Channel filter bandwidth in kHz | ||
54 | -------------------------------------------------------------------- | ||
55 | 0x08 | hicut | HiCut cutoff frequency in units of | ||
56 | | | 100Hz | ||
57 | -------------------------------------------------------------------- | ||
58 | 0x09 | hiblend | HiBlend cutoff frequency in units | ||
59 | | | of 100 Hz | ||
60 | -------------------------------------------------------------------- | ||
61 | 0x10 | pilot | 0 - Stereo pilot is not present | ||
62 | | | 1 - Stereo pilot is present | ||
63 | -------------------------------------------------------------------- | ||
64 | 0x11 | stblend | Stereo blend in % | ||
65 | -------------------------------------------------------------------- | ||
66 | |||
67 | |||
68 | * /sys/kernel/debug/<device-name>/rds_blckcnt | ||
69 | This file contains statistics about RDS receptions. It's binary data | ||
70 | has the following layout: | ||
71 | |||
72 | Offset | Name | Description | ||
73 | ==================================================================== | ||
74 | 0x00 | expected | Number of expected RDS blocks | ||
75 | -------------------------------------------------------------------- | ||
76 | 0x02 | received | Number of received RDS blocks | ||
77 | -------------------------------------------------------------------- | ||
78 | 0x04 | uncorrectable | Number of uncorrectable RDS blocks | ||
79 | -------------------------------------------------------------------- | ||
80 | |||
81 | * /sys/kernel/debug/<device-name>/agc | ||
82 | This file contains information about parameters pertaining to | ||
83 | AGC(Automatic Gain Control) | ||
84 | |||
85 | The layout is: | ||
86 | Offset | Name | Description | ||
87 | ==================================================================== | ||
88 | 0x00 | mxhi | 0 - FM Mixer PD high threshold is | ||
89 | | | not tripped | ||
90 | | | 1 - FM Mixer PD high threshold is | ||
91 | | | tripped | ||
92 | -------------------------------------------------------------------- | ||
93 | 0x01 | mxlo | ditto for FM Mixer PD low | ||
94 | -------------------------------------------------------------------- | ||
95 | 0x02 | lnahi | ditto for FM LNA PD high | ||
96 | -------------------------------------------------------------------- | ||
97 | 0x03 | lnalo | ditto for FM LNA PD low | ||
98 | -------------------------------------------------------------------- | ||
99 | 0x04 | fmagc1 | FMAGC1 attenuator resistance | ||
100 | | | (see datasheet for more detail) | ||
101 | -------------------------------------------------------------------- | ||
102 | 0x05 | fmagc2 | ditto for FMAGC2 | ||
103 | -------------------------------------------------------------------- | ||
104 | 0x06 | pgagain | PGA gain in dB | ||
105 | -------------------------------------------------------------------- | ||
106 | 0x07 | fmwblang | FM/WB LNA Gain in dB | ||
107 | -------------------------------------------------------------------- | ||
108 | |||
109 | * /sys/kernel/debug/<device-name>/rsq | ||
110 | This file contains information about parameters pertaining to | ||
111 | RSQ(Received Signal Quality) | ||
112 | |||
113 | The layout is: | ||
114 | Offset | Name | Description | ||
115 | ==================================================================== | ||
116 | 0x00 | multhint | 0 - multipath value has not crossed | ||
117 | | | the Multipath high threshold | ||
118 | | | 1 - multipath value has crossed | ||
119 | | | the Multipath high threshold | ||
120 | -------------------------------------------------------------------- | ||
121 | 0x01 | multlint | ditto for Multipath low threshold | ||
122 | -------------------------------------------------------------------- | ||
123 | 0x02 | snrhint | 0 - received signal's SNR has not | ||
124 | | | crossed high threshold | ||
125 | | | 1 - received signal's SNR has | ||
126 | | | crossed high threshold | ||
127 | -------------------------------------------------------------------- | ||
128 | 0x03 | snrlint | ditto for low threshold | ||
129 | -------------------------------------------------------------------- | ||
130 | 0x04 | rssihint | ditto for RSSI high threshold | ||
131 | -------------------------------------------------------------------- | ||
132 | 0x05 | rssilint | ditto for RSSI low threshold | ||
133 | -------------------------------------------------------------------- | ||
134 | 0x06 | bltf | Flag indicating if seek command | ||
135 | | | reached/wrapped seek band limit | ||
136 | -------------------------------------------------------------------- | ||
137 | 0x07 | snr_ready | Indicates that SNR metrics is ready | ||
138 | -------------------------------------------------------------------- | ||
139 | 0x08 | rssiready | ditto for RSSI metrics | ||
140 | -------------------------------------------------------------------- | ||
141 | 0x09 | injside | 0 - Low-side injection is being used | ||
142 | | | 1 - High-side injection is used | ||
143 | -------------------------------------------------------------------- | ||
144 | 0x10 | afcrl | Flag indicating if AFC rails | ||
145 | -------------------------------------------------------------------- | ||
146 | 0x11 | valid | Flag indicating if channel is valid | ||
147 | -------------------------------------------------------------------- | ||
148 | 0x12 | readfreq | Current tuned frequency | ||
149 | -------------------------------------------------------------------- | ||
150 | 0x14 | freqoff | Singed frequency offset in units of | ||
151 | | | 2ppm | ||
152 | -------------------------------------------------------------------- | ||
153 | 0x15 | rssi | Signed value of RSSI in dBuV | ||
154 | -------------------------------------------------------------------- | ||
155 | 0x16 | snr | Signed RF SNR in dB | ||
156 | -------------------------------------------------------------------- | ||
157 | 0x17 | issi | Signed Image Strength Signal | ||
158 | | | indicator | ||
159 | -------------------------------------------------------------------- | ||
160 | 0x18 | lassi | Signed Low side adjacent Channel | ||
161 | | | Strength indicator | ||
162 | -------------------------------------------------------------------- | ||
163 | 0x19 | hassi | ditto fpr High side | ||
164 | -------------------------------------------------------------------- | ||
165 | 0x20 | mult | Multipath indicator | ||
166 | -------------------------------------------------------------------- | ||
167 | 0x21 | dev | Frequency deviation | ||
168 | -------------------------------------------------------------------- | ||
169 | 0x24 | assi | Adjascent channel SSI | ||
170 | -------------------------------------------------------------------- | ||
171 | 0x25 | usn | Ultrasonic noise indicator | ||
172 | -------------------------------------------------------------------- | ||
173 | 0x26 | pilotdev | Pilot deviation in units of 100 Hz | ||
174 | -------------------------------------------------------------------- | ||
175 | 0x27 | rdsdev | ditto for RDS | ||
176 | -------------------------------------------------------------------- | ||
177 | 0x28 | assidev | ditto for ASSI | ||
178 | -------------------------------------------------------------------- | ||
179 | 0x29 | strongdev | Frequency deviation | ||
180 | -------------------------------------------------------------------- | ||
181 | 0x30 | rdspi | RDS PI code | ||
182 | -------------------------------------------------------------------- | ||
183 | |||
184 | * /sys/kernel/debug/<device-name>/rsq_primary | ||
185 | This file contains information about parameters pertaining to | ||
186 | RSQ(Received Signal Quality) for primary tuner only. Layout is as | ||
187 | the one above. | ||