summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-01-29 07:00:08 -0200
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-02-01 07:20:07 -0200
commit5c9077eabc9a0ffbd4c8b0724ddcd69ef2b1a7ed (patch)
treedc1ffef6a9cd865f703688ecf3d5c95073739799
parent6aad127d37b609ca40ee3b93454a58ee6ed5a1ce (diff)
downloadblackbird-op-linux-5c9077eabc9a0ffbd4c8b0724ddcd69ef2b1a7ed.tar.gz
blackbird-op-linux-5c9077eabc9a0ffbd4c8b0724ddcd69ef2b1a7ed.zip
[media] v4l2-mc.h: Split audio from baseband output
Analog TV tuners have a separate output pad for the audio IF or audio sampled data. This pad is connected to a different chipset. Add an extra pad for it and improve the documentation. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r--drivers/media/v4l2-core/tuner-core.c1
-rw-r--r--include/media/v4l2-mc.h28
2 files changed, 18 insertions, 11 deletions
diff --git a/drivers/media/v4l2-core/tuner-core.c b/drivers/media/v4l2-core/tuner-core.c
index a1f858b34187..d6bd9ce1101d 100644
--- a/drivers/media/v4l2-core/tuner-core.c
+++ b/drivers/media/v4l2-core/tuner-core.c
@@ -698,6 +698,7 @@ register_client:
#if defined(CONFIG_MEDIA_CONTROLLER)
t->pad[TUNER_PAD_RF_INPUT].flags = MEDIA_PAD_FL_SINK;
t->pad[TUNER_PAD_OUTPUT].flags = MEDIA_PAD_FL_SOURCE;
+ t->pad[TUNER_PAD_AUD_OUT].flags = MEDIA_PAD_FL_SOURCE;
t->sd.entity.function = MEDIA_ENT_F_TUNER;
t->sd.entity.name = t->name;
diff --git a/include/media/v4l2-mc.h b/include/media/v4l2-mc.h
index f6fcd70f3548..c174e5b4f188 100644
--- a/include/media/v4l2-mc.h
+++ b/include/media/v4l2-mc.h
@@ -19,20 +19,26 @@
*
* @TUNER_PAD_RF_INPUT: Radiofrequency (RF) sink pad, usually linked to a
* RF connector entity.
- * @TUNER_PAD_OUTPUT: Tuner output pad. This is actually more complex than
- * a single pad output, as, in addition to luminance and
- * chrominance IF a tuner may have internally an
- * audio decoder (like xc3028) or it may produce an audio
- * IF that will be used by an audio decoder like msp34xx.
- * It may also have an IF-PLL demodulator on it, like
- * tuners with tda9887. Yet, currently, we don't need to
- * represent all the dirty details, as this is transparent
- * for the V4L2 API usage. So, let's represent all kinds
- * of different outputs as a single source pad.
+ * @TUNER_PAD_OUTPUT: Tuner video output source pad. Contains the video
+ * chrominance and luminance or the hole bandwidth
+ * of the signal converted to an Intermediate Frequency
+ * (IF) or to baseband (on zero-IF tuners).
+ * @TUNER_PAD_AUD_OUT: Tuner audio output source pad. Tuners used to decode
+ * analog TV signals have an extra pad for audio output.
+ * Old tuners use an analog stage with a saw filter for
+ * the audio IF frequency. The output of the pad is, in
+ * this case, the audio IF, with should be decoded either
+ * by the bridge chipset (that's the case of cx2388x
+ * chipsets) or may require an external IF sound
+ * processor, like msp34xx. On modern silicon tuners,
+ * the audio IF decoder is usually incorporated at the
+ * tuner. On such case, the output of this pad is an
+ * audio sampled data.
* @TUNER_NUM_PADS: Number of pads of the tuner.
*/
enum tuner_pad_index {
TUNER_PAD_RF_INPUT,
TUNER_PAD_OUTPUT,
+ TUNER_PAD_AUD_OUT,
TUNER_NUM_PADS
-}; \ No newline at end of file
+};
OpenPOWER on IntegriCloud