source: rtems/c/src/lib/libbsp/sparc/leon2/include/rasta.h @ 9b4422a2

4.11
Last change on this file since 9b4422a2 was 9b4422a2, checked in by Joel Sherrill <joel.sherrill@…>, on May 3, 2012 at 3:09:24 PM

Remove All CVS Id Strings Possible Using a Script

Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines

next to each other after Id string line removed.

+ remove entire comment blocks which only exited to

contain CVS Ids

+ If the processing left a blank line at the top of

a file, it was removed.

  • Property mode set to 100644
File size: 3.6 KB
Line 
1#ifndef __RASTA_H__
2#define __RASTA_H__
3
4#include <bsp.h>
5
6#include <grcan.h>
7#include <b1553brm_rasta.h>
8#include <grspw.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14extern int rasta_register(void);
15
16/* Address of PCI bus on RASTA local AMBA bus */
17#define RASTA_PCI_BASE             0xe0000000
18
19/* Address of SRAM on RASTA local AMBA bus */
20#define RASTA_LOCAL_SRAM           0x40000000
21
22#define UART0_IRQNO  2
23#define UART1_IRQNO  3
24#define GRCAN_IRQNO  7
25#define SPW0_IRQNO   10
26#define SPW1_IRQNO   11
27#define SPW2_IRQNO   12
28#define BRM_IRQNO    13
29
30#define GRCAN_IRQ   (3<<GRCAN_IRQNO)
31#define SPW0_IRQ    (1<<SPW0_IRQNO)
32#define SPW1_IRQ    (1<<SPW1_IRQNO)
33#define SPW2_IRQ    (1<<SPW2_IRQNO)
34#define SPW_IRQ     (7<<SPW0_IRQNO)
35#define BRM_IRQ     (1<<BRM_IRQNO)
36#define UART0_IRQ   (1<<UART0_IRQNO)
37#define UART1_IRQ   (1<<UART1_IRQNO)
38
39/*
40 *  The following defines the bits in the UART Control Registers.
41 *
42 */
43#define LEON_REG_UART_CONTROL_RTD  0x000000FF /* RX/TX data */
44
45/*
46 *  The following defines the bits in the LEON UART Status Registers.
47 */
48#define LEON_REG_UART_STATUS_DR   0x00000001 /* Data Ready */
49#define LEON_REG_UART_STATUS_TSE  0x00000002 /* TX Send Register Empty */
50#define LEON_REG_UART_STATUS_THE  0x00000004 /* TX Hold Register Empty */
51#define LEON_REG_UART_STATUS_BR   0x00000008 /* Break Error */
52#define LEON_REG_UART_STATUS_OE   0x00000010 /* RX Overrun Error */
53#define LEON_REG_UART_STATUS_PE   0x00000020 /* RX Parity Error */
54#define LEON_REG_UART_STATUS_FE   0x00000040 /* RX Framing Error */
55#define LEON_REG_UART_STATUS_ERR  0x00000078 /* Error Mask */
56
57
58/*
59 *  The following defines the bits in the LEON UART Status Registers.
60 */
61#define LEON_REG_UART_CTRL_RE     0x00000001 /* Receiver enable */
62#define LEON_REG_UART_CTRL_TE     0x00000002 /* Transmitter enable */
63#define LEON_REG_UART_CTRL_RI     0x00000004 /* Receiver interrupt enable */
64#define LEON_REG_UART_CTRL_TI     0x00000008 /* Transmitter interrupt enable */
65#define LEON_REG_UART_CTRL_PS     0x00000010 /* Parity select */
66#define LEON_REG_UART_CTRL_PE     0x00000020 /* Parity enable */
67#define LEON_REG_UART_CTRL_FL     0x00000040 /* Flow control enable */
68#define LEON_REG_UART_CTRL_LB     0x00000080 /* Loop Back enable */
69
70#define UART_SET_SCALER 0
71#define UART_SET_CTRL   1
72#define UART_GET_STAT   2
73#define UART_CLR_STAT   3
74
75struct uart_reg {
76    volatile unsigned int data;              /* 0x00 */
77    volatile unsigned int status;            /* 0x04 */
78    volatile unsigned int ctrl;              /* 0x08 */
79    volatile unsigned int scaler;            /* 0x0C */
80};
81
82
83void uart_register(unsigned int baseaddr);
84rtems_device_driver uart_initialize(rtems_device_major_number  major, rtems_device_minor_number  minor, void *arg);
85rtems_device_driver uart_open(rtems_device_major_number major, rtems_device_minor_number minor, void *arg);
86rtems_device_driver uart_close(rtems_device_major_number major, rtems_device_minor_number minor, void *arg);
87rtems_device_driver uart_read(rtems_device_major_number major, rtems_device_minor_number minor, void *arg);
88rtems_device_driver uart_write(rtems_device_major_number major, rtems_device_minor_number minor, void *arg);
89rtems_device_driver uart_control(rtems_device_major_number major, rtems_device_minor_number minor, void *arg);
90
91
92struct gpio_reg {
93    volatile unsigned int in_data;          /* 0x00 */
94    volatile unsigned int out_data;         /* 0x04 */
95    volatile unsigned int dir;              /* 0x08 */
96    volatile unsigned int imask;            /* 0x0C */
97    volatile unsigned int ipol;             /* 0x10 */
98    volatile unsigned int iedge;            /* 0x14 */
99};
100
101extern struct gpio_reg *gpio0, *gpio1;
102
103#ifdef __cplusplus
104}
105#endif
106
107#endif
Note: See TracBrowser for help on using the repository browser.