~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/dev-sdr.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/userspace-api/media/v4l/dev-sdr.rst (Version linux-6.12-rc7) and /Documentation/userspace-api/media/v4l/dev-sdr.rst (Version linux-5.9.16)


  1 .. SPDX-License-Identifier: GFDL-1.1-no-invari !!   1 .. Permission is granted to copy, distribute and/or modify this
                                                   >>   2 .. document under the terms of the GNU Free Documentation License,
                                                   >>   3 .. Version 1.1 or any later version published by the Free Software
                                                   >>   4 .. Foundation, with no Invariant Sections, no Front-Cover Texts
                                                   >>   5 .. and no Back-Cover Texts. A copy of the license is included at
                                                   >>   6 .. Documentation/userspace-api/media/fdl-appendix.rst.
                                                   >>   7 ..
                                                   >>   8 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
  2                                                     9 
  3 .. _sdr:                                           10 .. _sdr:
  4                                                    11 
  5 **************************************             12 **************************************
  6 Software Defined Radio Interface (SDR)             13 Software Defined Radio Interface (SDR)
  7 **************************************             14 **************************************
  8                                                    15 
  9 SDR is an abbreviation of Software Defined Rad     16 SDR is an abbreviation of Software Defined Radio, the radio device which
 10 uses application software for modulation or de     17 uses application software for modulation or demodulation. This interface
 11 is intended for controlling and data streaming     18 is intended for controlling and data streaming of such devices.
 12                                                    19 
 13 SDR devices are accessed through character dev     20 SDR devices are accessed through character device special files named
 14 ``/dev/swradio0`` to ``/dev/swradio255`` with      21 ``/dev/swradio0`` to ``/dev/swradio255`` with major number 81 and
 15 dynamically allocated minor numbers 0 to 255.      22 dynamically allocated minor numbers 0 to 255.
 16                                                    23 
 17                                                    24 
 18 Querying Capabilities                              25 Querying Capabilities
 19 =====================                              26 =====================
 20                                                    27 
 21 Devices supporting the SDR receiver interface      28 Devices supporting the SDR receiver interface set the
 22 ``V4L2_CAP_SDR_CAPTURE`` and ``V4L2_CAP_TUNER`     29 ``V4L2_CAP_SDR_CAPTURE`` and ``V4L2_CAP_TUNER`` flag in the
 23 ``capabilities`` field of struct                   30 ``capabilities`` field of struct
 24 :c:type:`v4l2_capability` returned by the          31 :c:type:`v4l2_capability` returned by the
 25 :ref:`VIDIOC_QUERYCAP` ioctl. That flag means      32 :ref:`VIDIOC_QUERYCAP` ioctl. That flag means the
 26 device has an Analog to Digital Converter (ADC     33 device has an Analog to Digital Converter (ADC), which is a mandatory
 27 element for the SDR receiver.                      34 element for the SDR receiver.
 28                                                    35 
 29 Devices supporting the SDR transmitter interfa     36 Devices supporting the SDR transmitter interface set the
 30 ``V4L2_CAP_SDR_OUTPUT`` and ``V4L2_CAP_MODULAT     37 ``V4L2_CAP_SDR_OUTPUT`` and ``V4L2_CAP_MODULATOR`` flag in the
 31 ``capabilities`` field of struct                   38 ``capabilities`` field of struct
 32 :c:type:`v4l2_capability` returned by the          39 :c:type:`v4l2_capability` returned by the
 33 :ref:`VIDIOC_QUERYCAP` ioctl. That flag means      40 :ref:`VIDIOC_QUERYCAP` ioctl. That flag means the
 34 device has an Digital to Analog Converter (DAC     41 device has an Digital to Analog Converter (DAC), which is a mandatory
 35 element for the SDR transmitter.                   42 element for the SDR transmitter.
 36                                                    43 
 37 At least one of the read/write or streaming I/ !!  44 At least one of the read/write, streaming or asynchronous I/O methods
 38 must be supported.                                 45 must be supported.
 39                                                    46 
 40                                                    47 
 41 Supplemental Functions                             48 Supplemental Functions
 42 ======================                             49 ======================
 43                                                    50 
 44 SDR devices can support :ref:`controls <contro     51 SDR devices can support :ref:`controls <control>`, and must support
 45 the :ref:`tuner` ioctls. Tuner ioctls are used     52 the :ref:`tuner` ioctls. Tuner ioctls are used for setting the
 46 ADC/DAC sampling rate (sampling frequency) and     53 ADC/DAC sampling rate (sampling frequency) and the possible radio
 47 frequency (RF).                                    54 frequency (RF).
 48                                                    55 
 49 The ``V4L2_TUNER_SDR`` tuner type is used for      56 The ``V4L2_TUNER_SDR`` tuner type is used for setting SDR device ADC/DAC
 50 frequency, and the ``V4L2_TUNER_RF`` tuner typ     57 frequency, and the ``V4L2_TUNER_RF`` tuner type is used for setting
 51 radio frequency. The tuner index of the RF tun     58 radio frequency. The tuner index of the RF tuner (if any) must always
 52 follow the SDR tuner index. Normally the SDR t     59 follow the SDR tuner index. Normally the SDR tuner is #0 and the RF
 53 tuner is #1.                                       60 tuner is #1.
 54                                                    61 
 55 The :ref:`VIDIOC_S_HW_FREQ_SEEK` ioctl is          62 The :ref:`VIDIOC_S_HW_FREQ_SEEK` ioctl is
 56 not supported.                                     63 not supported.
 57                                                    64 
 58                                                    65 
 59 Data Format Negotiation                            66 Data Format Negotiation
 60 =======================                            67 =======================
 61                                                    68 
 62 The SDR device uses the :ref:`format` ioctls t     69 The SDR device uses the :ref:`format` ioctls to select the
 63 capture and output format. Both the sampling r     70 capture and output format. Both the sampling resolution and the data
 64 streaming format are bound to that selectable      71 streaming format are bound to that selectable format. In addition to the
 65 basic :ref:`format` ioctls, the                    72 basic :ref:`format` ioctls, the
 66 :ref:`VIDIOC_ENUM_FMT` ioctl must be supported     73 :ref:`VIDIOC_ENUM_FMT` ioctl must be supported as
 67 well.                                              74 well.
 68                                                    75 
 69 To use the :ref:`format` ioctls applications s     76 To use the :ref:`format` ioctls applications set the ``type``
 70 field of a struct :c:type:`v4l2_format` to         77 field of a struct :c:type:`v4l2_format` to
 71 ``V4L2_BUF_TYPE_SDR_CAPTURE`` or ``V4L2_BUF_TY     78 ``V4L2_BUF_TYPE_SDR_CAPTURE`` or ``V4L2_BUF_TYPE_SDR_OUTPUT`` and use
 72 the struct :c:type:`v4l2_sdr_format` ``sdr`` m     79 the struct :c:type:`v4l2_sdr_format` ``sdr`` member
 73 of the ``fmt`` union as needed per the desired     80 of the ``fmt`` union as needed per the desired operation. Currently
 74 there are two fields, ``pixelformat`` and ``bu     81 there are two fields, ``pixelformat`` and ``buffersize``, of
 75 struct :c:type:`v4l2_sdr_format` which are use     82 struct :c:type:`v4l2_sdr_format` which are used.
 76 Content of the ``pixelformat`` is V4L2 FourCC      83 Content of the ``pixelformat`` is V4L2 FourCC code of the data format.
 77 The ``buffersize`` field is maximum buffer siz     84 The ``buffersize`` field is maximum buffer size in bytes required for
 78 data transfer, set by the driver in order to i     85 data transfer, set by the driver in order to inform application.
 79                                                    86 
 80                                                    87 
 81 .. c:type:: v4l2_sdr_format                        88 .. c:type:: v4l2_sdr_format
 82                                                    89 
 83 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm !!  90 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
 84                                                    91 
 85 .. flat-table:: struct v4l2_sdr_format             92 .. flat-table:: struct v4l2_sdr_format
 86     :header-rows:  0                               93     :header-rows:  0
 87     :stub-columns: 0                               94     :stub-columns: 0
 88     :widths:       1 1 2                           95     :widths:       1 1 2
 89                                                    96 
 90     * - __u32                                      97     * - __u32
 91       - ``pixelformat``                            98       - ``pixelformat``
 92       - The data format or type of compression     99       - The data format or type of compression, set by the application.
 93         This is a little endian                   100         This is a little endian
 94         :ref:`four character code <v4l2-fourcc    101         :ref:`four character code <v4l2-fourcc>`. V4L2 defines SDR
 95         formats in :ref:`sdr-formats`.            102         formats in :ref:`sdr-formats`.
 96     * - __u32                                     103     * - __u32
 97       - ``buffersize``                            104       - ``buffersize``
 98       - Maximum size in bytes required for dat    105       - Maximum size in bytes required for data. Value is set by the
 99         driver.                                   106         driver.
100     * - __u8                                      107     * - __u8
101       - ``reserved[24]``                          108       - ``reserved[24]``
102       - This array is reserved for future exte    109       - This array is reserved for future extensions. Drivers and
103         applications must set it to zero.         110         applications must set it to zero.
104                                                   111 
105                                                   112 
106 An SDR device may support :ref:`read/write <rw    113 An SDR device may support :ref:`read/write <rw>` and/or streaming
107 (:ref:`memory mapping <mmap>` or :ref:`user po    114 (:ref:`memory mapping <mmap>` or :ref:`user pointer <userp>`) I/O.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php