summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-04-25 21:18:19 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-04-25 21:18:19 +0000
commit76ea067b8f2c7240d29af60b90bdfab005e7b766 (patch)
treee8ffedf70717855fb2f632a4ea7f468122434508 /nuttx/arch/arm
parent5fe2d3ad004c6d2e260f398d40ae0faa018cc17b (diff)
downloadpx4-nuttx-76ea067b8f2c7240d29af60b90bdfab005e7b766.tar.gz
px4-nuttx-76ea067b8f2c7240d29af60b90bdfab005e7b766.tar.bz2
px4-nuttx-76ea067b8f2c7240d29af60b90bdfab005e7b766.zip
imx update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1738 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm')
-rw-r--r--nuttx/arch/arm/src/imx/imx_gpio.c44
-rwxr-xr-xnuttx/arch/arm/src/imx/imx_gpio.h4
-rw-r--r--nuttx/arch/arm/src/imx/imx_serial.c28
3 files changed, 44 insertions, 32 deletions
diff --git a/nuttx/arch/arm/src/imx/imx_gpio.c b/nuttx/arch/arm/src/imx/imx_gpio.c
index 889faaf81..65d1b3d10 100644
--- a/nuttx/arch/arm/src/imx/imx_gpio.c
+++ b/nuttx/arch/arm/src/imx/imx_gpio.c
@@ -70,16 +70,16 @@
void imxgpio_configoutput(int port, int bit, int value)
{
- imxgpio_configinput(port, bit); /* Same as input except: */
- imxgpio_dirout(GPIOA, 2); /* Output */
+ imxgpio_configinput(port, bit); /* Same as input except: */
+ imxgpio_dirout(port, bit); /* Output */
if (value)
{
- imxgpio_setoutput(GPIOA, 2); /* Set output = 1 */
+ imxgpio_setoutput(port, bit); /* Set output = 1 */
}
else
{
- imxgpio_clroutput(GPIOA, 2); /* Set output = 0 */
+ imxgpio_clroutput(port, bit); /* Set output = 0 */
}
}
@@ -89,22 +89,34 @@ void imxgpio_configoutput(int port, int bit, int value)
void imxgpio_configinput(int port, int bit)
{
- imxgpio_pullupdisable(GPIOA, 2); /* No pullup */
- imxgpio_dirin(GPIOA, 2); /* Input */
- imxgpio_gpiofunc(GPIOA, 2); /* Use as GPIO */
- imxgpio_primaryperipheralfunc(GPIOA, 2); /* Not necessary */
- imxgpio_ocrain(GPIOA, 2); /* Output AIN */
- imxgpio_aoutgpio(GPIOA, 2); /* AOUT input is GPIO */
- imxgpio_boutgpio(GPIOA, 2); /* BOUT input is GPIO */
+ imxgpio_pullupdisable(port, bit); /* No pullup */
+ imxgpio_dirin(port, bit); /* Input */
+ imxgpio_gpiofunc(port, bit); /* Use as GPIO */
+ imxgpio_primaryperipheralfunc(port, bit); /* Not necessary */
+ imxgpio_ocrain(port, bit); /* Output AIN */
+ imxgpio_aoutgpio(port, bit); /* AOUT input is GPIO */
+ imxgpio_boutgpio(port, bit); /* BOUT input is GPIO */
}
/****************************************************************************
- * Name: imxgpio_configprimary
+ * Name: imxgpio_configpfoutput
****************************************************************************/
-void imxgpio_configprimary(int port, int bit)
+void imxgpio_configpfoutput(int port, int bit)
{
- imxgpio_configinput(port, bit); /* Same as input except: */
- imxgpio_peripheralfunc(GPIOA, 2); /* Use as peripheral */
- imxgpio_primaryperipheralfunc(GPIOA, 2); /* Primary function*/
+ imxgpio_configinput(port, bit); /* Same as input except: */
+ imxgpio_peripheralfunc(port, bit); /* Use as peripheral */
+ imxgpio_primaryperipheralfunc(port, bit); /* Primary function*/
+ imxgpio_dirout(port, bit); /* Make output */
+}
+
+/****************************************************************************
+ * Name: imxgpio_configpfinput
+ ****************************************************************************/
+
+void imxgpio_configpfinput(int port, int bit)
+{
+ imxgpio_configinput(port, bit); /* Same as input except: */
+ imxgpio_peripheralfunc(port, bit); /* Use as peripheral */
+ imxgpio_primaryperipheralfunc(port, bit); /* Primary function*/
}
diff --git a/nuttx/arch/arm/src/imx/imx_gpio.h b/nuttx/arch/arm/src/imx/imx_gpio.h
index b1e5fc36a..661021a90 100755
--- a/nuttx/arch/arm/src/imx/imx_gpio.h
+++ b/nuttx/arch/arm/src/imx/imx_gpio.h
@@ -548,10 +548,10 @@ static inline void imxgpio_clroutput(int port, int bit)
/* Useful functions for normal configurations */
-extern void imxgpio_configreset(int port, int bit);
extern void imxgpio_configoutput(int port, int bit, int value);
extern void imxgpio_configinput(int port, int bit);
-extern void imxgpio_configprimary(int port, int bit);
+extern void imxgpio_configpfoutput(int port, int bit);
+extern void imxgpio_configpfinput(int port, int bit);
#endif
diff --git a/nuttx/arch/arm/src/imx/imx_serial.c b/nuttx/arch/arm/src/imx/imx_serial.c
index aa5140c51..4682a2938 100644
--- a/nuttx/arch/arm/src/imx/imx_serial.c
+++ b/nuttx/arch/arm/src/imx/imx_serial.c
@@ -1070,10 +1070,10 @@ void up_earlyserialinit(void)
/* Configure UART1 pins: RXD, TXD, RTS, and CTS */
- imxgpio_configprimary(GPIOC, 9);
- imxgpio_configprimary(GPIOC, 10);
- imxgpio_configprimary(GPIOC, 11);
- imxgpio_configprimary(GPIOC, 12);
+ imxgpio_configpfoutput(GPIOC, 9); /* Port C, pin 9: CTS */
+ imxgpio_configpfinput(GPIOC, 10); /* Port C, pin 10: RTS */
+ imxgpio_configpfoutput(GPIOC, 11); /* Port C, pin 11: TXD */
+ imxgpio_configpfinput(GPIOC, 12); /* Port C, pin 12: RXD */
#endif
/* Configure and disable the UART2 */
@@ -1083,13 +1083,13 @@ void up_earlyserialinit(void)
up_serialout(&g_uart2priv, UART_UCR2, 0);
/* Configure UART2 pins: RXD, TXD, RTS, and CTS (only, also
- * supports DTR, DCD, RI, and DSR
+ * supports DTR, DCD, RI, and DSR -- not configured)
*/
- imxgpio_configprimary(GPIOB, 28);
- imxgpio_configprimary(GPIOB, 29);
- imxgpio_configprimary(GPIOB, 30);
- imxgpio_configprimary(GPIOB, 31);
+ imxgpio_configpfoutput(GPIOB, 28); /* Port B, pin 28: CTS */
+ imxgpio_configpfinput(GPIOB, 29); /* Port B, pin 29: RTS */
+ imxgpio_configpfoutput(GPIOB, 30); /* Port B, pin 30: TXD */
+ imxgpio_configpfinput(GPIOB, 31); /* Port B, pin 31: RXD */
#endif
/* Configure and disable the UART3 */
@@ -1099,13 +1099,13 @@ void up_earlyserialinit(void)
up_serialout(&g_uart3priv, UART_UCR2, 0);
/* Configure UART2 pins: RXD, TXD, RTS, and CTS (only, also
- * supports DTR, DCD, RI, and DSR
+ * supports DTR, DCD, RI, and DSR -- not configured)
*/
- imxgpio_configprimary(GPIOC, 28);
- imxgpio_configprimary(GPIOC, 29);
- imxgpio_configprimary(GPIOC, 30);
- imxgpio_configprimary(GPIOC, 31);
+ imxgpio_configpfoutput(GPIOC, 28); /* Port C, pin 18: CTS */
+ imxgpio_configpfinput(GPIOC, 29); /* Port C, pin 29: RTS */
+ imxgpio_configpfoutput(GPIOC, 30); /* Port C, pin 30: TXD */
+ imxgpio_configpfinput(GPIOC, 31); /* Port C, pin 31: RXD */
#endif
/* Then enable the console UART. The others will be initialized