]> rtime.felk.cvut.cz Git - sysless.git/blob - arch/h8300/mach-2638/drivers/sci0.c
e7320cc774a149f97b758f55b37302facdcf830c
[sysless.git] / arch / h8300 / mach-2638 / drivers / sci0.c
1 #include <periph/sci_rs232.h>
2 #include <periph/sci_channels.h>
3 #include <h8s2638h.h>
4 #include <cpu_def.h>
5
6 void sci_rs232_eri_isr_0(void) __attribute__ ((interrupt_handler));
7 void sci_rs232_rxi_isr_0(void) __attribute__ ((interrupt_handler));
8 void sci_rs232_txi_isr_0(void) __attribute__ ((interrupt_handler));
9 void sci_rs232_tei_isr_0(void) __attribute__ ((interrupt_handler));
10
11 void sci_rs232_eri_isr_0() { sci_rs232_eri_isr(&sci_rs232_chan0); }
12 void sci_rs232_rxi_isr_0() { sci_rs232_rxi_isr(&sci_rs232_chan0); }
13 void sci_rs232_txi_isr_0() { sci_rs232_txi_isr(&sci_rs232_chan0); }
14 void sci_rs232_tei_isr_0() { sci_rs232_tei_isr(&sci_rs232_chan0); }
15
16 int sci_rs232_rxd_pin_0() { return (*DIO_PORT3)&(1<<1); }
17
18 void sci_rs232_init_0() 
19
20   *SYS_MSTPCRB&=~MSTPCRB_SCI0m; 
21
22   excptvec_set(EXCPTVEC_ERI0, sci_rs232_eri_isr_0);
23   excptvec_set(EXCPTVEC_RXI0, sci_rs232_rxi_isr_0);
24   excptvec_set(EXCPTVEC_TXI0, sci_rs232_txi_isr_0);
25   excptvec_set(EXCPTVEC_TEI0, sci_rs232_tei_isr_0);
26 }
27
28 sci_info_t sci_rs232_chan0 = {
29   .regs = (struct sci_regs *)SCI_SMR0,
30   .sci_rs232_baud = 9600,
31   .sci_rs232_mode = SCI_SMR_8N1,
32   .sci_rs232_flowc = 0,
33   .sci_rs232_init = sci_rs232_init_0,
34   .sci_rs232_rxd_pin = sci_rs232_rxd_pin_0
35 };
36     
37
38 /* Local variables: */
39 /* c-basic-offset:2 */
40 /* End: */