summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm/pxa255/include/ffuart.h
blob: 68df8221839a87401472669b9ec681a293e7cef6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
 *  FFUART for PXA250 CPU by Yang Xi<hiyangxi@gmail.com>
 *
 *  The license and distribution terms for this file may be
 *  found in the file LICENSE in this distribution or at
 *  http://www.rtems.org/license/LICENSE.
 */

#ifndef __FFUART_H__
#define __FFUART_H__

typedef struct {
  /*
   *Receive buffer(DLAB=0).Transmit buffer(DLAB=0).
   *Divisor Latch Low(DLAB=1)
   */
  volatile unsigned int rbr;
  /*Interrupt enable(DLAB=0). Divisor Latch High(DLAB=1)*/
  volatile unsigned int ier;
  /*Interrupt identification.FIFO control*/
  volatile unsigned int iir;
  /*Line Control*/
  volatile unsigned int lcr;
  /*Modem control*/
  volatile unsigned int mcr;
  /*Line Status*/
  volatile unsigned int lsr;
  /*Modem status*/
  volatile unsigned int msr;
  /*Scratch Pad*/
  volatile unsigned int spr;
  /*Infrared Selection*/
  volatile unsigned int isr;
} ffuart_reg_t;


#define EIGHT_BITS_NOPARITY_1STOPBIT  0x3
#define DLAB 0x80


/*Divisor = frequency_uart/(16 * BaudRate*)*/
#define FREQUENCY_UART (14745600)

#define SEND_EMPTY 0x20
#define FULL_RECEIVE 0x01

#endif