Skip to content
ChangeLog 957 KiB
Newer Older
	* First attempt at a nucleo-l432kc board.  From Sebastien Lorquet
	  (2017-05-02).
	* STM32F7:  Flash: macro naming errors, there is no FLASH_CONFIG_F for
	  F7.  From Juha Niskanen (2017-05-02).
	* STM32L4: stm32l4x6xx_pinmap:  Update I2C4 and DCMI pins.  From Juha
	  Niskanen (2017-05-02).
	* 6LoWPAN: Add basic call path to interface with the MAC layer through
	  the MAC network driver.  Logic has not yet been implemented.  This is
	  just a structural change in preparation for additional changes
	  (2017-05-02).
	* wireless/ieee802154:  Sets up default PIB attributes.  From Anthony
	  Merlino (2017-05-02).
	* wireless/ieee802154:  Finishes some IOCTL logic for MAC layer.  From
	  Anthony Merlino (2017-05-02).
	* 6LoWPAN:  Changes to use new MAC interfaces.  Incomplete and needs
	  some clean-up of dangling, unused definitions (2017-05-03).
	* wireless/ieee802154: Starts work on setting PIB attributes.  From
	  Anthony Merlino (2017-05-03).
	* 6LoWPAN:  Fixes hang in loopback test (2017-05-03).
	* drivers/wireless/bcmf:  Fix frame not freed when dropped + cleanup.
	  From Simon Piriou (2017-05-03).
	* STM32L4: stm32l4_i2c:  Change wrong macro to CONFIG_I2C_POLLED.  From
	  Juha Niskanen (2017-05-04).
	* STM32L4: modularize Kconfig to support different product
	  lines/families.  This is modeled after STM32F7. Idea is to declare
	  each chip in Kconfig but allow for flash size override. Commit adds
	  many STM32L4_HAVE_XXX feature test macros.  From Juha Niskanen
	  (2017-05-02).
	* STM32L4:  Changes needed for STM32L452 and Nucleo-L452RE board.  GPIO
	  and UART seem similar across STMicro product matrix, so renamed files
	  accordingly. RCC is cloned just in case, while conflicting
	  differences there seem to be very minor.  From Juha Niskanen
	  (2017-05-02).
	* STM32L4:  Flash: update override config macros and add
	  FLASH_CONFIG_B.  From Juha Niskanen (2017-05-02).
	* configs:  Add nucleo-l452re board files.  From Juha Niskanen
	  (2017-05-04).
	* fixedmath:  Add square root and b32_t conversion operators.  From
	  Jussi Kivilinna (2017-05-04).
	* Fix STM32F7 I2C interrupt handler.  From Jussi Kivilinna (2017-05-04).
	* STM32F7 serial:  Allow configuring Rx DMA buffer size.  From Jussi
	  Kivilinna (2017-05-04).
	* 6LoWPAN: Replace Rime address naming with more consistent
	  short/exended address terminology (2017-05-04).
	* 6LoWPAN:  Remove all ieee802.15.4 MAC knowledge from 6LoWPAN.  Now
	  relies on wires/ieee802154 for all MAC-related operations (2017-05-04).
	* 6LoWPAN:  Local address length is fixed by the configuration.  The
	  remote address be with short or extended (2017-05-04).
	* STM32L4:  Separate SYSCFG into product line specific files for
	  clarity.  From Juha Niskanen (2017-05-05).
	* STM32L4:  firewall for stm32l4x3xx.  Not tested for any product
	  family, but now it at least compiles.  L496 devices can have one bit
	  wider Volatile Data Segment.  From Juha Niskanen (2017-05-05).
	* STM32L4:  Add more chips to Kconfig.  This also removes
	  DPFPU/DTCM/ITCM features again, fixing a recent git history hickup.
	  From Juha Niskanen (2017-05-05).
	* configs/nucleo-l496zg:  Kconfig was copied from nucleo-144.  Removed
	  as most options have not been tested.  From Juha Niskanen (2017-05-05).
	* nucleo-144:  Default for choice in Kconfig was not one of the
	  possible choices (2017-05-05).
	* Kinetis:  Add TPM to K66 chip.  From David Sidrane (2017-05-05).
	* Kinetis:  Fixed CLKSRC Bit Names.  From David Sidrane (2017-05-05).
	* Kinetis:  Add OSC_DIV to the kinetis_osc header.  From David Sidrane
	  (2017-05-05).
	* Kinetis:  Use optional BOARD_OSC_CR and BOARD_OSC_DIV in clock
	  configuration.  From David Sidrane (2017-05-05).
	* Kinetis:  Added HW flow control and termios.  From David Sidrane
	  (2017-05-05).
	* wireless/ieee802154:  Changes rxenable at radio layer.  From Anthony
	  Merlino (2017-05-03).
	* wireless/ieee802154:  Finishes promiscuous mode IOCTL.  From Anthony
	  Merlino (2017-05-03).
	* wireless/ieee802154:  Removes radio IOCTL.  Starts bringing radio and
	  MAC closer with well-defined interface.  From Anthony Merlino
	  (2017-05-05).
	* STM32L4:  Add support for many new MCUs from STM32L4X3XX product line
	  and Nucleo-L452 board.  From Juha Niskanen (2017-05-05).
	* 6LoWPAN:  Use information in struct ieee802154_data_ind_s when
	  reassembling a packet (2017-05-05).
	* ieee 802.15.4: Add a pool-based memory allocator for RX frame
	  meta-data (2017-05-05).
	* kinetis k66, k64, k60, k40, k20: Pin mux configure all I2C signals as
	  Open Drain.  The output structure of the GPIO for I2C needs to be
	  open drain.  When left at the default, one can observe on a scope the
	  slave contending with the push-pull during the ACK.  From David
	  Sidrane (2017-05-05).
	* wireless/ieee802154: Removes msdu_length from meta-data since it is
	  intrinsically in the IOB.  From Anthony Merlino (2017-05-06).
	* wireless/ieee802154: Reworks data_ind allocation to include IOB
	  allocation/deallocation. Hides private data.  From Anthony Merlino
	  (2017-05-05).
	* wireless/ieee802154: Completes Rx data flow through MAC layer to
	  callback.  From Anthony Merlino (2017-05-06).
	* Kinetis:  Add ARCH_HAVE_I2CRESET.  From David Sidrane (2017-05-06).
	* Reworks data_ind allocation to include IOB allocation/deallocation.
	  Hides private data.  From Anthony Merlino (2017-05-06).
	* STM32:  Serial Allow configuring Rx DMA buffer size.  From David
	  Sidrane (2017-05-06).
	* 6LoWPAN: Minor cleanup and re-verification of all compression modes
	  after so many recent changes (2017-05-06).
	* Update the C coding standard document (2017-05-06).
	* IEEE 802.15.4 network driver.  Remove support for multicast address
	  filtering; doesn't work that way on an IEEE 802.15.4 network
	  (2017-05-08).
	* STM32:  Serial DMA buffer round off not up.  From David Sidrane
	  (2017-05-08).
	* STM32 TIM:  Add method to get timer width.  Freerun timer: Use timer
	  width to get the correct clock rollover point (2017-05-08).
	* wireless/ieee802154: Finishes MAC processing of received data frame.
	  From Anthony Merlino (2017-05-08).
	* wireless/ieee802154: Finishes MAC char driver read functionality.
	  From Anthony Merlino (2017-05-08).
	* wireless/ieee802154: MRF24J40: Finishes receive functionality,
	  supports promicuous mode, and rxonidle attributes.  From Anthony
	  Merlino (2017-05-08).
	* wireless/ieee802154: Completes basic receive functionality.  From
	  Anthony Merlino (2017-05-08).
	* Final fixes to get the nucleo-l432kc config build.  Execution not
	  tested yet.  From Sebastien Lorquet (2017-05-09).
	* Adapt stm32l43x pin definitions.  From Sebastien Lorquet (2017-05-09).
	* More unbuilt stm32 -> stm32l4 changes.  From Sebastien Lorquet
	  (2017-05-09).
	* Restore settings for UARTs 4 and 5.  From Sebastien Lorquet
	  (2017-05-09).
	* IOBs:  Move from driver/iob to a better location in mm/iob
	  (2017-05-09).
	* STM32L4:  Add dbgmcu header files.  From Juha Niskanen (2017-05-09).
	* wireless/ieee802154: Fixes missing handle of read/write being able to
	  be interrupted.  From Anthony Merlino (2017-05-09).
	* wireless/ieee802154:  Starts implementing START.request primitive.
	  From Anthony Merlino (2017-05-09).
	* drivers/serial: I discovered a problem in the file
	  drivers/serial/serial.c concerning the function uart_close(…). In the
	  case that a serial device is opened with the flag O_NONBLOCK the
	  function uart_close(…) blocks until all data in the buffer is
	  transmitted. The function close(…) called on an handle opened with
	  O_NONBLOCK should not block. The problem occurred with a CDC/ACM
	  device.  From Stefan Kolb (2017-05-10).
	* mtd/config:  erase block between block read and write.  From Juha
	  Niskanen (2017-05-10).
	* Moved LIS3DSH from the I2C-dependent block to the SPI-block to make
	  Make.defs consistent with the driver (SPI only) and
	  drivers/sensors/Kconfig.  From Floxx (2017-05-10).
	* syslog:  Add option to buffer SYSLOG output to avoid interleaving
	  (2017-05-10).
	* syslog buffering:  Use IOBs to buffer data, not an on-stack buffer
	  (2017-05-10).
	* STM32L4:  Add internal flash write support.  From Juha Niskanen
	  (2017-05-11).
	* When syslog message has addition characters after last new-line. With
	  buffering those now get lost as vsyslog does not flush output after
	  lib_sprintf. Additional trailing characters could be ANSI escape
	  sequence to reset state that message setups. For example, macro here
	  uses colors and resets state after actual message (including '\n'):
	  With flushing added to vsyslog, then there is problem that next
	  syslog line might come from other task before reset sequence, causing
	  wrong line getting color. This could be avoided by not flushing on
	  '\n' but only if IOB is full and/or at end of vsyslog.  Would this
	  make sense?.  From Jussi Kivilinna (2017-05-11).
	* Syslog:  Need inclusion of errno.h for fix building with
	  CONFIG_SYSLOG_TIMESTMAP=y (2017-05-11).
	* mtd:  Build RAMTRON and AT45DB drivers only if selected.  From Juha
	  Niskanen (2017-05-11).
	* mtd/config:  Fix byte read interface test.  From Juha Niskanen
	  (2017-05-11).
	* mtd:  Fix some unallocated and NULL pointer issues.  rwb->wrflush and
	  rwb->wrmaxblocks in rwbuffer could get unallocated values from
	  ftl_initialize() in some configurations.  Also fixes related assert:

	    up_assert: Assertion failed at file:rwbuffer.c line: 643

	  that can happen with the following configuration:

	    CONFIG_FTL_WRITEBUFFER=y
	    CONFIG_DRVR_WRITEBUFFER=y
	    # CONFIG_FS_WRITABLE is not set

	  These problems are caused by CONFIG variable differences between the
	  buffer layers. TODO: This is not a perfect solution. readahead
	  support has similar issues.  From Juha Niskanen (2017-05-11).
	* STM32L4: port stm32l4_serial_get_uart function from STM32F7.  From
	  Juha Niskanen (2017-05-12).
	* syslog:  Avoid flushing syslog_stream buffer, if possible, until
	  lib_vsprintf() completely parses the format.  This assures that the
	  flush will flush the entire output, even data that may potentially
	  follow the linefeed.  And, in that case, it cannot be interleaved
	  with other devug output.  Suggested by Jussi Kivilinna (2017-05-12).
	* syslog:  There is yet another place where the output can get split.
	  That is in syslog_dev_write():  It will break up the stream to insert
	  a CR before the LF.  This can that can be avoid be generating the
	  CR-LF sequence in the buffer and then detecting and ignoring valid
	  CR-LF sequences, rather than expecting syslog_dev_write() to insert
	  the CR in this case.  I don't like the idea that syslog_dev_write()
	  still scans the entire output buffer to expand CR-LF sequence.  This
	  seems really wasteful, especially in this case where we can be sure
	  that the is no CR or LF without a matching LF or CR.  Bu, I think,
	  the existing behavior in syslog_dev_write() must be retained because
	  it is needed in other contexts (2017-05-12).
	* Bitbucket Issue 47: Some of last syslog changes needed to be
	  condition on #ifdef CONFIG_SYSLOG_BUFFER in order to be built without
	  syslog buffering enabled (2017-05-12).
	* Move CAN subsystem to its own directory and put device drivers
	  there.  From Alan Carvalho de Assis (2017-05-12).
	* locale.h:  Add a bogus definition of locale_t.  From  (2017-05-12).
	* kinetis K66:  Fixed TMP2_CH1 definition.  From David Sidrane
	  (2017-05-12).
	* kinetis K66:  Define ALT1 to match ref manual.  From David Sidrane
	  (2017-05-12).
	* kinetis K66:  GPIO and pin mux cleanup.  From David Sidrane
	  (2017-05-13).
	* STM32F410:  Add support for STM32F410.  STM32F410 is a version of
	  STM32F4 with 32 KB of RAM and 62 or 128 KB of flash.  From Gwenhael
	  Goavec-Merou (2017-05-13).
	* Kconfig/deconfigs:  Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that
	  the toolchain is based on GNU gcc/as/ld.  This is in addition to the
	  CPU-specific versions of the same definition (2017-05-13).
	* Remove CONFIG_ARM_TOOLCHAIN_GNU; replace with
	  CONFIG_ARCH_TOOLCHAIN_GNU (2017-05-13).
	* Tiva I2C:  Correct an error in conditional compilation (2017-05-13).
	* Kconfig:  Rename CONFIG_ARM_TOOLCHAIN_IAR to
	  CONFIG_ARCH_TOOLCHAIN_IAR (2017-05-13).
	* Move prototype for up_cxxinitialize() from nuttx/include/nuttx/arch.h
	  to apps/include/platform/cxxinitialize.h (2017-05-13).
	* libc/wchar: Versions mbrlen and mbsrtowcs taken and adapted from
	  FreeBSD code (at https://github.com/freebsd/freebsd/).  From Matias
	  v01d (2017-05-13).
	* tcp:  wait for 3-Way Handshare before accept() returns.  From Simon
	  Piriou (2017-05-14).
	* configs/photon/wlan:  disable network logs and add nsh over telnet.
	  From Simon Piriou (2017-05-14).
	* TCP: Send RST if applicaiton 'unlistens()' before we complete the
	  connection sequence (2017-05-14).
	* drivers:  fix some bad NULL checks.  From Juha Niskanen (2017-05-15).
	* drivers:  rename newly introduced up_i2creset to I2C_RESET.  From
	  Juha Niskanen (2017-05-15).
	* TCP: An RST received during the 3-way handshake requires a little
	  more clean-up (2017-05-15).
	* STM32 CAN: I had the problem that the transmit FIFO size (= actual
	  elements in FIFO) was slowly increasing over time, and was full after
	  a few hours.  The reason was that the code hit the line
	  "canerr("ERROR: No available mailbox\n");" in stm32_cansend, so
	  can_xmit thinks it has sent the packet to the hardware, but actually
	  has not. Therefore the transmit interrupt never happens which would
	  call can_txdone, and so the size of the FIFO size does not decrease.
	  The reason why the code actually hit the mentioned line above, is
	  because stm32can_txready uses a different (incomplete) condition than
	  stm32can_send to determine if the mailbox can be used for sending,
	  and thus can_xmit forwards the packet to stm32can_send.
	  stm32can_txready considered mailboxes OK for sending if the mailbox
	  was empty, but did not consider that mailboxes may not yet be used if
	  the request completed bit is set - stm32can_txinterrupt has to
	  process these mailboxes first.  Note that I have also modified
	  stm32can_txinterrupt - I removed the if condition, because the CAN
	  controller retries to send the packet until it succeeds. Also if the
	  condition would not evaluate to true, can_txdone would not be called
	  and the FIFO size would not decrease also.  From Lederhilger Martin
	  (2017-05-16).
	* drivers/bch: BCH character driver bch_ioctl() always returns -ENOTTY
	  for DIOC_GETPRIV command.  It should returns OK if DIOC_GETPRIV
	  command succeeds.  From  EunBong Song (2017-05-16).
	* There can be a failure in IOB allocation to some asynchronous
	  behavior caused by the use of sem_post().  Consider this scenario:
	  (1) Task A holds an IOB.  There are no further IOBs.  The value of
	  semcount is zero. Task B calls iob_alloc().  Since there are not
	  IOBs, it calls sem_wait().  The value of semcount is now -1.  (2)
	  Task A frees the IOB.  iob_free() adds the IOB to the free list and
	  calls sem_post() this makes Task B ready to run and sets semcount to
	  zero NOT 1.  There is one IOB in the free list and semcount is zero.
	  When Task B wakes up it would increment the sem_count back to the
	  correct value.  (3) But an interrupt or another task runs occurs
	  before Task B executes.  The interrupt or other tak takes the IOB off
	  of the free list and decrements the semcount.  But since semcount is
	  then < 0, this causes the assertion because that is an invalid state
	  in the interrupt handler. So I think that the root cause is that
	  there the asynchrony between incrementing the semcount.  This change
	  separates the list of IOBs:  Currently there is only a free list of
	  IOBs.  The problem, I believe, is because of asynchronies due
	  sem_post() post cause the semcount and the list content to become out
	  of sync.  This change adds a new 'committed' list:  When there is a
	  task waiting for an IOB, it will go into the committed list rather
	  than the free list before the semaphore is posted.  On the waiting
	  side, when awakened from the semaphore wait, it will expect to find
	  its IOB in the committed list, rather than free list.  In this way,
	  the content of the free list and the value of the semaphore count
	  always remain in sync (2017-05-16).
	* stm32_serial:  Fix freezing serial port.  Serial interrupt
	  enable/disable functions do not disable interrupts and can freeze
	  device when serial interrupt is received while execution is at those
	  functions. Trivially triggered with two or more threads write to
	  regular syslog stream and to emergency stream. In this case, freeze
	  happens because of mismatch of priv->ie (TXEIE == 0) and actually
	  enabled interrupts in USART registers (TXEIE == 1), which leads to
	  unhandled TXE interrupt and causes interrupt storm for USART.  From
	  Jussi Kivilinna (2017-05-17).
	* STM32 Ethernet: Add support for KSZ8081 PHY interrupts.  From
	  Sebastien Lorquet (2017-05-17).
	* IPv6: Fix net_ipv6_pref2mask().  From Masayuki Ishikawa (2017-05-18).
	* net procfs: Fix buffer corruption and refactor netdev_statistics.c.
	  From Masayuki Ishikawa (2017-05-19).
	* binfmt: Fix .dtor memory allocation.  From Masayuki Ishikawa
	  (2017-05-19).
	* stm32_i2c: make private symbols static.  From Juha Niskanen
	  (2017-05-19).
	* network IOCTL commands:  The only place in net/netdev/netdev_ioctl.c
	  where the interface state should change is for SIOCSIFFLAGS.  The
	  other ones .. SIOCSIFADDR, SIOSLIFADDR, SIODIFADDR ..  should not
	  change the link state.  From Sebastien Lorquet (2017-05-19).
	* drivers/wireless/ieee80211: Add support for AP scanning.  From Simon
	  Piriou (2017-05-21).
	* drivers/audio:  Add cs43l22 audio driver  STM32F4: Add I2S driver.
	  From Taras Drozdovsky (2017-05-21).
	* This is based on a patch by Taras Drozdovsky.  Basically, the delay
	  that was added during the integration of the CDC/ACM host driver was
	  interfering with streaming audio.  That delay was put there to
	  prevent build endpoints from hogging the system bandwidth.  So what
	  do we do?  Do we hog the bandwidth or do we insert arbitrarity
	  delays.  I think both ideas such (2017-05-21).
	* Replace sprintf() with snprintf() in pipe.c.  From Nobutaka Toyoshima
	  (2017-05-22).
	* drivers/bch: Fix 'Missing Unlock' in bchdev_driver.c.  From Masayuki
	  Ishikawa (2017-05-22).
	* FAT: Fix 'Missing unlock' in fs_fat32.c.  From Masayuki Ishikawa
	  (2017-05-22).
	* netdb: Fix time info in lib_dnscache.c.  From Masayuki Ishikawa
	  (2017-05-23).
	* STM32L4:  Add IWDG peripheral.  This is the same as for STM32 except
	  that prescale and reload can be changed after watchdog has been
	  started, as this seems to work on L4.  From Juha Niskanen (2017-05-23).
	* drivers/can: Add Microchip MCP2515 CAN Bus controller driver.  From
	  Alan Carvalho de Assis (2017-05-23).
	* button_upper:  Fix interrupt enabling for poll-events.  From Jussi
	  Kivilinna (2017-05-24).
	* netdb: Fix bugs in lib_gethostbynamer.c. This fix sets h_name in
	  struct hostent returned by gethostbyname().  From Masayuki Ishikawa
	  (2017-05-25).
	* TCP: Fix tcp_findlistner() in dual stack mode.  From Masayuki
	  Ishikawa (2017-05-25).
	* TCP: tcp_input() now receives IP domain as an input parameter vs.
	  deriving from the IP header length (2017-05-25).
	* Kinetis ADC: Various corrections and updates.  From David Sidrane
	  (2017-05-25).
	* drivers/lcd: Add driver for Nokia 5110 (Philips PCD8544).  From Alan
	  Carvalho de Assis (2017-05-26).
	* configs/stm32f103-miniumum: Add board support to use the Nokia 5110
	  LCD display driver.  From Alan Carvalho de Assis (2017-05-26).
	* configs/pic32mx7mmb:  Add support for the Pinquino toolchain
	  (2017-05-27).
	* configs/pic32mx7mmb: Repartition files to match newer
	  configurations.   Add support for PROCFS file system.  Default is now
	  Pinguino toolchain.  Verify networking (2017-05-27).
	* pthread_trylock: Fixes a problem in pthread_trylock() noted by
	  initialkjc@yahoo.com.  When CONFIG_PTHREAD_MUTEX_UNSAFE=y, the
	  special return value EAGAIN was not being detected due to differences
	  in reporting of returned values (2017-05-29).
	* vfs: fdopen:  Add missing file stream flags clearing.  Clear file
	  stream structure regardless of config options. Structure clearing is
	  needed as previous use of stream list entry might leave fs_flags
	  set.  From Harri Luhtala (2017-05-31).
	* drivers/input:  Add Cypress MBR3108 CapSense touch button driver.
	  From Juha Niskanen (2017-05-31).
	* STM32L4: gpio: put back EXTI line source selection.  From Juha
	  Niskanen (2017-05-31).
	* mtd/smart: Fix use of uninitialized variable.  From Jussi Kivilinna
	  (2017-05-31).
	* drivers/mtd/w25.c:  Erase sector only if it is not in erased state.
	  From Jussi Kivilinna (2017-05-31).
	* stm32f7:  Add SPI DMA support.  From Jussi Kivilinna (2017-05-31).
	* drivers/mtd/w25.c: Enable short delay after sector/chip erase.  From
	  Jussi Kivilinna (2017-05-31).
	* pthread robust mutexes:  Fix memmory trashing problem:  the main task
	  may also use mutexes; need to check thread type before accessing
	  pthread-specific mutex data structures.  Problem noted by Jussi
	  Kivilinna (2017-05-31).
	* STM32L4 RTC: store RTC MAGIC to backup reg, not to address zero.
	  From Juha Niskanen (2017-06-01).
	* drivers/{sensors,usbmisc}:  Fix uninitialized I2C frequency.  From
	  Juha Niskanen (2017-06-01).
	* mtd/config:  Add some error checks for I/O errors.  From Juha
	  Niskanen (2017-06-01).
	* pthread mutex:  Remove bogus DEBUGASSERT.  Problem noted by Jussi
	  Kivilinna (2017-06-01).
	* Tiva SSI:  Resolves issue 52 'Copy-Paste error in
	  tiva_ssibus_initialize()' submitted by Aleksandr Kazantsev
	  (2017-06-01).
	* nucleo-f4x1re User LEDS: Issue #51 reports compilation problems with
	  stm32_userled.c.  Reported by Gappi92 (2017-06-01).
	* tools/:  Add initialconfig.c so that perhaps in the future we will be
	  able to use this to generate a new configuration from scratch (rather
	  than having to derive new configurations from existing
	  configurations).  NOTE: Not yet intregated into the build system
	  (2017-06-02).

15393 15394 15395 15396 15397 15398 15399 15400 15401 15402 15403 15404 15405 15406 15407 15408 15409 15410 15411 15412 15413 15414 15415 15416 15417 15418 15419 15420 15421 15422 15423 15424 15425 15426 15427 15428 15429 15430 15431 15432 15433 15434 15435 15436 15437 15438 15439 15440 15441 15442 15443 15444 15445 15446 15447 15448 15449 15450 15451 15452 15453 15454 15455 15456 15457 15458 15459 15460 15461 15462 15463 15464 15465 15466 15467 15468 15469 15470 15471 15472 15473 15474 15475 15476 15477 15478 15479 15480 15481 15482 15483 15484 15485 15486 15487 15488 15489 15490 15491 15492 15493 15494 15495 15496 15497 15498 15499 15500 15501 15502 15503 15504 15505 15506 15507 15508 15509 15510 15511 15512 15513 15514 15515 15516 15517 15518 15519 15520 15521 15522 15523 15524 15525 15526 15527 15528 15529 15530 15531 15532 15533 15534 15535 15536 15537 15538 15539 15540 15541 15542 15543 15544 15545 15546 15547 15548 15549 15550 15551 15552 15553 15554 15555 15556 15557 15558 15559 15560 15561 15562 15563 15564 15565 15566 15567 15568 15569 15570 15571 15572 15573 15574 15575 15576 15577 15578 15579 15580 15581 15582 15583 15584 15585 15586 15587 15588 15589 15590 15591 15592 15593 15594 15595 15596 15597 15598 15599 15600 15601 15602 15603 15604 15605 15606 15607 15608 15609 15610 15611 15612 15613 15614 15615 15616 15617 15618 15619 15620 15621 15622 15623 15624 15625 15626 15627 15628 15629 15630 15631 15632 15633 15634 15635 15636 15637 15638 15639 15640 15641 15642 15643 15644 15645 15646 15647 15648 15649 15650 15651 15652 15653 15654 15655 15656 15657 15658 15659 15660 15661 15662 15663 15664 15665 15666 15667 15668 15669 15670 15671 15672 15673 15674 15675 15676 15677 15678 15679 15680 15681 15682 15683 15684 15685 15686 15687 15688 15689 15690 15691 15692 15693 15694 15695 15696 15697 15698 15699 15700 15701 15702 15703 15704 15705 15706 15707 15708 15709 15710 15711 15712 15713 15714 15715 15716 15717 15718 15719 15720 15721 15722 15723 15724 15725 15726 15727 15728 15729 15730 15731 15732 15733 15734 15735 15736 15737 15738 15739 15740 15741 15742 15743 15744 15745 15746 15747 15748 15749 15750 15751 15752 15753 15754 15755 15756 15757 15758 15759 15760 15761 15762 15763 15764 15765 15766 15767 15768 15769 15770 15771 15772 15773 15774 15775 15776 15777 15778 15779 15780 15781 15782 15783 15784 15785 15786 15787 15788 15789 15790 15791 15792 15793 15794 15795 15796 15797 15798 15799 15800 15801 15802 15803 15804 15805 15806 15807 15808 15809 15810 15811 15812 15813 15814 15815 15816 15817 15818 15819 15820 15821 15822 15823 15824 15825 15826 15827 15828 15829 15830 15831 15832 15833 15834 15835 15836 15837 15838 15839 15840 15841 15842 15843 15844 15845 15846 15847 15848 15849 15850 15851 15852 15853 15854 15855 15856 15857 15858 15859 15860 15861 15862 15863 15864 15865 15866 15867 15868 15869 15870 15871 15872 15873 15874 15875 15876 15877 15878 15879 15880 15881 15882 15883 15884 15885 15886 15887 15888 15889 15890 15891 15892 15893 15894 15895 15896 15897 15898 15899 15900 15901 15902 15903 15904 15905 15906 15907 15908 15909 15910 15911 15912 15913 15914 15915 15916 15917 15918 15919 15920 15921 15922 15923 15924 15925 15926 15927 15928 15929 15930 15931 15932 15933 15934 15935 15936 15937 15938 15939 15940 15941 15942 15943 15944 15945 15946 15947 15948 15949 15950 15951 15952 15953 15954 15955 15956 15957 15958 15959 15960 15961 15962 15963 15964 15965 15966 15967 15968 15969 15970 15971 15972 15973 15974 15975 15976 15977 15978 15979 15980 15981 15982 15983 15984 15985 15986 15987 15988 15989 15990 15991 15992 15993 15994 15995 15996 15997 15998 15999 16000
7.22 2017-09-06 Gregory Nutt <gnutt@nuttx.org>

	* Fix ELF loader up_checkarch on ARM arch.  From Cristian Condurache
	  (2017-05-09).
	* Kinetis:  Disable MPU when not in protected mode.  The hardware reset
	  state of the the MPU precludes any bus masters other then DMA access
	  to memory. Unfortunately USB and SDHC have there own DMA and will not
	  have access to memory in the default reset state.  This change
	  disabled the MPU if present on system startup.  From David Sidrane
	  (2017-06-02).
	* Kinetis:  teensy-3.x Define USBOTG-FS Read from FLASH access in board
	  config.  Allow the board config to define the USBOTG-FS to have Read
	  access to FLASH.  From David Sidrane (2017-06-02).
	* Kinetis:  usbdev clean up ensuring proper use of HW.  Remove magic
	  numbers from code, documented the use of undocumented bits.  Remove
	  comments and code that were not appropriate for this hardware.
	  Removed ifdef that's that were always compiled and removed code
	  blocks that were never compiled.  Ensure proper access order to
	  hardware.  Per the reference manual: disable endpoints prior to
	  configuring buffer descriptor, then enable endpoints Reorganize
	  interrupt processing order to offload data after processing errors.
	  Reorganize initialization so that there is a clear initialization
	  phase, reset phase for both the hardware and software structures.  By
	  breaking the initialization into smaller pieces, the reset interrupt
	  only resets the resources within the controller that should be reset.
	  Rework suspend and resume logic so they perform properly. Made attach
	  and detach functions optional. As they do not make sense for a bus
	  powered device.  Ensured the calls to up_usbinitalize
	  up_usbuninitalize do not violate the USB spec.  From David Sidrane
	  (2017-06-02).
	* WIP: wireless/ieee802154: More work on association/beacon-enabled
	  networks.  From Anthony Merlino (2017-06-02).
	* We developed a huge Changeset over a year ago to make USB Composite
	  configuration dynamical and be able to instanciate the CDCACM
	  multiple times inside this device.  We use this feature to switch
	  between one in normal and up to three CDCACMs in maintenance boot.
	  The control path starts in boardctl.c where the configuration for the
	  device is constructed.  There are still a few issues which I'll ask
	  you to have a look at before this beast can be merged.  (1) To be
	  able to construct the data dynamically I have changed some
	  USB-Structs to be packed. Maybe there are additional structs to
	  change (just for completeness – not for current functionality). (2)
	  I've added the Macro COMPILE_TIME_ASSERTION two times (in
	  usbmsc_desc.c and in cdcacm_desc.c) to stay private. Maybe you’ll
	  find a better place. It’s used to check the size of the structs
	  against the assumptions.  (3) I've changed the interface for some
	  USB-Functions to receive also the dynamic configuration. Maybe this
	  can be done more elegant.  (4) The original NuttX (without the patch)
	  seems to have problems with a Composite device holding a CDCACM and
	  an MSC. The USB SET CONFIGURATION request does not to work at all.
	  This makes the test fail under Windows and under Linux. Applying this
	  patch doesn’t change anything – because it only changes the
	  configuration – not the behavior. Maybe you’ll have a look at
	  this problem before applying the patch.  From Frank Benkert
	  (2017-06-01).
	* power: battery_charger: add ioctl for charging input current.  From
	  Juha Niskanen (2017-06-06).
	* MTD FLASH drivers:  The byte write method of several drivers had a
	  cloned error:  It was not locking the bus while performing byte write
	  operations (2017-06-06).
	* Kinetis:sim ensure isolation of clock dividers for 0 value case.
	  This fixes a bug were a SoC does not have a clockdivN register and
	  passes a 0 for the init value. This prevents overflow of the 0
	  decremented to -1 (0xffffffff) spilling over to other clockdivN
	  feilds.  From David Sidrane (2017-06-06).
	* teensy-3.x:Removed call to khci_usbattach.  The call is not need by
	  the driver if CONFIG_USBDEV_BUSPOWERED=y.  The class register will
	  enable the soft connect pull up. The khci_usbattach call only set a
	  flag, and that  flag is only tested in the class register. On a USB
	  powered device if we are running we are attached.  From David Sidrane
	  (2017-06-06).
	* teensy-3.x:Refreshed config and made board self powered.  From David
	  Sidrane (2017-06-06).
	* Kinetis:USB-FS driver.  Removed the notion of attached. The
	  khci_usbattach is call early in the init either in board_initalize or
	  in board_app_initalize. In either case it is always done prior to the
	  the class register.  Therefore the khci_usbattach call only set a
	  flag, and that flag is only tested in the class register. The class
	  register will enable the soft connect pull up.  From David Sidrane
	  (2017-06-06).
	* Kinetis:Fixed waning for kinetis_mpudisable. Missing header file
	  added.  From David Sidrane (2017-06-06).
	* STM32L4:  Ad support for the STM32L475 family.  Incomplete -- still
	  needs pinmap, rcc, otgfs, syscfg (2017-06-08).
	* STM32L4:  Add L475 syscfg register definitions (2017-06-08).
	* STM32L4:  Add STM32L475 RCC definitions/logic (2017-06-08).
	* STM32L4: Add STM32L475 OTGFS header file.  Not fully reviewed
	  (2017-06-08).
	* STM32L4: Add STM32L475 pinmap.  Initial cut is just the the L476
	  pinmap with unsupported devices removed (2017-06-08).
	* configs/stm32f103-minumum SPI: SPIDEV_WIRELESS used when this has
	  changed to SPIDEV_CONTACTLESS. From Nicolas Estibals (2017-06-08).
	* stm32f103-minimum: dd GPIO device driver example for
	  STM32F103-Minimum.  This chang eadds the initialization needed by
	  stm32f103-minimum board to support the NuttX GPIO Subsystem.  From
	  Alan Carvalho de Assis (2017-06-08).
	* STM32L4:  Remove some C++ style comments (2017-06-08).
	* configs/:  a few more places where SPIDEV_WIRELELSS should be
	  SPIDEV_CONTACTLESS (2017-06-08).
	* kinetis: lpserial fixed header inclusion.  From David Sidrane
	  (2017-06-08).
	* Kinetis:  SPI driver.  From David Sidrane (2017-06-08).
	* Fix C++ __guard implementation for ARM.  The standard C++ ABI that
	  most platforms follow defines __guard to be 64 bits.  The existing
	  implementation of libxx_cxa_guard.cxx follows this.  However, the
	  32-bit ARM C++ ABI defines it as 32 bits instead, and changes the
	  meaning slightly so only the lowest bit is used. This matters because
	  GCC creates guard symbols without regards to what libxx_cxa_guard.cxx
	  says.  So on ARM, gcc allocates 4 bytes, but __cxa_guard_release
	  writes 8 bytes, zeroing out another unlucky variable nearby. Fix it
	  by special-casing 32-bit ARM in libxx_cxa_guard.  From Jim Paris
	  (2017-06-09).
	* vfs/poll: fix timeout calculation.  From Jim Paris (2017-06-09).
	* stm32f103-minimum: Fix a small BUG when reading from output pin.  We
	  need a different read_ops to read from output pin. This patch fixes
	  the issue.  From Alan Carvalho de Assis (2017-06-09).
	* testbuild:Added -x to fail build on errors for CI.  On CI we want to
	  know ASAP of a failure. This adds the -x (exit on build failures)
	  option to faclitate that behavior.  Use ${MAKE} ${MAKE_FLAGS} for
	  make invocation.  When -x is provided change MAKE_FLAGS to --silent
	  --no-print-directory and set -e.  Ignore exit status when using grep
	  for checking for CONFIG_NXWM=y.  From David Sidrane (2017-06-10).
	* stm32f103-minimum: Use separated read_ops for GPIO interrupt pins.
	  From Alan Carvalho de Assis (2017-06-11).
	* STM32F33: Fix hrtim definitions, Add beginning of HRTIM driver.  From
	  Mateusz Szafoni (2017-06-11).
	* STM32 HRTIM: add character driver.  From Mateusz Szafoni
	  (2017-06-11).
	* nucleo-f334r8: add HRTIM initialization.  From Mateusz Szafoni
	  (2017-06-11).
	* i.MX6: Fix a wrong parameter passed when calling irq_attach() in
	  imx_serial.c.  From Masayuki Ishikawa (2017-06-12).
	* Based on the last PR, review all serial driver vector attachment.
	  Found one additional error and updated all relevant drivers to
	  current interrupt parameter passing (2017-06-12).
	* gethostbyname_r: Fix check for space in buffer (2017-06-12).
	* MTD M2PX: If we READ while a write/erase is pending, the command is
	  ignored and the write/erase continues. If we dont catch this
	  situation we will return garbage to the user because the flash will
	  not execute the command.  So READ MUST wait for write completion, and
	  before that, the bus must be locked since it's a precondition to
	  calling waitwritecomplete().  From Sebastien Lorquet (2017-06-12).
	* MTD FLASH driver: Clone Sebastien Lorquet's m25px change to at25,
	  is25xp, ramtron, and sst25xx (2017-06-12).
	* STM32 HRTIM: GPIOs configuration + EEV and FAULT strucutres.  From
	  Mateusz Szafoni (2017-06-12).
	* stm32/stm32l4 PWM: While attempting to output a 70 MHz square wave
	  from the timer output of a STM32 clocked at 140 MHz (which works fine
	  in baremetal C), I stumbled on what I believe to be an error in
	  arch/arm/src/stm32/stm32_pwm.c.  Line 1304 we are told that: reload =
	  timclk / info->frequency;  which I belive to be incorrect, it should
	  be:  reload = timclk / info->frequency - 1; since starting to count
	  from 0, if I want to output half of the TIM clock, I must count to 1
	  and not to 2.  Surely enough, the original code did output 140/3=47
	  MHz, while this correction does allow the output up to 70 MHz.  I am
	  not sure this affects most users generating slow PWM (e.g. PX4) but
	  for frequencies close to the PCLK, indeed the difference becomes
	  significant.  From JM (2017-06-13).
	* mtd/w25: add missing locking and fix SPI_SELECT usage for
	  w25_unprotect.  From Jussi Kivilinna (2017-06-13).
	* mtd/w25: wait for BUSY flag to clear in w25_readid and w25_unprotect.
	  W25Q128 datasheet says that all instructions expect 'Read Status
	  Register' and 'Erase/Program Suspend' are ignored when BUSY flag in
	  status register is '1'. Therefore wait for busy flag to clear in
	  w25_readid() and w25_unprotect().  From Jussi Kivilinna
	  (2017-06-13).
	* freedom-k66f:  Use SPI driver.  Initalize SPI1 on connector J6. No
	  real use, as of yet.  From David Sidrane (2017-06-13).
	* pthreads:  Move functions from sched/pthreads to libc/pthreads.
	  These functions just coordinate other OS interface calls but are not
	  a fundamental OS interfaces and, hence, do not belong within the OS:
	  pthread_yield(), pthread_once(), pthread_cond_init(),
	  pthread_cond_destroy(), pthread_barrier_init(),
	  pthread_barrier_destroy(), and pthread_barrier_wait() (2017-06-14).
	* multiple fixes for stm32f1xx RTC clock:  (1) compile issues because
	  of missing RTC_MAGIC #defines, (2) missing functionality based on
	  RTC_MAGIC in RTC based on stm32_rtcounter.c, (3) IRQ setup from
	  up_rtc_initialize was later reset in up_irqinitialize, (4) write
	  access to backup registers without enabling access to backup domain,
	  (5) possible races in set/cancel alarm.  tested with STM32F103C8
	  only.  device now wakes up from forced STANDBY mode by alarm.  From
	  Leif Jakob (2017-06-14).
	* stm32f103-minimum: Fix compiler error in MCP2415 logic (2017-06-14).
	* Fixed ARMv7-M Toolchain setting.  Cortex-M4 only have Single
	  Precision FPU.  From Hidetaka Takano (2017-06-14).
	* wireless/ieee802154: Lots of fixes, cleanup, new functionality.
	  Functional.  From Anthony Merlino (2017-06-14).
	* Fixed ARMv7-M Toolchain definition for Cortex-M4.  From Hidetaka
	  Takano (2017-06-15).
	* Improve configure.sh behavior:  (1) enable to call from top
	  directory. (2) enable to designate direct path for config.  (3)
	  install .gdbinit if the target has.  From Hidetaka Takano
	  (2017-06-15).
	* Update tools/configure.c to same functionality as configure.sh.  Add
	  an array of optional file names.  Currently, .gdbinit is the only
	  optional file but other things like IDE-specific project files might
	  need to be copied as well (2017-06-15).
	* STM32 HRTIM: outputs enable, period and compare functions, cosmetics.
	  From Mateusz Szafoni (2017-06-15).
	* tool/configure will now copy Eclipse project files if they are
	  present in the board directory file (2017-06-15).
	* configs/.gitignore:  Make sure that any .gdbinit, .project, or
	  .cproject files are ignore so that they are less likely to be
	  included in a patch or PR (2017-06-15).
	* wireless/ieee802154: Fixes issue with wrong information being sent in
	  a rejected association response frame.  From Anthony Merlino
	  (2017-06-15).
	* wireless/ieee802154: Fixes issue with wrong information being sent in
	  a rejected association response frame.  From Anthony Merlino
	  (2017-06-15).
	* Rename configs/mrf24j40-radio to mrf24j40-mac (2017-06-15).
	* clicker2-stm32: Add a configuratino that will, eventually, be used
	  for 6loWPAN testing (2017-06-15).
	* Fix a typo.  And typo in Kconfig file is reflect in all defconfig
	  files (2017-06-15).
	* SAMv7:  TWIHS driver add reference counting. From David Sidrane
	  (2017-06-15).
	* STM32 HRTIM: structures for deadtime and chopper, cosmetics.  From
	  Mateusz Szafoni (2017-06-16).
	* Clicker2-STM32:  Enable RAMLOG in mrf24j40-6lowpan configuration.
	  Update README (2017-06-16).
	* STM32 F4 FLASH:  Enable/disable the flash write protection on any
	  sector.  I have verified it to work on the stm32f427.  From Sebastien
	  Lorquet (2017-06-16).
	* STM32 SPI/I2S:  Back out a bad pin mapping change from
	  4ab2a3661ea57211f4ae12fe21c5de3454ba0ef2.  Try to staighten out some
	  I2C3 and SPI3 pin configuration stuff (2017-06-16).
	* Clicker2-stm32:  Allow both IEEE 802.15.4 MAC character and network
	  devices to be registered (2017-06-16).
	* Clicker2-STM32:  Enable networking and 6loWPAN in the
	  mrf24j40-6lowpan configuration.  Fix a couple of new 6loWPAN compile
	  issues revealed by this new configuration (2017-06-16).
	* Merge remote-tracking branch 'origin/master' into ieee802154
	  (2017-06-16).
	* clicker2-stm32: mrf24j40-6lowpan configuration needs to enabled the
	  ieee 802.15.4 MAC network device as well (2017-06-16).
	* stm32:flash add CONFIG_STM32_STM32F469 to list defining OPTCR1.  From
	  David Sidrane (2017-06-17).
	* ieee802.15.4 loopback:  Better simulation addressing: sort, extended,
	  panid, and IP address conversion (2017-06-17).
	* ieee802154 MAC: Fix a warning when compiled for a target with 64-bit
	  addressing (2017-06-17).
	* Update some 6loWPAN configurations based on changes to NSH Kconfig
	  (2017-06-17).
	* wireless/ieee802154: Fixes ordering of strings associated with
	  changed enum.  From Anthony Merlino (2017-06-17).
	* wireless/ieee802154: Renames mac802154_poll to mac802154_radiopoll to
	  be more obvious.  Merges shared logic for sending data request
	  commands.  Minor improvements and simplified logic.  From Anthony
	  Merlino (2017-06-17).
	* STM32 HRTIM: Faults and events configuration, timers mode
	  configuration, add hrtim ops, ADC triggering and DAC synch events.
	  From Mateusz Szafoni (2017-06-18).
	* Add RFC6775 header file (2017-06-18).
	* rfc6775:  Fix header, add references, correct naming.  This is NOT
	  ICMPv6, but part of 6LoWPAN that acts like ICMPv6 (2017-06-18).
	* wireless/ieee802154: Renames Kconfig option, adds option for
	  unimplemented receiver priority.  From Anthony Merlino (2017-06-18).
	* STM32 HRTIM:  Fix initialization bug, minor changes.  Remove unneeded
	  definitions.  From Mateusz Szafoni (2017-06-18).
	* IEEE 802.15.4 MAC: Add list management and prioritization logic that
	  will permit the MAC layer to support bound multiple clients
	  (2017-06-18).
	* ieee 802.15.4:  Need counting protection on the logic that releases
	  the notification resources.  Otherwise, notification handlers may be
	  operating with a stale pointer (2017-06-18).
	* IEEE 802.15.4 Network Driver:  Add logic to setup the network mask,
	  update the MAC-based IPv6 addressing when the network is brought up.
	  The idea is that addressing changes are supposed to occur only while
	  the network is down but won't take effect until the network is up
	  again (2017-06-18).
	* Swithches IEEE 802.15.4 based code to using byte arrays instead of
	  uint16_t values for short address and PAN ID.  From Anthony Merlino
	  (2017-06-19).
	* Throw error when error happens in the tcp_listen function.  From
	  Roland Takacs (2017-06-19).
	* Support listening sockets in the getsockname() function.  From Roland
	  Takacs (2017-06-19).
	* IEEE 802.15.4/6LoWPAN: Correct one more usage of saddr; also update a
	  README and the TODO list (2017-06-19).
	* STM32 ADC: invalidate dma buffer before use.  Missing invalidation
	  caused old samples being fetched from cache.  From Jussi Kivilinna
	  (2017-06-19).
	* Enable UDP example in clicker1-stm32/mrf24j40-6lowpan example, make
	  sure that CONFIG_EXAMPLES_UDP_NETINIT is set in all other
	  examples/udp configurations (2017-06-19).
	* Use struct instead of pointer to the struct as sizeof argument in
	  memset in usbmsc.c.  Otherwise it leads to error: argument to
	  'sizeof' in 'memset' call is the same pointer type 'struct
	  usbmsc_lun_s *' as the destination.  From Oleg Evseev (2017-06-19).
	* /configs/clicker2-stm32/mrf24j40-6lowpan: Enables both client and
	  server UDP tests on the target; Update a README file (2017-06-19).
	* wireless/ieee802154: Cleans up some endianness issues and fixes poll
	  request issue.  From Anthony Merlino (2017-06-19).
	* STM32 L4: Set I2C SDA and SCL pins to open drain mode.  From Pekka
	  Ervasti (2017-06-20).
	* STM32 L4: I2C4 was writing to wrong RCC registers.  From Juha
	  Niskanen (2017-06-20).
	* STM32 F7: Set I2C4 SDA and SCL pins to open drain mode.  From Juha
	  Niskanen (2017-06-20).
	* 6LoWPAN: Add debug statements; Update configuration, need to specific
	  6LoWPAN compatible port numbers (2017-06-20).
	* mac802154_req_data() can return without releasing the exclsem
	  (2017-06-20).
	* STM32:  Allow clock frequencies > 168 Mhz on stm32f427/429.  We need
	  to enable the power overdrive for this case.  This patch allows the
	  required bits to be set in proper sequence.  It also modifies the
	  local register access operations to allow more than 16-bit registers.
	  From Sebastien Lorquet  (2017-06-20).
	* Kinetis:I2C driver added I2C3, reference counting and reset.
	  Refactored the driver to support reference counting and reset added
	  I2C3. From David Sidrane (2017-06-20).
	* ieee802154 network driver now retries if ieee802154_req_data()
	  returns EINTR.  In clicker2-stm32 6LoWPAN configuration, increased
	  the number of TX descriptors to match then number of IOBs
	  (2017-06-20).
	* Kinetis:I2C fixed mis-placed kinetis_i2c_endwait.  Fixed accedently
	  replaced post with wait.  From David Sidrane (2017-06-20).
	* ieee802154_req_data:  Don't modify the IOB until we are certain that
	  no EINTR errors will occur.  Otherwise, the retry will fail
	  (2017-06-20).
	* ieee802154 MAC: Free allocated TX descriptor if an error occurs after
	  the descriptor has been allocated (2017-06-20).
	* ieee802154: Adds some missing elements to start support for
	  beacon-enabled networks.  From Anthony Merlino (2017-06-20).
	* ieee802154: Fixes Kconfig naming for number of TX desc and number of
	  notifications.  From Anthony Merlino (2017-06-21).
	* pthread_mutex_unlock():  Missing check for the case where
	  pthread_mutex_lock() is called when the mutex is not locked.  In that
	  case, it would increment the underlying semaphore avove 1.  This is
	  the fix for a problem noted by initialkjc@yahoo.com (2017-06-21).
	* Missing option to select CONFIG_MAC802154_NNOTIF in Kconfig
	  (2017-06-21).
	* clicker2-stm32/mrf24j40-6lowpan:  Network now runs on LP work queue
	  (2017-06-21).
	* STM32 L4 DMA: Correct USART3_RX bad channel definition.  From Juha
	  Niskanen (2017-06-21).
	* 6LoWPAN: Correct an error in calculating the location of the UDP
	  header (2017-06-21).
	* wireless/ieee802154: Minor naming change to align better with coding
	  guidelines.  From Anthony Merlino (2017-06-21).
	* mrf24j40:  Fix a warning (which is actually an error) (2017-06-21).
	* 6LoWPAN: Correct a few addressing issues.  The apps/examples/udp test
	  now appears to be fully functional.  Also reserve two bytes at the
	  end of the frame for the FCS (2017-06-21).
	* Do not search net device when all-zeros address is used.  From Roland
	  Takacs (2017-06-22).
	* Fix problems in last commit noted by Jeongchan Kim:  last change
	  returned -EINVAL vs EINVAL; Treat the case where the mutex is already
	  unlocked just like the case where the mutex is held by another thread
	  -- return EPERM (2017-06-22).
	* Logic of a353602aa9cc50ed958df11af35e3972101b5f40 only applies if
	  CONFIG_NETDEV_MULTINIC (2017-06-22).
	* 6LoWPAN: Fixes needed when extended addressing is enabled.  Currently
	  breaks short addressing.  Loopback driver needs to initialize the MAC
	  meta data; Address decompression logic must have the MAC address to
	  handle the most common compression cases.  Fix a src/dest address
	  confusion.  Fix yet another addressing problem.  That does it.
	  Several recent, proper bugfixes unmasked a few errors in the 6LoWPAN
	  logic.  But I think full functionality is restored (2017-06-22).
	* ieee802154: Stubs out some SCAN.request code.  From Anthony Merlino
	  (2017-06-22).
	* drivers/net/tun.c: Use critical section instead of semaphore in
	  tun_ifdown().  From Masayuki Ishikawa (2017-06-23).
	* netdb:  Fixed buffer size used for sending DNS queries should depend
	  on the configured DNS name size.  From Ritjaina (2017-06-23).
	* 6LoWPAN: Add missing IPv6 address creation to HC1 decode logic. Fix a
	  typo in an index that prevented use with HC1 and extended addresses
	  (2017-06-23).
	* clicker2-stm32/mrg24j40-6lowpan: Add apps/examples/nettest.  Refresh
	  all configurations that enable the nettest (2017-06-23).
	* configs/sim/sixlowpan:  Disable I2C tool.  Not so useful in a
	  simulation (2017-06-23).
	* 6LoWPAN: TCP logic was not obeying MTU packet size limitations.
	  Other TCP-specific issues also fixed.  There remains a major
	  outstanding issue with ACK handling.  Handle case where the local
	  address is zero (listen socket).  Major re-architecting of TCP logic
	  to properly handle TCP stuf like ACKs and TPC windowing which were
	  not properly covered in the initial design.  Still does not work;
	  hangs waiting of ACKs.Various fixes for a clean build if either TCP
	  or UDP are disabled.  Given the current state of TCP, it is
	  recommended that you disable TCP.  HC06, copy TCP header as though it
	  were data.  Modify the the way TCP headers are transferred -- yet
	  again.  TCP packet reassembly now seems to work OK, but no there now
	  does not seem to be a listener on the port (2017-06-24).
	* IEEE802.15.4: Update RX statistics in network driver (2017-06-25).
	* 6LoWPAN TCP: Fix more ACK handling, fix some callback flag settings.
	  Now the TCP test appears fully functional on 6LoWPAN (2017-06-25).
	* ieee802154: Finishes transmission of beacon frames, and performing a
	  passive scan.  From Anthony Merlino (2017-06-25).
	* ieee80215: starts adding support for beacon-enabled networking.  From
	  Anthony Merlino (2017-06-26).
	* STM32L4 serial: Allow configuring Rx DMA buffer size.  From Juha
	  Niskanen (2017-06-26).
	* stm32f33xxx_rcc: cleanup + move hrtim clock source selection.  fix
	  typo in stm32f33xxx_rcc.h.  From Mateusz Szafoni (2017-06-26).
	* STM32L4 serial: Allow configuring Rx DMA buffer size.  From Juha
	  Niskanen (2017-06-26).
	* 6LoWPAN:  Fix duplicate and bad memcpy in loopback driver
	  (2017-06-26).
	* Beacon logic:  Damage control.  Looks like something went wrong with
	  the PR merge (2017-06-26).
	* ieee802154: Renames mac802154_indalloc to ieee802154_indalloc since
	  the functions are ieee802154 scoped functions.  Improves notification
	  freeing functionality.  Each notification now has a number of
	  clients.  When the last client calls free, the notification is freed
	  back to the pool.  From Anthony Merlino (2017-06-26).
	* Clicker2-STM32:  Add support for the Telnet client to the
	  mrf24j40-6lowpan configuration.  Useless at the moment because the
	  NuttX telnet daemon does not yet support IPv6 (2017-06-27).
	* ieee802154: Supports get request for coordinator address.  From
	  Anthony Merlino (2017-06-27).
	* ieee802154: Finishes beacon association functionality.  From Anthony
	  Merlino (2017-06-27).
	* smart: fix wrong freeing of device structure and use-after-free
	  issues on error paths.  From Jussi Kivilinna (2017-06-28).
	* net/: IPv6 packet input, Improve checks that the packet is destined
	  for us.  There might be some odd things that can happen in certain
	  forwarding scenarios (2017-06-28).
	* Fix -Werror=implicit-fallthrough on gcc7.  From Julien Lecoeur
	  (2017-06-28).
	* Fix warning implicit-fallthrough with arm-none-eabi-gcc 7.  From
	  Julien Lecoeur (2017-06-28).
	* 6LoWPAN:  Add configurable support for 6LoWPAN star topology.  With
	  this change, the endpoints which are the 'points' of the star will
	  forward all traffic to the coordinator.  The coordinator is assumed
	  to be the 'hub' of the star.  This function also implements IPv6
	  forwarding.  That forwarding implementation is minimal, just enough
	  to support the forwarding requirements of the star hub node
	  (2017-06-28).
	* Clicker2-STM32 + net/:  Add configurations to support the endpoint
	  and hub roles in a star topology.  Fix various things that broke when
	  IPv6 forwarding was enabled (2017-06-29).
	* 6LowPan:  Change how the destination node address is handled in the
	  start endpoint configuration.   When the star endpoint sent the IPv6
	  destination address, the HC06 compression logic elided the address --
	  meaning that it could be reconstructed by the recipient based on the
	  receiver's assigned short address.  However, when intercepted by the
	  hub, the uncompressed address does not know the short address of the
	  recipient and instead uses the short address of the hub.  This means
	  two things:  (1) it looks like  the hub address is the destination
	  address, and (2) the uncompressed UDP packet has a bad checksum.
	  This change assures that the destination IPv6 address is not elided
	  in the case of the star endpoint configuration (2017-06-30).
	* 6LoWPAN: Fix a misconception about HC06 16-bit IPv6 address
	  compression (2017-06-30).
	* 6LoWPAN fix compile issue in star hub configuration (2017-06-30).
	* This change backs out the 'misconception' fix of
	  76e6dba2e4bfab9515bef2866c5c59fd2a2f0fa0 and reimplements it in a way
	  that actually seems to work (2017-06-30).
	* ieee802154: Random fixes to get beacon-enabled networking more
	  stable.  From Anthony Merlino (2017-06-30).
	* 6LoWPAN:  TCP send logic was returning a failure in one case when, in
	  fact, the send was successful (2017-06-01).
	* include/nuttx/net and net/: Move private prototype of
	  netdev_foreach() from the public include/nuttx/net/net.h to the
	  private net/netdev/ndetdev.h header file where it belongs
	  (2017-07-01).
	* ieee802154: Cleans up some wireless logging.  Fixes resp_waittime
	  field in ieee802154_macattr_u.  Supports multiple incoming superframe
	  events.  From Anthony Merlino (2017-07-01).
	* Initial clang compile.  From Goran Mekić (2017-07-01).
	* Add CLANG definitions in Kconfig and Toolchain.defs (2017-07-02).
	* samv71-xult: Add support for the MRF24J40 radio and create a
	  mrf24j40-starhub configuration.  A few fixes to IPv6 and 6LoWPAN were
	  required to have 6LoWPAN and Ethernet coexisting.  Untested and
	  expect some complexity in the bring-up.  Put the serial console on
	  UART3, i.e., on a Arduino serial shield.  Add missing MRF24J40
	  bring-up logic (2017-07-02).
	* stm32f4 discovery: Add logic to register the button driver and the
	  user led driver if so configured.  From Jan Pobrislo (2017-07-02).
	* samv71-xult: Fix SP0 vs. TWHS0 in mrf24j40-starhub/defconfig; fix
	  copy-paste errors in SPI initialization logic.  Fix a typo in
	  MRF24J40 initialization (2017-07-02).
	* drivers/wireless/ieee802154: Moved radios to individual
	  sub-directories.  From Anthony Merlino (2017-07-03).
	* stm32f40xxx_rtcc ISR register and write protection fix.  From Eetu
	  Nevalainen (2017-07-03).
	* samv71-xult/mrf24j40-starhub:  Disabled CONFIG_BOARD_INITIALIZE;
	  Correct MRF24J40 interrupt edge.  Fix MRF24J40 interrupt pin.  Should
	  have pull-ups on interrupting inputs.   Reset pins backward.  Add
	  reset logic (but comment out because it is not necessary)
	  (2017-07-03).
	* Add some partial IP forwarding logic.  Add some fragments of TCP
	  forwarding logic (2017-07-03).
	* IPv6 forwarding logic must decrement the TTL and drop the packet if
	  the hop limit is exceeded (2017-07-04).
	* IP forwarding.  Adds a little more structure to handle passing
	  packets received on one network device to another network device.
	  Logic is still incomplete (2017-07-04).
	* UDP networking:  The TTL (time to live) was not being set in the IPv4
	  or IPv6 header unless the UDP socket was bound (2017-07-04).
	* SAME70-Xplained:  Add MRF24J40 support (2017-07-04).
	* I've found that the interrupts aren't enabled since nothing updates
	  them after btn_poll() marks the file descriptor structure as being
	  polling. I've managed to make it work with this change.  From Jan
	  Pobrislo (2017-07-04).
	* include/nuttx/input:  Remove bogus, obsolete keypad.h header file
	  (2017-07-04).
	* net/udp:  Fix a copy-paste error that could effect networking when
	  both IPv4 and IPv6 are enabled (2017-07-05).
	* configs/Board.mk:  Remove comment form end of line. In windows native
	  build, it appears to be trying to make that an extra parameter to the
	  AR command.  From Jeff (2017-07-05).
	* IP Forwarding: Flesh out TCP, UDP, and ICMPv6 packet forwarding
	  logic.  In checking if the Ethernet MAC address is in the
	  ARP/Neighbor table, add an additional check to skip in the case of
	  CONFIG_NET_MULTILINK and the devices is not an Ethernet device.  Add
	  IPv4 packet forwarding logic.  Initial commit is an untested clone of
	  the IPv6 forwarding logic with a few minor logic changes for IPv4
	  (2017-07-05).
	* IP forwarding: Add optional support to forward broadcast and
	  multicast packets.  Add missing ICMP support (2017-07-06).
	* FS: Remove DEBUGASSERT() in block_proxy() because the flags are
	  cleared later.  From Masayuki Ishikawa (2017-07-06).
	* Eliminate a warning with arm-none-eabi-gcc 7.1.0.  From Julien
	  Lecoeur (2017-07-06).
	* In arch/arm/src/stm32/Kconfig when the CPU is a STM32F4, some
	  STM32_HAVE_xx with xx = {OTGFS, TIM3, TIM4, SPI3, I2S3, I2C3} are
	  selected by default. But for F410 these peripherals are absent. This
	  change add tests to check if the target CPU is an F410 or not and
	  selects according to the situation.  This also adds a select for
	  STM32_HAVE_DAC1 present on this STM32 flavor.  From Gwenhael
	  Goavec-Merou (2017-07-06).
	* Rename CONFIG_STM32_STM32F40XX to CONFIG_STM32_STM32FXXXX since it is
	  used by F4 parts other than F40x (2017-07-06).
	* STM32 Kconfig: 'unfold' some of the dependencies to provide better
	  long term configuration support.  This also effective reverts the
	  recent 15b85738e7b5b9df6377f56e2a6a629346f87964 (2017-07-06).
	* ICMPv6:  Fix so that ICMPv6 can be used with 6LoWPAN (2017-07-06).
	* IPv6 Neighbor: Update table format to support IEEE 802.15.4 MAC
	  addresses (2017-07-06).
	* configs/Board.mk:  Remove quotes from CONFIG_ARCH_FAMILY.  Causes
	  problems with Windows native build.  From Jeff (2017-07-06).
	* IP forwarding design simplication; might save some memory.  Also fix
	  some compile issues introduce with last commit in MULTINIC
	  configration (2017-07-06).
	* IP Forwarding: Another IP forwarding design simplification:  Remove
	  an unnecessary field from state structure (2017-07-06).
	* ICMPv6:  Fix an address size calculation that was bungled in a recent
	  commit (2017-07-06).
	* Networking:  Improve naming and simplify some logic of previous
	  commit (2017-07-07).
	* Networking:  Correct some issues that prevent TCP from working
	  correctly when both IPv4 and IPv6 are enabled (2017-07-07).
	* Add definitions that will permit TUN-only networking (2017-07-07).
	* Move TUN ioctl commnd to include/nuttx/net/ioctl.h so that it will
	  always be unique.  It a error in netdev_register: it was not handling
	  device names properly when TUN is the only network device
	  (2017-07-07).
	* sim/ipforward:  Add an IP forwarding configuration using TUN devices
	  and apps/examples/tun (2017-07-07).
	* In TUN driver, do all polling on worker thread.  Otherwise, the stack
	  gets very deep (2017-07-07).
	* IP forwarding:  Major rearchitecting of the outgoing portion of the
	  IP forwarding logic necessary into to properly received
	  device-related forwarding events (2017-07-07).
	* ieee802154: Changes mac locking/unlocking to aid in debugging.  From
	  Anthony Merlino (2017-07-07).
	* IP forwarding:  Remove some unnecessary data structure definitions
	  (2017-07-07).
	* Makefile.unix: Add savedefconfig target.  From Gwenhael Goavec-Merou
	  (2017-07-08).
	* Add Gwenhael's change to Makefile.win and update README.txt to
	  described the new make target (2017-07-08).
	* IP forwarding:  Two bugfixes (1) IPFWD poll event must be unique and
	  different from other device poll events otherwise, some other waiting
	  task might get the poll, (2) Add logic necessary to forward 6LoWPAN
	  packets (2017-07-08).
	* net/procfs:  Fix some spacing when both IPv6 and IPv4 are enabled
	  (2017-07-08).
	* Networking routing tables: Fix a compilation error when IPv6 and
	  routing are enabled (2017-07-08).
	* ICMPv6:  Add 6LoWPAN and IP forwarding support (2017-07-09).
	* configs/b-l475e-iot01a:  Add basic support for the STMicro
	  b-l475e-iot01a board.  From Simon Piriou (2017-07-09).
	* IP Forwarding:  Fix a compile problem when IP forwarding of broadcast
	  messages is enabled (2017-07-09).
	* ieee802154: mac802154_purge_timeout was not unlocking MAC before
	  returning.  From Anthony Merlino (2017-07-09).
	* ieee802154: Minor bug fix.  Purging of indirect transaction was not
	  unlocking MAC.  From Anthony Merlino (2017-07-09).
	* Makefile.*: Add CONFIG_ARCH_CHIP_* definitions to defconfig in
	  savedefconfig target.  Last of the conversions of defconfig files to
	  compressed format (2017-07-09).
	* ieee802154: Improves internal timer logic to handle work serially.
	  Before, the MAC timer used a watchdog to schedule work with the high
	  priority worker queue.  However, since everything in the MAC is
	  supposed to be serialized through the use of the high priority work
	  queue, but the timer uses a watchdog, there are some unintended
	  consequences. To simplify, we now use the delayed work feature of the
	  work queue.  From Anthony Merlino (2017-07-09).
	* Update configure.sh, configure.bat, configure.c:  With compressed
	  format, part of the installation requires that we run 'make
	  olddefconfig' to restore the uncompressed defconfig format.  Also,
	  while I was at it, I also added options to select host platform on
	  configure command line (2017-07-10).
	* tools/refresh.sh: Now runs make savedefconfig before copying the new
	  defconfig file in place;  Also, added a new option --defaults.  Since
	  the number of defaults that you now have to answer is so large, the
	  option lets you just accept the default values.  So it works just
	  like --slilent but still prompts you for the decision to save or
	  discard the new defconfig file (2017-07-10).
	* tools/tesbuild.sh: Fix missing $ before variable name (2017-07-10).
	* configs/clicker2-stm32: Adds support for per-function-call stack
	  checking.  From Anthony Merlino (2017-07-10).
	* drivers/wireless/ieee802154/mrf24j40: Minor timing fix. Matches
	  recommended value in datasheet.  Splits up driver into multiple files