Merge tag 'tegra-for-4.8-i2c' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
[cascardo/linux.git] / Documentation / media / uapi / v4l / dev-radio.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _radio:
4
5 ***************
6 Radio Interface
7 ***************
8
9 This interface is intended for AM and FM (analog) radio receivers and
10 transmitters.
11
12 Conventionally V4L2 radio devices are accessed through character device
13 special files named ``/dev/radio`` and ``/dev/radio0`` to
14 ``/dev/radio63`` with major number 81 and minor numbers 64 to 127.
15
16
17 Querying Capabilities
18 =====================
19
20 Devices 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
25 capability flags are reserved for future extensions.
26
27
28 Supplemental Functions
29 ======================
30
31 Radio devices can support :ref:`controls <control>`, and must support
32 the :ref:`tuner or modulator <tuner>` ioctls.
33
34 They do not support the video input or output, audio input or output,
35 video standard, cropping and scaling, compression and streaming
36 parameter, or overlay ioctls. All other ioctls and I/O methods are
37 reserved for future extensions.
38
39
40 Programming
41 ===========
42
43 Radio devices may have a couple audio controls (as discussed in
44 :ref:`control`) such as a volume control, possibly custom controls.
45 Further all radio devices have one tuner or modulator (these are
46 discussed in :ref:`tuner`) with index number zero to select the radio
47 frequency and to determine if a monaural or FM stereo program is
48 received/emitted. Drivers switch automatically between AM and FM
49 depending 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
52 supported frequency range.