Newer
Older
according the datasheet of Atmel. In short, this option switches
the processor from "fixed peripheral selection" (single device) to
"variable peripheral selection" (multiple devices on the bus).
- Add a new Function to the interface to control the timing and delays
of the chip according the ChipSelect lines. This function can
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.
- Add three "hw-features" for the SAMV7, which controls the behavior
of the ChipSelect:
- force CS inactive after transfer: this forces a (short)
de-assertion of the CS after a transfer, even if more data is
available in time
- force CS active after transfer: this forces the CS to stay active
after a transfer, even if the chip runs out of data.
Btw.: this is a prerequisit to make the LASTXFER bit working at all.
- escape LASTXFER: this suppresses the LASTXFER bit at the end of the
next transfer. The "escape"-Flag is reset automatically.
From Frank Benkert (2016-06-14)
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
* Many CONFIG_DEBUG_* options did not have matching macros defined in
include/debug.h. Rather, there were various definitions scattered
throughout the sourse tree. These were collected together and
centralized with single macro definitions in include/debug.h
(2016-06-15)
* STM32F7: Add SPI, I2C, and ADC drivers. From Lok Tep (2016-06-15).
* err(), warn(), info(), and alert() renamed to include leading '_'.
This was done to avoid some naming collisions (2-06-16
* STM32: Move backup domain reset to to earlier in the initialization
sequence (stm32_rcc.c() in order to avoid disabling LSE during RTC
initialiation. From Alan Carvalho de Assis (2016-06-16).
* SYSLOG: syslog() will now automatically redirect output to lowsyslog()
if called from an interrupt handler (2016-06-16).
* STM32: When configuring a GPIO via stm32_configgpio() the function
will first set the mode to output and then set the initial state of
the gpio later on. If you have an application with an externaly
pulled-up pin, this would lead to a glitch on the line that may be
dangerous in some applications (e.G. Reset Line for other chips,
etc). This changes sets the output state before configuring the pin
as an output. From Pascal Speck (2016-06-17).
* STM32 F7: Apply Pascal Speck's GPIO STM32 change to STM32 L4
(2016-06-17).
* STM32 L4: Apply Pascal Speck's GPIO STM32 change to STM32 L4.
From Sebastien Lorquet (2016-06-17).
* Review all uses of *err(). These macro family should indicate only
error conditions. Convert *err() to either *info() or add ERROR:,
depending on if an error is reported (2016-06-17).
* STM32F7: Review, correct, and update I2C, SPI, and ADC drivers. From
David Sidrane (2016-06-17).
* LPC17 Ethernet: Needs to correctly ignore PHYID2 revision number
when comparing PHY IDs (2016-06-18).
* SYSLOG: Consolidate all SYSLOG logic in drivers/syslog. Add an
abstraction layer that supports: (1) redirection of SYSLOG outpout.
This is usually so that you can boot with one SYSLOG output but
transition to another SYSLOG output when the OS has initialialized,
(2) adds common serialization of interrupt output as a configuration
option. Without this configuration setting, interrupt level output
will be asynchronous. And (3) vsyslog is now a system call and is
usable with other-than-FLAT builds (2016-06-19).
Jakub Łągwa
committed
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
* TCP Networking: While working with version 7.10 I discovered a
problem in TCP stack that could be observed on high network load.
Generally speaking, the problem is that RST flag is set in
unnecessary case, in which between loss of some TCP packet and its
proper retransmission, another packets had been successfully sent.
The scenario is as follows: NuttX did not receive ACK for some
sent packet, so it has been probably lost somewhere. But before
its retransmission starts, NuttX is correctly issuing next TCP
packets, with sequence numbers increasing properly. When the
retransmission of previously lost packet finally succeeds, tcp_input
receives the accumulated ACK value, which acknowledges also the
packets sent in the meantime (i.e. between unsuccessful sending of
lost packet and its proper retransmission). However, variable unackseq
is still set to conn->isn + conn->sent, which is truth only if no
further packets transmission occurred in the meantime. Because of
incorrect (in such specific case) unackseq value, few lines further
condition if (ackseq <= unackseq)is not met, and, as a result, we
are going to reset label. From Jakub ÅÄ
gwa (2016-06-20).
* SYSLOG: Remove lowsyslog(), vlowsyslog(), and associated macros
*llinfo(), *llwarn(), and llerr(). In the redesigned syslog() logic,
these serve no purpose (2016-06-20).
* Make system: Need to build the drivers/ directory even it file
descriptors are not supported. There are things in the drivers/
directory that are still needed (like SYSLOG logic) (2016-06-20).
* assert.h: Define static assert for C++ usage. From Paul Alexander
Patience (2016-06-21).
* arch/arm/src/stm32l4: Add ioctls to set/get bit timing in stm32l4.
Add ioctl hooks to allow future management of can id filters. From
Sebastien Lorquet (2016-06-21).
* drivers/can.c: Add support for poll. From Paul Alexander Patience
(2016-06-21).
* drivers/syslog: Extend SYSLOG logic so that we can send SYSLOG output
to a file. Not verified on initial commit (2016-06-21).
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
* arch/arm/src/stm32l4: Add some CAN mode IOCTL calls. These will be
useful for device autotest when the application boots. They are
redundant with the CONFIG_CAN_LOOPBACK option, which can now just be
interpreted as a default setting. From Sebastien Lorquet (2016-06-22).
* drivers/syslog: syslog_dev_flush() needs to check if the inode is a
mountpoint before calling the flush() method. Noted by David Sidrane
(2016-06-22).
* arch/arm/src/stm32f7: Adds SDMMC1 for stm32F7 74-75. From Lok Tep
(2016-06-22).
* drivers/syslog: SYSLOG character device channel will now expand LF to
CR-LF. Controllable with a configuration option (2016-06-22).
* arch/arm/src/stm32l4: Implementation of loopback IOCTLs. From
Sebastien Lorquet (2016-06-22).
* Documentation: Add SYSLOG documentation to the porting guide
(2016-06-22).
* configs/stm32f746g-disco: Removed knsh configuration it failed to
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.
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
Sidrane (2016-06-23).
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
* arch/arm/src/stm32: Port STM32L4 CAN IOCTLs to STM32. From Sebastien
Lorquet (2016-06-24).
* drivers/ioexpander: Add support for a very simple GPIO driver. It
supports only pre-conrigured input and output pins and only basic
input and output operations (2016-06-24).
* arch/arm/src/lpc43xx: Correct auto-negotiation mode in the LPC43xx
Ethernet. From Alexander Vasiljev (2016-06-24)
* arch/arm/src/samv7: TWIHS Driver improved and GPIO-Driver fixed for
Open-Drain Pins
- sam_gpioread: Now the actual line level from the pin is read back.
This is extremely important for Open-Drain Pins, which can be used
bidirectionally
- Re-Implemented twi_reset-function and enhanced it so it can be
called from inside the driver (see next point)
- Glitch-Filter: Added a configuration option to enable the twi-built-
in glitch filter
- Added a "Single Master Mode": In EMC Testing the TWI-Bus got stuck
because the TWI-Master detected a Multi-Master access (but there is
no second master). With the option "Single Master" we detect these
events and automatically trigger a twi_reset. We also do an
automatic recovery if a slave got stuck (SDA stays low).
With the above changes I²C-Bus reliability in harsh environments (eg.
EMC) is greatly improved. The small change in the GPIO-Driver was
necessary because otherwise you cannot read back the correct line
status of Open-Drain Outputs and this is needed by the twi_reset
function. From Michael Spahlinger (2016-06-24)
* arch/arm/src/stm32f7: BUGFIX:PLLs IS2 and SAI P Calculation. From
David Sidrane (2016-06-24).
* arch/arm/src/stm32f7: USB support. From Lok Tep (2016-06-27).
* configs/olimex-stm32-e407: Add support for Olimex STM32 E407
board. From Mateusz Szafoni (2016-06-27).
* drivers/ioexpander: Shadow-Mode: The output- and configuration
registers of the IO-Expander are held in the microcontrollers memory
and only written to the IO-Expander. This reduces bus traffic and
is more error-proof than the normal read-modify-write operation. Retry
Mode: If enabled and an error occurs while writing to the IO-Expander
the current transmission is automatically repeated once. From Michael
Spahlinger (2016-06-27).
* libc/hex2bin: Move the portable library portion of apps/system/hex2bin
to nuttx/libc/hex2bin where it can be shared with the OS internals
(2016-06-27).
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
* configs/nucleo-144: Added USB OTG device to Nucleo-144. From David
Sidrane (2016-06-27).
* arch/arm/src/stm32l4: STM32 CAN fixes need to be backported to
STM32L4 as well (2016-06-27).
* ARM stack check: Fix double fault on IDLE task with stack size = 0.
From David Sidrane (2016-06-27).
* configs/nucleo-144: Added bbsram test to Nucleo-144. From David
Sidrane (2016-06-27).
* arch/arm/src/stm32f7: Added PWR, RTC, and BBSRAM support for stm32f7.
From David Sidrane (2016-06-27).
* Build system: Fixed build of SAMV71-XULT/nsh. With the changes from
26f7b8c the build process of the default configuration did not succeed
anymore. From Michael Spahlinger (2016-06-28).
* sched/semaphore: Need to set errno to EINVAL on errors in sem_post()
and sem_wait(). From Paul Alexander Patience (2016-06-28).
* Build system: This change fixes a build problem that only occurs when
reconfiguring from Linux to Windows or vice-versa. It is a problem
that was present but not usually experienced until two things happened:
(1) The pre_config target was added to run before the menconfig
operation and (2) the context target was added before the pre_config
target in order to set up the correct symbolic links (in the apps/platform
directory) needed by the pre_config target.
But then now if you start with a Linux system and run 'make menuconfig'
to switch to Linux, the context target will execute first and set up
POSIX style symbolic links before doing the menuconfig. Then after the
menuconfig, the make will fail on Windows if you are using a Windows
native toolchain because that native toolchain cannot follow the Cygwin-
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. Now it does context,
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
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
NVIC_IRQ_CLEAR. From Paul Alexander Patience (2016-06-28).
* arch/arm/src/stm32f7: STMF7xxx RTC: (1) Remove proxy #defines, (2)
Ensure the LSE(ON) etal are set and remembered in a) A cold start
(RTC_MAGIC invalid) of the RTC, and b) A warm start (RTC_MAGIC valid)
of the RTC but a clock change. The change was needed because in bench
testing a merge of the latest's STM32 53ec3ca (and friends) it became
apparent that the sequence of operation is wrong in the reset of the
Backup Domain in the RCC code. PWR is required before the Backup
Domain can be futzed with. !!!This Code should be tested on STM32 and
if needed rippled to the STM32 families. From David Sidrane
(2016-06-28).
* arch/arm/src/stm32f7: Added STMF7xxx RTC. From David Sidrane
(2016-06-28).
* arch/arm/src/stm32: STM32 BBSRAM fixed (and formatted) flags. From
David Sidrane (2016-06-28).
* arch/arm/src/stm32f7: STM32F7 BBSRAM fixed (and formatted) flags.
From David Sidrane (2016-06-28).
* arch/arm/src/stm32f7: Added STM32F7 DBGMCU. From David Sidrane
(2016-06-28).
* arch/arm/src/samv7: SAMV7: CAN Message Filtering fixed: (1) stdfilters
didn't work because the filter was never enabled (wrong number of bits
to shift), and (2) Filters were never used because the configuration
register cannot be written without using the initialization mode.
Both bugs are fixed by this change. Filtering has been tested with
both standard and extended identifiers and is now working properly.
From Michael Spahlinger (2016-06-29).
* configs/Kconfig and dummy/: Add logic to support custom board
directories that include a Kconfig file. During the context phase
of the build, any Kconfig file in the custom board directory is copied
into configs/dummy, replacing the existing Kconfig file with the
target Kconfig file (2016-06-29).
* arch/arm/src/stm32l4: Port support for both RX FIFOs from STM32 CAN.
From Paul Alexander Patience (2016-06-29).
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
* Remove all inclusion of header files from the apps/include directory.
This caused a lot of reshuffling of logic: binfmt pcode support,
usbmonitor is now a kernel thread, TZ/Olson database moved to
libc/zoneinfo (2016-06-29).
* drivers/mtd: Several MTD FLASH drivers nullify the freed 'priv'
structure and failed to return NULL as stated in the comments.
Result, will operate on a NULL pointer later. Noted by David Sidrane
(2016-06-30).
* arch/arm/src/kinetis: Add basic support for the K64 family. I
leveraged the changes from https://github.com/jmacintyre/nuttx-k64f
and merged into the existing kinetis code with a lot of changes and
additions (like pin multiplexing definitions). (2016-07-01).
* configs/freedom-k64f: Add support for the NXP Freedom-K64F board.
This is primarily the work of Jordan Macintyre. I leveraged this
code from https://github.com/jmacintyre/nuttx-k64f but with
significant corrections (LEDs, buttons, README, etc) and extensions
and updates to match more recent BSPs (2016-07-01).
* libc/signal: Add raise() (2016-07-04).
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
* drivers/syslog: Add a SYSLOG character device that can be used to re-
direct output to the SYSLOG (2016-07-05).
* net/netdev: Break out internal interface psock_ioctl() (2016-07-06).
* configs/stm32f4disovery: add can driver for stm32f4discovery. From
Matthias Renner (2016-07-06).
* configs/freedom-k64f: Increase MCU clock to 120MHz (2016-07-06).
* arch/arm/src/stm32: Add support for Tickless mode (two timer
implementation). From Max Neklyudov (2016-07-06).
* drivers/usbdev: cdcacm_unbind leaks write request objects. This
arises due to freeing the bulk IN endpoint before the loop that
frees the requests via cdcasm_freereq. That function checks the
parameters and skips the freeing if either is NULL. Freeing the bulk
IN enpoint will cause the first param to be NULL, thereby bypassing
the free operation. To fix, I moved the release of the bulk IN
endpoint until after to loop (much as was the case for the OUT and
read requests, which did not exhibit the problem). From ziggurat29
(2016-07-07).
* arch/arm/src/stm32l4: Update usb dev/host controller drivers to
reflect new(ish) logging standards; augment device enpoint and fifo
allocation #defines to do more sanity checking, and be automatically
adaptive to size changes. Update README.txt to reflect current status
of the implementation. From ziggurat29 (2016-07-07).
* arch/arm/src/stm32f7: Fixed STM32F7 DMA stm32_dmacapable. DMA working
on SDMMC. From David Sidrane (2016-07-07).
* configs/stm32f4discovery: add configuration files for canard. From
Matthias Renner (2016-07-08).
* drivers/pipe: Add missing configuration for pipe ring buffer size.
From Frank Benkert (2016-07-08).
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
* STM32L4: Fix incorrect clock setup for LPTIM1. From ziggurat29
(2016-07-08).
* nucleo-l476rg and stm32lf76vg-disco: Define timer clock frequencies on
STM32L4-based boards. From ziggurat29 (2016-07-08).
* STM32L4: Add support for tickless OS, and incidentally timers, pwm,
oneshot, free-running.... From ziggurat29 (2016-07-08).
* SAM3/4 I2C: Fix reversed logic in twi_startmessage(). From Wolfgang
Reissnegger (2016-07-09).
* VFS ioctl(). Per comments from David Sidrane, file_ioctl() should not
return succeed if the ioctl method is not supported. It probably
should return ENOTTY in that case (2016-07-09).
* libm: This change should significantly improve the performance of
single precision floating point math library functions. The vast
majority of changes have to do with preventing the compiler from
needlessly promoting floats to doubles, performing the calculation
with doubles, only to demote the result to float. These changes only
affect the math lib functions that return float. From David Alessio
(2016-07-11).
* STM32F4 Discovery: Add FPU support for ostest for the STM32F4Discovery
platform. From David Alessio (2016-07-11).
* Build system: Remove the includes/apps link to apps/include. It is
no longer used. From Sebastien Lorquet (2016-07-11).
* printf(): If there are no streams, let printf() fall back to use
syslog() for output (2016-07-11).
* Qemu-i486: Fix qemu-i486/ostest/Make.defs test for M32. From Heath
Petersen (2016-07-12).
* UART 16550: Handle when CONFIG_SERIAL_UART_ARCH_IOCTL is not enabled.
From Heath Petersen (2016-07-12).
* Kinetis Ethernet: Add support for the KSZ8081 PHY (2016-07-12).
* SST26 Driver: Before accessing the sst26 flash, the "Global Unlock"
command must me executed, which I do in the sst26 driver. BUT re-
reading the datasheet, the WREN instruction is required to enable the
execution of this command. This was not done. I have no idea how the
driver currently works except by chance. The writes should never
happen at all, the flash is half-enabled! From Sebastien Lorquet
(2016-07-12).
* Freedom K64F: Add a networking NSH configuration. (2016-07-12).
* N25Qxx Driver: Alter the notion of 'blocksize' to be equivalent to
'flash write page size' in order to align with assumptions in the
smartfs driver (at least, maybe other things do as well). Correct a
bug that was previously masked by having blocksize=eraseblocksize
which would cause buffer overflows and delicious hardfaults. Trivial
spelling changes in comments, etc. From ziggurat29 (2016-07-12).
* STM32L476 Discovery: Update stm32l476 disco to include init code for
smartfs and nxffs for cases where those fs are included in build.
From ziggurat29 (2016-07-12).
* Kinetis Ethernet and Freedom-K64F: Freedcom-K64F PHY address was
wrong. Modified Ethernet driver to try all PHY addresses and then
only fail if the driver cannot find a usable PHY address. MDIO pin
must have an internal pull-up on the Freedom-K64F (2016-07-12).
* Kinetis Ethernet: Add support for CONFIG_NET_NOINTS (2016-07-12).
* SmartFS: Fix a 32-byte memory leak. From Ken Pettit (2016-07-12).
* Freedom-K64F: SDHC is now enabled in the nsh configuration (but does
not work)Add hooks for automounter; Change NSH configuration to use
Windows (2016-07-13).
* SAMV7 USBHS Device: This change solves a problem which causes data
loss while sending data via USB. This problem is caused by an incorrect
handling of the endpoint state in the USB driver sam_usbdevhs. This
leads under some circumstances to situations in which an DMA transfer
is setup while a previous DMA transfer is currently active. Amongst
other things I introduced the new endpoint state USBHS_EPSTATE_SENDING_DMA
for the fix. To reproduce the problem, I used a program which send as
many data as possible via a CDC/ACM device and verified the received
data on the PC. From Stefan Kolb (2016-07-13).
* STM32: Fix bug in oneshot timer. From Max Neklyudov (2016-07-13).
* STM32L4: Port foward bugfix from stm32 of oneshot timer. From
ziggurat29 (2016-07-13).
* STM32 and EFM32: I'm using syslog through ITM. In this case
syslog_channel function is call before RAM initialisation in
stm32_clockconfig. But syslog channel uses a global variable that is
reset to default by the RAM initialization. From Pierre-noel
Bouteville (2016-07-14).
* LPC43xx SPIFI: If CONFIG_SPIFI_SECTOR512 undefined, lpc43_bwrite
doesn't do actual write (probably copy/paste errors). Still not sure
about current state of lpc43_spifi implementation, but for me NXFFS
works with this patch. From Vytautas Lukenskas (2016-07-14).
* SMART MTD layer: Fixes freesector logic error when sectorsPerBlk=256,
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
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
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).
* Freedom-K64F: Add PWM support. From Jordan MacIntyre (2016-07-25).
* drivers/serial/pty.c, serial.c, usbdev/cdcacm.c, include/nuttx/fs/ioctl.h:
Fix FIONWRITE and add FIONSPACE. All implementations of FIONWRITE
were wrong. FIONWRITE should return the number of bytes waiting in
the outgoing send queue, not the free space. Rather, FIONSPACE should
return the free space in the send queue (2016-07-25).
* lib_dumpbuffer: Now prints a large on-stack buffer first to avoid
problems when the syslog output is prefixed with time. From Pierre-
noel Bouteville (2016-07-27).
* sched/clock and sched/sched: Add standard adjtime() interface and
basic timekeeping support. Normally used with an NTP client to keep
system time in synchronizationi. From Max Neklyudov (Merged on
20160-07-28).
* arch/arm/src/stm32: Add timekeeping support for the STM32 tickless
mode. From Max Neklyudov (Merged on 20160-07-28).
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
* Top-Level Makefiles. Fix a chicken-and-egg problem. In the menuconfig
target, the context dependency was executed before kconfig-mconf.
That was necessary because the link at apps/platform/board needed to
be set up before creating the apps/Kconfig file. Otherwise, the
platform Kconfig files would not be included. But this introduces
the chicken-and-egg problem in some configurations.
In particular: (1) An NX graphics configuration is used that requires
auto-generation of source files using cpp, (2) the configuration is
set for Linux, but (3) we are running under Cygwin with (4) a Windows
native toolchain. In this case, POSIX-style symbolic links are set
up but the Windows native toolchain cannot follow them.
The reason we are running 'make menuconfig' is to change from Linux
to Cygwin, but the target fails. During the context phase, NX runs
CPP to generate source files but that fails because the Windows native
toolchain cannot follow the links. Checkmate.
This was fixed by changing all of the make menuconfig (and related)
targets. They no longer depend on context being run. Instead, they
depend only on the dirlinks target. The dirlinks target only sets
up the directory links but does not try to run all of the context
setup; the compiler is never invoked; no code is autogeneraed; and
things work (2016-07-28).
* tools/refresh.sh: Recent complexities added to apps/ means that
configuration needs correct Make.defs file in place in order to
configure properly (2016-07-28).
* tools/kconfig2html.c: Update to handle absolute paths when sourcing
Kconfig files (2016-07-29).
* libc/math: This fixes the following libc/math issues: (1) asin[f l]()
use Newtonâs method to converge on a solution. But Newtonâs method
converges very slowly (> 500,000 iterations) for values of x close
to 1.0; and, in the case of asinl(), sometimes fails to converge
(loops forever). The attached patch uses an trig identity for
values of x > sqrt(2). The resultant functions converge in no more
than 5 iterations, 6 for asinl(). (2) The NuttX erf[f l]() functions
are based on Chebyshev fitting to a good guess. The problem thereâs a
bug in the implementation that causes the functions to blow up with x
near -3.0. This patch fixes that problem. It should be noted that
this method returns the error function erf(x) with fractional error
less than 1.2E-07 and thatâs fine for the float version erff(), but
the same method is used for double and long double version which
will yield only slightly better precision. This patch doesn't address
the issue of lower precision for erf() and erfl(). (3) a faster
version of copysignf() for floats is included. From David S. Alessio
(2016-07-30).
Gregory Nutt
committed
* I/O Expander: Remove hard-coded PCA9555 fields from ioexpander.h
definitons. Add support for an attach() method that may be used when
any subset of pin interrupts occur (2016-07-31).
* PCA9555 Driver: Replace the signalling logic with a simple callback
using the new definitons of ioexpander.h. This repartitioning of
functionality is necessary because (1) the I/O expander driver is the
lower-lower part of any driver that uses GPIOs (include the GPIO
driver itself) and should not be interacting directly with the much
higher level application layer. And (2) in order to be compatible
with the GPIO driver (and any arbitrary upper half driver), the
PCA9555 should not directly signal, but should call back into the
upper half. The upper half driver that interacts directly with the
application is the appropriate place to be generating signal
(2016-07-31).
* drivers/ioexpander/skeleton.c: Add a skeleton I/O Expander driver
(based on the PCA9555 driver) (2016-07-31).
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
* I/O Expander Interface: Encode and extend I/O expander options to
include interrupt configuration (2016-07-31).
* drivers/ioexpander: Add an (untested) TCA64XX I/O Expander driver
leveraged from Project Ara (2016-07-31).
* I/O Expander Interface: Add argument to interrupt callback. Add a
method to detach the interrupt (2016-08-01).
* drivers/ioexpander: Add a GPIO lower-half driver that can be used to
register a GPIO character driver for accessing pins on an I/O expander
(2016-08-01).
* drivers/ioexpander: Add PCF8574 I/O Expander driver. Some cleanup
also of other expander drivers (2016-08-01).
* drivers/ioexpander: GPIO driver: Add IOCTLs to get the pin type and
to unregister a signal handler (2016-08-01).
* configs/sim: Add simulator-based test support for apps/examples/gpio
2016-08-01).
* drivers/sensors: Add KXJT9 Accelerometer driver from the Motorola
Moto Z MDK (2016-08-02).
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
* arch/arm/sim: Add a simulated I/O Expander driver (2016-08-03).
* configs/sim: Add logic to set the simulated I/O expander for testing
with apps/examples/gpio (2016-08-03).
* fs/fat: FAT performance improvement. In large files, seeking to a
position from the beginning of the file can be very time consuming.
ftell does lssek(fd, 0, SET_CURR). In that case, that is wasted time
since we are going to seek to the same position. This fix short-
circutes fat_seek() in all cases where we attempt to seek to current
position. Suggested by Nate Weibley (2016-08-03).
* tools/sethost.sh: Add sethost.sh. This is a script that you can use
to quickly change the host platform from Linux to Windows/Cygwin.
Might save you a lot of headaches (2016-08-03).
* arch/arm/src/tiva: Add tiva PWM lower-half driver implementation.
From Young (2016-08-05).
* drivers/spi/spi_transfer.c: Add a helper function that encapsulates
and manages a sequence of SPI transfers (2016-08-05).
* drivers/spi: Add an SPI character driver that will permit access to
the SPI bus for testing purposes. This driver is a simple wrapper
around spi_transfer() (2016-08-05).
* drivers/wireless: Add MFRC522 RFID ISO14443 and Mifare transceiver
driver. From Alan Carvalho de Assis (2016-08-06).
* configs/stm32f103-minimum: Add board support to MFRC522 driver. From
Alan Carvalho de Assis (2016-08-06).
* arch/renesas: Rename arch/sh to arch/renesas (2016-08-06).
* arch/arm/src/efm32, stm32, stm32l4: STM32 and EFM32 SPI drivers
adopted an incompatible conventions somewhere along the line. The
set the number of bits to negative when calling SPI_SETBITS which had
the magical side-effect of setting LSB first order of bit
transmission. This is not only a hokey way to pass control
information but is supported by no other SPI drivers. This change
three things: (1) It adds HWFEAT_LSBFIRST as a new H/W feature.
(2) It changes the implementations of SPI_SETBITS in the STM32 and
EFM32 derivers so that negated bit numbers are simply errors and it
adds the SPI_HWFEATURES method that can set the LSB bit order, and
(3) It changes all calls with negative number of bits from all
drivers: The number of bits is now always positive and SPI_HWFEATURES
is called with HWFEAT_LSBFIRST to set the bit order (2016-08-08).
* arch/arm/src/stm32: Add missing SPI2 and SPI3 support for STM32F3F3.
Add STM32F37XX DMA channel configuration. For STM32F37XX,
SYSCFG_EXTICR_PORTE defined twice. From Alan Carvalho de Assis
(2016-08-08).
* arch/arm/src/stm32: Make stm32_pwr_enablebkp thread safe. From
Max Neklyudov (2016-08-09).
* arch/arm/src/stm32: SAM3/4 GPIO: Enable peripheral clock for GPIO port
when GPIO is configured as input. The value of a GPIO input is only
sampled when the peripheral clock for the port controller the GPIO
resides in is enabled. Therefore we need to enable the clock even when
polling a GPIO. From Wolfgang Reissnegger (2016-08-09).
* arch/arm/src/tiva: Fix two bugs of tiva pwm lower-half driver
implementation. From Young (2016-08-10).
* sched/group: Explicitly initialize the group tg_exitsem with
sem_init(). The existing logic worked because the correct
initialization value is all zero, but it is better to initialize the
semaphore explicitly (2016-08-10).
* arch/arm/stm32: Fix bad pllmul values for STM32F1XX connectivity line.
STM32F1XX connectivity line supports only x4, x5, x6, x7, x8, x9 and
x6.5 values. From MichaÅ Åyszczek (2016-08-11).
* include/nuttx/timers: Add oneshot timer lower half interface
(2016-08-11).
* arch/arm/src/stm32: Add a experimental oneshot, lower-half driver for
STM32 (2016-08-11).
* arch/arm/src/samv7: Add option to support oneshot timer without free-
running timer. Add oneshot lower half driver (2016-08-11).
* arch/arm/src/sama5: Add option to support oneshot timer without free-
running timer. Add oneshot lower half driver (2016-08-11).
* arch/arm/src/sam34: SAM4CM: Add option to support oneshot timer without
free-running timer. Add oneshot lower half driver (2016-08-11).
* arch/arm/src/stm32l4: Add oneshot lower half driver (2016-08-11).
* libc/stdlib: strtod() was not returning endptr on error conditions
(2016-08-11).
* libc/math: floor(), floorf(), and floorl(): Fix logic error. Was not
correctly handling negative integral value (2016-08-11).
* configs/sim: Add a configuration useful for testing Mini Basic
(2016-08-12).
* drivers/timers: Add an upper-half, oneshot timer character driver
(2016-08-12).
* arch/sim/src: Add a simulated oneshot lowerhalf driver (2016-08-12).
* arch/arm/src/stm32: STM32F3 SPI: Fix the number of bit setting for
Gregory Nutt
committed
the F3. That and data packing work differently on the STM32F3 than
for other STM32 parts (2016-08-12).
* arch/arm/stm32 and stm32l4: Enabling SPI DMA loses other bits in CR2
(2016-08-13).
* arch/arm/src/stm32: STM32F3 SPI: Cannot write always 16-bit value to
DR register because of how the F3 implements data packing (2016-08-13).
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
* Kinetis: Add support for I2C and RTC. From v01d (phreakuencies)
(2016-08-13).
* teensy 3.x i2c. From v01d (phreakuencies) (2016-08-13).
* SH1106 0.96 OLED module support (SSD1306 compatible) + I2C fixes.
From v01d (phreakuencies) (2016-08-13).
* Add support for SAMV7 DACC module. From iotr Mienkowski (2016-08-15).
* Add oneshot board initialization to stm32f103-minimum. From Alan
Carvalho de Assis (2016-08-15).
* drivers/audio/tone.c: Add Audio Tone Generator for NuttX. From Alan
Carvalho de Assis (2016-08-16).
* configs/stm32f103-minimum: Add board configuration to initialize Audio
Tone Generator. From Alan Carvalho de Assis (2016-08-16).
* STM32F411 and STM32F446 map i2c2_sda_4 to different alternate function
numbers. From Konstantin Berezenko (2016-08-17).
* STM32 DMA Fix: Change stm32 adc dma callback to send channel number
instead of index. From Konstantin Berezenko (2016-08-17).
* SAMA5: Add missing oneshot max_delay method (2016-08-18).
* configs/stm32bufferfly2: Add support for the Kamami stm32butterfly2
development board with optional ETH phy. From MichaÅ Åyszczek
(2016-08-19).
* libc/misc: Separate XorShift128 PRNG from /dev/urandom and make it
generally available (2016-08-20).
* sched/sched_cpuload_oneshot: Use the oneshot timer with optional
entropy to measure cPU load if so configured (2016-08-20).
* drivers/usbhost/usbhost_composite.c: An an EXPERIMENTAL prototype of
how USB host support for composite devices might be implemented. This
feature is EXPERIMENTAL because (1) it is untested and (2) has some
know design issues that must be addressed before it can be of use
(2016-08-28).
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
* CXXFLAGS: add -fcheck-new whenever -fno-exceptions is used. From Beat
Küng (2016-08-23).
* tools/mkfsdata.pl was still generating the old-style apps/include
inclusion paths (2016-08-23).
* drivers/sensors: Add drvier for the LIS3MDL 3 axis magnetometer. From
Alexander Entinger (2016-08-23).
* drivers/sensors: Add driver for the MLX90393 3 axis magnetometer.
From Alexander Entinger (2016-08-23).
* drivers/mtd: Add Fujistu MB85RS256B ramtron support. From Beat Küng
(2016-08-23).
* drivers/sensors: Add driver for the LIS3DSH 3 axis accelerometer. From
Alexander Entinger (2016-08-24).
* drivers/sensors: Add driver for the Bosch BMG160 3 axis gyroscope.
From Alexander Entinger (2016-08-24).
* STM32: Add IAR-style STM32F1xx vectors. Tested on STM32F103RB and
STM32F107RC. From Aleksandr Vyhovanec (2016-08-24).
* libc/header files: Add POSIX type sig_atomic_t. From Sebastien
Lorquet (2016-08-24).
* libc/header files: isatty() should be prototypes in unstid.h, not
termios.h. From Sebastien Lorquet (2016-08-24).
* Documentation: Update to NuttX C coding style document with additions
discussing long comments on the right side of a statement or data
definition (2016-08-24).
* LPC43xx serial: Fix typos in LPC43 serial driver. Found by Vytautas
Lukenskas (2016-08-24).
* libc/time: This commit adds the difftime() function. The function
depends on the toolchain-dependent CONFIG_HAVE_DOUBLE so is not
available on tiny platforms. From Sebastien Lorquet (2016-08-24).
* libc/stdio: Add support for remove(). From Sebastien Lorquet
(2016-08-25).
* STM32 OTGFS device: Fix for lost first word from FIFO
1) Do not overwrite Reserved Bits in GINTSTS (per ref manual)*
2) Acknowledge all pending int on entry to ISR that are Only rc_w1*
3) Do not disable RXFVL*
4) Loop until RXFVL is cleared*
5) Only clear the NAK on the endpoint on the
OTGFS_GRXSTSD_PKTSTS_SETUPDONE to not loose the first WORD of
FIFO all the data (Bug Fix)
Changed marked *are just driver clean up and ensure ints are not lost.
The bug fix is #5
Test case open putty and observer the Set/Get LineCoding. Without this
fix #5 the Get will not match the Set, and in fact the data might be
skewed by 4 bytes, that are lost from the FIFO if the
OTGFS_DOEPCTL0_CNAK bit is set in the OTGFS_GRXSTSD_PKTSTS_SETUPRECVD
as opposed to the OTGFS_GRXSTSD_PKTSTS_SETUPDONE
Set Line Coding DATA1: 4B | 00 c2 01 00 00 00 08 | c8 1B
Get Line Coding DATA1: 4B | .. .. .. .. 00 00 08 c8 .. 00 00 07 | 7a 72
From David Sidrane (2016-08-25).
* Add system() to stdlib.h. Actual implementation is in
apps/system/system (2016-08-25).
* include/nuttx/input: Add missing prototype for btn_lower_initialize()
(2016-08-27).
* configs/stm32f103-minimum: Add board config support to SPI LCD module
JLX12864G-086. From Alan Carvalho de Assis (2016-08-28).
* net/tcp: tcp_ipvX_bind() not actually using the ported selected with
port==0. Also removes duplicate call to pkt_input(). Issues noted by
Pascal Speck (2016-08-30).
* STM32 F7: Remove duplicate call to pkt_input from Ethernet driver.
Issues noted by Pascal Speck (2016-08-30).
* STM32L4 OTGFS device: Apply stm32 fix to stm32l4. From Sebastien
Lorquet (2016-08-31).
* drivers/contactless: Remove contactless drivers from drivers/wireless
to drivers contactless. From Sebastien Lorquet (2016-08-31).
* USB host composite is at least partially functional. No longer depends
on CONFIG_EXPERIMENTAL (2016-09-02).
* MTD: Fixed cloned typos in several FLASH drivers. From Aleksandr
Vyhovanec (2016-09-02).
* MTD: SPI-based driver for Macronix MX25L3233F or MX25L6433F. From
Aleksandr Vyhovanec (2016-09-02).
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
* sched/: The TCB nchildren field should not be incremented when
pthreads are created (2016-09-06).
* sched/: Move fields related to parent/child task relationship out of
TCB into group structure (2016-09-06).
* STM32L4: Add support for USART3-USART5. For STM32L4 parts, the higher
number USART ports supported varies. Add the HAVE_USARTx definitions
to the configuration to allow enabling the higher numbered USART ports.
From Jim Wylder (2016-09-15).
* configs/stm32l476-mdk: Support basic booting and nsh on Motorola MDK.
The Motorola MDK is based off of an earlier version of NuttX. This
only provides a basic NSH shell. From Jim Wylder (2016-09-15).
* STM32 USB: Set USB address to avoid a failed assertion. From Pierre-noel
Bouteville (2016-09-15).
* STM32 L4 and L7 USB: Pierre's assertion-avoidance change should also be
applied to STM32 F7 and L4 (2016-09-15).
* sched/: mq_send() was not setting the errno value on certain failures
to allocate a message (2016-09-15).
* include/nuttx/modem: Move all modem-related IOCTL commands to a common
file to assure that they will be unique (2016-09-16).
* STM32 F4 Discovery: Add support for XEN1210 3D-board. From Alan
Carvalho de Assis (2016-09-17).
* drivers/sensors: Adds support for the Sensixs XEN1210 3D-board. This
sensor is used on NANOSATC-BR2 a Brazillian CUBESAT project. From
Alan Carvalho de Assis (2016-09-16).
* include/analog/dac.h: Make DAC structure packed. From Marc Rechté
(2016-09-20).
* All SAM Ethernet Drivers: Add support so that the drivers can be built
with CONFIG_NET_MULTIBUFFER=y (2016-09-20).
* Tiva Ethernet: Needs support for CONFIG_NET_MULTIBUFFER=y (2016-09-20).
* drivers/net: NET_TUN=y => NET_MULTIBUFFER=y. From Vladimir
Komendantskiy (2016-09-20).
* SAM3/4: Fix GPIO pull-up/down code. Enabling the pull-down resistor
while the pull-up resistor is still enabled is not possible. In this
case, the write of PIO_PPDER for the relevant I/O line is discarded.
Likewise, enabling the pull-up resistor while the pull-down resistor
is still enabled is not possible. In this case, the write of PIO_PUER
for the relevant I/O line is discarded. From Wolfgang ReiÃnegger
(2016-09-20).
* SAM GPIO: Apply Wolfgang's change for SAM3/4 to SAMA5 and SAMV7
(2016-09-20).
* Tiva QEI: Add QEI lower-half driver impl. for Tiva series chip. From
Young (2016-09-21).
* STM32, L4, and F7: Remove GPIO_ETH_RMII_TX_CLK. TX_CLK is not present
in RMII. Mateusz Szafoni (2016-09-22).
* sched/: Define 'group' even if HAVE_GROUPID is not set. From Mateusz
Szafoni (2016-09-22).
* sched/: vector table should have dimension NR_IRQS, not NR_IRQS+1.
From Sagitta Li (2016-09-22).
* fs/mount: Corrects a bad assertion noted by Pierre-noel Bouteville.
Also fixes a reference counting problem in an error condition: When
the mountpoint inode is found but is not an appropriate mountpoint,
the reference count on the inode was not being decremented (2016-09-22).
* libnx/nxglib: Fix handling of near-horizontal lines of width 1 in
nxgl_splitline(). Missing handling for degenerate condition caused
width 1 lines such as (0, 0) - (100, 10) to have gaps in the drawing.
From Petteri Aimonen (2016-09-22).
* drivers/net/slip.c: Fix calculations using MSEC_PER_TICK. If
USEC_PER_TICK is less than 1000, then MSEC_PER_TICK will be zero. It
will be inaccurate in any case (2016-09-25).
* Tiva QEI: Add a new ioctl command (set MAXPOS) for tiva QEI. From
Young (2016-09-26).
* LPC43xx Serial: There are some small problems in LPC43xx RS485 mode
configuration. In particular: (1) UART0,2,3 do not have DTR pins
(different from UART1), so, Kconfig needs to be adjusted. (2)
lpc43_uart.c in RS485 mode only configures DIR pin, but doesn't enable
pin output for UART0,2,3. (3) should be option to reverse DIR control
pin output polarity. (4) lpc43xx/chip/lpc43_uart.h doesn't have USART3
definitions. NOTE: I didn't modified and didn't tested USART1, as it
has different hardware. From Vytautas Lukenskas. From Vytautas
Lukenskas (2016-09-30).
* STM32 Ethernet: Correct typo in conditional logic. From Neil Hancock
(2016-10-01).
* sched/pthread and task: When a pthread is started, there is a small
bit of logic that will run on the thread of execution of the new
pthread. In the case where the new pthread has a lower priority than
the parent thread, then this could cause both the parent thread and
the new pthread to be blocked at the priority of the lower priority
pthread (assuming that CONFIG_PRIORITY_INHERITANCE is not selected).
This change temporarily boosts the priority of the new pthread to at
least the priority of the new pthread to at least the priority of the
parent thread. When that bit of logic has executed on the thread of
execution of the new pthread, it will then drop to the correct
priority (if necessary) before calling into the new pthread's entry
point (2016-10-01).
* configs/stm32f103-minimum: Add stm32_bringup support and userled
example to STM32F103 Minimum board. From Alan Carvalho de Assis
(2016-10-02).
* STM32 L4: Add support for quadrature encoders on STM32L4. Sebastien
Lorquet (2016-10-02).
* configs: Add support for qencoders on various nucleo boards. From
Sebastien Lorquet (2016-10-03).
* STM32 L4 USB Device: Fixed L4 USB Driver by avoiding SETUPDONE and
EPOUT_SETUP. From David Sidrane (2016-10-04).
* configs/olimex-stm32-e407: Add some networking configurations. From
Mateusz Szafoni (2016-10-06).
* STM32 SPI: stm32_modifycr2 should be available on all platforms if DMA
is enabled. (2016-10-06).
* STM32 DMA2D: fix an error in up_dma2dcreatelayer where an invalid
pointer was returned when a certain underlying function failed. From
Jens Gräf (2016-10-07).
7.19 2016-xx-xx Gregory Nutt <gnutt@nuttx.org>