From: Eduardo Valentin <eduardo.valentin@xxxxxxxxx> # HG changeset patch # User Eduardo Valentin <eduardo.valentin@xxxxxxxxx> # Date 1243414606 -10800 # Node ID 44d477eb96bd219a16b7430937a9b14ae1f9d607 # Parent c8e571f41aa55740bee6095aa1526f5aadce3ec9 This patch adds a new class of extended controls. This class is intended to support Radio Modulators properties such as: rds, audio limiters, audio compression, pilot tone generation, tuning power levels and region related properties. Signed-off-by: Eduardo Valentin <eduardo.valentin@xxxxxxxxx> --- include/linux/videodev2.h | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff -r c8e571f41aa5 -r 44d477eb96bd linux/include/linux/videodev2.h --- a/linux/include/linux/videodev2.h Sat Jun 06 19:05:35 2009 +0200 +++ b/linux/include/linux/videodev2.h Wed May 27 11:56:46 2009 +0300 @@ -803,6 +803,7 @@ #define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ #define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ #define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ +#define V4L2_CTRL_CLASS_FMTX 0x009b0000 /* FM Radio Modulator class controls */ #define V4L2_CTRL_ID_MASK (0x0fffffff) #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) @@ -1141,6 +1142,39 @@ #define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16) +/* FM Radio Modulator class control IDs */ +#define V4L2_CID_FMTX_CLASS_BASE (V4L2_CTRL_CLASS_FMTX | 0x900) +#define V4L2_CID_FMTX_CLASS (V4L2_CTRL_CLASS_FMTX | 1) + +#define V4L2_CID_RDS_ENABLED (V4L2_CID_FMTX_CLASS_BASE + 1) +#define V4L2_CID_RDS_PI (V4L2_CID_FMTX_CLASS_BASE + 2) +#define V4L2_CID_RDS_PTY (V4L2_CID_FMTX_CLASS_BASE + 3) +#define V4L2_CID_RDS_PS_NAME (V4L2_CID_FMTX_CLASS_BASE + 4) +#define V4L2_CID_RDS_RADIO_TEXT (V4L2_CID_FMTX_CLASS_BASE + 5) + +#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FMTX_CLASS_BASE + 6) +#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FMTX_CLASS_BASE + 7) +#define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FMTX_CLASS_BASE + 8) + +#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FMTX_CLASS_BASE + 9) +#define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FMTX_CLASS_BASE + 10) +#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FMTX_CLASS_BASE + 11) +#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FMTX_CLASS_BASE + 12) +#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FMTX_CLASS_BASE + 13) + +#define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FMTX_CLASS_BASE + 14) +#define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FMTX_CLASS_BASE + 15) +#define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FMTX_CLASS_BASE + 16) + +#define V4L2_CID_PREEMPHASIS (V4L2_CID_FMTX_CLASS_BASE + 17) +enum v4l2_fmtx_preemphasis { + V4L2_FMTX_PREEMPHASIS_DISABLED = 0, + V4L2_FMTX_PREEMPHASIS_50_uS = 1, + V4L2_FMTX_PREEMPHASIS_75_uS = 2, +}; +#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FMTX_CLASS_BASE + 18) +#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FMTX_CLASS_BASE + 19) + /* * T U N I N G */ -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html