Skip to content
ChangeLog 1.06 MiB
Newer Older
	* net/sixlowpan:  The logic that extracts interface identifier from the
	  IP address needs to be generalized to handle cases where the address is
	  not a link local address.  From Anthony Merlino (2017-11-20).
	* arch/arm/src/xmc4 UART: Enable RX/TX status and small fixes.  From
	  Alan Carvalho de Assis (2017-11-21).
	* Various fixes for errors ound while debugging OTG on L496
	    - STM32, STM32 L4, and STM32 M4: USB OTGFS DMA trace output fix
	    - STM32: Add dump buffer feature to stm32 F4 series
	    - STM32 and STM32 L4: Fix bad USB OTGFS register address
	    - STM32 L4:  Fix typo in USB OTGFS register usage
	    - STM32 L4:  Add check in USB OTGFS driver to assure that SYSCFG is
	      enabled
	    - Nucleo-L496ZG:  Make HSE on Nucleo-L496ZG default to enable USB
	  From Miha Vrhovnik (2017-11-21).
	* Two changes for STM32F7.
	  1) The first enables building with CONFIG_ARCH_IDLE_CUSTOM enabled.
	  2) The second allows changing voltage output scaling setting and
	     prevents enabling over-drive mode for low frequencies (STM32 F74xx,
	     75xx, 76xx, 77xx)
	  From Jussi Kivilinna (2017-11-21).
	* Replicate Jussi Kivilinna's change for the newly added STM32F2xx and
	  F3xx family members.  This change allows selecting voltage output scale
	  mode and enable over-drive only when needed (2017-11-21).
	* mm:  Add a debug assertion to check for integer overflow in malloc
	  (2017-11-21).
	* net/icmpv6:  Fix an error in the poll logic.  It was assume that the
	  input parmeter pvconn was valid.  It was not.  Instead, the poll logic
	  must work like the sendto() and recvfrom() logic:  It must keep a copy
	  of the conn structure in the private data (2017-11-21).
	* net/icmpv6:  Remove the 'list' field from struct icmpv6_conn_s.  It
	  is not used (2017-11-21).
	* net/icmp:  Ports the changes in ICMPv6 of commits
	  4629cf9461e5ac6f5f01ef8c9bee3ec9a60ce081 and
	  74a633ea94bc308cd2eca0ec6c2be798d5794e72 to ICMP.  ICMP and ICMPv6
	  sockets are nearly identical, bug-for-bug (2017-11-21).
	* net/sixlowpan:  Add htohs() in arguments to debug statements that
	  print IP addresses so that they are all shown in friendlier host
	  order.  From Anthony Merlino (2017-11-21).
	* stm32f33xxx_rcc:  Fix CAN clock enable.  From Mateusz Szafoni
	  (2017-11-22).
	* drivers/lcd_framebuffer.c:  If BPP is less then 8, then we need to
	  byte-align the update region (2017-11-22).
	* configs/stm32f103-minimum: Add framebuffer driver initialization for
	  stm32f103-minimum board.  From Alan Carvalho de Assis (2017-11-22).
	* mm: Fix a typo in a debug assertion (2017-11-22).
	* net/icmp and icmpv6:  Fix some errors in debug assertions introduced
	  with last changes in this area.  Also updates a REAME.txt file
	  (2017-11-22).
	* net/:  Fix some issues with regard to UDP broadcast handling.  This
	  is Bitbucket Issue #77.  This commit tentatively closes the issues,
	  subject to verification (2017-11-22).
	* sixlowpan: Support sending to a router that is on-link and may be
	  able to forward the packet for us if the destination is not reachable
	  directly.  From Anthony Merlino (2017-11-22).
	* Pass header-payload offset to application for use when the MAC layer
	  is in promiscuous mode
	    - mac802154_device: When in promiscuous mode, the char driver sends
	      the entire frame, including the MAC header.  This change adds an
	      offset field indicating the header-payload boundary. It is set to 0
	      when not in promiscuous mode as the header is not passed to the
	      application
	    - mac802154: Adds support for getting promiscuous mode state
	  From Anthony Merlino (2017-11-22).
	* USB RNDIS - Fixes minor build error while using USB RNDIS with USB
	  debugging information enabled.  From Anthony Merlino (2017-11-22).
	* clicker2-stm32: Adds support for USB RNDIS device.  From Anthony
	  Merlino (2017-11-22).
	* STM32 L4 USB OTGFS: Remove dumpbuffer feature added in the last
	  commit.  I don't want in features that cannot be controlled be via
	  Kconfig files and I do not accept debug code in the upstream GIT.  My
	  mistake for merging it in the first place (2017-11-22).
	* include/nuttx/video/fb.h:  Add definition for a Y2 color format.  I
	  don't know if this standard but I do have 2-bit greyscale hardware so
	  the definition is needed (2017-11-22).
	* sixlowpan: Fixes build error introduced by recent PR when routing
	  table is enabled.  From Anthony Merlino (2017-11-22).
	* sixlowpan: Fixes build error introduced by recent PR when routing
	  table is enabled.  From Anthony Merlino (2017-11-22).
	* net/netdev:  Add support for the SIOCGIFBRDADDR ioctl() command
	  (2017-11-22).
	* include/nuttx/audio: Remove CONFIG_SCHED_WORKQUEUE check in pcm.h.
	  From Masayuki Ishikawa (2017-11-23).
	* sched/semaphore/spinlock.c: Disable local interrupts in spin_setbit()
	  and spin_clrbit() in order to avoid a deadlock condition.  From
	  Masayuki Ishikawa (2017-11-23).
	* configs/stm32f4disovery: Add support for JLX12864G display on STM32F4
	  Discovery board.  From Alan Carvalho de Assis (2017-11-23).
	* configs:  All NX configuration... Because of recent changes to
	  libnx/nxfonts, Supported bit per pixel must be separated specified for
	  NXFONTs too and need to match the select BPP for NX (2017-11-24).
	* fs/procfs:  Correct ordering of procfs entries.  For consistency, use
	  alphabetical ordering (2017-11-24).
	* configs/xmc4500-relax:  Setup max. freq. 120MHz and setup pull-up to
	  UART RXD pin.  From Alan Carvalho de Assis (2017-11-24).
	* arch/arm/src/xmc4:  Do not run at 144MHz unless BOARD_FCPU_144MHZ is
	  selected in the board.h header file.  From Alan Carvalho de Assis
	  (2017-11-24).
	* configs/xtrs:  Removed the XTRS configuration This was an unverified
	  port of NuttX to a TRS-80 simulator.  It was removed because (1) it is,
	  as I said, unverified as well as unsupported, and (2) the TRS-80
	  simulation is a sub-optimal platform.  That platform includes a 16-bit
	  ROM image and only a 48Kb RAM space (2017-11-24).
	* arch/arm/src/xmc4:  Remove hard-coded values in clock configuration.
	  USB will be fixed later.  From Alan Carvalho de Assis (2017-11-25).
	* drivers/lcd:  Add support for external LCD initialization required by
	  some board logic.  configs/zpa214xpa:  Tried to get the LCD working
	  again unsuccessfully.  Too much bit rot I suppose (2017-11-25).
	* STM32F4 Discovery:  Fix some errors due to missing inclusion of
	  stm32_gpio.h (2017-11-25).
	* XMC4 Serial:  The Alternative Receive Interrupt was not being
	  configured (2017-11-25).
	* drivers/lcd:  Make LCD driver configuration indepently selected from
	  NX graphics configuration.  This makes things awkward and loses some
	  error checking but is a necessary step in order to make LCD drivers
	  usable when the NX graphics system is disabled (2017-11-25).
	* STM3240G-EVAL: Mount procfs if enabled (2017-11-25).
	* arm/src/xmc4: Include Alt. Interrupt Enable to RX_EVENTS and rename
	  serial GPIO configurations.  From Alan Carvalho de Assis (2017-11-25).
	* configs/: CONFIG_QENCODER was renamed to CONFIG_SENSORS_QENCODER:
	  update occurrences in several Kconfig files (2017-11-25).
	* configs/stm3240g-eval:  Add support for pdcurses and the pdcurses
	  demo programs in the 'fb' configuration (2017-11-26).
	* arch/arm/src/stm32:  Fix compile error when trace is enabled.
	  I2CEVENT_ERROR was used but never defined (2017-11-26).
	* configs/lc823450-xgevk: Enable CONFIG_SMP for audio.Update README.txt
	  regarding SMP audio.  From Masayuki Ishikawa (2017-11-27).
	* lc823450 smp audio
	    - arch/arm/src/lc823450: Remove a workaround in up_cpu_paused().
	      Introduce g_gpio_lock to improve write performance in SMP mode.
	      NOTE: This is a tentative solution and should be replaced with more
	      generic one. Add a workaround in up_txready() to avoid data
	      corruption.  From Masayuki Ishikawa (2017-11-27).
	* arch/arm/src/lpc43xx:  lpc43_adc.c was being selected by the build
	  system wehn DAC was selected (2017-11-27).
	* configs/lc823450-xgevk: Add rndis configuration.  From Masayuki
	  Ishikawa (2017-11-28).
	* drivers/input/nunchuck.c: Add Nintendo Wii Nunchuck driver.  From
	  Alan Carvalho de Assis (2017-11-28).
	* configs/stm32f4discovery/include/board.h: Remove only I2C pin config,
	  we can use PB6 and PB9.  From Alan Carvalho de Assis (2017-11-28).
	* configs/stm32f4discovery/src:  Add stm32f4discovery board support for
	  Nunchuck joystick.  From Alan Carvalho de Assis (2017-11-28).
	* net/devif: Do not add link layer header size to d_len inside
	  devif_forward().  From Anthony Merlino (2017-11-29).
	* Framebuffer Driver:  Small modification convention for multi-planar
	  displays (of which there are none) (2017-11-29).
	* configs/stm32f103-minimum: Add Nunchuck board support for
	  stm32f103-minimum board.  From Alan Carvalho de Assis (2017-11-29).
	* drivers/mtd:  Add a driver for Macronix MX35LFxGE4AB serial NAND
	  flash.  From Ekaterina Kovylova (2017-11-29).
	* net/pkt: Eliminate a compile error due to missing include and also a
	  warning (2017-11-29).
	* sched/task/task_exithook.c:  Clear atexit() function pointer before
	  calling it.  On most archs, up_assert() calls exit() so without this
	  change, if atexit() function triggers an assertion we are in endless
	  loop.  From Juha Niskanen (2017-11-30).
	* arch/arm/src/xmc4/Kconfig: Define user friendly SPI, I2C, LIN, and
	  I2S aliases to follow other arch names.  From Alan Carvalho de Assis
	  (2017-11-30).

