Forgot endif.
[bertos.git] / cpu / arm / io / at91sam7.h
index 84ddfed2733d2975b2091bc6645a28d81ff45424..978c9e34db5e3a8d11d342ec0b3b1996f865e417 100644 (file)
 #include "at91_us.h"
 #include "at91_dbgu.h"
 #include "at91_tc.h"
+#include "at91_adc.h"
+#include "at91_pwm.h"
+#include "at91_spi.h"
+#include "at91_twi.h"
 //TODO: add other peripherals
 
 /**
                /* ID 3 is reserved */
                #define ADC_ID      4       ///< Analog to digital converter ID.
                #define SPI_ID      5       ///< Serial peripheral interface ID.
-
+               #define SPI0_ID     SPI_ID  ///< Alias
        #endif
 
 #else
  *\{
  */
 #if CPU_ARM_AT91SAM7S256
-       #define NPCS0      11  // Same as NSS pin.
-       #define MISO       12
-       #define MOSI       13
-       #define SPCK       14
+       #define SPI0_NPCS0      11  // Same as NSS pin.
+       #define SPI0_MISO       12
+       #define SPI0_MOSI       13
+       #define SPI0_SPCK       14
 
 #elif CPU_ARM_AT91SAM7X256 || CPU_ARM_AT91SAM7X128
        #define SPI0_NPCS0  12 // Same as NSS pin. PA12
  * Timer counter pins definition.
  *\{
  */
-#if CPU_ARM_AT91SAM7X256
+#if CPU_ARM_AT91SAM7X256 || CPU_ARM_AT91SAM7X128
        #define TIOA0  23 // PB23
        #define TIOB0  24 // PB24
        #define TIOA1  25 // PB25
        #define TIOA2  27 // PB27
        #define TIOB2  28 // PB28
 
+#elif CPU_ARM_AT91SAM7S256
+       #define TIOA0  0 // PA0
+       #define TIOB0  1 // PA1
+       #define TIOA1  15 // PA15
+       #define TIOB1  16 // PA16
+       #define TIOA2  26 // PA26
+       #define TIOB2  27 // PA27
+
+#else
+       #error No Timer Conter pins name definition for selected ARM CPU
+
+#endif
+/*\}*/
+
+/**
+ * PWM pins definition.
+ *\{
+ */
+#define PWM_PIO_FUNCTION_A 1
+
+#if CPU_ARM_AT91SAM7X256 || CPU_ARM_AT91SAM7X128
+       #if PWM_PIO_FUNCTION_A
+               #define PWM0  19 // PB19
+               #define PWM1  20 // PB20
+               #define PWM2  21 // PB21
+               #define PWM3  22 // PB22
+       #else
+               #define PWM0  27 // PB27
+               #define PWM1  28 // PB28
+               #define PWM2  29 // PB29
+               #define PWM3  30 // PB30
+       #endif
+
+
+#elif CPU_ARM_AT91SAM7S256
+       #define PWM0  11 // PA11
+       #define PWM1  12 // PA12
+       #define PWM2  13 // PA13
+       #define PWM3  14 // PA14
+
+#else
+       #error No PWM pins name definition for selected ARM CPU
+
+#endif
+/*\}*/
+
+/**
+ * TWI pins definition.
+ *\{
+ */
+#if CPU_ARM_AT91SAM7X256 || CPU_ARM_AT91SAM7X128
+       #define TWD  10
+       #define TWCK 11
+#else
+       #error No TWI pin names definition for selected ARM CPU
+#endif
+
+/**
+ * ADC pins definition.
+ *\{
+ */
+#if CPU_ARM_AT91SAM7X256
+       #define ADTRG   18 // PB18
+       #define AD0     23 // PB27
+       #define AD1     24 // PB28
+       #define AD2     25 // PB29
+       #define AD3     26 // PB30
+
+#elif CPU_ARM_AT91SAM7S256
+       #define ADTRG   18 // PA8
+       #define AD0      0 // PA17
+       #define AD1      1 // PA18
+       #define AD2     15 // PA19
+       #define AD3     16 // PA20
+
 #else
        #error No Timer Conter pin names definition for selected ARM CPU