comparison driver/pt1_i2c.h @ 0:67e8eca28a80

initial import
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 16 Feb 2009 15:41:49 +0900
parents
children 3c2123189edf
comparison
equal deleted inserted replaced
-1:000000000000 0:67e8eca28a80
1 #ifndef __PT1_I2C_H__
2 #define __PT1_I2C_H__
3 #include <linux/mutex.h>
4 /***************************************************************************/
5 /* I2Cデータ位置定義 */
6 /***************************************************************************/
7 #define MAX_CHANNEL 4 // チャネル数
8
9 #define FALSE 0
10 #define TRUE 1
11
12 /***************************************************************************/
13 /* I2Cデータ位置定義 */
14 /***************************************************************************/
15 #define I2C_ADDRESS 10 // I2Cアドレス(10ビット)
16
17 #define I2C_DATA_EN 10
18 #define I2C_CLOCK 11
19 #define I2C_WRIET_MODE 12 // I2C書き込み/読み込み
20 #define I2C_BUSY 13
21 #define I2C_DATA 18 // I2Cデータ(18ビット)
22 /***************************************************************************/
23 /* I2C定義 */
24 /***************************************************************************/
25 #define WRITE_EN 1 // 書き込み
26 #define READ_EN 0 // 読み込み
27 #define DATA_EN 1 // データあり
28 #define DATA_DIS 0 // データなし
29 #define CLOCK_EN 1 // CLOCKあり
30 #define CLOCK_DIS 0 // CLOCKなし
31 #define BUSY_EN 1 // BUSYあり
32 #define BUSY_DIS 0 // BUSYなし
33
34 /***************************************************************************/
35 /* */
36 /***************************************************************************/
37 #define PCI_LOCKED 1
38 #define RAM_LOCKED 2
39 #define RAM_SHIFT 4
40 /***************************************************************************/
41 /* ビット */
42 /***************************************************************************/
43 #define WRITE_PCI_RESET (1 << 16)
44 #define WRITE_PCI_RESET_ (1 << 24)
45 #define WRITE_RAM_RESET (1 << 17)
46 #define WRITE_RAM_RESET_ (1 << 25)
47 #define WRITE_RAM_ENABLE (1 << 1)
48
49 #define WRITE_PULSE (1 << 3)
50 #define I2C_READ_SYNC (1 << 29)
51 #define READ_DATA (1 << 30)
52 #define READ_UNLOCK (1 << 31)
53
54 #define XC3S_PCI_CLOCK (512 / 4)
55 /***************************************************************************/
56 /* I2Cアドレス定義 */
57 /***************************************************************************/
58 #define T0_ISDB_S 0X1B // チューナ0 ISDB-S
59 #define T1_ISDB_S 0X19 // チューナ1 ISDB-S
60
61 #define T0_ISDB_T 0X1A // チューナ0 ISDB-T
62 #define T1_ISDB_T 0X18 // チューナ1 ISDB-T
63
64 /***************************************************************************/
65 /* I2C書き込みデータ定義 */
66 /***************************************************************************/
67 typedef struct _WBLOCK{
68 __u8 addr ; // I2Cデバイスアドレス
69 __u32 count ; // 転送個数
70 __u8 value[16]; // 書き込み値
71 }WBLOCK;
72
73 /***************************************************************************/
74 /* 関数定義 */
75 /***************************************************************************/
76 //extern __u32 makei2c(void __iomem *, __u32, __u32, __u32, __u32, __u32, __u32);
77 extern int xc3s_init(void __iomem *);
78 extern void SetStream(void __iomem *, __u32, __u32);
79 extern void blockwrite(void __iomem *, WBLOCK *);
80 extern void i2c_write(void __iomem *, struct mutex *, WBLOCK *);
81 extern __u32 i2c_read(void __iomem *, struct mutex *, WBLOCK *, int);
82
83 #endif