7.24 2018-03-02 Gregory Nutt <gnutt@nuttx.org>

	* drivers/pipes: poll: fix off-by-one error in calculation of bytes in the
	  buffer.  Buffer calculation in pipe poll setup is off-by-one when read
	  index is larger than write index. This causes poll() not getting POLLIN when
	  buffer has one byte as calculation gives zero bytes in buffer.  From Jussi
	  Kivilinna (2017-12-07).
	* This adds basic architectural support for the LPC546xx family and
	  includes support for the LPCXpresso-LPC54628 board.  The basic NSH port is
	  almost complete... still lacking GPIO support and LED support.  There are
	  still no significant drivers available.
	* SMP: Introduce spin_lock_irqsave() and spin_unlock_irqrestore().  These
	  APIs are simplified version of enter_critical_section() and 
	  leave_critical_section() to protect data (e.g. registers) in SMP mode.  By
	  using these APIs inside drivers, performance will be improved.  From
	  Masayuki Ishikawa (2017-12-07).
	* sixlowpan: Completes configuration options for specifying preloaded
	  address contexts for compression  From Anthony Merlino (2017-12-07).
	* configs/photon: Adds BOARD_TIMn_FREQUENCY macros  From Anthony Merlino
	  (2017-12-07).
	* arch/arm/src/lc823450 SMP improvements.  (1) Apply irq_spin APIs to
	  modifyregXX, (2) Do not use modifyreg32() to enable Mutex, (3) Modify IRQ
	  control for i2s.  Interrupt will be handled on CPU0 with this change.  (4)
	  Apply irq_spin APIs to dma/syscontrol/usbdev.  (5) Assign CPU1 to lpwork.
	  This change will improve load balancing for networking with RNDIS.  From
	  Masayuki Ishikawa (2017-12-08).
	* drivers/audio/wm8776.c: Improve stability in SMP mode.  Apply irq_spin
	  APIs to improve performance.  Repeat to process a message to avoid
	  deadlock.  From Masayuki Ishikawa (2017-12-08).
	* configs/lc823450-xgevk: Enable SPINLOCK_IRQ and NXPLAYER in rndis.  From
	  Masayuki Ishikawa (2017-12-08).
	* arch/arm/src/xmc4:  Only setup USB clock when USB PLL is enabled  From
	  Alan Carvalho de Assis (2017-12-08).
	* arch/arm/src/lpc54628:  LPCXpresso-LPC54628 NSH configuration is fully
	  functional.  From Gregory Nutt (2017-12-10).
	* arch/arm/src/lpc54xx:  Add basic build support for EMC and external
	  SDRAM.  From Gregory Nutt (2017-12-10).
	* configs/lpcxpresso-lp54629: Add logic to configure EMC pins.
	  arch/arm/src/lpc54xx: Update pin configuration for EMC pins.  All should
	  have the input file offset and fast slew rate.  From Gregory Nutt
	  (2017-12-11).
	* arch/arm/src/lpc54xx:  Add skeleton of SPI driver just as a starting
	  point.  From Gregory Nutt (2017-12-11).
	* arch/arm/src/lpc54xx:  SDRAM is now fully functional on this board!  From
	  Gregory Nutt (2017-12-12).
	* arch/arm/src/lpc54xx:  Add the ported LPC1788 LCD driver to use the
	  LPC54xx pin definitions and SYSCON.  From Gregory Nutt (2017-12-12).
	* configs/lpcxpresso-lpc54628:  Add the fb configuration testing the LCD.
	  From Gregory Nutt (2017-12-13).
	* arch/arm/src/lpc54xx:  Fix some LCD clocking.  There is now recognizable
	  albeit corrupted data on the display.  From Gregory Nutt (2017-12-13).
	* arch/arm/src/lpc43xx:  Adapt LPC176x RTC driver for the LPC43xx.  From
	  Gintaras Drukteinis (2017-12-14).
	*arch/arm/src/lpc54xx:  LCD.. Fix some misconceptions about how the video
	  address lines are used.  Fix some LCD BPP and BRG vs RGB settings.  From
	  Gregory Nutt (2017-12-14).
	* fs/fat:  CONFIG_FAT_MAXFNAME may not exceed NAME_MAX (CONFIG_NAME_MAX)
	  From Gregory Nutt (2017-12-15).
	* arch/arm/src/lpc54xx: Complete coding of the I2C driver.  I2C now appears
	  to be functional.  config/lpcxpresso-lpc54628:  Add support for I2C2 and
	  for the I2C tool to the nsh configuration.  From Gregory Nutt (2017-12-15).
	* arch/arm/src/stm32f7:  Completes support for the STM32F72x/73x family.
	  From Bob Feretich (2017-12-16).
	* arch/arm/src/lpc54xx:  Implement GPIO interrupt support.
	  configs/lpcxpress-lpc54628:  Add support for the USER button.  Enable the
	  apps/examples/button test in the NSH configuration.  From Gregory Nutt
	  (2017-12-16).
	* arch/arm/src/lpc54xx:  Fix some GPIO interrupt configuration errors.  Add
	  logic to acknowledge rising/falling edge events.
	  config/lpcxpresso-lpc545628:  Add an intermediate interrupt handler to
	  support acknowledgment of rising and falling edge interrupts.  From Gregory
	  Nutt (2017-12-16).
	* configs/indium-f7:  Adds support for the RAF Research Indium-F7 board.
	  From Bob Feretich (2017-12-16).
	* configs/*/include;  Remove prototype of xyz_boardinitialize() from
	  board.h files.  The authoritative prototype is in
	  arch/arm/src/xyz/xyz_start.h  From Gregory Nutt (2017-12-16).
	* fs/nfs/nfs_vfsops.c: Correctly infer file type.  The file type is in
	  struct nfs_statinfo_s's ns_type field, not in the ns_mode field.  From
	  Michael Jung (2017-12-17).
	* drivers/input/ft5x06.c:  Add a driver for the FT5x06 capacitive,
	  multi-touch, touchscreen controller.  configs/lpcxpresso-lpc54628:  Add
	  support for the the FT5x06.  Enable the driver as well as the apps/examples
	  touchscreen test.  Untested on initial commit.  From Gregory Nutt
	  (2017-12-17).
	* fs/fat:  Don't warn about the CONFIG_FAT_MAXFNAME being too large if long
	  file name support is not implemented.  From Gregory Nutt (2017-12-17).
	* configs:  Still trying to get consistent name.  button driver expects
	  board to define NUM_BUTTONS, not BOARD_NUM_BUTTONS.  That was changed in
	  all board.h header files, but there are still references in configs/ C
	  files to BOARD_NUM_BUTTONS  From Gregory Nutt (2017-12-17).
	* Fixed build of PCF8574 driver when its interrupts aren't enabled by
	  config.  From Dmitriy Linikov (2017-12-18).
	* net/tcp: Introduce tcp receive window control based on I/O buffer.  NOTE:
	  The algorithm is still experimental but useful for http streaming.  From
	  Masayuki Ishikawa (2017-12-18).
	* drivers/input/ft5x06:  Fix a misconception.. WAKE is an output, not an
	  input.  From Gregory Nutt (2017-12-18).
	* drivers/power/bq2429x.c:  Add trickle charging mode  From Juha Niskanen
	  (2017-12-18).
	* drivers/ft5x06:  Add a polled mode of operation for the FT5x06 in attempt
	  to work around the fact that the LPCXpresso-LPC54628 chose a non-interrupt
	  pin for the FT5x06 interrupt.  Driver is still not yet functional.  From
	  Gregory Nutt (2017-12-18).
	* drivers/ft5x06.c:  Add additional configuration options:  Optimize if
	  multi-touch capability is not used.  Add options to swap X/Y and
	  thresholding to reduce the rate of false alarm reports (with no motion).
	  From Gregory Nutt (2017-12-18).
	* configs/lpcxpresso-lpc54628:  Add an NxWM configuration.  Not yet
	  functional.  From Gregory Nutt (2017-12-18).
	* drivers/input/ft5x06.c:  Fix a problem was was causing missing reports
	  when the touch ends.  From Gregory Nutt (2017-12-18).
	*  arch/arm/src/lpc54xx:  Bring in LPC43xx SD/MMC driver from
	  https://github.com/Smoothieware/smoothie-nuttx/tree/master/nuttx/arch/arm/src/lpc43xx
	  From Gregory Nutt (2017-12-19).
	* arch/arm/src/lc823450: lc823450 http streaming improvements: (1) Use
	  spinlock APIs in lc823450_gpio.c.  (2) In SMP mode, H/W interrupts should
	  be handled on CPU0 to avoid deadlocks.  (3) Fix a potential race condition
	  in up_enable_irq(), (4) Use spinlock APIs instead of critical section APIs,
	  (5) Enable HRT_TIMER in lc823450_timerisr.c, (6) Call up_enable_irq() to
	  assign CPU0 for IRQ handling.  (7) Use spinlock APIs instead of critical
	  section APIs. (8) Fix race conditions in dma/usbdev. (9) Enable HRT_TIMER,
	  LC823450_MTM0_TICK, SPINLOCK_IRQ, (10) Enable NET_TCP_RWND_CONTROL,
	  NXPLAYER_HTTP_STREAMING_SUPPORT (rndis only)  From Masayuki Ishikawa
	  (2017-12-20).
	* syslog: Fixes LOG_UPTO macro to include specified log level  From Anthony
	  Merlino (2017-12-20).
	* Rename the configs/stm32f0discovery board directory to
	  configs/stm32f051-discovery.  There are others stm32f0discovery boards with
	  different MCUs and different peripherals on the board.  From Alan Carvalho
	  de Assis (2017-12-20).
	* This commit adds support for stm32f072b-disco board. This is the board. I
	  added the LEDs of this board and tested the compilation, more tests will be
	  needed.  From Alan Carvalho de Assis (2017-12-20).
	* drivers/sensors/hts221.c:  Fix sensor reset with BOOT bit  From Jussi
	  Kivilinna (2017-12-20).
	* arch/arm/src/lpc54xx: Add support for card detect and write protect to
	  SDMMC driver.  configs/lpcxpresso-lpc54628:  Add logic to bring up SDMMC.
	  SDMMC pin configurations should have SLEW on and FILTER off.  Add support
	  for power pin to SDMMC driver.  In SDMMC driver, don't do DMA if the entire
	  transfer will fit in the FIFO.  In SDMMC driver, add logic to transfer data
	  when TXDR or RXDR interrupts occur.  Also, add logic to set the RX
	  watermark to 2 when receiving short, non-DMA data transfers.  In SDMMC
	  driver, fix an error which was clobbering the interrupt mask register
	  (xfrmask).  Also, add a kludge for the missing DTO interrupt.  From Gregory
	  Nutt (2017-12-20).
	* arch/arm/src/lc823450: Add SP_DMB() into lc823450_testset.c.  In
	  lc823450, ldrex and strex are not supported. So we implemented up_testset()
	  with H/W Mutex. However, there was a bug in memory access order. This
	  change ensures correct memory access order in up_testset() for lc823450.
	  From Masatoshi.Tateishi (2017-12-21).
	* sched/semaphore/spinlock.c: Add memory barrier operations in
	  spin_unlock().  In ARM document regarding memory barriers, SP_DMB() must be
	  issued before changing a spinlock state to SP_UNLOCKED. However, we found
	  that SP_DSB() is also needed to ensure that spin_unlock() works correctly
	  for network streaming aging test.  From Masayuki Ishikawa (2017-12-21).
	* arch/arm/src/lpc43xx:  Add Windowed Watchdog Timer (WWDT) driver.  Tested
	  on LPC4357 but should be compatible for all LPC43xx MCUs.  From Gintaras
	  Drukteinis (2017-12-21).
	* arch/arm/src/lpc54xx:  SDMMC fixes.. DMA should not be enabled on non-DMA
	  transfers, the burst setting in FIFOTH is supposed to match the burst
	  setting in the BMOD reseters, Add DMA error interrupt support.  With these
	  changes DMA now works on the LPC54xx.  From Gregory Nutt (2017-12-21).
	* fs/vfs:  reopen should return NULL when oflags is less than 0, not equal
	  to 0. Because negative value is returned on failure of lib_mode2offlags
	  which converts the mode string into file open mode flag.  From Gregory Nutt
	  (2017-12-21).
	* tools/cvsparser.c:  Add a check to avoid access past the end of a fixed
	  size array  From Gregory Nutt (2017-12-21).
	* arch/arm/src/arm/up_cache.S: Fix cp15_invalidate_dcache.  In cases where
	  more than one dcache line was to be invalidated, a missing branch label
	  would result in a false branch target into cp15_flush_idcache.  Also the
	  .size macro was fixed for both cp15_invalidate_dcache.  From Michael Jung
	  (2017-12-22).
	* Leverage the LPC54xx SD/MMC back to the LPC43xx (where it came from
	  originally).  From Gregory Nutt (2017-12-22).
	* arch/arm/src/lpc54xx/43xx:  SDMMC driver:  Need to disable DMA interrupts
	  at completion of DMA.  From Gregory Nutt (2017-12-22).
	* configs/bambino-200e: Add LPC43 SDMMC board support to Bambino-200E and
	  fix errors/warns  From Alan Carvalho de Assis (2017-12-22).
	* arch/arm/src/lpc43xx/lpc54xx SDMDC:  Don't enable internal DMA in the
	  control register if not doing internal DMA.  Clear pending DMA-related
	  interrupts before enabling them.  From Gregory Nutt (2017-12-22).
	* arch/arm/src/lpc43/54 SDMMC:  DTO is a wait event, not a transfer event.
	  Defer enabling DMA transfer interrupts until after command has been sent.
	  From Gregory Nutt (2017-12-23).
	* arch/arm/src/lpc43/lpc54 SDMMC: Add missing test for response errors in
	  interrupt handler.  From Gregory Nutt (2017-12-23).
	* arch/arm/src/lpc54xx:  Add DMA driver ported from the LPC43xx GPDMA
	  driver.  From Gregory Nutt (2017-12-24).
	* arch/arm/src/lpc54xx:  Bring in WWDT driver from LPC43.  From Gregory
	  Nutt (2017-12-24).
	* arch/arm/src/lpc54xx: Add an RTC driver and a RTC character driver lower
	  half.  configs/lpcxpresso-lpc54628:  Add logic to register the RTC
	  character driver if it is enabled.  Enable the RTC and RTC character driver
	  in the NSH configuration.  From Gregory Nutt (2017-12-25).
	* arch/arm/src/lpc54xx:  Add support for a random number generator.  From
	  Gregory Nutt (2017-12-26).
	* arch/arm/src/lpc54xx:  Add an Ethernet driver.  From Gregory Nutt
	  (2017-12-26).
	* fs/nfs/nfs_vfsops.c: Fix buffer corruption.  In case multiple read
	  requests to the NFS server are required to fill up the user provided
	  buffer, nfs_read might write behind the end of said buffer.  This is fixed
	  with this change.  From Michael Jung (2017-12-28).
	* arch/arm/src/lpc54xx:  Ethernet drivers ready for testing.
	  configs/lpcxpresso-lpc54628:  Add a netnsh configuration that will be used
	  to test the Ethernet driver.  From Gregory Nutt (2017-12-30).
	* arch/arm/src/lpc54xx:  Finishes open design issues with AVBTP
	  multi-channel operation.  From Gregory Nutt (2017-12-30).
	* net:  Fix an error introduced when ICMP and ICMP6 socket support was
	  added in NuttX-7.3.  A gratuitous ARP (or solicitation) was being sent
18372 18373 18374 18375 18376 18377 18378 18379 18380 18381 18382 18383 18384 18385 18386 18387 18388 18389 18390 18391 18392 18393 18394 18395 18396 18397 18398 18399 18400 18401 18402 18403 18404 18405 18406 18407 18408 18409 18410 18411 18412 18413 18414 18415 18416 18417 18418 18419 18420 18421 18422 18423 18424 18425 18426 18427 18428 18429 18430 18431 18432 18433 18434 18435 18436 18437 18438 18439 18440 18441 18442 18443 18444 18445 18446 18447 18448 18449 18450 18451 18452 18453 18454 18455 18456 18457 18458 18459 18460 18461 18462 18463 18464 18465 18466 18467 18468 18469 18470 18471 18472 18473 18474 18475 18476 18477 18478 18479 18480 18481 18482 18483 18484 18485 18486 18487 18488 18489 18490 18491 18492 18493 18494 18495 18496 18497 18498 18499 18500 18501 18502 18503 18504 18505 18506 18507 18508 18509 18510 18511 18512 18513 18514 18515 18516 18517 18518 18519 18520 18521 18522 18523 18524 18525 18526 18527 18528 18529 18530 18531 18532 18533 18534 18535 18536 18537 18538 18539 18540 18541 18542 18543 18544 18545 18546 18547 18548 18549 18550 18551 18552 18553 18554 18555 18556 18557 18558 18559 18560 18561 18562 18563 18564 18565 18566 18567 18568 18569 18570 18571 18572 18573 18574 18575 18576 18577 18578 18579 18580 18581 18582 18583 18584 18585 18586 18587 18588 18589 18590 18591 18592 18593 18594 18595 18596 18597 18598 18599 18600 18601 18602 18603 18604 18605 18606 18607 18608 18609 18610 18611 18612 18613 18614 18615 18616 18617 18618 18619 18620 18621 18622 18623 18624 18625 18626 18627 18628 18629 18630 18631 18632 18633 18634 18635 18636 18637 18638 18639 18640 18641 18642 18643 18644 18645 18646 18647 18648 18649 18650 18651 18652 18653 18654 18655 18656 18657 18658 18659 18660 18661 18662 18663 18664 18665 18666 18667 18668 18669 18670 18671 18672 18673 18674 18675 18676 18677 18678 18679 18680 18681 18682 18683 18684 18685 18686 18687 18688 18689 18690 18691 18692 18693 18694 18695 18696 18697 18698 18699 18700 18701 18702 18703 18704 18705 18706 18707 18708 18709 18710 18711 18712 18713 18714 18715 18716 18717 18718 18719 18720 18721 18722 18723 18724 18725 18726 18727 18728 18729 18730 18731 18732 18733 18734 18735 18736 18737 18738 18739 18740 18741 18742 18743 18744 18745 18746 18747 18748 18749
	  after receive of the ECHO replay (advertisement).  From Gregory Nutt
	  (2018-01-01).
	* arch/arm/src/lpc54xx:  Correct handling of the Ethernet RBU error.  With
	  this fix, Ethernet now appears to be fully functional.  From Gregory Nutt
	  (2018-01-01).
	* Add FPU to xmc4 ostest.  Remove +x from makefiles, preserve .gdbinit
	  across make clean, add FPU support to ostest on xmc4, add FPU test to
	  ostest on xmc4  From David Alessio (2018-01-02).
	* net/arp:  Fix IGMP multicast address computation on Nuttx network stack.
	  This change fixes the IGMP address computation to allow multicast UDP
	  messages. The destination address was created with the incorrect bytes of
	  the given IPv4 address.  From Louis Mayencourt (2018-01-02).
	* stm32/chip.h: minor fixes for STM32F334  From raiden00pl (2018-01-03).
	* net/route:  Adding ftruncate() support eliminates an issue in file-based
	  routing table management system.  From Gregory Nutt (2018-01-03).
	* fs/userfs: Add truncate() support for userfs, fs/unionfs:  Add truncate()
	  support to the unionfs, fs/tmpfs:  Add ftruncate() support to tmpfs,
	  syscall/: Add system call support for ftruncate().  From Gregory Nutt
	  (2018-01-03).
	* fs/vfs:  Add support for truncate() and ftruncate().  The infrastructure
	  is complete.  Now, however, the actual implementation of ftruncate() will
	  have to be done for each file 	* fs/nxffs:  Add partial implementation of
	  the truncate method:  It extend files, but cannot yet shrink them,
	  fs/smartfs:  Add implementation of the truncate method, fs/fat:  Add
	  implementation of the truncate method.  fs/nfs:  Add support for the
	  truncate method to the NFS file system.  From Gregory Nutt (2018-01-04).
	* net/route:  Fix a couple of compile-related issues that have crept in
	  since the last time the file-based routing table was used.  From Gregory
	  Nutt (2018-01-05).
	* configs/sim:  Add support for a RAM MTD driver and initialization for use
	  with SmartFS.  From Gregory Nutt (2018-01-05).
	* FAT.  Effectively handles the situation when a new file position is
	  within the current sector.  Accelerates the work of the FS with a multitude
	  of operations to write small pieces of data within the current sector.
	  From Aleksandr Vyhovanec (2018-01-05).
	* configs/sim:  Add support for testing NXFFS.  From Gregory Nutt
	  (2018-01-06).
	* configs/flipnclick-sam3x:  Add board support for the Mikroe Flip&Click
	  SAM3X.  From Gregory Nutt (2018-01-06).
	* configs/stm32f103-minimum:  Add AT24 EEPROM support on STM32F103-Minimum
	  board  From Alan Carvalho de Assis (2018-01-06).
	* arch/mips/include/pic32mz:  Add architectural support for the PIC32MZEF
	  family.  From Gregory Nutt (2018-01-08).
	* configs/flipnclick-pic32mz:  Adds board support for the Mikroe Flip&Click
	  PIC32MZ board.  From Gregory Nutt (2018-01-08).
	* drivers/net: Add support for telnet character mode  From Masayuki
	  Ishikawa (2018-01-09).
	* arch/arm/src/lc823450: Introduce DVFS.   This version only supports
	  manual mode and Vdd1 is fixed to 1.2V.  From Masayuki Ishikawa (2018-01-10).
	* configs/lc823450-xgevk: Enable DVFS in lc823450_bringup.c.  Enable DVFS
	  in audio and rndis. Add telnet character mode to rndis.  From Masayuki
	  Ishikawa (2018-01-10).
	* arch/arm/src/samdl: In sam_spibus_initialize(), the pinmux configuration
	  was smashing the previous CTRLA register configuration. There are also some
	  typos in samd_spi.h  From Matt Thompson (2018-01-11).
	* SAMDL fix g_spi2ops and g_spi2dev using incorrect values  From Matt
	  Thompson (2018-01-11).
	* SAMD External Interrupt Controller (EIC) support  From Matt Thompson
	  (2018-01-11).
	* fs/procfs:  Fix an error in a common function that manages read data.
	  From Gregory Nutt (2018-01-12).
	* sched/irq:  Add a configuration option to show interrupt information via
	  a procfs file.  From Gregory Nutt (2018-01-12).
	* arch/arm/src/lpc54xx:  The SPI driver is code complete but still
	  untested.  This driver is 'basic' in that in only supports polled mode
	  operations.  From Gregory Nutt (2018-01-14).
	* arch/arm/src/stm32/stm32_hrtim: fix deadtime configuration.  Add
	  interface to change outputs SET/RST configuration  From Mateusz Szafoni
	  (2018-01-14).
	* drivers/loop/losetup.c:  If we want to open read-only in losetup.c, flags
	  should be O_RDONLY not O_RDWR  From Fabio D'Urso (2018-01-14).
	* sched/clock/clock_systimer.c:  Replace critical section APIs with
	  spinlock APIs. (64bit only).  If SMP=n or SMP=y && SPINLOCK_IRQ=n, this
	  works in the same way as before.  If SMP=y && SPINLOCK_IRQ=y, performance
	  will be improved.  From Masayuki Ishikawa (2018-01-15).
	* sched/clock/clock_systimer.c:  Change the way that the 64-bit time is
	  sampled.  Previously, we disabled interrupts before sampling the 64-bit
	  timer since the uint64_t access is not atomic on most CPUs.  However,
	  disabling (local) interrupts does not work in the SMP case.  In that case,
	  the timer interrupt will be running on only one of the CPUs; disabling
	  interrupts on a different CPU will provide no protection from timer
	  rollover.  To work around this, logic was added that samples 64-bit timer
	  is sampled twice and if 32-bit rollover was detected between samples, then
	  loops until there is no rollover.  From Gregory Nutt (2018-01-15).
	* configs/nucleo-l432kc/src:  Fix some bogus logic noted by Fanda.  From
	  Gregory Nutt (2018-01-15).
	* fs/smartfs:  Fix inverted ifdef for CONFIG_SMARTFS_USE_SECTOR_BUFFER in
	  smartfs_extendfile()  From Jussi Kivilinna (2018-01-16).
	* configs/nucleo-* and configs/stm32l476vg-disco:  Fix more
	  stm32_userleds.c bogus logic  From Juha Niskanen (2018-01-16).
	* Fixes two bugs in multi-block SD-card operations on the STM32F7
	  platform.  arch/arm/src/stm32f7: DBLOCKSIZE must be the size of SD-card
	  block, not the total amount of transferred bytes.   drivers/mmcsd: respect
	  SDIO_CAPS_DMABEFOREWRITE on CMD25.  From Evgeniy Bobkov (2018-01-16).
	* Fixed nucleo-l432kc broken build when CONFIG_USERLED_LOWER defined  From
	  Fanda (2018-01-16).
	* Remove the BOARDIOC_TSCTEST_TEARDOWN boardctl() command.  Remove all
	  implementations of board_tsc_teardown() (the were all stubs anyway except
	  for the simulation).  From Gregory Nutt (2018-01-16).
	* SMP: Introduce spin_lock_wo_note() and spin_unlock_wo_note().  These APIs
	  are used in sched_note.c to protect instrumentation data.  The difference
	  between these APIs to exsiting spin_lock() and spin_unlock() is that they
	  do not perform instrumentation to avoid recursive call when
	  SCHED_INSTRUMENTATION_SPINLOCKS=y.  From Masayuki Ishikawa (2018-01-17).
	* configs:  Eliminates the BOARDIOC_TSCTEST_SETUP command. Each board now
	  initializes the touchscreen controller as a normal part of its board
	  bring-up.  board_tsc_setup() is gone; the touchscreen controller is now
	  treated like any other on-board device.
	* configs:  Since the touch screen initialization is now called from
	  one-time board-initialization logic, it no longer needs protection from
	  re-entry.  From Gregory Nutt (2018-01-17).
	* configs:  CONFIG_MAX_TASKS must be a power of 2.  From Gregory Nutt
	  (2018-01-17).
	* configs:  There should be either CONFIG_LIB_BOARDCTL=y or
	  CONFIG_BOARD_INITIALIZE=y (but not both) in the defconfig of every
	  standalone NxWM configuration to assure that all of the board resources are
	  initialized... especially the touchscreen since it is now a part of the
	  board driver initialization.  From Gregory Nutt (2018-01-17).
	* arch/arm/src/samdl: SPI must be disabled before changing the mode bits in
	  CTRLA register  From Matt Thompson (2018-01-17).
	* arch/arm/src/lc823450:  Explicitly assign I2S IRQ handling to CPU0.  From
	  Masayuki Ishikawa (2018-01-18).
	* drivers/input/ft5x06.c:  Remove logic to disable polling when there there
	  is no client waiting for read data.  That was a great idea to save CPU
	  cycles when there is nothing reading from the touchscrren but,
	  unfortunately, does not work with readers that open the driver in
	  non-blocking mode.  So I think we just have to eat the CPUs even when there
	  is nothing waiting for touchscreen input.  From Gregory Nutt (2018-01-18).
	* configs/lpcxpresso-lpc54628/lvgl:  Add LittlevGL graphics demo
	  configuration.  From Gregory Nutt (2018-01-18).
	* sched/semaphore: Add DEBUGPANIC() in nxsem_post() if no waiting task is
	  found.  From Masayuki Ishikawa (2018-01-19).
	* sched/sched/sched_sporadic.c: fix compiler error when priority
	  inheritance is enabled.  Noted by eunb.song@samsung.com  From Gregory Nutt
	  (2018-01-19).
	* sched/sched:  Fix some priority inheritance related issues noted during
	  review of logic.  Also add some REVISIT comments for some issues noted in
	  the design.  From Gregory Nutt (2018-01-20).
	* Issue #85: /dev/userleds is not working for nucleo-l432kc fixed  From
	  Fanda Vacek (2018-01-20).
	* arch/arm/src/stm32/stm32_hritm.c: Add interface to get timer clock
	  frequency, fix timer freq calculation, add compare/capture registers
	  significant bits checking.  From Mateusz Szafoni (2018-01-21).
	* stm32f334-disco: add buck converter and boost converter logic  From
	  Mateusz Szafoni (2018-01-21).
	* fs/userfs: use correct req type in userfs_truncate, remove use of
	  undeclared buf  From Juha Niskanen (2018-01-22).
	* arch/arm/src/xmc4: Refactor pll setup, refactored PLL/CLK config, easier,
	  checks for correctness, call go_os_start if STACK_COLORIZED, smarter config
	  of EXTCLK output freq.  From David Alessio (2018-01-22).
	* net/: The existence of the network driver ioctl() method should depend on
	  CONFIG_NETDEV_IOCTL rather than CONFIG_NETDEV_PHY_IOCTL.  The former
	  enables the method, the later enables a subset of possible driver IOCTLs.
	  This change should be basically a no-operation.  The affected ioctl methods
	  only support those subset of driver IOCTLs selected by
	  CONFIG_NETDEV_PHY_IOCTL and the network logic will tolerate a nul ioctl
	  method.  From Gregory Nutt (2018-01-22).
	* net/tcp:  Write buffering logic should not wait for a free buffer if the
	  socket was opened non-blocking.  Also, rename the TCP write buffering
	  macros from WRB_* to TCPWB_* to make room in the namespace for write
	  buffering with other protocols.  From Gregory Nutt (2018-01-22).
	* net/udp:  Remove some conditional logic that was true if there is only a
	  single network device, but not true in the multi-device context.  From
	  Gregory Nutt (2018-01-22).
	* net/udp:  This commit adds an implementation of UDP write buffering.
	  From Gregory Nutt (2018-01-22).
	* net/udp:  In sendto(), return EHOSTUNREACH if the network is down.  From
	  Gregory Nutt (2018-01-22).
	* drivers/mtd/at24xx.c: Correct page size for AT24C02 part.  From Alexander
	  Oryshchenko (2018-01-24).
	* arch/arm/src/stm32:  Make STM32 usable with an external RTC.
	  drivers/timers/ds3231.c:  Correct some debug statments.  From Alexander Oryshchenko (2018-01-24).
	* arch/arm/src/stm32/stm32_spi.c: Removed unnecessary (and incorrect) speed
	  limitation  From Alexander Oryshchenko (2018-01-24).
	* arch/arm/src/stm32/stm32f40xxx_i2c.c:  Correct some recent changes to
	  STM32F4 I2C that broke poll mode of operation.  From Alexander Oryshchenko
	  (2018-01-24).
	* arch/arm/src/samdl: Added SAMD DAC header file. Fixed SAMD EVSYS header.
	  Added SAMD TC header file. Fixed some minor typos.  Added missing EVCTRL
	  register bits in TC.  From Matt Thompson (2018-01-24).
	* arch/arm/src/samdl:  SAMD External Interrupt Controller (EIC) support.
	  From Matt Thompson (2018-01-24).
	* configs/flipnclick-sam3x (also Arduio-Due): Remove disabling of
	  environment, mountpoints, and poll.  Add NSH arch initialization so that
	  procfs will be automounted.  Increase task name size from 0 to 32.  Update
	  README.  From Gregory Nutt (2018-01-25).
	* arch/arm/src/samdl: Added DMAC header for SAMD, fixed up sam_dmac to
	  compile with debugging enabled  From Matt Thompson (2018-01-25).
	* arch/arm/src/samv7/sam_lowputc.c: Fix undefined variable when using
	  USART1 for other purposes than UART (e.g. SPI).  From Frank Benkert
	  (2018-01-26).
	* arch/arm/src/stm32 and stm32f7:  Remove confusing, redundant, and
	  misleading definitions of STM32_BKP_BASE from the F2, F3, and F4 memory
	  maps.  Unlike the F1, these parts do not have a separate BKP address
	  region.  The BKP registers are with the RTCC address regions.  stm32_bkp.h
	  should only be used for STM32 F1. stm32_rtcc.h should be used to access BKP
	  registers on F2, F3, and F4.  From Gregory Nutt (2018-01-26).
	* stm32/Kconfig: fix COMP7 dependency.  stm32_hrtim: add HRTIM push-pull
	  mode configuration.  stm32f334-disco: add buck-boost converter mode  From
	  raiden00pl (2018-01-27).
	* arch/arm/src/samdl: Added Analog Comparator headers and basic
	  initialization  From Matt Thompson (2018-01-28).
	* arch/arm/src/stm32:  I have a SPI bus with both Mode 0 and Mode 3 devices
	  on it.  After performing SPI I/O to a Mode 0 device, switching to a Mode 3
	  device locked up the SPI interface.  Only zeroes would be read.  I traced
	  the reason for the lock-up to arm/arm/src/stm32f7/stm32_spi.c function
	  spi_setmode().  Changing the mode causes a spurious SPI clock transmission
	  that confuses the stm32f7 SPI input hardware.  This problem is solved by
	  (1) changing the SPI mode with SPI (and perhaps DMA) disabled, and (2)
	  flushing the receive FIFO if the mode change results in garbage in the
	  FIFO.  From Bob Feretich (2018-01-29).
	* drivers/sensors:  Add support to MAX44009 ambient light sensor  From Juha
	  Niskanen (2018-01-29).
	* tools/logparser:  Add a tool which (when it matures) will help me to
	  convert git logs to ChangeLog format.  From Gregory Nutt (2018-01-29).
	* tools/:  Add #define _GNU_SOURCE to all C files that call asprintf()
	  From Gregory Nutt (2018-01-29).
	* arch/arm/src/samdl: Added Timer Compare for Control registers header
	  From Matt Thompson (2018-01-29).
	* sched/sched:  Add new internal OS function nxsched_setaffinity() that is
	  identical to sched_isetaffinity() except that it does not modify the errno
	  value.  All usage of sched_setaffinity() within the OS is replaced with
	  nxsched_setaffinity().  From Gregory Nutt (2018-01-30).
	* sched/sched:  Internal functions sched_reprioritize() and
	  sched_setpriority() no longer modify the errno value.  Also renamed to
	  nxsched_reprioritize() and sched_setpriority().  From Gregory Nutt
	  (2018-01-30).
	* sched/sched:  Add new internal OS function nxsched_getscheduler() that is
	  identical to sched_getscheduler() except that it does not modify the errno
	  value.  All usage of sched_getscheduler() within the OS is replaced with
	  nxsched_getscheduler().  From Gregory Nutt (2018-01-30).
	* sched/sched:  Add new internal OS function nxsched_setparam() that is
	  identical to sched_setparam() except that it does not modify the errno
	  value.  All usage of sched_setparam() within the OS is replaced with
	  nxsched_setparam().  From Gregory Nutt (2018-01-30).
	* sched/sched:  Add new internal OS function nxsched_getparam() that is
	  identical to sched_getparam() except that it does not modify the errno
	  value (actually, the previous value erroneously neglected to set the errno
	  value to begin with, but this fixes both issues).  All usage of
	  sched_getparam() within the OS is replaced with nxsched_getparam().  From
	  Gregory Nutt (2018-01-30).
	* sched/:  Fix several inappropriate accesses to get_errno() that were
	  missed in previous changes (some going back to nuttx-.23).  Add new
	  nxsched_setscheduler() and nxsched_getaffinity() which are equivalent to
	  their counterparts without the nx on front.  These versions do not modify
	  the errno value.  Changed all calls within the OS to use these newer
	  versions of the functions.  From Gregory Nutt (2018-01-30).
	* binfmt/, configs/, grahics/, libc/, mm/, net/, sched/:  OS references to
	  the errno variable should always use the set_errno(), get_errno() macros.
	  From Gregory Nutt (2018-01-30).
	* arch/arm/src/stm32 and stm32f7:  Architecture-specific code is not
	  permitted to modify the errno variable.  drivers/ and libc/:  OS references
	  to the errno variable should always use the set_errno(), get_errno()
	  macros.  From Gregory Nutt (2018-01-30).
	* SMP: Introduce a new global IRQ clearing logic and tasklist protection.
	  The previous implementation of clearing global IRQ in sched_addreadytorun()
	  and sched_removereadytorun() was done too early. As a result, nxsem_post()
	  would have a chance to enter the critical section even nxsem_wait() is
	  still not in blocked state. This patch moves clearing global IRQ controls
	  from sched_addreadytorun() and sched_removereadytorun() to
	  sched_resumescheduler() to ensure that nxsem_post() can enter the critical
	  section correctly.  For this change, sched_resumescheduler.c is always
	  necessary for SMP configuration.  In addition, by this change, task_exit()
	  had to be modified so that it calls sched_resumescheduler() because it
	  calls sched_removescheduler() inside the function, otherwise it will cause
	  a deadlock. However, I encountered another DEBUGASSERT() in
	  sched_cpu_select() during HTTP streaming aging test on lc823450-xgevk.
	  Actually sched_cpu_select() accesses the g_assignedtasks which might be
	  changed by another CPU. Similarly, other tasklists might be modified
	  simultaneously if both CPUs are executing scheduling logic. To avoid this,
	  I introduced tasklist protetion APIs. With these changes, SMP kernel
	  stability has been much improved.  From Masayuki Ishikawa (2018-01-31).
	* arch/arm/src/samdl:  Added I2S register definitions.  From Matt Thompson
	  (2018-01-31).
	* drivers/sensors/lis2dh:  Use realtime clock if monotonic is not
	  available  From Juha Niskanen (2018-01-31).
	* fs/aio:  Fix one additional place where the errno variable is being
	  accessed inappropriately.  From Gregory Nutt (2018-01-31).
	* sched/wdog:  wd_start() is an internal OS function and should not set the
	  errno value.  Reviewed and updated every call to wd_start() to verify if
	  return value is used and if so if the errno value is accessed.  From
	  Gregory Nutt (2018-01-31).
	* sched/task:  Add nxtask_create().  Kthread_create() and nxtask_create()
	  are internal OS functions and should not modify the errno variable.
	  configs/:  threads started by board bringup logic should be kernel threads,
	  not user tasks.  From Gregory Nutt (2018-01-31).
	* drivers/:  threads started by drivers should be kernel threads, not user
	  tasks.  Review return values for all calls to kthread_start() because it no
	  longer returns an errno.  From Gregory Nutt (2018-01-31).
	* graphics/:  Review return values for all calls to kthread_start() because
	  it no longer returns an errno.  From Gregory Nutt (2018-01-31).
	* sched/:  Convert legitimate uses of task_create() to nxtask_create(). 
	  Review handling of returned values from all uses of kthread_create() (as
	  well as nxtask_create()).  From Gregory Nutt (2018-01-31).
	* arm/src/kinetis:  Correct some Ethernet PHY register bit tests for the
	  KSZ8081 PHY.  From Stewart (2018-02-01).
	* libc/stdio: in dtoa(), up_interrupt_context() is used in a debug
	  assertion.  up_interrupt_context() is not available in the user-mode phase
	  of the PROTECTED or KERNEL build configurations.  In those configurations,
	  enabling libc floating point support and debug assertions will result in an
	  undefined reference to up_interrupt_context().  From Gregory Nutt
	  (2018-02-01).
	* binfmt/:  Fix one more inappropriate access to the errno variable.  From
	  Gregory Nutt (2018-02-01).
	* configs/stm32f103-minimum:  Add support to BMP180 on BluePill
	  (stm32f103-minimum) board.  From Alan Carvalho de Assis (2018-02-04).
	* armv7-a, armv7-r, armv7-m:  Add atomic read-add-write and
	  read-subtract-write functions.  From Gregory Nutt (2018-02-04).
	* spin_lock_irqsave() and spin_unlock_irqrestore() are only valid if the
	  CPU supports global disabling of interrupts.  From Gregory Nutt (2018-02-04).
	* sched/sched:  SMP: Fix this_task() to be an atomic operation.  In the
	  previous implementation, this_task() was defined in sched.h by using just a
	  macro current_task(this_cpu()).  However, I found that this is not atomic
	  and actually sometimes switching CPU happened in executing the macro when
	  we tested audio steaming plus executing commands via telnet.  This change
	  resolves this issue by implementing atomic this_task()in sched_thistask.c
	  which is newly introduced.  From Masayuki Ishikawa (2018-02-04).
	* configs/stm32f429i-disco: Separate SPI4 from MTD init.  I was trying to
	  attach a non-MTD peripheral to an STM32F429I Discovery Board's SPI4 port
	  and was hitting compilation problems, since CONFIG_MTD and thus 'struct
	  mtd_geometry_s' was not defined.  This patch separates SPI4 initialization
	  logic from MTD initialization logic.  From Michael Jung (2018-02-05).
	* sched/sched:  Implements a global scheduler lock capability as part of
	  SMP support.  This allows the scheduler to be locked with no knowledge or
	  access to the TCB of the currently running task.  This is necessary because
	  accessing the TCB of the currently running task is, itself, a non-atomic
	  operation.  This global scheduler lock capability was add just to support
	  that atomic access to the TCB.  From Gregory Nutt (2018-02-05).
	* sched/sched:  Extend the last global lock change to work with the
	  lc823450-xgevk which does not support the atomic fetch add but does support
	  disabling interprocessor interrupts.  Disabling interprocessor interrupts
	  will also guarantee that the TCB address calculation is atomic.  From
	  Gregory Nutt (2018-02-05).
	* sched/irq: Fix a infinite recursion problem that a recent change
	  introduced into the i.MX6 SMP implementation.  From Gregory Nutt
	  (2018-02-06).
	* arch/arm/src/armv7-a:  Found some additional places were the new
	  this_task() function cannot be called in the i.MX6 SMP configuration.  From
	  Gregory Nutt (2018-02-06).
	* sched/ and arch/arm/src/armv7-a:  Replace a few more occurrences of
	  this_task() with current_task(cpu) in an effort to get the i.MX6 working in
	  SMP mode again.  It does not yet work, sadly.  From Gregory Nutt
	  (2018-02-06).
	* sched/task:  It is not appropriate for logic in task_exit() to call the
	  new version of this_task().  sched/irq:  Remove redundant fetch of CPU
	  index; configs/sabre-6qguad: update README.  From Gregory Nutt (2018-02-06).
	* arch/arm/src/lpc17xx:  Disable LPC17 FDR when not used.  If a boot loader
	  set the fractional divider (FDR) the baud rate in nuttx will be wrong
	  (multiplied by this fraction).  So if it is not used, it should be
	  disabled. From hg42 (2018-02-08).
	* arch/mips/src/mips32:  In up_idle, the kludge that was conditionally
	  enabled if the work queue was enable appears to be needed even when he work
	  queue is not enabled on the PIC32MZ.
	* arch/mips/src/pic32mz:  Fix some typos in debug instrumentation in
	  pic32mz-gpio.c; fix some types releated to UART5 configuration in
	  pic32mz-serial.c.
	* configs/flipnclick-pic32mz/nsh:  Switch serial console to UART3.  There
	  is some problem with the UART4 RX pin documentation or configuration.  From
	  Gregory Nutt (2018-02-09).
	* arch/arm/src/xmc4/: Fix USIC_BRG_SCLKCFG definition  From Alan Carvalho
	  de Assis (2018-02-09).
	* drivers/lcd:  Add configuration support for HiletGo OLED.
	  configs/flipnclick-pic32mz:  Add board support for HiletGo OLED.  From
	  Gregory Nutt (2018-02-10).
	* configs/flipnclick-pic32mz:  Add an nxlines configuration for use in
	  testing the custom HiletGo Click board.  From Gregory Nutt (2018-02-10).
	* arch/arm/src/samdl:  Added FDPLL clock support.  Fixed sequence of OSC32K
	  calibration setup.  From Matt Thompson (2018-02-10).
	* arch/arm/src/samdl: Fix EIC interrupt edge sensitivity for pin numbers >
	  8  From Matt Thompson (2018-02-10).
	* arch/arm/src/samdl: Added loading factory USB calibration data from
	  NVRAM  From Matt Thompson (2018-02-11).
	* arch/arm/src/stm32/stm32_hritm:  Add interface to set timer frequency,
	  fix slave timers reset configuration, change POWER_INFO to TIMER_INFO  From
	  Mateusz Szafoni (2018-02-11).
	* configs/stm32f103-minimum:  Add zerocross support to STM32F103-Minimum
	  board  From Alan Carvalho de Assis (2018-02-11).
	* configs/flipnclick-sam3x:  Adds basic board support for the HiletGo
	  OLED.  From Gregory Nutt (2018-02-11).
	* Disable LPC17 FDR when not used (second fix).  If a boot loader sets
	  the fractional divider (FDR) the baud rate in nuttx will be wrong
	  (multiplied by this fraction).  This also has to be added to
	  lpc17_lowputc.c.  From Harald Gutsche (2018-02-11).
	* arch/arm/src/samdl: Fix DMA controller support.  From Matt Thompson
	  (2018-02-11).
	* arch/arm/src/samdl: Added experimental DMA support to SPI driver.
	  spi_exchange() uses a pair of DMA channels for TX and RX.  From Matt
	  Thompson (2018-02-11).
	* configs/stm32f103-minimum:  Add OLED SSD1306 support to
	  STM332F103-Minimum  From Alan Carvalho de Assis (2018-02-11).
	* drivers/lcd: Fix the default I2C address of SSD1306 OLED display (7- vs
	  8-bit addressing)  From Alan Carvalho de Assis (2018-02-11).
	* net/tcp:  Fixed bad return value handling in psock_tcp_send().  send()
	  expects psock_tcp_send() to return a negated errno value, not -1 with the
	  errno set (GN: I added same change for tcp_send_buffered.c which has the
	  same issue as tcp_send_unbuffered.c)  From Pelle Windestam (2018-02-13).
	* arm/arm/src/stm32:  Corrections to STM32 F4 I2C to restore
	  functionality.  From Alexander Oryshchenko (2018-02-13).
	* arm/arm/src/stm32:  Corrections to STM32 F4 I2C to fix the NORESTART
	  flag.  From Alexander Oryshchenko (2018-02-13).
	* drivers/sensors:  Added support for LIS3DH accelerometer sensor.  From
	  Matt Thompson (2018-02-13).
	* drivers/eeprom:  EEPROM driver for AT24xx compatible EEPROMs.  From
	  Sebastien Lorquet (2018-02-14).
	* configs/stm32f103-minimum: Add board support to MAX6675 Thermocouple
	  sensor  From Alan Carvalho de Assis (2018-02-14).
	* sched/signal: Remove SMP related logic in sig_dispatch.c.   This change
	  prevents from a deadlock in up_schedulesigaction.c where inter-CPU signal
	  handling is actually implemented.  arch/arm/src/armv7-m: Fix signal
	  handling for SMP. In previous implementation, signal handling for SMP was
	  incorrect.  Thus, for example, if an inter-CPU signal happened an incorrect
	  tcb was signaled and caused ASSERT().  This change fixes the issues and
	  works for both inter-CPU signal handling and signal handling on the same
	  CPU.  From Masayuki Ishikawa (2018-02-14).
	* arch/arm/src/armv7-a:  Port the SMP change by Masayuki Ishikawa to the
	  ARMv7-A family.  From Gregory Nutt (2018-02-14).
	* arch/xtensa/common:  Port the SMP change by Masayuki Ishikawa to the
	  Xtensa family.  From Gregory Nutt (2018-02-14).
	* configs/stm32f103-minimum: Remove CONFIG_NX_LCDDRIVER dependence from
	  stm32_ssd1306.c  From Alan Carvalho de Assis (2018-02-14).
	* drivers//sensors:  LIS3DH: Fix missing shift when writing output data
	  rate to register  From Matt Thompson (2018-02-14).
	* sched/clock: Replace critical section APIs with spin lock APIs in
	  clock_gettime.c.  This change will improve performance for SMP systems but
	  nothing changes for non-SMP systems.  In SMP mode, rtrtcb is not always at
	  the g_readytorun.head. This change removes DEBUGASSERT() to avoid this
	  condition.  From Masayuki Ishikawa (2018-02-15).
	* drivers/lcd:  lcd_framebuffer.c does not need to include board-specific
	  board.h.  From Gregory Nutt (2018-02-15).
	* include/lcd:  Eliminate a warning from an SSD1306 header file by adding a
	  forward reference to struct i2c_master_s.  From Sebastien Lorquet
	  (2018-02-15).
	* lcd/lcd/ft80x:  This commit adds an FTDI/BridgeTek FT80x driver.  It is
	  untested (I don't even have hardware yet and, hence, it is marked as
	* arch/arm/src/stm32/stm32f33xxx_rcc.c:  A flash wait state configuration.
	  Flash latency must be fixed according to sysclk frequency. If this
	  operation is not done or done after PLL configuration, the STM32 fail to
	  continue boot operation if the frequency if greater than 24MHz according to
	  the board variable STM32_SYSCLK_FREQUENCY.  Tested on stm32f334-disco
	  board.  From Gwenhael Goavec-Merou (2018-02-17).
	* configs/stm32f746g-disco: Add stm32f746g-disco Ethernet configuration.
	  Add USART1 support (connected to the USB virtual serial port)  From Louis
	  Mayencourt (2018-02-19).
	* drivers/mtd:  mtd_config.c:  Add still more error handling (to detect bad
	  underlying flash implementations).  Remove MTD_ERASE that was erasing data
	  block instead of erase block.  This is a partial revert of 4f18b4. 
	  Reported-by: Pascal Speck <iktek01@yahoo.com>
	* arch/arm/src/stm32l4:  stm32l4_flash: change flash programming to use
	  page buffer for unaligned writes.  From Juha Niskanen (2018-02-19).
	* arch/arm/src/stm32: stm32_flash.c: add progmem support for STM32L15XX
	  From Juha Niskanen (2018-02-20).
	* Added ECANCELED condition to DEBUGASSERT-s checking sem_wait result  From
	  Dmitriy Linikov (2018-02-20).
	* net/tcp:  Fixes hardfault when network goes done and network monitoring
	  is in place.  From Gianpaolo Ferroni Ariani (2018-02-22).
	* arch/arm/src/sam34:  Fix a typo resulting in duplicate names in DMAC bit
	  definitions.  From Gregory Nutt (2018-02-22).
	* net/tcp: tcp_send_[un]buffered.c:  Check routing table in
	  psock_send_addrchck().  Previously only ARP table was considered when
	  determining if the data will actually be sent.  From Juho Grundstrom
	  (2018-02-22).
	* net/tcp:  Generalize Juho Grundstrom's IPv4 change for IPv6 as well.
	  From Gregory Nutt (2018-02-22).
	* arch/arm/src/lc823450: Fix up_enable_irq() timing for I2S.  In previous
	  commit, I2S IRQ might be sometimes assigned to CPU1 when CONFIG_SMP=y.
	  This change fixes this issue.  Refactor timer driver.  Introduce
	  lc823450_timer.h and move lc823450_timerisr.c to lc823450_timer.c Add MTM
	  timer APIs for DVFS.  Introduce up_rtc_gettime() for CONFIG_RTC_HIRES.
	  Introduce idle time calculation in DVFS.  Also, DVFS autonomous mode based
	  on CPU idle time is supported.  NOTE: voltage control is still disabled.
	  From Masayuki Ishikawa (2018-02-23).
	* configs/lc823450-xgevk: Update defconfigs.   Enable RTC_HIRES instead of
	  RTC_DATETIME (audio/rndis).  Disable TCP_WRITE_BUFFERS and change
	  SCHED_LPWORKPRIORITY (rndis). Update SMP and DVFS related part.  From
	  Masayuki Ishikawa (2018-02-23).
	* net/icmpv6/icmpv6:  Eliminate warnings by correct the type uses to link
	  structure into lists.  From SP (2018-02-23).
	* configs/viewtool-stm32f107:  Add support for FT80X initialization.  Add
	  ft80x configuration that will eventually be used for testing the ft80x if I
	  ever receive hardware.  From Gregory Nutt (2018-02-24).
	* Fixed parsing of DNS response packets having compressed names ending with
	  pointer.  There were troubles parsing response packets which have
	  compression of QNAME/NAME field when only trailing part of the name (not
	  the whole name) is replaced with pointer to another part of the packet.
	  This commit fixes parsing of such packets.  Also I added checks to keep
	  parsing only in bounds of the read part of DNS response packet.  From
	  Dmitriy Linikov (2018-02-26).
	* arch/arm/src/stm32f7:  Backport RTC alarm setting changes from STM32L4.
	  Most notably this fixes RTC getting stuck issue when both alarms were used.
	  Root cause was writing RTC ISR register contents to RTC CR register.  From
	  Juha Niskanen (2018-02-27).
	* stm32_hrtim: add repetition support and fix enum overflow  From Mateusz
	  Szafoni (2018-02-27).
	* drivers/i2c and drivers/spi:  Fix compile if
	  CONFIG_DISABLE_PSEUDOFS_OPERATIONS, fix bad NULL checks  From Juha Niskanen
	  (2018-03-01).

7.25 2018-xx-xx Gregory Nutt <gnutt@nuttx.org>