Mercurial > pt1
comparison driver/pt1_tuner.h @ 0:67e8eca28a80
initial import
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 16 Feb 2009 15:41:49 +0900 |
parents | |
children | 07b2fc07ff48 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:67e8eca28a80 |
---|---|
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 |