19 #define SIO2_BAUD_DIV_SLOW 0x78
20 #define SIO2_BAUD_DIV_FAST 0x2
23 #define SIO2_MAX_TRANSFER_SIZE 256
26 #define EF_SIO2_INTR_REVERSE 0x00000100
27 #define EF_SIO2_INTR_COMPLETE 0x00000200
42 uint16_t sector_count;
43 volatile uint16_t sectors_transferred;
44 uint16_t sectors_reversed;
45 #ifdef CONFIG_USE_CRC16
49 volatile uint8_t abort;
54 extern int sio2_event_flag;
55 extern const uint8_t reverse_byte_LUT8[256];
58 extern void mx_sio2_lock(uint8_t intr_type);
59 extern void mx_sio2_unlock(uint8_t intr_type);
60 extern void mx_sio2_set_baud(uint8_t baud);
62 extern uint8_t mx_sio2_write_byte(uint8_t
byte);
63 extern uint8_t mx_sio2_write_dummy(
void);
65 extern void mx_sio2_rx_pio(uint8_t *buffer, uint32_t size);
66 extern void mx_sio2_tx_pio(uint8_t *buffer, uint32_t size);
68 extern void mx_sio2_start_rx_dma(uint8_t *buffer);
69 extern void mx_sio2_start_tx_dma(uint8_t *buffer);
71 extern uint8_t mx_sio2_wait_equal(uint8_t value, uint32_t
count);
72 extern uint8_t mx_sio2_wait_not_equal(uint8_t value, uint32_t
count);
73 extern uint8_t mx_sio2_wait_equal_masked(uint8_t value, uint8_t mask, uint32_t
count);
76 extern void reverse_buffer(uint32_t *buffer, uint32_t
count);