blob: 4793fecf8ecef8667c1d89c03d69b83681b91861 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * linux/drivers/serial/cpm_uart_cpm2.h
3 *
4 * Driver for CPM (SCC/SMC) serial ports
5 *
6 * definitions for cpm2
7 *
8 */
9
10#ifndef CPM_UART_CPM2_H
11#define CPM_UART_CPM2_H
12
13#include <asm/cpm2.h>
14
15/* defines for IRQs */
16#define SMC1_IRQ SIU_INT_SMC1
17#define SMC2_IRQ SIU_INT_SMC2
18#define SCC1_IRQ SIU_INT_SCC1
19#define SCC2_IRQ SIU_INT_SCC2
20#define SCC3_IRQ SIU_INT_SCC3
21#define SCC4_IRQ SIU_INT_SCC4
22
23/* the CPM address */
24#define CPM_ADDR CPM_MAP_ADDR
25
26static inline void cpm_set_brg(int brg, int baud)
27{
28 cpm_setbrg(brg, baud);
29}
30
31static inline void cpm_set_scc_fcr(volatile scc_uart_t * sup)
32{
33 sup->scc_genscc.scc_rfcr = CPMFCR_GBL | CPMFCR_EB;
34 sup->scc_genscc.scc_tfcr = CPMFCR_GBL | CPMFCR_EB;
35}
36
37static inline void cpm_set_smc_fcr(volatile smc_uart_t * up)
38{
39 up->smc_rfcr = CPMFCR_GBL | CPMFCR_EB;
40 up->smc_tfcr = CPMFCR_GBL | CPMFCR_EB;
41}
42
43#define DPRAM_BASE ((unsigned char *)&cpm2_immr->im_dprambase[0])
44
45#endif