7.17 Merged nuttx/nuttx into anuttx/master

This commit is contained in:
neil H
2016-07-25 13:05:06 -07:00
6 changed files with 1065 additions and 214 deletions
+56 -37
View File
@@ -11878,7 +11878,7 @@
* arch/arm/src/samv7: Fix missing unlock of device in MCAN
mcan_txempty(). From Frank Benkert (2016-06-01).
7.17 2016-xx-xx Gregory Nutt <gnutt@nuttx.org>
7.17 2016-07-25 Gregory Nutt <gnutt@nuttx.org>
* drivers/mtd/flash_eraseall.c: Removed. This is no longer used
in the OS and is simply a wrapper around the MDIOC_BULKERASE
@@ -11917,27 +11917,16 @@
* arch/arm/src/stm32: Add support for the STM32F105R. From Konstantin
Berezenko (2016-06-06).
* include/signal.h: Change type of SIG_ERR, SIG_IGN, ... to
_sa_handler_t. They type void does not work with the IAR toolchain.
_sa_handler_t. The type void does not work with the IAR toolchain.
From Aleksandr Vyhovanec (2016-06-07).
* arch/arm/src/stm32f7 and include/stm32f7: Added STM32FF76xxx and
STM32FF7xx families. From David Sidrane (2016-06-08).
* Refactoring configs/nucleo-144 sub-directories to support additional
nucleo-144 board. Add support for the Nucleo-F767ZI board. From David
Sidrane (2016-06-08).
* arch/arm/src/kinetis: Add a USB device controller driver for kinetis.
Derived from pic32mx usb driver, which uses the same usb controller.
From kfazz (2016-06-06).
* configs/teensy-3.x: Add USB device support and usbnsh configuration.
From kfazz (2016-06-06.
* arch/arm/src/stm32: Add STM32F105R support. From Konstantin Berezenko
(2016-06-06).
* include/signal.h: Change type of SIG_IGN and related defines to
_sa_handler_t. From Aleksandr Vyhovanec (2016-06-07).
* configs/nucleo-144: Refactored configs/nucleo-144 sub-directories to
support additional nucleo-144 board. Add support for the Nucleo-F767ZI
board. From David Sidrane (2016-06-07).
* arch/arm/src/stm32f7: Add support for STM32FF76xxx and STM32FF7xx
families. From David Sidrane (2016-06-08).
* arch/arm/src/stm32f7 and include/stm32f7: Added STM32F76xxx and
STM32F77xx families. From David Sidrane (2016-06-08).
* Refactoring configs/nucleo-144 sub-directories to support additional
nucleo-144 board. Add support for the Nucleo-F767ZI board. From David
Sidrane (2016-06-08).
* include/assert.h: Check if NDEBUG is defined. From Paul Alexander
Patience (2016-06-08).
* arch/arm/src/stm32: Fix STM32 DMA code and configuration for STM32F37X
@@ -11958,25 +11947,10 @@
and the full packet length, need to subtract the size of the link
layer header before making the comparison or we will get false
positives (i.e., the packet is really too small) (2016-06-09)
* drivers/mtd: Added driver of IS25xP SPI flash devices. Based on
sst25xx driver. From Marten Svanfeldt (2016-06-09).
* arch/arm/src/kinetis: Teensy clock fixes. The High Gain bit in
MCG_C1 was preventing teensy from booting except after a programming
session. The second change doesn't appear to change any functionality,
but complies with restrictions in the k20 family reference manual on
FEI -> FBE clock transiions. From kfazz (2016-06-09).
* arch/arm/src/stm32: Fix timer input clock definitions. From David
Sidrane (2016-06-09).
* configs/: All configurations that have both CONFIG_NSH_LIBRARY=y and
CONFIG_NET=y must now also have CONFIG_NSH_NETINIT=y (2016-06-09).
* arch/arm/src/kinetis: Kinetis pwm support, based on kl_pwm driver.
From kfazz (2016-06-09).
* net/: In both IPv6 and IPv4 incoming logic: (1) Should check if the
packet size is large enough before trying to access the packet length
in the IP header. (2) In the comparison between the IP length and the
full packet length, need to subtract the size of the link layer header
before making the comparison or we will get false positives (i.e., the
packet is really too small) (2016-06-09).
* arch/srm/src/stm32: Fix compilation errors in debug mode of
stm32_pwm.c. From Konstantin Berezenko (2016-06-09).
* arch/arm/src/kinetis: Support up to 8 channels per timer. From kfazz
@@ -11991,7 +11965,7 @@
chips. From Konstantin Berezenko (2016-06-10).
* drivers/include/input: Button upper half driver: Add definitions
needed for compilation with the poll() interface is not disabled
(2016-06-11).
(2016-06-11).
* Kconfig/, include/debug.h, and many other files: (1) Debug features
are now enabled separately from debug output. CONFIG_DEBUG is gone.
It is replaced with CONFIG_DEBUG_FEATURES. (2) The macros dbg() and
@@ -12033,7 +12007,7 @@
control the delay between the assertion of the ChipSelect and the
first bit, between the last bit and the de-assertion of the
ChipSelect and between two ChipSelects. This is needed to tune the
transfer according the specification of the connected devices.
transfer according the specification of the connected devices.
- Add three "hw-features" for the SAMV7, which controls the behavior
of the ChipSelect:
- force CS inactive after transfer: this forces a (short)
@@ -12136,7 +12110,7 @@
refresh (via tools/refresh.sh). I assume that it is a hand-edited
configuration and, hence, must be removed from the repository
(2016-06-23).
* arch/arm/arc/sam34: DAC bugfix: DACC_WPMR_WPKEY_MASK -> DACC_WPMR_WPKEY.
* arch/arm/arc/sam34: DAC bugfix: DACC_WPMR_WPKEY_MASK -> DACC_WPMR_WPKEY.
Timer bugfix: Fix ops check in TCIOC_STOP. From Wolfgang Reissnegge
(2016-06-23).
* configs/nucleo-144: Added SDMMC support to Nucleo-144. From David
@@ -12212,7 +12186,7 @@
style symbolic links.
The fix here is to also execute the clean_context AFTER executing
menuconfig. A lot more happens now: It used to be that doing 'make
menuconfig' only did the menuconfig operation. No it does context,
menuconfig' only did the menuconfig operation. Now it does context,
pre_config, menuconfig, clean_context. Not nearly as snappy as it used
to be (2016-06-28).
* arch/arm/src/efm32, lcp43, stm32, stm32l4: disable interrupts with
@@ -12375,3 +12349,48 @@
adds DEBUGASSERT for invalid geometry and additional memory debug
logic. Also fixes the dangling pointer on error bug. From Ken
Pettit (2016-07-14).
* arch/arm/src/lpc32xx: Extend LPC43xx EMC code to support SDRAM on a
dynamic memory interface. From Vytautas Lukenskas (2016-07-19).
* arch/sim/src: Add the simulated QSPI (N25Q) flash to the simulation
and modify sim up_spiflash.c to enable it to run with different MTD
drivers based on config options (currently m25p, sst26 and w25).
From Ken Pettit (2016-07-19).
* drivers/pipe: Add support to allocating different sizes for pipe and
fifo buffers. Adds mkfifo2() and pipe2() which are just like mkfifo()
and pipe(), but allow control of the size of the underlying, in-memory
circular buffer . Move pipe() and mkpipe() to nuttx/libc, they are no
longer core OS interfaces. Capability currenty used only by PTY logic
to support, configurable, smaller buffers for PTYs (2016-07-19).
* include/nuttx/drivers: Move driver-related files from include/nuttx
to include/nuttx/drivers. Move driver related prototypes out of
include/nuttx/fs/fs.h and into new include/drivers/drivers.h
(2016-07-20).
* include /nuttx/lib: Move library-related files from include/nuttx to
include/nuttx/lib (2016-07-21).
* drivers/serial/serial.c: Fix a race condition noted by Stefan Kolb.
Between the test if the TX buffer is full and entering a critical
section, bytes may be removed from the TX buffer making the wait
unnecessary. The unnecessary wait is an inefficiency, but not really
a problem. But with USB CDC/ACM it can be a problem because the
entire TX buffer may be emptied when we lose the race. If that
happens that uart_putxmitchar() can hang waiting for data to be
removed from an empty TX buffer (2016-07-22).
* arch/arm/src/stm32 and stm32l4: STM32 F4/L4 RTC ALARM: were enabling
interrupts too early in the power-up sequence, BEFORE the interrupt
system was being initialized (2016-07-23).
* drivers/ioexpander: GPIO driver: Add support for receiving signals
from interrupt pins (2016-07-23).
* drivers/usbdev: USBMSC: Add locks when removing request from queue.
From Wolfgang Reissnegger (2016-07-23).
* drivers/usbdev: USBMSC: Fix reversed logic on waiting for SCSI thread
start. The scsi thread was waiting for the wrong condition. However,
this was masked by the fact that the code creating the scsi thread was
also holding usbmsc_scsi_lock(priv) while initializing data, hence
this lock synchronized the scsi thread start with init completion.
From Wolfgang Reissnegger (2016-07-23).
* arch/arm/src/sam34: SAM3/4 UDP: Fix handling of endpoint RX FIFO
banks. This fixes a race condition where the HW fills a FIFO bank
while the SW is busy, resulting in out of sequence USB packets
(2016-07-23).
7.18 2016-xx-xx Gregory Nutt <gnutt@nuttx.org>
+275 -161
View File
File diff suppressed because it is too large Load Diff
+708 -12
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -453,3 +453,4 @@ void devurandom_register(void)
#endif
#endif /* CONFIG_DEV_RANDOM || CONFIG_DEV_URANDOM_ARCH */
#endif /* CONFIG_SAMV7_TRNG */
+7 -1
View File
@@ -92,7 +92,7 @@ static const struct file_operations g_gpio_drvrops =
* Name: gpio_handler
*
* Description:
* Standard character driver open method.
* GPIO interrupt callback function.
*
****************************************************************************/
@@ -273,6 +273,12 @@ static int gpio_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
* Description:
* Register GPIO pin device driver.
*
* - Input pin types will be registered at /dev/gpinN
* - Output pin types will be registered at /dev/gpoutN
* - Interrupt pin types will be registered at /dev/gpintN
*
* Where N is the provided minor number in the range of 0-99.
*
****************************************************************************/
int gpio_pin_register(FAR struct gpio_dev_s *dev, int minor)
+18 -3
View File
@@ -85,7 +85,15 @@ enum gpio_pintype_e
typedef CODE int (*pin_interrupt_t)(FAR struct gpio_dev_s *dev);
/* Pin interface definition. */
/* Pin interface vtable definition. Instances of this vtable are read-only
* and may reside in FLASH.
*
* - go_read. Required for all all pin types.
* - go_write. Required only for the GPIO_OUTPUT_PIN pin type. Unused
* for other pin types may be NULL.
* - go_attach and gp_eanble. Required only the GPIO_INTERRUPT_PIN pin
* type. Unused for other pin types may be NULL.
*/
struct gpio_dev_s;
struct gpio_operations_s
@@ -99,7 +107,7 @@ struct gpio_operations_s
CODE int (*go_enable)(FAR struct gpio_dev_s *dev, bool enable);
};
/* Pin interface definition. */
/* Pin interface definition. Must lie in writable memory. */
struct gpio_dev_s
{
@@ -120,7 +128,7 @@ struct gpio_dev_s
FAR const struct gpio_operations_s *gp_ops;
/* Device specific, lower-half information may follow */
/* Device specific, lower-half information may follow. */
};
/****************************************************************************
@@ -141,6 +149,13 @@ extern "C"
* Description:
* Register GPIO pin device driver.
*
* - Input pin types will be registered at /dev/gpinN
* - Output pin types will be registered at /dev/gpoutN
* - Interrupt pin types will be registered at /dev/gpintN
*
* Where N is the provided minor number in the range of 0-99.
*
*
****************************************************************************/
int gpio_pin_register(FAR struct gpio_dev_s *dev, int minor);