00001 #ifndef _gpio_h_
00002 #define _gpio_h_
00003
00004 typedef struct gpio_t
00005 {
00006
00007 volatile unsigned long per;
00008 volatile unsigned long pdr;
00009 volatile const unsigned long psr;
00010 volatile unsigned :32;
00011
00012
00013 volatile unsigned long oer;
00014 volatile unsigned long odr;
00015 volatile const unsigned long osr;
00016 volatile unsigned :32;
00017
00018
00019 volatile unsigned long ifer;
00020 volatile unsigned long ifdr;
00021 volatile const unsigned long ifsr;
00022 volatile unsigned :32;
00023
00024
00025 volatile unsigned long sodr;
00026 volatile unsigned long codr;
00027 volatile const unsigned long odsr;
00028 volatile const unsigned long pdsr;
00029
00030
00031 volatile unsigned long ier;
00032 volatile unsigned long idr;
00033 volatile const unsigned long imr;
00034 volatile const unsigned long isr;
00035
00036
00037 volatile unsigned long mder;
00038 volatile unsigned long mddr;
00039 volatile const unsigned long mdsr;
00040 volatile unsigned :32;
00041
00042
00043 volatile unsigned long pudr;
00044 volatile unsigned long puer;
00045 volatile const unsigned long pusr;
00046 volatile unsigned :32;
00047
00048
00049 volatile unsigned long asr;
00050 volatile unsigned long bsr;
00051 volatile const unsigned long absr;
00052 volatile unsigned :32;
00053
00054
00055 volatile unsigned :32;
00056 volatile unsigned :32;
00057 volatile unsigned :32;
00058 volatile unsigned :32;
00059
00060
00061 volatile unsigned :32;
00062 volatile unsigned :32;
00063 volatile unsigned :32;
00064 volatile unsigned :32;
00065
00066
00067 volatile unsigned long ower;
00068 volatile unsigned long owdr;
00069 volatile const unsigned long owsr;
00070 volatile unsigned :32;
00071 }gpio_t;
00072
00073 #define PIOA ((struct gpio_t *) AVR32_PIOA_ADDRESS)
00074 #define PIOB ((struct gpio_t *) AVR32_PIOB_ADDRESS)
00075 #define PIOC ((struct gpio_t *) AVR32_PIOC_ADDRESS)
00076 #define PIOD ((struct gpio_t *) AVR32_PIOD_ADDRESS)
00077 #define PIOE ((struct gpio_t *) AVR32_PIOE_ADDRESS)
00078 #define PIOF ((struct gpio_t *) AVR32_PIOF_ADDRESS)
00079
00080 #endif