Harald Welte | da02f55 | 2012-01-14 18:18:31 +0100 | [diff] [blame] | 1 | #ifndef _IDT82_H |
| 2 | #define _IDT82_H |
| 3 | |
| 4 | enum idt82_term { |
| 5 | IDT_TERM_INT_75 = 0 |
| 6 | IDT_TERM_INT_120, |
| 7 | IDT_TERM_INT_100, |
| 8 | IDT_TERM_INT_110, |
| 9 | IDT_TERM_EXT, |
| 10 | }; |
| 11 | |
| 12 | enum idt82_mode { |
| 13 | IDT_MODE_E1 = 0, |
| 14 | IDT_MODE_T1, |
| 15 | IDT_MODE_J1, |
| 16 | }; |
| 17 | |
| 18 | struct idt82 { |
| 19 | enum idt82_mode mode; |
| 20 | enum idt82_term term; |
Harald Welte | 605e3e4 | 2012-03-06 23:15:42 +0100 | [diff] [blame] | 21 | void *priv; |
| 22 | uint8_t cs; |
Harald Welte | da02f55 | 2012-01-14 18:18:31 +0100 | [diff] [blame] | 23 | }; |
| 24 | |
| 25 | int idt82_termination(struct idt82 *idt, enum idt82_term term); |
| 26 | int idt82_mode(struct idt82 *idt, enum idt82_mode mode); |
| 27 | int idt82_get_errcount(struct idt82 *idt); |
| 28 | int idt82_get_line_att(struct idt82 *idt); |
| 29 | int idt82_init(struct idt82 *idt); |
| 30 | |
| 31 | /* callbacks into transport */ |
| 32 | int idt82_reg_write(struct idt82 *idt, uint8_t reg, uin8_t val); |
| 33 | int idt82_reg_read(struct idt82 *idt, uint8_t reg); |
| 34 | |
Harald Welte | 605e3e4 | 2012-03-06 23:15:42 +0100 | [diff] [blame] | 35 | /* board specific initializers */ |
| 36 | int idt82_at91_init(struct idt82 *idt, void *spi, unsigned int id, |
| 37 | uint8_t cs, uint32_t spi_mr, uint32_t csr); |
| 38 | |
Harald Welte | da02f55 | 2012-01-14 18:18:31 +0100 | [diff] [blame] | 39 | #endif |