]> rtime.felk.cvut.cz Git - sysless.git/blob - arch/h8300/mach-2633/drivers/sci2.c
fcb80140d72af30848bd2903c8333284a8d2ff49
[sysless.git] / arch / h8300 / mach-2633 / drivers / sci2.c
1 #include <periph/sci_rs232.h>
2 #include <periph/sci_channels.h>
3 #include <h8s2633h.h>
4 #include <cpu_def.h>
5
6 void sci_rs232_eri_isr_2(void) __attribute__ ((interrupt_handler));
7 void sci_rs232_rxi_isr_2(void) __attribute__ ((interrupt_handler));
8 void sci_rs232_txi_isr_2(void) __attribute__ ((interrupt_handler));
9 void sci_rs232_tei_isr_2(void) __attribute__ ((interrupt_handler));
10
11 void sci_rs232_eri_isr_2() { sci_rs232_eri_isr(&sci_rs232_chan2); }
12 void sci_rs232_rxi_isr_2() { sci_rs232_rxi_isr(&sci_rs232_chan2); }
13 void sci_rs232_txi_isr_2() { sci_rs232_txi_isr(&sci_rs232_chan2); }
14 void sci_rs232_tei_isr_2() { sci_rs232_tei_isr(&sci_rs232_chan2); }
15
16 int sci_rs232_rxd_pin_2() { return (*DIO_PORTA)&(1<<2); }
17
18 void sci_rs232_init_2() 
19
20   *SYS_MSTPCRB&=~MSTPCRB_SCI2m; 
21
22   excptvec_set(EXCPTVEC_ERI2, sci_rs232_eri_isr_2);
23   excptvec_set(EXCPTVEC_RXI2, sci_rs232_rxi_isr_2);
24   excptvec_set(EXCPTVEC_TXI2, sci_rs232_txi_isr_2);
25   excptvec_set(EXCPTVEC_TEI2, sci_rs232_tei_isr_2);
26     
27 }
28
29 sci_info_t sci_rs232_chan2 = {
30   .regs = (struct sci_regs *)SCI_SMR2,
31   .sci_rs232_baud = 9600,
32   .sci_rs232_mode = SCI_SMR_8N1,
33   .sci_rs232_flowc = 0,
34   .sci_rs232_init = sci_rs232_init_2,
35   .sci_rs232_rxd_pin = sci_rs232_rxd_pin_2
36 };
37     
38
39 /* Local variables: */
40 /* c-basic-offset:2 */
41 /* End: */