X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=cpu%2Farm%2Fio%2Fat91sam7.h;h=978c9e34db5e3a8d11d342ec0b3b1996f865e417;hb=45add65abd59bd79f528501c85f3e5891a9c2c29;hp=84ddfed2733d2975b2091bc6645a28d81ff45424;hpb=f7fdb746ebaf3c808ee97cb5230d5c52313fa482;p=bertos.git diff --git a/cpu/arm/io/at91sam7.h b/cpu/arm/io/at91sam7.h index 84ddfed2..978c9e34 100644 --- a/cpu/arm/io/at91sam7.h +++ b/cpu/arm/io/at91sam7.h @@ -137,6 +137,10 @@ #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 /** @@ -176,7 +180,7 @@ /* 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 @@ -213,10 +217,10 @@ *\{ */ #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 @@ -245,7 +249,7 @@ * 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 @@ -253,6 +257,81 @@ #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