]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/ARM7_AT91FR40008_GCC/pio.h
Update version numbers in preparation for V8.2.0 release candidate 1.
[freertos] / FreeRTOS / Demo / ARM7_AT91FR40008_GCC / pio.h
1 //*---------------------------------------------------------------------------\r
2 //*         ATMEL Microcontroller Software Support  -  ROUSSET  -\r
3 //*---------------------------------------------------------------------------\r
4 //* The software is delivered "AS IS" without warranty or condition of any\r
5 //* kind, either express, implied or statutory. This includes without\r
6 //* limitation any warranty or condition with respect to merchantability or\r
7 //* fitness for any particular purpose, or against the infringements of\r
8 //* intellectual property rights of others.\r
9 //*-----------------------------------------------------------------------------\r
10 //* File Name           : pio.h\r
11 //* Object              : Parallel I/O Definition File\r
12 //* Translator          : ARM Software Development Toolkit V2.11a\r
13 //*\r
14 //* 1.0 20/10/97 JCZ    : Creation\r
15 //* 2.0 21/10/98 JCZ    : Clean up\r
16 //*---------------------------------------------------------------------------\r
17 \r
18 #ifndef pio_h\r
19 #define pio_h\r
20 \r
21 /*---------------------------------------------*/\r
22 /* Parallel I/O Interface Structure Definition */\r
23 /*---------------------------------------------*/\r
24 \r
25 typedef struct\r
26 {\r
27     at91_reg        PIO_PER ;           /* PIO Enable Register */\r
28     at91_reg        PIO_PDR ;           /* PIO Disable Register */\r
29     at91_reg        PIO_PSR ;           /* PIO Status Register */\r
30     at91_reg        Reserved0 ;\r
31     at91_reg        PIO_OER ;           /* Output Enable Register */\r
32     at91_reg        PIO_ODR ;           /* Output Disable Register */\r
33     at91_reg        PIO_OSR ;           /* Output Status Register */\r
34     at91_reg        Reserved1 ;\r
35     at91_reg        PIO_IFER ;          /* Input Filter Enable Register */\r
36     at91_reg        PIO_IFDR ;          /* Input Filter Disable Register */\r
37     at91_reg        PIO_IFSR ;          /* Input Filter Status Register */\r
38     at91_reg        Reserved2 ;\r
39     at91_reg        PIO_SODR ;          /* Set Output Data Register */\r
40     at91_reg        PIO_CODR ;          /* Clear Output Data Register */\r
41     at91_reg        PIO_ODSR ;          /* Output Data Status Register */\r
42     at91_reg        PIO_PDSR ;          /* Pin Data Status Register */\r
43     at91_reg        PIO_IER ;           /* Interrupt Enable Register */\r
44     at91_reg        PIO_IDR ;           /* Interrupt Disable Register */\r
45     at91_reg        PIO_IMR ;           /* Interrupt Mask Register */\r
46     at91_reg        PIO_ISR ;           /* Interrupt Status Register */\r
47 } StructPIO ;\r
48 \r
49 /*-----------------------------*/\r
50 /* PIO Handler type definition */\r
51 /*-----------------------------*/\r
52 \r
53 //typedef void (*TypePIOHandler) ( StructPIO *pio_pt, u_int pio_mask ) ;\r
54 \r
55 /*--------------------------------*/\r
56 /* Device Dependancies Definition */\r
57 /*--------------------------------*/\r
58 \r
59 /* Number of PIO Controller */\r
60 #define NB_PIO_CTRL     1\r
61 /* Base Address */\r
62 #define PIO_BASE        ((StructPIO *) 0xFFFF0000 )\r
63 /* Number of PIO Lines */\r
64 #define NB_PIO          32\r
65 \r
66 /* Parallel I/O Bits Definition */\r
67 #define P0              (1<<0)\r
68 #define P1              (1<<1)\r
69 #define P2              (1<<2)\r
70 #define P3              (1<<3)\r
71 #define P4              (1<<4)\r
72 #define P5              (1<<5)\r
73 #define P6              (1<<6)\r
74 #define P7              (1<<7)\r
75 #define P8              (1<<8)\r
76 #define P9              (1<<9)\r
77 #define P10             (1<<10)\r
78 #define P11             (1<<11)\r
79 #define P12             (1<<12)\r
80 #define P13             (1<<13)\r
81 #define P14             (1<<14)\r
82 #define P15             (1<<15)\r
83 #define P16             (1<<16)\r
84 #define P17             (1<<17)\r
85 #define P18             (1<<18)\r
86 #define P19             (1<<19)\r
87 #define P20             (1<<20)\r
88 #define P21             (1<<21)\r
89 #define P22             (1<<22)\r
90 #define P23             (1<<23)\r
91 #define P24             (1<<24)\r
92 #define P25             (1<<25)\r
93 #define P26             (1<<26)\r
94 #define P27             (1<<27)\r
95 #define P28             (1<<28)\r
96 #define P29             (1<<29)\r
97 #define P30             (1<<30)\r
98 #define P31             (1<<31)\r
99 \r
100 /* PIO Multiplexing Definition */\r
101 \r
102 /* There is only one PIO Controller */\r
103 #define PIO_CTRL        0\r
104 \r
105 #define PIO_TC0         PIO_CTRL\r
106 #define TCLK0           P0\r
107 #define TIOA0           P1\r
108 #define TIOB0           P2\r
109 #define PIN_TC0         (TIOA0|TIOB0|TCLK0)\r
110 \r
111 #define PIO_TC1         PIO_CTRL\r
112 #define TCLK1           P3\r
113 #define TIOA1           P4\r
114 #define TIOB1           P5\r
115 #define PIN_TC1         (TIOA1|TIOB1|TCLK1)\r
116 \r
117 #define PIO_TC2         PIO_CTRL\r
118 #define TCLK2           P6\r
119 #define TIOA2           P7\r
120 #define TIOB2           P8\r
121 #define PIN_TC2         (TIOA2|TIOB2|TCLK2)\r
122 \r
123 #define PIO_EXT_IRQ     PIO_CTRL\r
124 #define PIN_IRQ0        P9\r
125 #define PIN_IRQ1        P10\r
126 #define PIN_IRQ2        P11\r
127 #define PIN_FIQ         P12\r
128 \r
129 #define PIO_USART0      PIO_CTRL\r
130 #define SCK0            P13\r
131 #define TXD0            P14\r
132 #define RXD0            P15\r
133 #define PIN_USART0      (SCK0|TXD0|RXD0)\r
134 \r
135 #define PIO_USART1      PIO_CTRL\r
136 #define SCK1            P20\r
137 #define TXD1            P21\r
138 #define RXD1            P22\r
139 #define PIN_USART1      (SCK1|TXD1|RXD1)\r
140 \r
141 #define MCKO            P25\r
142 #define CS2             P26\r
143 #define CS3             P27\r
144 #define CS4             P31\r
145 #define CS5             P30\r
146 #define CS6             P29\r
147 #define CS7             P28\r
148 \r
149 #endif /* pio_h */\r