]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/media/dvb/frontends/stb0899_drv.h
V4L/DVB (9462): Allow specifying clock per device
[karo-tx-linux.git] / drivers / media / dvb / frontends / stb0899_drv.h
index 1e28114febf36b2cc70ef803664b59ecf092a819..98b200ce0c345460a773010a984cff99d9469367 100644 (file)
@@ -50,6 +50,47 @@ enum stb0899_inversion {
        IQ_SWAP_AUTO
 };
 
+#define STB0899_GPIO00                         0xf140
+#define STB0899_GPIO01                         0xf141
+#define STB0899_GPIO02                         0xf142
+#define STB0899_GPIO03                         0xf143
+#define STB0899_GPIO04                         0xf144
+#define STB0899_GPIO05                         0xf145
+#define STB0899_GPIO06                         0xf146
+#define STB0899_GPIO07                         0xf147
+#define STB0899_GPIO08                         0xf148
+#define STB0899_GPIO09                         0xf149
+#define STB0899_GPIO10                         0xf14a
+#define STB0899_GPIO11                         0xf14b
+#define STB0899_GPIO12                         0xf14c
+#define STB0899_GPIO13                         0xf14d
+#define STB0899_GPIO14                         0xf14e
+#define STB0899_GPIO15                         0xf14f
+#define STB0899_GPIO16                         0xf150
+#define STB0899_GPIO17                         0xf151
+#define STB0899_GPIO18                         0xf152
+#define STB0899_GPIO19                         0xf153
+#define STB0899_GPIO20                         0xf154
+
+#define STB0899_GPIOPULLUP                     0x01 /* Output device is connected to Vdd */
+#define STB0899_GPIOPULLDN                     0x00 /* Output device is connected to Vss */
+
+#define STB0899_POSTPROC_GPIO_POWER            0x00
+#define STB0899_POSTPROC_GPIO_LOCK             0x01
+
+/*
+ * Post process output configuration control
+ * 1. POWER ON/OFF             (index 0)
+ * 2. FE_HAS_LOCK/LOCK_LOSS    (index 1)
+ *
+ * @gpio       = one of the above listed GPIO's
+ * @level      = output state: pulled up or low
+ */
+struct stb0899_postproc {
+       u16     gpio;
+       u8      level;
+};
+
 struct stb0899_config {
        const struct stb0899_s1_reg     *init_dev;
        const struct stb0899_s2_reg     *init_s2_demod;
@@ -57,6 +98,8 @@ struct stb0899_config {
        const struct stb0899_s2_reg     *init_s2_fec;
        const struct stb0899_s1_reg     *init_tst;
 
+       const struct stb0899_postproc   *postproc;
+
        enum stb0899_inversion          inversion;
 
        u32     xtal_freq;
@@ -74,6 +117,8 @@ struct stb0899_config {
        u8      out_rate_comp;
        u8      i2c_repeater;
 //     int     inversion;
+       int     lo_clk;
+       int     hi_clk;
 
        u32     esno_ave;
        u32     esno_quant;