summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-04-11 18:07:49 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-04-11 18:07:49 +0000
commit43a9fea627eecbc4294079e80be611c2f4f7d7e3 (patch)
treecef2df7b49e4763c3799f2d488fa7b86f9156a6f
parent9f4e907eee7044467ff13b28230355ed7d85d195 (diff)
downloadnuttx-43a9fea627eecbc4294079e80be611c2f4f7d7e3.tar.gz
nuttx-43a9fea627eecbc4294079e80be611c2f4f7d7e3.tar.bz2
nuttx-43a9fea627eecbc4294079e80be611c2f4f7d7e3.zip
Fix PIO interface bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2586 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog3
-rw-r--r--nuttx/Documentation/NuttX.html5
-rwxr-xr-xnuttx/arch/arm/src/sam3u/sam3u_internal.h70
3 files changed, 42 insertions, 36 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 5f82326d0..b93a999c8 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -1086,3 +1086,6 @@
* configs/olimex-lpc2378, arch/arm/include/lpc2378, and arch/arm/src/lpc2378 -
Basic port of the NXP 2378 on the Olimex board contributed by
Rommel Marcelo.
+ * arch/arm/src/sam3u/sam3u_internal.h - Fixed a critical bug in the AT91SAM3U
+ PIO decoding. No PIOs greater than 15 could be used on any port! Obviously,
+ no one has been using this port.
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index af1cfd2d9..203ae6e88 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
- <p>Last Updated: April 8, 2010</p>
+ <p>Last Updated: April 11, 2010</p>
</td>
</tr>
</table>
@@ -1668,6 +1668,9 @@ nuttx-5.3 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* configs/olimex-lpc2378, arch/arm/include/lpc2378, and arch/arm/src/lpc2378 -
Basic port of the NXP 2378 on the Olimex board contributed by
Rommel Marcelo.
+ * arch/arm/src/sam3u/sam3u_internal.h - Fixed a critical bug in the AT91SAM3U
+ PIO decoding. No PIOs greater than 15 could be used on any port! Obviously,
+ no one has been using this port.
pascal-2.1 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/nuttx/arch/arm/src/sam3u/sam3u_internal.h b/nuttx/arch/arm/src/sam3u/sam3u_internal.h
index f6473ccb5..96cb97008 100755
--- a/nuttx/arch/arm/src/sam3u/sam3u_internal.h
+++ b/nuttx/arch/arm/src/sam3u/sam3u_internal.h
@@ -85,7 +85,7 @@
*/
#define GPIO_CFG_SHIFT (11) /* Bits 11-13: GPIO configuration bits */
-#define GPIO_CFG_MASK (3 << GPIO_CFG_SHIFT)
+#define GPIO_CFG_MASK (7 << GPIO_CFG_SHIFT)
# define GPIO_CFG_DEFAULT (0 << GPIO_CFG_SHIFT) /* Default, no attribute */
# define GPIO_CFG_PULLUP (1 << GPIO_CFG_SHIFT) /* Bit 11: Internal pull-up */
# define GPIO_CFG_DEGLITCH (2 << GPIO_CFG_SHIFT) /* Bit 12: Internal glitch filter */
@@ -125,40 +125,40 @@
* .... .... ...B BBBB
*/
-#define GPIO_PIN_SHIFT 0 /* Bits 0-3: GPIO number: 0-15 */
-#define GPIO_PIN_MASK (15 << GPIO_PIN_SHIFT)
-#define GPIO_PIN0 (0 << GPIO_PIN_SHIFT)
-#define GPIO_PIN1 (1 << GPIO_PIN_SHIFT)
-#define GPIO_PIN2 (2 << GPIO_PIN_SHIFT)
-#define GPIO_PIN3 (3 << GPIO_PIN_SHIFT)
-#define GPIO_PIN4 (4 << GPIO_PIN_SHIFT)
-#define GPIO_PIN5 (5 << GPIO_PIN_SHIFT)
-#define GPIO_PIN6 (6 << GPIO_PIN_SHIFT)
-#define GPIO_PIN7 (7 << GPIO_PIN_SHIFT)
-#define GPIO_PIN8 (8 << GPIO_PIN_SHIFT)
-#define GPIO_PIN9 (9 << GPIO_PIN_SHIFT)
-#define GPIO_PIN10 (10 << GPIO_PIN_SHIFT)
-#define GPIO_PIN11 (11 << GPIO_PIN_SHIFT)
-#define GPIO_PIN12 (12 << GPIO_PIN_SHIFT)
-#define GPIO_PIN13 (13 << GPIO_PIN_SHIFT)
-#define GPIO_PIN14 (14 << GPIO_PIN_SHIFT)
-#define GPIO_PIN15 (15 << GPIO_PIN_SHIFT)
-#define GPIO_PIN16 (16 << GPIO_PIN_SHIFT)
-#define GPIO_PIN17 (17 << GPIO_PIN_SHIFT)
-#define GPIO_PIN18 (18 << GPIO_PIN_SHIFT)
-#define GPIO_PIN19 (19 << GPIO_PIN_SHIFT)
-#define GPIO_PIN20 (20 << GPIO_PIN_SHIFT)
-#define GPIO_PIN21 (21 << GPIO_PIN_SHIFT)
-#define GPIO_PIN22 (22 << GPIO_PIN_SHIFT)
-#define GPIO_PIN23 (23 << GPIO_PIN_SHIFT)
-#define GPIO_PIN24 (24 << GPIO_PIN_SHIFT)
-#define GPIO_PIN25 (25 << GPIO_PIN_SHIFT)
-#define GPIO_PIN26 (26 << GPIO_PIN_SHIFT)
-#define GPIO_PIN27 (27 << GPIO_PIN_SHIFT)
-#define GPIO_PIN28 (28 << GPIO_PIN_SHIFT)
-#define GPIO_PIN29 (29 << GPIO_PIN_SHIFT)
-#define GPIO_PIN30 (30 << GPIO_PIN_SHIFT)
-#define GPIO_PIN31 (31 << GPIO_PIN_SHIFT)
+#define GPIO_PIN_SHIFT 0 /* Bits 0-4: GPIO number: 0-31 */
+#define GPIO_PIN_MASK (31 << GPIO_PIN_SHIFT)
+#define GPIO_PIN0 (0 << GPIO_PIN_SHIFT)
+#define GPIO_PIN1 (1 << GPIO_PIN_SHIFT)
+#define GPIO_PIN2 (2 << GPIO_PIN_SHIFT)
+#define GPIO_PIN3 (3 << GPIO_PIN_SHIFT)
+#define GPIO_PIN4 (4 << GPIO_PIN_SHIFT)
+#define GPIO_PIN5 (5 << GPIO_PIN_SHIFT)
+#define GPIO_PIN6 (6 << GPIO_PIN_SHIFT)
+#define GPIO_PIN7 (7 << GPIO_PIN_SHIFT)
+#define GPIO_PIN8 (8 << GPIO_PIN_SHIFT)
+#define GPIO_PIN9 (9 << GPIO_PIN_SHIFT)
+#define GPIO_PIN10 (10 << GPIO_PIN_SHIFT)
+#define GPIO_PIN11 (11 << GPIO_PIN_SHIFT)
+#define GPIO_PIN12 (12 << GPIO_PIN_SHIFT)
+#define GPIO_PIN13 (13 << GPIO_PIN_SHIFT)
+#define GPIO_PIN14 (14 << GPIO_PIN_SHIFT)
+#define GPIO_PIN15 (15 << GPIO_PIN_SHIFT)
+#define GPIO_PIN16 (16 << GPIO_PIN_SHIFT)
+#define GPIO_PIN17 (17 << GPIO_PIN_SHIFT)
+#define GPIO_PIN18 (18 << GPIO_PIN_SHIFT)
+#define GPIO_PIN19 (19 << GPIO_PIN_SHIFT)
+#define GPIO_PIN20 (20 << GPIO_PIN_SHIFT)
+#define GPIO_PIN21 (21 << GPIO_PIN_SHIFT)
+#define GPIO_PIN22 (22 << GPIO_PIN_SHIFT)
+#define GPIO_PIN23 (23 << GPIO_PIN_SHIFT)
+#define GPIO_PIN24 (24 << GPIO_PIN_SHIFT)
+#define GPIO_PIN25 (25 << GPIO_PIN_SHIFT)
+#define GPIO_PIN26 (26 << GPIO_PIN_SHIFT)
+#define GPIO_PIN27 (27 << GPIO_PIN_SHIFT)
+#define GPIO_PIN28 (28 << GPIO_PIN_SHIFT)
+#define GPIO_PIN29 (29 << GPIO_PIN_SHIFT)
+#define GPIO_PIN30 (30 << GPIO_PIN_SHIFT)
+#define GPIO_PIN31 (31 << GPIO_PIN_SHIFT)
/* GPIO pin definitions *************************************************************/