aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEduardo Valentin <eduardo.valentin@nokia.com>2009-08-08 07:38:58 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-12 11:19:18 -0400
commit6b4249413abb634d9b2ff44c685da744f02e49d1 (patch)
tree3aa7d4b72a1d2f6ab2631499af70896bfb853553 /include
parentd6bacea6cfc3bb8a385f8c4104ee6b3d5768af8a (diff)
V4L/DVB (12548): v4l2: video device: Add V4L2_CTRL_CLASS_FM_TX controls
This patch adds a new class of extended controls. This class is intended to support FM Radio Modulators properties such as: rds, audio limiters, audio compression, pilot tone generation, tuning power levels and preemphasis properties. Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/videodev2.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 9ab4cbe676fd..5758066cb57b 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -817,6 +817,7 @@ struct v4l2_ext_controls {
817#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ 817#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */
818#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ 818#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */
819#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ 819#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */
820#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator control class */
820 821
821#define V4L2_CTRL_ID_MASK (0x0fffffff) 822#define V4L2_CTRL_ID_MASK (0x0fffffff)
822#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) 823#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
@@ -1156,6 +1157,39 @@ enum v4l2_exposure_auto_type {
1156 1157
1157#define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16) 1158#define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16)
1158 1159
1160/* FM Modulator class control IDs */
1161#define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900)
1162#define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1)
1163
1164#define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1)
1165#define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2)
1166#define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3)
1167#define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5)
1168#define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6)
1169
1170#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64)
1171#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65)
1172#define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66)
1173
1174#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80)
1175#define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81)
1176#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82)
1177#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83)
1178#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84)
1179
1180#define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96)
1181#define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97)
1182#define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98)
1183
1184#define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112)
1185enum v4l2_preemphasis {
1186 V4L2_PREEMPHASIS_DISABLED = 0,
1187 V4L2_PREEMPHASIS_50_uS = 1,
1188 V4L2_PREEMPHASIS_75_uS = 2,
1189};
1190#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113)
1191#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114)
1192
1159/* 1193/*
1160 * T U N I N G 1194 * T U N I N G
1161 */ 1195 */