0
|
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
|