From 8ee54e84f8eebd06558b2f7dd34bc7f22834fa9b Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 6 Mar 2017 11:17:36 -0600 Subject: [PATCH] Upate ChangeLog --- ChangeLog | 617 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 617 insertions(+) diff --git a/ChangeLog b/ChangeLog index f541f393d5..ceef96d19c 100755 --- a/ChangeLog +++ b/ChangeLog @@ -13476,3 +13476,620 @@ those conditions are met (2016-12-26). 7.20 2017-xx-xx Gregory Nutt + + * i.MX6 SMP/NSH configuration: Enable examples/smp test (2016-12-27). + * SMP: There were certain conditions that we must avoid by preventing the + release of the pending tasks while withn a critical section. But this + logic was incomplete; there was no logic to prevent other CPUs from + adding new, running tasks while on CPU is in a critical section. This + commit corrects this. This is matching logic in sched_addreadytorun to + avoid starting new tasks within the critical section (unless the CPU is + the holder of the lock). The holder of the IRQ lock must be permitted + to do whatever it needs to do (2016-12-27). + * i.MX6: Fix clearing GPT status register. From Masayuki Ishikawa + (2016-12-28). + * SMP: Make checks for CPU lock set more robust. There are certains + conditions early in initialization on during interrupt handling where + things need to be done a little differently (2016-12-28). + * sched_cpulocked: Avoid use of spinlock. That has been reported to + cause a deadlock (2016-12-28). + * SMP: Fix a gap where we may try to make modifications to the task lists + without being in a critical sections. That permits concurrent access to + the tasks lists and many subtle problems. This fix just remains in the + critical section throughout the operation (and possible until the task + is restore in the event of a context switch). Makes a big difference in + stability (2016-12-28). + * SMP: Move sharable function to common file as irq_cpu_locked(). Use + irq_cpu_locked() in sched_unlock(). Use irq_cpu_locked() in + sched_removereadytorun() and sched_setpriority(). Use irq_cpu_locked() + in sched_mergepending() (2016-12-29). + * Add configuration support for builds with Ubuntu under Windows 10 + (2017-01-01). + * Add support for Tom Thumb small mono-space font. From Alan Carvalho de + Assis (2017-01-03). + * Alternative way to encode font spacing for Tom Thumb font (2017-01-04). + * Graphics: Initial separation of font cache from graphics/nxterm. Now in + libnx/nxfronts where it can be shared with other grapics applications + (2017-01-05). + * Font cache: Fix a reference counting issue: count not be initialized + when font cache created. Fix initialization of a semaphore. Enforce + mutually exclusive access to the font cache Replace fixed-size array + with variable size link list. Font cache in libnx needs to use + context-specific memory allocators (2017-01-06). + * Add debug assertion in libdtoa to catch attempts to use floating point + output formats from within an interrupt handler. That will cause + assertions or crashes downstream because __dtoa will attempt to allocate + memory. From Pierre-noel Bouteville (2017-01-06). + * procfs: Correct to snprintf-related errors in fs_procfsproc.c. + Resolves issue #24 (2017-01-07). + * STM32F429i Discovery: Add support for NxWM on STM32F429i-Disco board. + From Alan Carvalho de Assis (2017-01-07). + * STM32F429i-DISCO: Enable keyboard input in nxwm configuration + (2017-01-07). + * STM32F428i-DISCO: Change NxWM cursor character from 137 (graphics + block) to 95 (underscore). NxWM is configured to use a 7-bit character + set so 137 is not a valid character code (2017-01-07). + * NX server: Correct message queue names. Should not be at /dev, but + rather relative to /var/mqueue (2017-01-08). + * NxWM configurations. If using a 7-bit character set, then the cursor + character cannot be 137 (graphic block). Use 95 (underscore) instead + (2017-01-08). + * packed_struct replaced by begin_packed_struct and end_packed_struct. + From Aleksandr Vyhovanec (2017-01-09). + * sched_note: Fix spinlock instrumentation. From Masayuki Ishikawa + (2017-01-12). + * SMP: Fix an error in critical section logic when performing a context + switch from an interrupt handler. The g_cpu_irqset bit was not being + set for the CPU so other CPUs did not know about the critical section + (2017-01-13). + * Kinetis: Added support for CHIP_MK60FN1M0VLQ12 chip. From Maciej + Skrzypek (2017-01-13). + * Kinetis: Fixed wrong MCG VDIV calculation on new NXP K60. From Maciej + Skrzypek (2017-01-13). + * Kinetis Serial: Fixed compile error when UART5 is selected. From Maciej + Skrzypek (2017-01-13). + * Kinetis: Need to set HAVE_UART_DEVICE when UART4 is selected. From + Maciej Skrzypek (2017-01-13). + * Kinetis MCG: Wrong FRDIV set in MCG_C1. From Maciej Skrzypek + (2017-01-13). + * Kinetis: New K60 has no Flex memory. From Maciej Skrzypek (2017-01-13). + * In all implementations of _exit(), use enter_critical_section() vs. + disabling local interrupts (2017-01-13). + * i.MX6: Corrects behavior of last SMP patch with i.MX6 (2017-01-13). + * SMP Signals: Fix some SMP signal delivery logic. Was not handling some + critical sections correctly and was missing logic to signal tasks + running on other CPUs (2017-01-14). + * STM32F103 Minimum: Add support for nRF24 on STM32F103-Minimum board. + From Alan Carvalho de Assis (2017-01-15). + * Kinetis: Add support for K64/K66 RTC lower half driver. From Neil + Hancock (2017-01-17). + * Networking: Fixed some issues that prevented ipv6 to work with ipv4 + enabled. From Pascal Speck (2017-01-18). + * STM32 Oneshot: Fix logic so that it can support multiple oneshot timers + (2017-01-18). + * STM32L4: Port fix for multiple oneshot timers from STM32. Also fixes a + few issues with original STM32 implementation (2017-01-xx). + * SAM3/4: Add support for ATSAM4S4C. From Wolfgang Reißnegger (2017-01-18). + * Math library: Leverage optimized ARM functions from BSD license ARM file + (2017-01-19). + * Math library optimatizations for FPU only apply to ARMv8 which is not + yet supported (2017-01-20). + * Move optimized ARM memcpy functions from arch/arm/src/ to + libc/machine/. This is necessary for the PROTECTED and KERNEL build + modes. Otherwise, memcpy() will be built in to kernel space and not + accessible to applications (2017-01-20). + * libc: Fix ARMv7-A/R memcpy assembly (2017-01-20). + * ARM memcpy(): Use DWord vs. HWord offset. ARM 32-bit instructions must + be aligned to DWord boundaries and this gives us more range in the jump + tables (2017-01-20). + * Fix a compile error: in sched_cpuload.c:Line136, the variables ts and + secs are not defined if CONFIG_CPULOAD_ONESHOT_ENTROPY = 0. However, + these variables are used regardless of CONFIG_CPULOAD_ONESHOT_ENTROPY at + lines~180:onwards. From rg (2017-01-22). + * CPU load: Correct computation of the nominal period to use when the + source is a oneshot timer (2017-01-22). + * Kernel Modules: Module initializer may now return a symbol table + (2017-01-22). + * Modules: Extend the module interface so that we can access symbols + exported by the module (2017-01-22). + * Shared Libraries: In the FLAT build mode, kernel modules may be used to + provide minimal shared library functionality (2017-01-22). + * Shared libraries: Add a non-standard dllfnc.h function to set the + symbol table (2017-01-23). + * Olimex-stm32-p407: Add a NSH protected build configuration; Enable + procfs/ in all configurations (2017-01-23). + * SMP: Fix timer related issues: Round robin and sporadic scheduling + were only being performed for tasks running on the CPU that processes + the system timer interrupt. Similary, CPU load measurements were only + be processed for running on the CPU that receives the sampling interrupt + (2017-01-23). + * STM32 F7: Added missing ARCH_HAVE_RESET for F7. From David Sidrane + (2017-01-23). + * STM32: Add missing STM32_BKP_BASE. From David Sidrane (2017-01-23). + * Configurations that enable OSTEST must not disable signals (2017-01-24). + * Add missing sched_note_*() calls to sam4cm SMP functions (2017-01-24). + * Fix return falue if x is NaN. From Aleksandr Vyhovanec (2017-01-25). + * MMCSD_SDIO: Only wait for card ejected if card detection is supported. + From Alan Carvalho de Assis (2017-01-26). + * LPC43 pinset definitions: Add more 1 bit to pinset to reach + SFSCLK0-SFSCLK3. Remove PINCONFIG_DIGITAL. From Alan Carvalho de Assis + (2017-01-26). + * sched/modules: Add support for dependencies between modules (2017-01-27). + * Back out use on inline functions to access 16-bit registers. The inline + functions were a work-around for misbehaving compiler years and years + ago. The mon standard macro-ized version should work just fine + (2017-01-27). + * Olimex STM32 P407: Add support for on-board microSD slot. Does not + work... Currently all commands to the SD card timeout (2017-01-28). + * libc/modlib: Add build a configuration logic for a shared module + library (2017-01-29). + * Module names are not needed in libc/modlib when the module library is + used only for shared library support (2017-01-29). + * Shared Libs: Implement module based shared libraries for the PROTECTED + mode build (2017-01-29). + * Typos withim mtd/ with Macronix MX25L. In NuttX/drivers/mtd/Make.defs + letters X between M and 25 are missing. Noted by Oleg Evseev + (2017-01-x30x). + * SAME70-Xplained: Clone some recent SAMV71-XULT changes (2017-01-30). + * Add capabilities() method to SDIO interface. Remove + CONFIG_SDIO_WIDTH_D1_ONLY. That should not be a global propertie, but + rather a capability/limitation of single slot when there may be multiple + slots (2017-01-31). + * Removed dmasupported() method from the SDIO interface. That is now a + bit in the capability set (2017-01-31). + * STM32F7 SDMMC: Add support for single bit operation on SDMMC2 + (2017-01-31). + * STM32F103-Minimum: Fix a compile error. + CONFIG_STM32_TICKLESS_ONESHOT_TIMER is only defined in TICKLESS mode. + Somebody has been hand editing .config files (2017-01-31). + * Timer logic: Add private function prototypes to eliminate a warning; + Functions should not be inline because the may recurse (2017-01-31). + * STM32F7 SDMMC: Make sure that all SDMMC configuration variables begin + with STM32F7_; Eliminate CONFIG_SDMMC1/2_DMA altogether. Does not + appear to be used (2017-01-31). + * STM32F429-DISCO: Move some board initialization logic that is not + usuable because it lacks the configuration options to make it so + (2017-01-31). + * Cancellation points: Fix some backward logic in conditional compilation + (2017-02-02). + * Soft links: Add an implementation of readlink() (2017-02-03). + * inode_find: Now takes struct inode_desc_s type as input. That + structure includes some data storage. It was used within inode_find(), + but that means that the life of the data was the life of inode_find(). + That data must persist longer. It is now provided by the caller so that + the life of the data persists for the entire life of the caller + (2017-02-05). + * tools/noteinfo.c: A hack tool that I use to analyze some sched_note + output. Needs a home and may be useful to others (2017-02-05). + * Pseudo File System: Add support for soft links in the top-level psuedo + file system (2017-02-05). + * Updates to Kinetis SDHC driver. From Marc Rechté (2017-02-06). + * SDIO interface: Handle all possible DMA combinations in all SDIO drivers + (2017-02-07). + * up_timer_initialize() is named incorrectly. The prefix should be the + architecture name, not up_ since it is private to the architecture. + up_timerisr() is similarly misnamed and should also be private since it + is used only with the xyz_timerisr.c files (2017-02-07). + * MCG defines are based on the MCG feature configuration. We define the + bits as a common set of names. This means that an index may be added to + a name i.e. LOCK is LOCK0 as that is the superset name. From David + Sidrane (2017-02-07). + * Fixes illdefined BOARD_FR_DIV with BOARD_FRDIV from MCG. Original + BOARD_FR_DIV was never used - that is a good thing because the value ws + defined shifted and the code also shifted it. From David Sidrane + (2017-02-07). + * Added MCG settings that are defiend on the K64 SoC. Added + BOARD_MCG_C2_FCFTRIM and BOARD_MCG_C2_LOCRE0 to configure the MCG_C2 + register cleanup of some comments. From David Sidrane (2017-02-07). + * Better granualarity and erro checking of the board's MCG settings. + Allow for complete MCG_C2 definition from the boart.h file. Moved + #ifdef out of code by setting default values. Allow for individule bit + setting in MCG_C2 for BOARD_EXTCLOCK_MCG_C2, BOARD_MCG_C2_FCFTRIM, + BOARD_MCG_C2_LOCRE0. Added range and sanity checking. From David + Sidrane (2017-02-07). + * Cosmetic changes from review of last PR (2017-02-07). + * C library: Remove comments blocks before empty sections (2017-02-08). + * C Library: Add a very limited, first step implementation of setvbuf(). + This is a collaborative effort. Alan Carvalho de Assis did the initial + prototype (2017-02-08). + * setvbuf: Add support for configuration of line buffering (2017-02-08). + * Bamboo-200E: Add netnsh configuration. From Alan Carvalho de Assis + (2017-02-08). + * Remove comment about being based on a Newlib implementation. That is + not true. This is an original work (2017-02-08). + * USBMSC: Always set LUN readonly flag. From Wolfgang Reißnegger + (2017-02-08). + * drivers/lcd: ssd1306_configspi() must have global scope (2017-02-09). + * SIM: Add readlink and setvbuf to nuttx-names.dat (2017-02-09). + * setvbuf: Add support for disabling I/O bufferin (2017-02-09). + * setvbuf: Fix some compile errors in first build of logic to + enable/disable buffering (2017-02-09). + * C Library: Clean-up buffer selections in Kconfig (2017-02-09). + * sem_open(): Fix a compiler error introduced with the setvbuf() changes + (2017-02-xx). + * MMC/SD SDIO: Some drivers need to start DMA before sending CMD24 and + some AFTER. From Alan Carvalho de Assis (2017-02-09). + * Kinetis SDHC driver fixes. From Marc Rechté (2017-02-09). + * Bambino-200E: Use .elf extension on all executables. From Alan Carvalho + de Assis (2017-02-09). + * Kinetis: Add support for K66 family. From David Sidrane (2017-02-09). + * Created a kinetis MCG versioning scheme pulled in by Kinetis chip.h + + The motivations is to version the IP blocks of the Kinetis K series + family of parts. + + This added versioning and configuration features for the Kinetis MCG IP + block. + + It is envisioned that in the long term as a chip is added. The author + of the new chip definitions will either find the exact configuration in + an existing chip define and add the new chip to it Or add the MCG + feature configuration #defines to the chip ifdef list in + arch/arm/include/kinetis/kinetis_mcg.h In either case the author should + mark it as "Verified to Document Number:" taken from the reference manual. + + The version KINETIS_MCG_VERSION_UKN has been applied to most all the + SoCs in the kinetis arch prior to this commit. + + The exceptions are the CONFIG_ARCH_CHIP_MK60FN1M0VLQ12, All K64 and K66 + which not have Verified MCG configurations. + + From David Sidrane (2017-02-09). + * Kinetis chip Adding K66 and inlcuding MCG versioning. This includes + arch/arm/include/kinetis/kinetis_mcg.h to bring in the MCG versioning + and defines the KINETIS_K66 family for the added SoCs: + + --------------- ------- --- ------- ------- ------ ------ ------ ----- + PART NUMBER CPU PIN PACKAGE TOTAL PROGRAM EEPROM SRAM GPIO + FREQ CNT FLASH FLASH + --------------- ------- --- ------- ------- ------ ------ ------ ----- + MK66FN2M0VMD18 180 MHz 144 MAPBGA 2 MB — — KB 260 KB 100 + MK66FX1M0VMD18 180 MHz 144 MAPBGA 1.25 MB 1 MB 4 KB 256 KB 100 + MK66FN2M0VLQ18 180 MHz 144 LQFP 2 MB — — KB 260 KB 100 + MK66FX1M0VLQ18 180 MHz 144 LQFP 1.25 MB 1 MB 4 KB 256 KB 100 + + From David Sidrane (2017-02-09). + * Kinetis: MCG defines are based on the MCG feature configuration. We + define the bits as a common set of names. This means that an index may + be added to a name i.e. LOCK is LOCK0 as that is the superset name. + From David Sidrane (2017-02-09). + * Fixes ill defined BOARD_FR_DIV with BOARD_FRDIV from MCG. Original + BOARD_FR_DIV was never used - that is a good thing because the value was + defined shifted and the code also shifited it. From David Sidrane + (2017-02-09). + * STM32: Fixes the bkp reference counter issue. From David Sidrane + (2017-02-09). + * STM32F7: Fixes the bkp reference counter issue. From David Sidrane + (2017-02-09). + * C Library: Add setbuf() which is a trivial wrapper around setvbuf() + (2017-02-09). + * tools/mkconfig.c: Add logic to keep all of the buffering options in sync + (2017-02-xx). + * VFS rename: Fix issues with rename to subdirectories and some softlink + issues (2017-02-11). + * Add logic to VFS rename: If target of rename exists and is a directory, + then the source file should be moved 'under' the target directory. + POSIX also requires that if the target is a file, then that old file + must be deleted (2017-02-11). + * rename: An inode with no operations should be treated like a directory + for the purposes of rename (2017-02-12). + * rename(): Correct more issues. (1) Move to the root directory in the + pseudo file system, (2) Fix path naming calculation when the path is the + root directory of a mounted file system, and (3) dont't do the rename if + the source and destination of the rename are the same (2017-02-12). + * Add basic fstat() support (2017-02-x12x). + * Add fstat support to binfs (2017-02-12). + * fstat: Add fstat() support to romfs (2017-02-12). + * fstat: Add fstat() support to unionfs (2017-02-12). + * I found an issue inside the cp15_coherent_dcache function in file, + arch/arm/src/armv7-r/cp15_coherent_dcache.S. + + The "mcr CP15_BPIALLIS(r0)" instruction is used for invalidating entire + branch predictor. But the problem is, since this is the generic code + and can be called on any armv7-r architecture based CPU's. It is a + problem, if this instruction is called in uni processor configuration. + Because, BPIALLIS (c7, 0, c1, 6) instruction is only added as part of + the "Multiprocessing Extensions" (As per ARM® Architecture Reference + Manual /ARMv7-A and ARMv7-R edition) + + So in my opinion, this instruction should be under SMP configuration. In + non-SMP configuration this instruction could become undefined. + + From Manohara HK (2017-02-13). + * fstat: Add fstat() support to tmpfs (2017-02-13). + * fstat: Add fstat() support to nxffs (2017-02-13). + * fstat: Add fstat() support to nfs (2017-02-13). + * NFS: Use clock_gettime() instead of deprecated gettimeofday() + (2017-02-13). + * fstat: Add fstat() support to FAT. From Alan Carvalho de Assis + (2017-02-13). + * ROMFS: stat() and fstat() should always indicate that directories are + executable (2017-02-13). + * Kinetis SDHC - Enable clock after selected. From David Sidrane + (2017-02-14). + * Kinetis SPI and I2C are 0 based. The K whole family line has max 4 or + each. But the supported parts have the maximums listed below: + + K46 and K66 3 SPI SPI0-SPI2 + K46 and K66 4 I2C I2C0-I2C3 + + From David Sidrane (2017-02-10). + * Add support for NXP Freedom-k66f development board. From David Sidrane + (2017-02-14). + * Kinetis: Define Alternate addresses for IP blocks in both AIPS0 & + AIPS1. Added ALT version of RNGA, FTM2, DAC0 as a facility to later + define secondary access via AIPS1 to these peripherals. From David + Sidrane (2017-02-14). + * Kinetis: Add support for K66. From David Sidrane (2017-02-14). + * procfs: stat() left several fields in uninitialized state (2017-02-xx). + * hostfs: Add support for fstat() (2017-02-xx). + * procfs: Add support for fstat() (2017-02-14). + * smartfs: Add support for fstat() (2017-02-14). + * Kinetis Freedom K66F: Add Ethernet support. From David Sidrane + (2017-02-14). + * LPC43 serial: Correct conditional logic that selects /dev/ttySN. + Problem noted by Alan Carvalho de Assis (2017-02-14). + * Add usbnsh config to Bambino 200E board. From Alan Carvalho de Assis + (2017-02-14). + * procfs: Most stat() implementations were not initializating the + st_atime, st_ctime, and st_mtime fields (2017-02-15). + * Kinetis Support RMII clock source select. This defined the RMII clock + source select bits and allows the selection to be made via Kconfig. + From David Sidrane (2017-02-15). + * Kinetis PWM: Add FTM3 to PWM. From David Sidrane (2017-02-15). + * Kinetis:Freedom-K66F uses ENET_1588_CLKIN as RMII clock. From David + Sidrane (2017-02-15). + * Fix for SAMv7 SPI: DLYBS value wass calculated, but never written to any + registers. This led to incorrect timings on the bus. From Michael + Spahlinger (2017-02-16). + * C library: Add swab() (2017-02-16). + * C library: Add strtoimax and strtoumax (2017-02-16). + * C library: Add ffs(), rindex(), an index(). Add strings.h. Move + strcasecmp, strncasecmp, bzero, bcmp, and bcopy to where they belong in + strings.h.h, not string.h. bzero, bcmp, and bcopy are legacy functions; + the contemporary counterparts should be used instead (2017-02-16). + * Allow board to configure HSE clock in bypass-mode. This is needed to + enable HSE with Nucleo-F746ZG board. From Jussi Kivilinna (2017-02-17). + * C library: Add fstatfs(); fix a reference counting error in fstat() + (2017-02-17). + * Update cwchar. Add cwctype (2017-02-17). + * Add setbuf and setvbuf to cstdio (2017-02-17). + * Port STM32L4 SAI driver from MDK (2017-02-17). + * STM32L4: Bring power management logic from Motrola MDK into NuttX + (2017-02-18). + * STM32L4: Bring LPTIM driver in from the Motorola MDK (2017-02-18). + * drivers/sensors: Add driver for the ST L3GD20 3 axis gyro. From + raiden00 (2017-02-19). + * config/stm32f429i-disco: add support for the L3GD20 driver. From + raiden00 (2017-02-19). + * STM32L4 COMP: Port from Motorola MDK (2017-02-19). + * Add twr-k64f120m config and fix some ENET related problems. From Marc + Rechté (2017-02-xx). + * STM32 F7: stm32_allocateheap: allow use DTCM memory for heap. STM32F7 + has up to 128KiB of DTCM memory that is currently left unused. This + change adds DTCM to main heap if CONFIG_STM32F7_DTCMEXCLUDE is not + enabled. From Jussi Kivilinna (2017-02-20). + * This should resolve issue #30: Audio Tone Generator and PWM Multiple + Output Channel options. I don't actually have a setup to verify it, + however (2017-02-20). + * drivers/tone.c: 50% duty needs to be expressed a a fixed precision + number (2017-02-21). + * Kinetis: Created a kinetis SIM versioning scheme pulled in by Kinetis + chip.h. + + The motvations is to version the IP blocks of the Kinetis K series + family of parts. + + This added versioning and configuration features for the Kinetis SIM IP + block. + + It is envisioned that in the long term as a chip is added. The author + of the new chip definitions will either find the exact configuration in + an existing chip define and add the new chip to it Or add the SIM + feature configuration #defines to the chip ifdef list in + arch/arm/include/kinetis/kinetis_sim.h In either case the author should + mark it as "Verified to Document Number:" taken from the reference + manual. + + The version KINETIS_SIM_VERSION_UKN has been applied to most all the + SoCs in the kinetis arch prior to this commit. + + The exceptions are the CONFIG_ARCH_CHIP_MK60FN1M0VLQ12, All K64 and K66 + which not have Verified SIM configurations. + + From David Sidrane (2017-02-21). + * Created a kinetis PMC versioning scheme pulled in by Kinetis chip.h. + + The motivation is to version the IP blocks of the Kinetis K series + family of parts. This added versioning and configuration features for + the Kinetis PMC IP block. It is envisioned that in the long term as a + chip is added. The author of the new chip definitions will either find + the exact configuration in an existing chip define and add the new chip + to it Or add the PMC fature configuration #defines to the chip ifdef + list in arch/arm/include/kinetis/kinetis_pmc.h In either case the + author should mark it as "Verified to Document Number:" taken from the + reference manual. + + The version KINETIS_PMC_VERSION_UKN has been applied to most all the + SoCs in the kinetis arch prior to this commit. + + The exceptions are the CONFIG_ARCH_CHIP_MK60FN1M0VLQ12, + CONFIG_ARCH_CHIP_MK20DXxxxVLH7 All K64 and K66 have been verified PMC + configurations. From David Sidrane (2017-02-xx). + * Kinetis: kinetis_clockconfig uses the correct ACKISO. ACKISO is located + in the PMC_REGSC on the majority of the Kinetis SoCs. With the exception + of the MK40DXxxxZVLQ10 where ACKISO is located in LLWU_CS (2017-02-22). + * Kinetis: Refactor you use SIM_SOPT2_PLLFLLSEL, added warning. The + warning has been added because: SIM_SOPT2_PLLFLLSEL is a clock selection + that may feed many clock subsystem: USB, TPM, SDHCSRC, LPUARTSRC. + Therefore, there needs to be a global board level setting to select the + source for SIM_SOPT2_PLLFLLSEL and then derive all the sub selections + and proper fractions/divisors for each modules clock. From David + Sidrane (2017-02-22). + * Add support to QEncoder on STM32F103Minimum board. From Alan Carvalho + de Assis (2017-02-23). + * Olimex STM32 p407: Add external SRAM support. Unfortunately not usable + or testable unless you also disable the serial console (2017-02-23). + * drivers/spi/Kconfig: There is too much SPI in the configuration menu; + SPI Driver Support menu is empty. From Maciej Wójcik (2017-02-23). + * Kinetis: SIM add paramiterized SIM_CLKDIVx_xxFRAC|DIV macros. The makes + for cleaner board definitions. From David Sidrane (2017-02-xx). + * kinetis_enet.c add #define for number of loops for auto negotiation to + complete. From Marc Rechté (2017-02-23). + * STM32F4 Discovery: Fix issues with QEncoder support. From Alan Carvalho + de Assis (2017-02-23). + * sigtimedwait: When timer expires, up_unblock_task() is called. This is + okay in the single CPU case because interrupts are disable in the timer + interrupt handler. But it is insufficient in the SMP case. enter_ and + leave_critical_section() must be called in order to manage spinlocks + correctly (2017-02-23). + * Fix QEncoder driver, based on STM32L4 driver. From Alan Carvalho de + Assis (2017-02-xx). + * STM32 QEncoder. Enable clocking to the timer on QE setup; disable clock + on QE teardown (2017-02-23). + * Kinetis: Extend clockconfig to support SOPT2_PLLFLLSEL and + SIM_CLKDIV3. A board.h file can now specify the: 1) + BOARD_SOPT2_PLLFLLSEL to select the output of the SIM_SOPT2 MUX from: + MCGFLLCLK, MCGPLLCLK, USB1PFD, and IRC48MHZ. 2) If it defines + BOARD_SIM_CLKDIV3_FREQ then it must define BOARD_SIM_CLKDIV3_PLLFLLFRAC + and BOARD_SIM_CLKDIV3_PLLFLLDIV which wil be used to cpnfigure + SIM_CLKDIV3 [PLLFLLFRAC, PLLFLLDIV]. From David Sidrane (2017-02-23). + * Kinetis serial: Added configurable 1|2 stop bits. HAVE_SERIAL_CONSOLE + -> HAVE_UART_CONSOLE to be consistent with HAVE_LPUART_CONSOLE naming. + From David Sidrane (2017-02-23). + * Kinetis: Add LPUART serial driver and Clock configuartaion to + freedom-k66f board. Pin out LPUART0 for testing. Define + BOARD_SOPT2_PLLFLLSEL ti select MCGPLLCLK. Define + BOARD_SIM_CLKDIV3_FREQ etal to provide BOARD_LPUART0_FREQ. From David + Sidrane (2017-02-25). + * QEncoder: Add mechanism to assure that architecture-specific IOCTL + commands do not overlap (2017-02-25). + * include/nuttx/analog: Add an ioctl.h header file to coordinate analogic + driver IOCTL commands (2017-02-25). + * CAN: Add infrastructure to assure that all CAN IOCTL commands are + uniquely numbered (2017-02-25). + * Wireless and TSC: Add infrastructure to assure that all IOCTL commands + are uniquely numbered (2017-02-25). + * Add basic support for the STM32F334 and Nucleo F334R8 board. From + Mateusz Szafoni (2017-02-16). + * SAM3/4: GPIO bit numbering typo fixes. From Wolfgang Reißnegger + (2017-02-26). + * Add SDCard support over SPI on STM32F103-Minimum board. From Alan + Carvalho de Assis (2017-02-26). + * option to enable Memory Card debug output was hidden with SD cards + connected through SPI. From Maciej Wójcik (2017-02-27). + * Kinetis serial: Fixed up_rxint - did not disable the RX interuppts. + There was an OR where and AND NOT was needed. From David Sidrane + (2017-02-27). + * Kinetis:Add the configuring SIM_CLKDIV2[USBFRAC, USBDIV] in + kinetis_clockconfig. If a board.h provides BOARD_SIM_CLKDIV2_FREQ it + will configure the SIM_CLKDIV2 based on the additional provided + BOARD_SIM_CLKDIV2_USBFRAC and BOARD_SIM_CLKDIV2_USBDIV. The reason for + doing this globaly is that the output the SIM_CLKDIV2 divisor may be + also used for other IP blocks in future configurations (as is done for + SIM_CLKDIV3). From David Sidrane (2017-02-27). + * Kinetis: Refactor clocking in kinetis_usbdev. (1) Removed + SIM_CLKDIV2[USBFRAC, USBDIV] setting as it is now, done in + kinetis_clockconfig, (2) Use BOARD_USB_CLKSRC to select the clock source + to the USB block, (3) Removed CONFIG_TEENSY_3X_OVERCLOCK from the driver + as the board.h will now provide BOARD_SIM_CLKDIV2_USBDIV and + BOARD_SIM_CLKDIV2_USBFRAC to the kinetis_clockconfig. From David + Sidrane (2017-02-27). + * Kinetis: Use BOARD_xxxx to drive system clocking: (1) Shifted the clock + speed of MK20DX128VLH5 to 48 Mhz to be able to uses USB. (2) Set + BOARD_OUTDIV3 to 0 - there is no BOARD_OUTDIV3 on a MK20DX128VLH5 or + K20DX256VLH7, (3) Added BOARD_SOPT2_PLLFLLSEL and BOARD_SOPT2_FREQ along + with settings for BOARD_SIM_CLKDIV2_USBFRAC and BOARD_SIM_CLKDIV2_USBDIV + base on the BOARD_SOPT2_FREQ. From David Sidrane (2017-02-27). + * Kinetis: Define uart and lpuart versions of [early]serialinit. Add + serial init to centralize UART/LPUART management. Use kinetis_ not up_ + where arch specific. Defined kinetis_[lp]uart_[early]serialinit to + facilitate bring up both UARTs and LPUARTs as devices and a console. + Support ordering and merging of serial devices names. From David + Sidrane (2017-02-27). + * Adapt more drivers to utilize the IRQ argument feature (20167-02-28). + * irq_attach() and type xcpt_t. irq_attach now accepts a argument that + will be provided to the interrupt handler when the interrupt ocurrs. + This affects many files by replace ad hoc parameter passing logic with a + standardized approach. From Mark Schulte (2017-03-01). + * Fix open() a block device with CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y. + From Masayuki Ishikawa (2017-03-01). + * net/: fixed a nullptr-dereference on iob_clone. From Pascal Speck + (2017-03-01). + * configs/: All functions that used to return an xcpt_t old handler value, + not return NULL. The oldhandler value is no longer useful with the + recent changes to the interrupt argument passing (2017-03-02). + * arch_phy_irq: Now returns int instead of xcpt_t oldhandler. The + oldhandler is useless after the changes to the interrupt argument. Also + access an argument for the PHY interrupt. phy_notify.c driver changed + to exploit new interrupt argument passing (2017-03-02). + * STM32/F7/L4: EXOT PVD function no longer returns the xcpt_t oldhandler. + There value is useless and dangerous after the recent changes to + interrupt argument passing (2017-03-02). + * STM3 L4: EXTI COMP function no longer returns the xcpt_t oldhandler. + There value is useless and dangerous after the recent changes to + interrupt argument passing (2017-03-02). + * STM32/F7/L4: EXTI ALARM function no longer returns the xcpt_t + oldhandler. There value is useless and dangerous after the recent + changes to interrupt argument passing (2017-03-02). + * Add support to USB Device on STM32F103-Minimum board. From Alan + Carvalho de Assis (2017-03-02). + * Kinetis GPIO: Pin IRQ logic no longer returns the xcpt_t oldhandler. + There value is useless and dangerous after the recent changes to + interrupt argument passing (2017-03-02). + * STM32 Ethernet: Need two work structures so that pending poll work is + not lost when an interrupt occurs (2017-03-02). + * Kinetis-L GPIO: Pin IRQ logic no longer returns the xcpt_t oldhandler. + There value is useless and dangerous after the recent changes to + interrupt argument passing (2017-03-02). + * PIC32MX: Pin IRQ logic no longer returns the xcpt_t oldhandler. There + value is useless and dangerous after the recent changes to interrupt + argument passing (2017-03-02). + * PIC32MZ: Pin IRQ logic no longer returns the xcpt_t oldhandler. There + value is useless and dangerous after the recent changes to interrupt + argument passing (2017-03-02). + * STM32 L4: Pin IRQ logic no longer returns the xcpt_t oldhandler. There + value is useless and dangerous after the recent changes to interrupt + argument passing (2017-03-02). + * Tiva: Pin IRQ logic no longer returns the xcpt_t oldhandler. There + value is useless and dangerous after the recent changes to interrupt + argument passing (2017-03-02). + * board_button_irq: Button IRQ logic no longer returns the xcpt_t + oldhandler. There value is useless and dangerous after the recent + changes to interrupt argument passing (2017-03-02). + * stm32_gpiosetevent: GPIO IRQ logic no longer returns the xcpt_t + oldhandler. This value is useless and dangerous after the recent + changes to interrupt argument passing (2017-03-02). + * Implements support for smaller interrupt tables as described at + http://www.nuttx.org/doku.php?id=wiki:howtos:smallvectors . This is + largely the work of Mark Schulte. However, I have made several changes + to match with the Wiki document. If you like the change, thanks go to + Marc. For any errors you can blame me (2017-03-03). + * Experimental change to STM32 Ethernet driver a success. Porting change + to all other Ethernet drivers (2017-03-03). + * FS: Don't build block driver proxy if PSEUDOFS_OPERATIONS are disabled + (2017-03-04). + * drivers/net: Add framework for serialization in the case where multiple + low-priority work queues are used (2017-03-04). + * net/drivers/skeleton.c: Back out serialization changes of the last + commit. They are not necessary in the skeleton.c example because the + calls to net_lock() at the beginning of each worker function will + enforce serialization (2017-03-04). + * STM32F33XX DAC, OPAMP, COMP and ADC headers. From Mateusz Szafoni + (2017-03-04). + * STM32 F7 SDMMC: Use new interrupt argument facility (2017-03-05). + * stm32f33xxx: Add HRTIM header file. From Mateusz Szafoni (2017-03-05). + * sendfile(): Fix error introduced with commit + ff73be870e38959b0aaee5961dc47b4b58dc2d86. Noted by Maciej Wójcik + (2017-03-05). + * Kinetis: Eliminate warning when USE_EARLYSERIALINIT is not defined + (2017-03-05). + * STM3210E-EVAL: Eliminte a warning. Return type of board_button_irq is + now type int (2017-03-05). + * dk-tm4c129x: Remove warning for variable that is set but not used + (2017-03-05). + * SAMA5D4-EK: Eliminate warning. Correct type of return value + (2017-03-05). + * STM32F103 Minimum: Eliminate warning stm32_usbdev.o give twice in same + rule (2017-03-). +