GadgetSeed  0.9.6
spi_ioctl.h
[詳解]
1 /** @file
2  @brief SPIドライバ ioctl 用マクロ定義
3 
4  推奨デバイス名 : "spi"
5 
6  @date 2011.12.24
7  @author Takashi SHUDO
8 */
9 
10 #ifndef SPI_IOCTL_H
11 #define SPI_IOCTL_H
12 
13 #include "device/std_ioctl.h"
14 
15 #define DEF_DEV_NAME_SPI "spi" ///< 標準SPIマスターコントローラデバイス名
16 
17 
18 #define IOCMD_SPI_SPEED STDIOCTL(DEV_SPI,0x00) ///< com : 転送速度を設定する, arg : 転送速度(bps)
19 
20 // com : write アクセス終了時の CS 状態を設定する
21 #define IOCMD_SPI_CS0ASSERT STDIOCTL(DEV_SPI,0x10) ///< CS0をアサートしたままにする
22 #define IOCMD_SPI_CS0NEGATE STDIOCTL(DEV_SPI,0x11) ///< CS0をネゲートする
23 
24 #define IOCMD_SPI_CS1ASSERT STDIOCTL(DEV_SPI,0x12) ///< CS1をアサートしたままにする
25 #define IOCMD_SPI_CS1NEGATE STDIOCTL(DEV_SPI,0x13) ///< CS1をネゲートする
26 
27 #define IOCMD_SPI_CS2ASSERT STDIOCTL(DEV_SPI,0x14) ///< CS2をアサートしたままにする
28 #define IOCMD_SPI_CS2NEGATE STDIOCTL(DEV_SPI,0x15) ///< CS2をネゲートする
29 
30 #define IOCMD_SPI_CS3ASSERT STDIOCTL(DEV_SPI,0x16) ///< CS3をアサートしたままにする
31 #define IOCMD_SPI_CS3NEGATE STDIOCTL(DEV_SPI,0x17) ///< CS3をネゲートする
32 
33 #define IOCMD_SPI_FORCE_UNLOCK STDIOCTL(DEV_SPI,0x20) ///< 強制的にアンロック
34 
35 #define IOCMD_SPI_WRITE_BYTE STDIOCTL(DEV_SPI,0x30) ///< 1バイトデータを書き込む
36 #define IOCMD_SPI_WRITE_WORD STDIOCTL(DEV_SPI,0x31) ///< 2バイトデータを書き込む
37 #define IOCMD_SPI_WRITE_LONG STDIOCTL(DEV_SPI,0x32) ///< 4バイトデータを書き込む
38 
39 #define IOCMD_SPI_WRITE_CONT_BYTE STDIOCTL(DEV_SPI,0x40) ///< 1バイトデータを読み出す
40 #define IOCMD_SPI_WRITE_CONT_WORD STDIOCTL(DEV_SPI,0x41) ///< 2バイトデータを読み出す
41 #define IOCMD_SPI_WRITE_CONT_LONG STDIOCTL(DEV_SPI,0x42) ///< 4バイトデータを読み出す
42 
43 #endif // SPI_IOCTL_H
デバイスドライバ ioctl 用マクロ定義