summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-07-03 04:58:51 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-07-03 04:58:51 +0000
commit8ab71c83728e6fec58f4dbc9dbdf11aef1622d06 (patch)
treefe71a06067bba907b83010ea7abbf49bb8f2ad0e
parentd7e965833f00661022a5c19bc9c338a5681e15ad (diff)
downloadnuttx-8ab71c83728e6fec58f4dbc9dbdf11aef1622d06.tar.gz
nuttx-8ab71c83728e6fec58f4dbc9dbdf11aef1622d06.tar.bz2
nuttx-8ab71c83728e6fec58f4dbc9dbdf11aef1622d06.zip
Fix missing PCONP bit definition to enable GPIO
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2768 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog2
-rw-r--r--nuttx/Documentation/NuttX.html4
-rwxr-xr-xnuttx/arch/arm/src/lpc17xx/lpc17_clockconfig.c6
-rwxr-xr-xnuttx/arch/arm/src/lpc17xx/lpc17_syscon.h2
-rwxr-xr-xnuttx/configs/nucleus2g/src/up_leds.c12
5 files changed, 19 insertions, 7 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 9595f0c25..73d58ff8e 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -1162,3 +1162,5 @@
for SPI-based MMC/SD cards and integrate into the NSH example.
* arch/arm/src/lm3s/lm3s_vectors.S - Correct vectors for GPIOC & D
interrupts.
+ * arch/arm/src/lpc17xx/lp17_clockconfig.c - Power was not being
+ provided to GPIO module. This is a critical bugfix!
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index 5d1600b9d..fdbbc9f22 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: June 30, 2010</p>
+ <p>Last Updated: July 2, 2010</p>
</td>
</tr>
</table>
@@ -1827,6 +1827,8 @@ nuttx-5.8 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
for SPI-based MMC/SD cards and integrate into the NSH example.
* arch/arm/src/lm3s/lm3s_vectors.S - Correct vectors for GPIOC & D
interrupts.
+ * arch/arm/src/lpc17xx/lp17_clockconfig.c - Power was not being
+ provided to GPIO module. This is a critical bugfix!
pascal-2.1 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_clockconfig.c b/nuttx/arch/arm/src/lpc17xx/lpc17_clockconfig.c
index 27c1d4258..7f41371bf 100755
--- a/nuttx/arch/arm/src/lpc17xx/lpc17_clockconfig.c
+++ b/nuttx/arch/arm/src/lpc17xx/lpc17_clockconfig.c
@@ -189,11 +189,11 @@ void lpc17_clockconfig(void)
putreg32(0, LPC17_SYSCON_PCLKSEL0);
putreg32(0, LPC17_SYSCON_PCLKSEL1);
- /* Disable power to all peripherals. They must be re-powered one at a time by each
- * device driver when the driver is initialized.
+ /* Disable power to all peripherals (execpt GPIO). Peripherals must be re-powered
+ * one at a time by each device driver when the driver is initialized.
*/
- putreg32(0, LPC17_SYSCON_PCONP);
+ putreg32(SYSCON_PCONP_PCGPIO, LPC17_SYSCON_PCONP);
/* Disable CLKOUT */
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_syscon.h b/nuttx/arch/arm/src/lpc17xx/lpc17_syscon.h
index 2de4824cf..8b963373e 100755
--- a/nuttx/arch/arm/src/lpc17xx/lpc17_syscon.h
+++ b/nuttx/arch/arm/src/lpc17xx/lpc17_syscon.h
@@ -382,7 +382,7 @@
#define SYSCON_PCONP_PCADC (1 << 12) /* Bit 12: A/D converter (ADC) power/clock control */
#define SYSCON_PCONP_PCCAN1 (1 << 13) /* Bit 13: CAN Controller 1 power/clock control */
#define SYSCON_PCONP_PCCAN2 (1 << 14) /* Bit 14: CAN Controller 2 power/clock control */
- /* Bit 15: Reserved */
+#define SYSCON_PCONP_PCGPIO (1 << 15) /* Bit 15: GPIOs power/clock enable */
#define SYSCON_PCONP_PCRIT (1 << 16) /* Bit 16: Repetitive Interrupt Timer power/clock control */
#define SYSCON_PCONP_PCMCPWM (1 << 17) /* Bit 17: Motor Control PWM */
#define SYSCON_PCONP_PCQEI (1 << 18) /* Bit 18: Quadrature Encoder power/clock control */
diff --git a/nuttx/configs/nucleus2g/src/up_leds.c b/nuttx/configs/nucleus2g/src/up_leds.c
index cac3f89f6..fbc5a30af 100755
--- a/nuttx/configs/nucleus2g/src/up_leds.c
+++ b/nuttx/configs/nucleus2g/src/up_leds.c
@@ -340,7 +340,11 @@ void up_ledon(int led)
#ifdef LED_VERBOSE
if (led != LED_INIRQ)
{
- led_dumpgpio("up_ledon() Exit");
+ ledvdbg("led: %d LED1: %d LED2: %d HB: %d\n",
+ led, g_led1on[led], g_led2on[led], g_ledhbon[led]);
+ ledvdbg("LED1: {(%d,%d), (%d,%d)} LED2: {(%d,%d), (%d,%d)}\n",
+ g_prevled1a, g_currled1a, g_prevled1b, g_currled1b,
+ g_prevled2a, g_currled2a, g_prevled2b, g_currled2b);
}
#endif
}
@@ -358,7 +362,11 @@ void up_ledoff(int led)
#ifdef LED_VERBOSE
if (led != LED_INIRQ)
{
- led_dumpgpio("up_ledoff() Exit");
+ ledvdbg("led: %d LED1: %d LED2: %d HB: %d\n",
+ led, g_led1off[led], g_led2off[led], g_ledhboff[led]);
+ ledvdbg("LED1: {(%d,%d), (%d,%d)} LED2: {(%d,%d), (%d,%d)}\n",
+ g_prevled1a, g_currled1a, g_prevled1b, g_currled1b,
+ g_prevled2a, g_currled2a, g_prevled2b, g_currled2b);
}
#endif
}