0
|
1 #ifndef __PT1_TUNER_H__
|
|
2 #define __PT1_TUNER_H__
|
|
3 /***************************************************************************/
|
|
4 /* チューナ状態定義 */
|
|
5 /***************************************************************************/
|
|
6 // SLEEPモード設定
|
|
7 enum {
|
|
8 TYPE_SLEEP,
|
|
9 TYPE_WAKEUP
|
|
10 };
|
|
11
|
|
12 // チューナパワーモード設定
|
|
13 enum {
|
|
14 BIT_TUNER,
|
|
15 BIT_LNB_UP,
|
|
16 BIT_LNB_DOWN,
|
|
17 BIT_RESET
|
|
18 };
|
|
19
|
|
20 // LNBパワー設定
|
|
21 enum{
|
|
22 LNB_OFF, // LNB OFF
|
|
23 LNB_11V, // +11 V
|
|
24 LNB_15V // +15 V
|
|
25
|
|
26 };
|
|
27 enum{ // 電源/ハードウェアリセット
|
|
28 TUNER_POWER_OFF, // オフ/イネーブル
|
|
29 TUNER_POWER_ON_RESET_ENABLE, // オン/イネーブル
|
|
30 TUNER_POWER_ON_RESET_DISABLE // オン/ディセーブル
|
|
31 };
|
|
32 /***************************************************************************/
|
|
33 /* チューナ状態定義 */
|
|
34 /***************************************************************************/
|
|
35 #define MAX_BS_TS_ID 8 // TS-ID取得最大値
|
|
36 #define MAX_ISDB_T_INFO 3 // 地デジ階層情報数
|
|
37 #define MAX_ISDB_T_INFO_LEN 2 // 地デジ階層情報数
|
|
38 /***************************************************************************/
|
|
39 /* ISDB-S状態定義 */
|
|
40 /***************************************************************************/
|
|
41 typedef struct _ISDB_S_CH_TABLE{
|
|
42 int channel ; // 入力チャンネル番号
|
|
43 int real_chno ; // 実際のテーブル番号
|
|
44 int slotno ; // スロット番号
|
|
45 }ISDB_S_CH_TABLE ;
|
|
46
|
|
47 /***************************************************************************/
|
|
48 /* ISDB-S状態定義 */
|
|
49 /***************************************************************************/
|
|
50 typedef struct _ISDB_S_TS_ID{
|
|
51 __u16 ts_id ; // TS-ID
|
|
52 __u16 dmy ; // PAD
|
|
53 __u8 low_mode ; // 低階層 モード
|
|
54 __u8 low_slot ; // 低階層 スロット数
|
|
55 __u8 high_mode ; // 高階層 モード
|
|
56 __u8 high_slot ; // 高階層 スロット数
|
|
57 }ISDB_S_TS_ID;
|
|
58 typedef struct _ISDB_S_TMCC{
|
|
59 ISDB_S_TS_ID ts_id[MAX_BS_TS_ID]; // 相対TS番号nに対するTS ID情報
|
|
60 #if 0
|
|
61 __u32 indicator; // 変更指示 (5ビット)
|
|
62 __u32 emergency; // 起動制御信号 (1ビット)
|
|
63 __u32 uplink; // アップリンク制御情報 (4ビット)
|
|
64 __u32 ext; // 拡張フラグ (1ビット)
|
|
65 __u32 extdata[2]; // 拡張領域 (61ビット)
|
|
66 #endif
|
|
67 __u32 cn[2] ; // CN
|
|
68 __u32 agc ; // AGC
|
|
69 __u32 clockmargin ; // クロック周波数誤差
|
|
70 __u32 carriermargin ; // キャリア周波数誤差
|
|
71 }ISDB_S_TMCC;
|
|
72
|
|
73 // 階層情報
|
|
74 typedef struct _ISDB_T_INFO{
|
|
75 __u32 mode; // キャリア変調方式 (3ビット)
|
|
76 __u32 rate; // 畳込み符号化率 (3ビット)
|
|
77 __u32 interleave; // インターリーブ長 (3ビット)
|
|
78 __u32 segment; // セグメント数 (4ビット)
|
|
79 }ISDB_T_INFO;
|
|
80
|
|
81 typedef struct _ISDB_T_TMCC {
|
|
82 #if 0
|
|
83 __u32 sysid; // システム識別 (2ビット)
|
|
84 __u32 indicator; // 伝送パラメータ切り替え指標 (4ビット)
|
|
85 __u32 emergency; // 緊急警報放送用起動フラグ (1ビット)
|
|
86 #endif
|
|
87 ISDB_T_INFO info[MAX_ISDB_T_INFO];
|
|
88 #if 0
|
|
89 // カレント情報
|
|
90 __u32 partial; // 部分受信フラグ (1ビット)
|
|
91 __u32 Phase; // 連結送信位相補正量 (3ビット)
|
|
92 __u32 Reserved; // リザーブ (12ビット)
|
|
93 #endif
|
|
94 __u32 cn[2] ; // CN
|
|
95 __u32 agc ; // AGC
|
|
96 __u32 clockmargin ; // クロック周波数誤差
|
|
97 __u32 carriermargin ; // キャリア周波数誤差
|
|
98 }ISDB_T_TMCC;
|
|
99 /***************************************************************************/
|
|
100 /* チューナ状態定義 */
|
|
101 /***************************************************************************/
|
|
102 extern void settuner_reset(void __iomem *, __u32, __u32);
|
|
103 extern int tuner_init(void __iomem *, struct mutex *, int);
|
|
104 extern void set_sleepmode(void __iomem *, struct mutex *, int, int, int);
|
|
105
|
|
106 extern int bs_tune(void __iomem *, struct mutex *, int, int, ISDB_S_TMCC *);
|
|
107 extern int ts_lock(void __iomem *, struct mutex *, int, __u16);
|
|
108
|
|
109 extern int isdb_t_tune(void __iomem *, struct mutex *, int, int, ISDB_T_TMCC *);
|
|
110 extern int isdb_t_frequency(void __iomem *, struct mutex *, int, int, int);
|
|
111 #endif
|