File indexing completed on 2025-05-11 08:23:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _twi_h_
0015 #define _twi_h_
0016
0017
0018 #ifdef __cplusplus
0019 extern "C" {
0020 #endif
0021
0022
0023 typedef struct {
0024 uint32_t sclk;
0025 void *base;
0026 bool fast;
0027 int8_t slave_address;
0028 } bfin_twi_config_t;
0029
0030 typedef struct bfin_twi_request_s {
0031 bool write;
0032 int count;
0033 void *data;
0034
0035
0036
0037
0038 struct bfin_twi_request_s *next;
0039 } bfin_twi_request_t;
0040
0041 typedef rtems_status_code (*bfin_twi_callback_t)(int channel,
0042 void *arg,
0043 bool general_call,
0044 bool write,
0045 bool done,
0046 int read_count,
0047 uint8_t *data);
0048
0049
0050 rtems_status_code bfin_twi_init(int channel, bfin_twi_config_t *config);
0051
0052 rtems_status_code bfin_twi_register_callback(int channel,
0053 bfin_twi_callback_t callback,
0054 void *arg);
0055
0056 void bfin_twi_isr(int source);
0057
0058 rtems_status_code bfin_twi_request(int channel, uint8_t address,
0059 bfin_twi_request_t *request,
0060 rtems_interval timeout);
0061
0062
0063 #ifdef __cplusplus
0064 }
0065 #endif
0066
0067 #endif
0068