diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-10-29 11:55:11 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-10-29 11:55:11 -0600 |
commit | 0b18779e58354a793217ac0180ea256ff710231a (patch) | |
tree | 3987655d068b983e8398928a4329187b78db36e1 /nuttx | |
parent | f99c6fe2970b07fff316b9ce462fdc421f075470 (diff) | |
parent | 24b3cfdafcf97c9ae6ebc9edad39bad579972b60 (diff) | |
download | px4-nuttx-0b18779e58354a793217ac0180ea256ff710231a.tar.gz px4-nuttx-0b18779e58354a793217ac0180ea256ff710231a.tar.bz2 px4-nuttx-0b18779e58354a793217ac0180ea256ff710231a.zip |
Merge remote-tracking branch 'origin/master' into bas24
Diffstat (limited to 'nuttx')
-rwxr-xr-x | nuttx/ChangeLog | 4 | ||||
-rw-r--r-- | nuttx/arch/arm/src/efm32/efm32_lowputc.c | 6 | ||||
-rw-r--r-- | nuttx/configs/efm32-g8xx-stk/README.txt | 15 | ||||
-rw-r--r-- | nuttx/configs/efm32-g8xx-stk/nsh/defconfig | 40 | ||||
-rw-r--r-- | nuttx/drivers/serial/serial.c | 2 |
5 files changed, 41 insertions, 26 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 9eb98f67c..a0add2bfb 100755 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -8894,3 +8894,7 @@ currently supported in the Nuttx C library (2014-10-27). * include/termios.h, libc/termios/lib_isatty.c, and Make.defs: Add isatty() function. From Alan Carvalho de Assis (2014-10-27). + * arch/arm/include/efm32, src/efm32, and configs/efm32-gxxx-stk: + The EFM32 Gecko Starter Kit port is now functional. At least + NSH is running over LEUART0 on the board (2014-10-29). + diff --git a/nuttx/arch/arm/src/efm32/efm32_lowputc.c b/nuttx/arch/arm/src/efm32/efm32_lowputc.c index 4198288f5..f343d341a 100644 --- a/nuttx/arch/arm/src/efm32/efm32_lowputc.c +++ b/nuttx/arch/arm/src/efm32/efm32_lowputc.c @@ -323,6 +323,12 @@ void efm32_lowsetup(void) #endif /* HAVE_UART_DEVICE */ #ifdef HAVE_LEUART_DEVICE + /* Enable the LE interface clock must be enabled in CMU_HFCORECLKEN0 */ + + regval = getreg32(EFM32_CMU_HFCORECLKEN0); + regval |= CMU_HFCORECLKEN0_LE; + putreg32(regval, EFM32_CMU_HFCORECLKEN0); + /* Enable clocking to configured LEUART interfaces */ regval = getreg32(EFM32_CMU_LFBCLKEN0); diff --git a/nuttx/configs/efm32-g8xx-stk/README.txt b/nuttx/configs/efm32-g8xx-stk/README.txt index 4459b2e00..0f6f3cab5 100644 --- a/nuttx/configs/efm32-g8xx-stk/README.txt +++ b/nuttx/configs/efm32-g8xx-stk/README.txt @@ -137,8 +137,15 @@ SERIAL CONSOLE Default Serial Console ---------------------- - UART0 is configured as the default serial console at 115200 8N1 - on pins PE0 and PE1. + LEUART0 is configured as the default serial console at 2400 8N1 + on pins PD5 and PD4. It certainly be possible to go to 4800 baud + and the documentation claims that 9600 baud is possible (although + I am not sure how). + + It should also be possible to use UART0 is configured at 115200 8N1 + on pins PE0 and PE1. However, my attempts to use USART0 were + unsuccessful -- I see no activity on PE0 and PE1 and have not yet + figured out why that is. Communication through the Board Controller ------------------------------------------ @@ -218,9 +225,7 @@ CONFIGURATIONS nsh: --- Configures the NuttShell (nsh) located at apps/examples/nsh. The - Configuration enables the serial interfaces on UART0. Support for - built-in applications is enabled, but in the base configuration no - built-in applications are selected (see NOTES below). + Configuration enables the serial interfaces on LEUART0 at 2400 8N1. NOTES: diff --git a/nuttx/configs/efm32-g8xx-stk/nsh/defconfig b/nuttx/configs/efm32-g8xx-stk/nsh/defconfig index 753669d80..a1433dc71 100644 --- a/nuttx/configs/efm32-g8xx-stk/nsh/defconfig +++ b/nuttx/configs/efm32-g8xx-stk/nsh/defconfig @@ -141,17 +141,29 @@ CONFIG_EFM32_HAVE_UART0=y CONFIG_EFM32_HAVE_LEUART1=y # CONFIG_EFM32_USART_ISUART is not set # CONFIG_EFM32_USART_ISSPI is not set -CONFIG_EFM32_UART=y -# CONFIG_EFM32_LEUART is not set +# CONFIG_EFM32_UART is not set +CONFIG_EFM32_LEUART=y # CONFIG_EFM32_DMA is not set # CONFIG_EFM32_USART0 is not set # CONFIG_EFM32_USART1 is not set # CONFIG_EFM32_USART2 is not set -CONFIG_EFM32_UART0=y +# CONFIG_EFM32_UART0 is not set # CONFIG_EFM32_UART1 is not set -# CONFIG_EFM32_LEUART0 is not set +CONFIG_EFM32_LEUART0=y # CONFIG_EFM32_LEUART1 is not set CONFIG_EFM32_GPIO_IRQ=y +CONFIG_LEUART0_SERIAL_CONSOLE=y +# CONFIG_NO_LEUART_SERIAL_CONSOLE is not set + +# +# LEUART0 Configuration +# +CONFIG_LEUART0_RXBUFSIZE=64 +CONFIG_LEUART0_TXBUFSIZE=64 +CONFIG_LEUART0_BAUD=2400 +CONFIG_LEUART0_BITS=8 +CONFIG_LEUART0_PARITY=0 +CONFIG_LEUART0_2STOP=0 # # Architecture Options @@ -374,7 +386,7 @@ CONFIG_SERIAL=y # CONFIG_DEV_LOWCONSOLE is not set # CONFIG_16550_UART is not set # CONFIG_ARCH_HAVE_UART is not set -CONFIG_ARCH_HAVE_UART0=y +# CONFIG_ARCH_HAVE_UART0 is not set # CONFIG_ARCH_HAVE_UART1 is not set # CONFIG_ARCH_HAVE_UART2 is not set # CONFIG_ARCH_HAVE_UART3 is not set @@ -394,7 +406,7 @@ CONFIG_ARCH_HAVE_UART0=y # CONFIG_ARCH_HAVE_USART6 is not set # CONFIG_ARCH_HAVE_USART7 is not set # CONFIG_ARCH_HAVE_USART8 is not set -# CONFIG_ARCH_HAVE_OTHER_UART is not set +CONFIG_ARCH_HAVE_OTHER_UART=y # # USART Configuration @@ -402,21 +414,9 @@ CONFIG_ARCH_HAVE_UART0=y CONFIG_MCU_SERIAL=y CONFIG_STANDARD_SERIAL=y # CONFIG_ARCH_HAVE_SERIAL_TERMIOS is not set -CONFIG_UART0_SERIAL_CONSOLE=y -# CONFIG_OTHER_SERIAL_CONSOLE is not set +# CONFIG_UART0_SERIAL_CONSOLE is not set +CONFIG_OTHER_SERIAL_CONSOLE=y # CONFIG_NO_SERIAL_CONSOLE is not set - -# -# UART0 Configuration -# -CONFIG_UART0_RXBUFSIZE=64 -CONFIG_UART0_TXBUFSIZE=64 -CONFIG_UART0_BAUD=115200 -CONFIG_UART0_BITS=8 -CONFIG_UART0_PARITY=0 -CONFIG_UART0_2STOP=0 -# CONFIG_UART0_IFLOWCONTROL is not set -# CONFIG_UART0_OFLOWCONTROL is not set # CONFIG_SERIAL_IFLOWCONTROL is not set # CONFIG_SERIAL_OFLOWCONTROL is not set # CONFIG_USBDEV is not set diff --git a/nuttx/drivers/serial/serial.c b/nuttx/drivers/serial/serial.c index 6a48b4fda..3cc779874 100644 --- a/nuttx/drivers/serial/serial.c +++ b/nuttx/drivers/serial/serial.c @@ -1376,7 +1376,7 @@ void uart_connected(FAR uart_dev_t *dev, bool connected) (void)sem_post(&dev->recvsem); } - /* Notify all poll/select waiters that and hangup occurred */ + /* Notify all poll/select waiters that a hangup occurred */ uart_pollnotify(dev, (POLLERR|POLLHUP)); } |