~ [ 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-6.8.12)


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