diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-01-28 22:32:40 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-01-28 22:32:40 +0000 |
commit | 8475b8bf5337bcb83a2ef35d8d03e7fc33535689 (patch) | |
tree | a07b4f6ce62bbe8120023170fe112b48d496ac23 | |
parent | a7fffa54ed01e92f3797af5707add81d8c9358cf (diff) | |
download | px4-nuttx-8475b8bf5337bcb83a2ef35d8d03e7fc33535689.tar.gz px4-nuttx-8475b8bf5337bcb83a2ef35d8d03e7fc33535689.tar.bz2 px4-nuttx-8475b8bf5337bcb83a2ef35d8d03e7fc33535689.zip |
UART config is untested
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@578 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r-- | nuttx/TODO | 18 | ||||
-rw-r--r-- | nuttx/arch/arm/src/c5471/c5471_serial.c | 8 | ||||
-rw-r--r-- | nuttx/arch/arm/src/common/up_internal.h | 2 | ||||
-rw-r--r-- | nuttx/arch/arm/src/dm320/dm320_serial.c | 12 | ||||
-rw-r--r-- | nuttx/arch/c5471/src/up_internal.h | 2 | ||||
-rw-r--r-- | nuttx/arch/c5471/src/up_serial.c | 8 | ||||
-rw-r--r-- | nuttx/arch/dm320/src/up_internal.h | 2 | ||||
-rw-r--r-- | nuttx/arch/dm320/src/up_serial.c | 12 |
8 files changed, 39 insertions, 25 deletions
diff --git a/nuttx/TODO b/nuttx/TODO index 5ff1cabcc..4ef87b23c 100644 --- a/nuttx/TODO +++ b/nuttx/TODO @@ -16,8 +16,8 @@ NuttX TODO List (Last updated January 6, 2008) (3) Build system (0) Applications & Tests (examples/) (1) ARM (arch/arm/) - (0) ARM/C5471 (arch/arm/src/c5471/) - (1) ARM/DM320 (arch/arm/src/dm320/) + (1) ARM/C5471 (arch/arm/src/c5471/) + (2) ARM/DM320 (arch/arm/src/dm320/) (2) ARM/LPC214x (arch/arm/src/lpc214x/) (4) pjrc-8052 / MCS51 (arch/pjrc-8051/) (2) z80 (arch/z80/) @@ -275,11 +275,16 @@ o ARM (arch/arm/) present, each interrupt executes on top of the user stack allocation making each user stack allocation larger than needed. Status: Open - Priority: Medim + Priority: Medium o ARM/C5471 (arch/arm/src/c5471/) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + Description: UART re-configuration is untested and conditionally compiled out. + Status: Open + Priority: Medium. ttyS1 is not configured, but not used; ttyS0 is configured + by the bootloader + o ARM/DM320 (arch/arm/src/dm320/) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -289,7 +294,12 @@ o ARM/DM320 (arch/arm/src/dm320/) the stack seems to fix the problem (might also be the bootloader overwriting memory) Status: Open - Priority: Mediam + Priority: Medium + + Description: UART re-configuration is untested and conditionally compiled out. + Status: Open + Priority: Medium. ttyS1 is not configured, but not used; ttyS0 is configured + by the bootloader o ARM/LPC214x (arch/arm/src/lpc214x/) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/nuttx/arch/arm/src/c5471/c5471_serial.c b/nuttx/arch/arm/src/c5471/c5471_serial.c index 9ff5b5be9..375bacd81 100644 --- a/nuttx/arch/arm/src/c5471/c5471_serial.c +++ b/nuttx/arch/arm/src/c5471/c5471_serial.c @@ -409,16 +409,18 @@ static int up_setup(struct uart_dev_s *dev) up_disablebreaks(priv); - priv->regs.fcr = (priv->regs.fcr & 0xffffffcf) | (val & 0x30); + /* Set the RX and TX trigger levels to the minimum */ + + priv->regs.fcr = (priv->regs.fcr & 0xffffffcf) | UART_FCR_FTL; up_serialout(priv, UART_RFCR_OFFS, priv->regs.fcr); - priv->regs.fcr = (priv->regs.fcr & 0xffffff3f) | (val & 0xc0); + priv->regs.fcr = (priv->regs.fcr & 0xffffff3f) | UART_FCR_FTL; up_serialout(priv, UART_RFCR_OFFS, priv->regs.fcr); up_setrate(priv, priv->baud); priv->regs.lcr &= 0xffffffe0; /* clear original field, and... */ - priv->regs.lcr |= (uint32)mode; /* Set new bits in that field. */ + priv->regs.lcr |= (uint32)cval; /* Set new bits in that field. */ up_serialout(priv, UART_LCR_OFFS, priv->regs.lcr); #ifdef CONFIG_UART_HWFLOWCONTROL diff --git a/nuttx/arch/arm/src/common/up_internal.h b/nuttx/arch/arm/src/common/up_internal.h index a2be035ff..4d84f2cdd 100644 --- a/nuttx/arch/arm/src/common/up_internal.h +++ b/nuttx/arch/arm/src/common/up_internal.h @@ -52,7 +52,7 @@ #undef CONFIG_SUPPRESS_INTERRUPTS /* Do not enable interrupts */ #undef CONFIG_SUPPRESS_TIMER_INTS /* No timer */ #undef CONFIG_SUPPRESS_SERIAL_INTS /* Console will poll */ -#undef CONFIG_SUPPRESS_UART_CONFIG /* Do not reconfig UART */ +#define CONFIG_SUPPRESS_UART_CONFIG 1 /* Do not reconfig UART */ #undef CONFIG_DUMP_ON_EXIT /* Dump task state on exit */ /**************************************************************************** diff --git a/nuttx/arch/arm/src/dm320/dm320_serial.c b/nuttx/arch/arm/src/dm320/dm320_serial.c index 4f90fd5d3..be32d269b 100644 --- a/nuttx/arch/arm/src/dm320/dm320_serial.c +++ b/nuttx/arch/arm/src/dm320/dm320_serial.c @@ -292,13 +292,13 @@ static int up_setup(struct uart_dev_s *dev) /* Clear fifos */ - up_serialout(priv, UART_DM320_RFCR, 0x8000); - up_serialout(priv, UART_DM320_TFCR, 0x8000); + up_serialout(priv, UART_RFCR, 0x8000); + up_serialout(priv, UART_TFCR, 0x8000); /* Set rx and tx triggers */ - up_serialout(priv, UART_DM320_RFCR, UART_RFCR_RTL_1); - up_serialout(priv, UART_DM320_TFCR, UART_TFCR_TTL_16); + up_serialout(priv, UART_RFCR, UART_RFCR_RTL_1); + up_serialout(priv, UART_TFCR, UART_TFCR_TTL_16); /* Set up the MSR */ @@ -336,7 +336,7 @@ static int up_setup(struct uart_dev_s *dev) /* Set up the BRSR */ - switch (dev->baud) + switch (priv->baud) { case 2400: brsr = UART_BAUD_2400; @@ -380,7 +380,7 @@ static int up_setup(struct uart_dev_s *dev) /* Setup the new UART configuration */ up_serialout(priv,UART_MSR, priv->msr); - up_serialout(priv, UART_DM320_BRSR, brsr); + up_serialout(priv, UART_BRSR, brsr); up_enablebreaks(priv, FALSE); #endif return OK; diff --git a/nuttx/arch/c5471/src/up_internal.h b/nuttx/arch/c5471/src/up_internal.h index c032fa543..fc3333bf9 100644 --- a/nuttx/arch/c5471/src/up_internal.h +++ b/nuttx/arch/c5471/src/up_internal.h @@ -60,7 +60,7 @@ #undef CONFIG_SUPPRESS_INTERRUPTS /* Do not enable interrupts */ #undef CONFIG_SUPPRESS_TIMER_INTS /* No timer */ #undef CONFIG_SUPPRESS_SERIAL_INTS /* Console will poll */ -#undef CONFIG_SUPPRESS_UART_CONFIG /* Do not reconfig UART */ +#define CONFIG_SUPPRESS_UART_CONFIG 1 /* Do not reconfig UART */ #undef CONFIG_DUMP_ON_EXIT /* Dump task state on exit */ /************************************************************ diff --git a/nuttx/arch/c5471/src/up_serial.c b/nuttx/arch/c5471/src/up_serial.c index 3cba4a2d8..7b2b9a24e 100644 --- a/nuttx/arch/c5471/src/up_serial.c +++ b/nuttx/arch/c5471/src/up_serial.c @@ -406,16 +406,18 @@ static int up_setup(struct uart_dev_s *dev) up_disablebreaks(priv); - priv->regs.fcr = (priv->regs.fcr & 0xffffffcf) | (val & 0x30); + /* Set the RX and TX trigger levels to the minimum */ + + priv->regs.fcr = (priv->regs.fcr & 0xffffffcf) | UART_FCR_FTL; up_serialout(priv, UART_RFCR_OFFS, priv->regs.fcr); - priv->regs.fcr = (priv->regs.fcr & 0xffffff3f) | (val & 0xc0); + priv->regs.fcr = (priv->regs.fcr & 0xffffff3f) | UART_FCR_FTL; up_serialout(priv, UART_RFCR_OFFS, priv->regs.fcr); up_setrate(priv, priv->baud); priv->regs.lcr &= 0xffffffe0; /* clear original field, and... */ - priv->regs.lcr |= (uint32)mode; /* Set new bits in that field. */ + priv->regs.lcr |= (uint32)cval; /* Set new bits in that field. */ up_serialout(priv, UART_LCR_OFFS, priv->regs.lcr); #ifdef CONFIG_UART_HWFLOWCONTROL diff --git a/nuttx/arch/dm320/src/up_internal.h b/nuttx/arch/dm320/src/up_internal.h index 6360d552b..16112d980 100644 --- a/nuttx/arch/dm320/src/up_internal.h +++ b/nuttx/arch/dm320/src/up_internal.h @@ -52,7 +52,7 @@ #undef CONFIG_SUPPRESS_INTERRUPTS /* Do not enable interrupts */ #undef CONFIG_SUPPRESS_TIMER_INTS /* No timer */ #undef CONFIG_SUPPRESS_SERIAL_INTS /* Console will poll */ -#undef CONFIG_SUPPRESS_UART_CONFIG /* Do not reconfig UART */ +#define CONFIG_SUPPRESS_UART_CONFIG 1 /* Do not reconfig UART */ #define CONFIG_DUMP_ON_EXIT 1 /* Dump task state on exit */ /************************************************************ diff --git a/nuttx/arch/dm320/src/up_serial.c b/nuttx/arch/dm320/src/up_serial.c index 3d7c09837..bf6560f1c 100644 --- a/nuttx/arch/dm320/src/up_serial.c +++ b/nuttx/arch/dm320/src/up_serial.c @@ -287,13 +287,13 @@ static int up_setup(struct uart_dev_s *dev) /* Clear fifos */ - up_serialout(priv, UART_DM320_RFCR, 0x8000); - up_serialout(priv, UART_DM320_TFCR, 0x8000); + up_serialout(priv, UART_RFCR, 0x8000); + up_serialout(priv, UART_TFCR, 0x8000); /* Set rx and tx triggers */ - up_serialout(priv, UART_DM320_RFCR, UART_RFCR_RTL_1); - up_serialout(priv, UART_DM320_TFCR, UART_TFCR_TTL_16); + up_serialout(priv, UART_RFCR, UART_RFCR_RTL_1); + up_serialout(priv, UART_TFCR, UART_TFCR_TTL_16); /* Set up the MSR */ @@ -331,7 +331,7 @@ static int up_setup(struct uart_dev_s *dev) /* Set up the BRSR */ - switch (dev->baud) + switch (priv->baud) { case 2400: brsr = UART_BAUD_2400; @@ -375,7 +375,7 @@ static int up_setup(struct uart_dev_s *dev) /* Setup the new UART configuration */ up_serialout(priv,UART_MSR, priv->msr); - up_serialout(priv, UART_DM320_BRSR, brsr); + up_serialout(priv, UART_BRSR, brsr); up_enablebreaks(priv, FALSE); #endif return OK; |