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