#ifndef _SF_MCU_DEV_H #define _SF_MCU_DEV_H #ifdef __KERNEL__ #include //#include #include "kwrap/type.h" //#include "kwrap/semaphore.h" #include "kwrap/flag.h" //#include "sf_ip6303.h" #include #include //#include "kflow_audiocapture/ctl_aud.h" #else #include "kwrap/type.h" //#include "kwrap/semaphore.h" #include "kwrap/flag.h" //#include "sf_ip6303.h" //#include "kflow_audiocapture/ctl_aud.h" #include "rtos_na51089/kdrv_i2c.h" #endif #define SUCCESS 0 #define FAIL 1 //#ifndef SF_I2C_NAME #define SF_I2C_NAME "sf_mcu" //#endif //#ifndef SF_I2C_ADDR #if (defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_) || defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S550_)) #define MCU_I2C_SLAVE_ADDR (0x20>>1) #elif defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_) #define MCU_I2C_SLAVE_ADDR (0xA0>>1) #else #define MCU_I2C_SLAVE_ADDR (0x20>>1) #endif //#endif #define IOC_MCU_GET _IOWR('r', 1, unsigned int) #define IOC_MCU_SET _IOWR('r', 2, unsigned int) typedef enum _SF_I2C_ID { SF_I2C_ID_1 = 0, SF_I2C_ID_2 = 1, SF_I2C_ID_3 = 2, SF_I2C_ID_4 = 3, SF_I2C_ID_5 = 4, ENUM_DUMMY4WORD(SF_I2C_ID) } SF_I2C_ID; typedef struct _SF_I2C { SF_I2C_ID id; UINT32 addr; } SF_I2C; ER sf_i2c_init_driver(UINT32 i2c_id); void sf_i2c_remove_driver(UINT32 id); INT32 sf_i2c_transfer(struct i2c_msg *msgs, INT32 num); #endif