Mercurial > pt1.oyama
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 |