2 * Definitions for akm8975 compass chip.
7 #include <linux/ioctl.h>
9 /*! \name AK8975 operation mode
11 Defines an operation mode of the AK8975.*/
13 #define AK8975_MODE_SNG_MEASURE 0x01
14 #define AK8975_MODE_SELF_TEST 0x08
15 #define AK8975_MODE_FUSE_ACCESS 0x0F
16 #define AK8975_MODE_POWER_DOWN 0x00
19 /*! \name AK8975 register address
21 Defines a register address of the AK8975.*/
23 #define AK8975_REG_WIA 0x00
24 #define AK8975_REG_INFO 0x01
25 #define AK8975_REG_ST1 0x02
26 #define AK8975_REG_HXL 0x03
27 #define AK8975_REG_HXH 0x04
28 #define AK8975_REG_HYL 0x05
29 #define AK8975_REG_HYH 0x06
30 #define AK8975_REG_HZL 0x07
31 #define AK8975_REG_HZH 0x08
32 #define AK8975_REG_ST2 0x09
33 #define AK8975_REG_CNTL 0x0A
34 #define AK8975_REG_RSV 0x0B
35 #define AK8975_REG_ASTC 0x0C
36 #define AK8975_REG_TS1 0x0D
37 #define AK8975_REG_TS2 0x0E
38 #define AK8975_REG_I2CDIS 0x0F
41 /*! \name AK8975 fuse-rom address
43 Defines a read-only address of the fuse ROM of the AK8975.*/
45 #define AK8975_FUSE_ASAX 0x10
46 #define AK8975_FUSE_ASAY 0x11
47 #define AK8975_FUSE_ASAZ 0x12
52 /* IOCTLs for AKM library */
53 #define ECS_IOCTL_WRITE _IOW(AKMIO, 0x02, char[5])
54 #define ECS_IOCTL_READ _IOWR(AKMIO, 0x03, char[5])
55 #define ECS_IOCTL_SET_YPR _IOW(AKMIO, 0x0C, short[12])
56 #define ECS_IOCTL_GET_OPEN_STATUS _IOR(AKMIO, 0x0D, int)
57 #define ECS_IOCTL_GET_CLOSE_STATUS _IOR(AKMIO, 0x0E, int)
58 #define ECS_IOCTL_GET_DELAY _IOR(AKMIO, 0x30, short)
61 #define ECS_IOCTL_APP_SET_MFLAG _IOW(AKMIO, 0x11, short)
62 #define ECS_IOCTL_APP_GET_MFLAG _IOW(AKMIO, 0x12, short)
63 #define ECS_IOCTL_APP_SET_DELAY _IOW(AKMIO, 0x18, short)
64 #define ECS_IOCTL_APP_GET_DELAY ECS_IOCTL_GET_DELAY
65 /* Set raw magnetic vector flag */
66 #define ECS_IOCTL_APP_SET_MVFLAG _IOW(AKMIO, 0x19, short)
67 /* Get raw magnetic vector flag */
68 #define ECS_IOCTL_APP_GET_MVFLAG _IOR(AKMIO, 0x1A, short)