#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
+
+
+#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