From 8f41963efda07430df4b0eb418589ebfe25fe9ca Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Thu, 27 Jun 2013 15:07:07 -0600 Subject: [PATCH] With these changes the Arduino Due port builds without errors --- arch/arm/include/sam34/sam3x_irq.h | 1 + arch/arm/src/sam34/chip/sam3x_pinmap.h | 40 +++++++++++++------------- arch/arm/src/sam34/sam3u_clockconfig.c | 6 ++-- arch/arm/src/sam34/sam3u_gpio.c | 3 +- 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/arch/arm/include/sam34/sam3x_irq.h b/arch/arm/include/sam34/sam3x_irq.h index 55613cdb9c..d94a5aa1e2 100644 --- a/arch/arm/include/sam34/sam3x_irq.h +++ b/arch/arm/include/sam34/sam3x_irq.h @@ -146,6 +146,7 @@ #define SAM_IRQ_CAN0 (SAM_IRQ_EXTINT+SAM_PID_CAN0) /* CAN Controller 0 */ #define SAM_IRQ_CAN1 (SAM_IRQ_EXTINT+SAM_PID_CAN1) /* CAN Controller 1 */ +#define SAM_IRQ_NEXTINT NR_PIDS /* Number of external interrupts */ #define SAM_IRQ_NIRQS (SAM_IRQ_EXTINT+NR_PIDS) /* The number of real IRQs */ /* GPIO interrupts (derived from SAM_IRQ_PIOA/B/C/D/E/F) */ diff --git a/arch/arm/src/sam34/chip/sam3x_pinmap.h b/arch/arm/src/sam34/chip/sam3x_pinmap.h index f4d2298494..d100c81d23 100644 --- a/arch/arm/src/sam34/chip/sam3x_pinmap.h +++ b/arch/arm/src/sam34/chip/sam3x_pinmap.h @@ -144,12 +144,12 @@ /* Programmable Clock Output */ -#define GPIO_PCK0 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN1) -#define GPIO_PCK0 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN22) -#define GPIO_PCK1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN24) -#define GPIO_PCK1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN30) -#define GPIO_PCK2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN28) -#define GPIO_PCK2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN31) +#define GPIO_PCK0_1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN1) +#define GPIO_PCK0_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN22) +#define GPIO_PCK1_1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN24) +#define GPIO_PCK1_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN30) +#define GPIO_PCK2_1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN28) +#define GPIO_PCK2_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN31) /* Pulse Width Modulation (PWM) */ @@ -284,20 +284,20 @@ /* NAND Interface */ -#define GPIO_NAND_ALE (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN8) -#define GPIO_NAND_ALE (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN2) -#define GPIO_NAND_CLE (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN9) -#define GPIO_NAND_CLE (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN3) +#define GPIO_NAND_ALE_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN8) +#define GPIO_NAND_ALE_2 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN2) +#define GPIO_NAND_CLE_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN9) +#define GPIO_NAND_CLE_2 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN3) #define GPIO_NAND_OE (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOC | GPIO_PIN19) #define GPIO_NAND_RDY (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN2) #define GPIO_NAND_WE (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOC | GPIO_PIN20) /* SDRAM Controller */ -#define GPIO_SDRAM_BA0 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN28) -#define GPIO_SDRAM_BA0 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN6) -#define GPIO_SDRAM_BA1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN29) -#define GPIO_SDRAM_BA1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN7) +#define GPIO_SDRAM_BA0_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN28) +#define GPIO_SDRAM_BA0_2 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN6) +#define GPIO_SDRAM_BA1_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN29) +#define GPIO_SDRAM_BA1_2 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN7) #define GPIO_SDRAM_CAS (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN16) #define GPIO_SDRAM_NBS0 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOC | GPIO_PIN21) #define GPIO_SDRAM_NBS1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOD | GPIO_PIN10) @@ -351,18 +351,18 @@ #define GPIO_TC2_IOB (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN6) #define GPIO_TC3_CLK (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN22) #define GPIO_TC3_IOA_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN9) -#define GPIO_TC3_IOA_1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN0) -#define GPIO_TC3_IOB_2 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN10) +#define GPIO_TC3_IOA_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN0) +#define GPIO_TC3_IOB_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN10) #define GPIO_TC3_IOB_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN1) #define GPIO_TC4_CLK (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN23) #define GPIO_TC4_IOA_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN11) -#define GPIO_TC4_IOA_1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN2) -#define GPIO_TC4_IOB_2 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN12) +#define GPIO_TC4_IOA_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN2) +#define GPIO_TC4_IOB_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN12) #define GPIO_TC4_IOB_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN3) #define GPIO_TC5_CLK (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN16) #define GPIO_TC5_IOA_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN13) -#define GPIO_TC5_IOA_1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN4) -#define GPIO_TC5_IOB_2 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN14) +#define GPIO_TC5_IOA_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN4) +#define GPIO_TC5_IOB_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOE | GPIO_PIN14) #define GPIO_TC5_IOB_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN5) #define GPIO_TC6_CLK (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOC | GPIO_PIN27) #define GPIO_TC6_IOA (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOC | GPIO_PIN25) diff --git a/arch/arm/src/sam34/sam3u_clockconfig.c b/arch/arm/src/sam34/sam3u_clockconfig.c index 180e7f3caf..0f72855048 100644 --- a/arch/arm/src/sam34/sam3u_clockconfig.c +++ b/arch/arm/src/sam34/sam3u_clockconfig.c @@ -66,11 +66,13 @@ #define BOARD_CKGR_MOR (PMC_CKGR_MOR_KEY | BOARD_CKGR_MOR_MOSCXTST | \ PMC_CKGR_MOR_MOSCRCEN | PMC_CKGR_MOR_MOSCXTEN) -#if defined(CONFIG_ARCH_CHIP_SAM3U) || defined(CONFIG_ARCH_CHIP_SAM3A) || \ - defined(CONFIG_ARCH_CHIP_SAM3X) +#if defined(CONFIG_ARCH_CHIP_SAM3U) # define BOARD_CKGR_PLLAR (PMC_CKGR_PLLAR_ONE | BOARD_CKGR_PLLAR_MUL | \ BOARD_CKGR_PLLAR_STMODE | BOARD_CKGR_PLLAR_COUNT | \ BOARD_CKGR_PLLAR_DIV) +#elif defined(CONFIG_ARCH_CHIP_SAM3A) || defined(CONFIG_ARCH_CHIP_SAM3X) +# define BOARD_CKGR_PLLAR (PMC_CKGR_PLLAR_ONE | BOARD_CKGR_PLLAR_MUL | \ + BOARD_CKGR_PLLAR_COUNT | BOARD_CKGR_PLLAR_DIV) #elif defined(CONFIG_ARCH_CHIP_SAM4S) # define BOARD_CKGR_PLLAR (PMC_CKGR_PLLAR_ONE | BOARD_CKGR_PLLAR_MUL | \ BOARD_CKGR_PLLAR_COUNT | BOARD_CKGR_PLLAR_DIV) diff --git a/arch/arm/src/sam34/sam3u_gpio.c b/arch/arm/src/sam34/sam3u_gpio.c index d00e54ba50..90d5d2157b 100644 --- a/arch/arm/src/sam34/sam3u_gpio.c +++ b/arch/arm/src/sam34/sam3u_gpio.c @@ -54,7 +54,8 @@ #include "chip.h" #include "sam_gpio.h" -#if defined(CONFIG_ARCH_CHIP_SAM3U) +#if defined(CONFIG_ARCH_CHIP_SAM3U) || defined(CONFIG_ARCH_CHIP_SAM3X) || \ + defined(CONFIG_ARCH_CHIP_SAM3A) # include "chip/sam3u_pio.h" #elif defined(CONFIG_ARCH_CHIP_SAM4S) # include "chip/sam4s_pio.h"