OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-arm/] [arch-sa1100/] [frodo.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1276 phoenix
#ifndef _INCLUDE_FRODO_H_
2
#define _INCLUDE_FRODO_H_
3
 
4
/*
5
 * linux/include/asm-arm/arch-sa1100/frodo.h
6
 *
7
 * Author: Abraham van der Merwe <abraham@2d3d.co.za>
8
 *
9
 * This file contains the hardware specific definitions for 2d3D, Inc.
10
 * SA-1110 Development Board.
11
 *
12
 * Only include this file from SA1100-specific files.
13
 *
14
 * This source code is free software; you can redistribute it and/or
15
 * modify it under the terms of the GNU General Public License
16
 * version 2 as published by the Free Software Foundation.
17
 *
18
 * History:
19
 *
20
 *   2002/07/17   Protect accesses to CPLD memory with a global lock
21
 *                to prevent races.
22
 *
23
 *   2002/06/25   PCMCIA support
24
 *
25
 *   2002/06/06   Added Real-Time Clock IRQ
26
 *                Added IRQs for UARTs
27
 *
28
 *   2002/05/20   Added I2C definitions
29
 *                Updated USB port definitions
30
 *                Removed scratchpad register
31
 *                Added definitions for second UART
32
 *
33
 *   2002/04/19   Added USB definitions
34
 *
35
 *   2002/04/17   Added flow control definitions for UART1
36
 *
37
 *   2002/03/14   Added ethernet reset definitions
38
 *
39
 *   2002/02/28   Ethernet (cs89x0) support
40
 *
41
 *   2002/02/27   IDE support
42
 *
43
 *   2002/02/22   Added some CPLD registers to control backlight and
44
 *                general purpose LEDs
45
 *
46
 *   2002/01/31   Initial version
47
 */
48
 
49
/* CPLD memory */
50
#define FRODO_CPLD_BASE                         0x40000000
51
#define FRODO_CPLD_LENGTH                       0x00100000
52
 
53
/* CPLD registers */
54
#define FRODO_CPLD_PCMCIA_COMMAND       0x00000
55
#define FRODO_CPLD_PCMCIA_STATUS        0x04000
56
#define FRODO_CPLD_IDE                          0x08000
57
#define FRODO_CPLD_UART1                        0x0c000
58
#define FRODO_CPLD_USB                          0x10000
59
#define FRODO_CPLD_ETHERNET                     0x14000
60
#define FRODO_CPLD_UART2                        0x18000
61
#define FRODO_CPLD_GENERAL                      0x04004
62
#define FRODO_CPLD_I2C                          0x08004
63
 
64
/* functions to access those registers */
65
#ifndef __ASSEMBLY__
66
#include <linux/types.h>
67
extern u16 frodo_cpld_read (u32 reg);
68
extern void frodo_cpld_write (u32 reg,u16 value);
69
extern void frodo_cpld_set (u32 reg,u16 mask);
70
extern void frodo_cpld_clear (u32 reg,u16 mask);
71
#endif  /* #ifndef __ASSEMBLY__ */
72
 
73
/* general command/status register */
74
#define FRODO_LCD_BACKLIGHT                     0x0400          /* R/W */
75
#define FRODO_LED1                                      0x0100          /* R/W */
76
#define FRODO_LED2                                      0x0200          /* R/W */
77
#define FRODO_PUSHBUTTON                        0x8000          /* R/O */
78
 
79
/* ethernet register */
80
#define FRODO_ETH_RESET                         0x8000          /* R/W */
81
 
82
/* IDE related definitions */
83
#define FRODO_IDE_GPIO                          GPIO_GPIO23
84
#define FRODO_IDE_IRQ                           IRQ_GPIO23
85
#define FRODO_IDE_CTRL                          0xf0038004
86
#define FRODO_IDE_DATA                          0xf0020000
87
 
88
/* Ethernet related definitions */
89
#define FRODO_ETH_GPIO                          GPIO_GPIO20
90
#define FRODO_ETH_IRQ                           IRQ_GPIO20
91
#define FRODO_ETH_MEMORY                        0xf0060000
92
#define FRODO_ETH_IO                            0xf0070000
93
 
94
/* USB device controller */
95
#define FRODO_USB_DC_GPIO                       GPIO_GPIO19
96
#define FRODO_USB_DC_IRQ                        IRQ_GPIO19
97
#define FRODO_USB_DC_CTRL                       0xf0040006
98
#define FRODO_USB_DC_DATA                       0xf0040004
99
 
100
/* USB host controller */
101
#define FRODO_USB_HC_GPIO                       GPIO_GPIO18
102
#define FRODO_USB_HC_IRQ                        IRQ_GPIO18
103
#define FRODO_USB_HC_CTRL                       0xf0040002
104
#define FRODO_USB_HC_DATA                       0xf0040000
105
 
106
/* This UART supports all the funky things */
107
#define FRODO_UART1_RI                          0x0100          /* R/O */
108
#define FRODO_UART1_DCD                         0x0200          /* R/O */
109
#define FRODO_UART1_CTS                         0x0400          /* R/O */
110
#define FRODO_UART1_DSR                         0x0800          /* R/O */
111
#define FRODO_UART1_DTR                         0x2000          /* R/W */
112
#define FRODO_UART1_RTS                         0x4000          /* R/W */
113
#define FRODO_UART1_IRQEN                       0x8000          /* R/W */
114
#define FRODO_UART1_GPIO                        GPIO_GPIO25
115
#define FRODO_UART1_IRQ                         IRQ_GPIO25
116
 
117
/* Console port. Only supports a subset of the control lines */
118
#define FRODO_UART2_IRQEN                       0x0100          /* R/W */
119
#define FRODO_UART2_CTS                         0x1000          /* R/O */
120
#define FRODO_UART2_RTS                         0x8000          /* R/W */
121
#define FRODO_UART2_GPIO                        GPIO_GPIO24
122
#define FRODO_UART2_IRQ                         IRQ_GPIO24
123
 
124
/* USB command register */
125
#define FRODO_USB_HWAKEUP                       0x2000          /* R/W */
126
#define FRODO_USB_DWAKEUP                       0x4000          /* R/W */
127
#define FRODO_USB_NDPSEL                        0x8000          /* R/W */
128
 
129
/* I2C adapter information */
130
#define FRODO_I2C_SCL_OUT                       0x2000          /* R/W */
131
#define FRODO_I2C_SCL_IN                        0x1000          /* R/O */
132
#define FRODO_I2C_SDA_OUT                       0x8000          /* R/W */
133
#define FRODO_I2C_SDA_IN                        0x4000          /* R/O */
134
 
135
/* Real-Time Clock */
136
#define FRODO_RTC_GPIO                          GPIO_GPIO14
137
#define FRODO_RTC_IRQ                           IRQ_GPIO14
138
 
139
/* PCMCIA command register */
140
#define FRODO_PCMCIA_RESET                      0x0004          /* R/W */
141
#define FRODO_PCMCIA_VCC1                       0x0008          /* R/W */
142
#define FRODO_PCMCIA_VCC0                       0x0010          /* R/W */
143
#define FRODO_PCMCIA_VPP1                       0x0020          /* R/W */
144
#define FRODO_PCMCIA_VPP0                       0x0040          /* R/W */
145
#define FRODO_PCMCIA_CLEAR                      0x0080          /* R/W */
146
 
147
/* PCMCIA status register */
148
#define FRODO_PCMCIA_VS1                        0x0001          /* R/O */
149
#define FRODO_PCMCIA_VS2                        0x0002          /* R/O */
150
#define FRODO_PCMCIA_BVD1                       0x0004          /* R/O */
151
#define FRODO_PCMCIA_BVD2                       0x0008          /* R/O */
152
#define FRODO_PCMCIA_CD1                        0x0010          /* R/O */
153
#define FRODO_PCMCIA_CD2                        0x0020          /* R/O */
154
#define FRODO_PCMCIA_RDYBSY                     0x0040          /* R/O */
155
 
156
/* PCMCIA interrupts */
157
#define FRODO_PCMCIA_STATUS_GPIO        GPIO_GPIO10
158
#define FRODO_PCMCIA_STATUS_IRQ         IRQ_GPIO10
159
#define FRODO_PCMCIA_RDYBSY_GPIO        GPIO_GPIO11
160
#define FRODO_PCMCIA_RDYBSY_IRQ         IRQ_GPIO11
161
 
162
#endif  /* _INCLUDE_FRODO_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.