1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3.. _radio:
4
5***************
6Radio Interface
7***************
8
9This interface is intended for AM and FM (analog) radio receivers and
10transmitters.
11
12Conventionally V4L2 radio devices are accessed through character device
13special files named ``/dev/radio`` and ``/dev/radio0`` to
14``/dev/radio63`` with major number 81 and minor numbers 64 to 127.
15
16
17Querying Capabilities
18=====================
19
20Devices supporting the radio interface set the ``V4L2_CAP_RADIO`` and
21``V4L2_CAP_TUNER`` or ``V4L2_CAP_MODULATOR`` flag in the
22``capabilities`` field of struct
23:c:type:`v4l2_capability` returned by the
24:ref:`VIDIOC_QUERYCAP` ioctl. Other combinations of
25capability flags are reserved for future extensions.
26
27
28Supplemental Functions
29======================
30
31Radio devices can support :ref:`controls <control>`, and must support
32the :ref:`tuner or modulator <tuner>` ioctls.
33
34They do not support the video input or output, audio input or output,
35video standard, cropping and scaling, compression and streaming
36parameter, or overlay ioctls. All other ioctls and I/O methods are
37reserved for future extensions.
38
39
40Programming
41===========
42
43Radio devices may have a couple audio controls (as discussed in
44:ref:`control`) such as a volume control, possibly custom controls.
45Further all radio devices have one tuner or modulator (these are
46discussed in :ref:`tuner`) with index number zero to select the radio
47frequency and to determine if a monaural or FM stereo program is
48received/emitted. Drivers switch automatically between AM and FM
49depending on the selected frequency. The
50:ref:`VIDIOC_G_TUNER <VIDIOC_G_TUNER>` or
51:ref:`VIDIOC_G_MODULATOR <VIDIOC_G_MODULATOR>` ioctl reports the
52supported frequency range.
53