diff --git a/ChangeLog b/ChangeLog index 2222fedc84..6f8934fe3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24138,7 +24138,7 @@ - Fix missing ccm definitions and wrong iomux offset - Prevent hardfault when can't read from ENET PHY - More consistent Ethernet pinmux. - From Dave Marples (2019-04-30). + From Dave Marples (2019-04-30). * include/nuttx/usb/hid.h: The usbhid_descriptor_s struct defined in hid.h included some optional fields that should not be hard-defined as part of that structure. An arbitrary number of optional entries could be @@ -25069,4 +25069,1424 @@ NULL. Modify to use group_exitchild to get the pointer of recent exited child. From Yang ChungFan (2019-07-20). -7.32 2019-xx-xx Gregory Nutt +8.1 2019-09-15 Gregory Nutt + + * arch/arm/src/sam34/Kconfig: Add missing DMA configuration setting. + From Bernd Walter (2019-07-21). + * arch/mips/src/pic32mz/pic32mz-spi.c: Fix SPI Mode selection. CKE is + the inversion of the CPHA. From Ouss4 (2019-07-21). + * drivers/mtd/sst26.c: Accept the 16MBit Flash when reading the JEDEC-ID + at init. From Ouss4 (2019-07-21). + * arch/mips/src/pic32mz/pic32mz-config.h: Make the PLL input clock + configurable. From Ouss4 (2019-07-21). + * STM32F7: Fixes bad preprocessor logic preventing USB OTG HS to work + when used without external ULPI. From Anthony Merlino (2019-07-22). + * arch/arm/src/imxrt/imxrt_lpi2c.c: Slave addresses are now correctly + shifted when sending start. TX/RX FIFOs now discarded on error to + prevent FIFO underflow errors. Fixes error checking to use priv + structure and removes checking of BBF flag as it is not an error. From + Nicholas Chin (2019-07-23). + * configs/nucleo-l432kc/src/stm32_gpio.c: Added GPIO drivers for use + with /apps/examples/gpio. From Daniel P. Carvalho (2019-07-23). + * configs/nucleo-l432kc: Added Zero Cross sensor to nucleo-l432kc. From + Daniel P. Carvalho (2019-07-23). + * drivers/usbdev/rndis: Fixes issue with DEBUGASSERT when using composite + device and endpoint numbers not being the default. From Anthony + Merlino (2019-07-23). + * libs/libc/stdio/lib_libvsprintf.c: Add support for the size_t integer + qualifier 'z'. This is kind of tricky due the variety of + sizeof(size_t) on different platforms. From David Sidrane (2019-07-24). + * gs2200m with udp + - include/nuttx/wireless: Add udp support to gs2200m.h + - drivers/wireless: Add WL_GS2200M_DISABLE_DHCPC to Kconfig + - drivers/wireless: Add udp support to gs2200m.c + - configs/spresense/wifi: Enable smartfs and udp support + From Masayuki Ishikawa (2019-07-25). + * arch/arm/src/lpc17xx_40xx/lpc17_40_i2c.c: Abort I2C transfers if a + timeout has occurred. If a timeout has occurred in the middle of a I2C + transfer, the next I2C interrupt should abort any transfers and send a + stop condition to the corresponding I2C bus. Failure to do so will result + in memory corruption / undefined behavior as priv->msgs points to a + region of memory it doesn't owns anymore after lpc17_40_i2c_start + returns. From Augusto Fraga Giachero (2019-07-25). + * configs/tm4c1294-launchpad/src/tm4c_bringup.c: Enables /dev/userleds + for tm4c1294-launchpad by calling userled_lower_initialize() in + tm4c_bringup(). From Nathan Hartman (2019-07-25). + * arch/arm/src/lpc17xx_40xx/lpc17_40_i2c.c: Calculate the appropriate + timeout for I2C transfers. Depending on the bus frequency and transfer + size, I2C transactions can take quite a bit, so a fixed timeout is not a + good solution. Calculating the timeout at run time poses some overhead + but still better than aborting long transactions. From Augusto Fraga + Giachero (2019-07-25). + * net/udp: Remove net stack dependency from CONFIG_NET_BROADCAST. This + change allows us to use CONFIG_NET_BROADCAST without network stack. (i.e. + usrsock application can use broadcast) From Masayuki Ishikawa + (2019-07-26). + * STM32F7: If there is only one SDMMC it is slot 0 From David Sidrane + (2019-07-26). + * drivers/mtd/mx25rxx.c: add support for 512B sectors + - Fix for mx25rxx driver as it does not work properly + - Add mx25rxx memory chip and smartfs support in b-l475e-iot01a/nsh + config + - Update smartfs smart_scan() function From Simon Piriou (2019-07-26). + * configs/nucleo-l432kc: ADC: Change analog pins definitions and + correct DMA related issue. From Daniel P. Carvalho (2019-07-27). + * net/tcp and udp: Fix errors in the new implementation of SO_LINGER. + The tcp_drain() and udp_drain() functions were casting the working + argument to the wrong type, resulting in hangs and abnormal behavior. + There is a complexity in the tcp drain logic when the remote peer + closes the socket before all Tx data has been flushed. Sometimes we + are not notified of this case and wait the entire timeout + unnecessarily. There is a workaround in place in tcp_txdrain(), but + this really should be revisited. From Gregory Nutt (2019-07-27). + * arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c: Set speed back to + 10Mbps if 10Mmbps link negotiated. From Augusto Fraga Giachero + (2019-07-27). + * i.MXRT USDHC: This change completes SDIO support for IMXRT, and also + adds support for WiFi using the AP6212A module based on Simon Piriou's + rather excellent work. The patch should also address DavidS's concern + about width setting for USDHC1 and 2. Testing of the WiFi is minimal + so far but functionality is proven. I'm specifically not happy that + the driver doesn't recover elegantly from a DMA data checksum failure, + but that is an issue that can be dealt with in due course ... I'm + trying to get the rest of the interfaces fleshed out and the hardware + proven so it can go for pre-production build. I _think_ there's only + Bluetooth and USB-device left to implement now. From Dave Marples + (2019-07-28). + * arch/arm/src/imxrt/imxrt_clockconfig.c: Enable TRACE clocks if the + divider has been defined in the board's board.h file. From Dave + Marples (2019-07-28). + * net/udp/udp_txdrain.c: Add missing header file. From David S. Alessio + (2019-07-29). + * sched/semaphore/sem_holder.c: Fix a race in telnet with + PRIORITY_INHERITANCE and SCHED_HPWORK. Sometimes causes an assertion + to fire incorrectly. From David S. Alessio (2019-07-29). + * include/netinet/in.h: Rename __pad member to sin_zero in struct + sockaddr_in. Libwebsockets initializes the 'sin_zero' member of + sockaddr_in objects to zeros. Apparently, judging from mailing list + entries, there are platforms on which not doing this causes undefined + behavior. On NuttX compiling respective code is broken, as the + corresponding member variable is called '__pad'. Neither in the + 'nuttx' nor in the 'apps' repository did I find any reference to this + identifier. Thus, I believe its a safe bet to just rename it. UNIX + Network Programming states in this regard: "The POSIX specification + requires only three members in the structure: sin_family, sin_addr, and + sin_port. It is acceptable for a POSIX-compliant implementation to + define additional structure members, and this is normal for an Internet + socket address structure. Almost all implementations add the sin_zero + member so that all socket address structures are at least 16 bytes in + size." From Michael Jung (2019-07-29). + * arch/arm/src/tiva: Rename TM4C123GH6PMI identifiers to TM4C123GH6PM. + Rationale: In terms of firmware programming, there is no functional + difference between these parts: TM4C123GH6PMI7, TM4C123GH6PMI7R, + TM4C123GH6PMT7, and TM4C123GH6PMT7R. From a programming standpoint, + all of the above parts are TM4C123GH6PM, which means it doesn't make + sense to differentiate between PM and PMI. (The PM means 64-LQFP. The I + means temperature range -40C to +85C. It could be T meaning -40C to + +105C. The R means it ships in Tape and Reel packaging as opposed to + Tray.) From Nathan Hartman (2019-07-29). + * Only use PCLKSEL0 for ADC on LPC176x family. From jjlange (2019-07-29). + * arch/arm/src/lpc17xx_40xx/lpc17_40_adc.c: Fix very minor coding + standard problem in last PR. From Gregory Nutt (2019-07-29). + * arch/arm/src/tiva: Rename TM4C1294NC identifiers to TM4C1294NCPDT. + Rationale: TM4C1294NC is ambiguous: TM4C1294NCPDT is a 128-TQFP, + TM4C1294NCZAD is a 212-NFBGA. The TM4C1294NC part currently supported + by NuttX is the TM4C1294NCPDT used on the TI EK-TM4C1294XL "Connected + LaunchPad" (see configs/tm4c1294-launchpad). To ensure the correct + part is fully specified, this commit updates all TM4C1294NC identifiers + to TM4C1294NCPDT. From Nathan Hartman (2019-07-29). + * libs/libc/machine/arm/armv7-m: Add Cortex M4F mach optimized fabsf and + sqrtf. From David S. Alessio (2019-07-29). + * gs2200m with dhcp: + - include/nuttx/wireless: Add GS2200M_IOC_IFREQ to gs2200m.h + - drivers/wireless: Add GS2200M_IOC_IFREQ to gs2200m.c + - configs/spresense/wifi: Enable NuttX's DHCP client instead of GS2200M's + - configs/spresense: Add descriptions on wifi in README.txt + From Masayuki Ishikawa (2019-07-30). + * libs/libc/machine/arm/armv7-m: Fix build error for elf From Masayuki + Ishikawa (2019-07-30). + * Documenation/, configs/: Fix typos and one HTML syntax error. Fix + HTML syntax error in Documentation/NfsHowto.html: -> + html tag. From Nathan Hartman (2019-07-30). + * fs/dirent/fs_opendir.c: Fix typo and style. opendir() did set errno + to a negative value in one error case. Fixed some coding style issues + found by nxstyle. From Michael Jung (2019-07-31). + * libs/libc/dirent/: Added alphasort() implemenation, scandir() + implementation and DT_* definitions to include/dirent.h. Apparently + those definitions are not required by POSIX, but are part of 4.3BSD and + available in glibc as well. From Michael Jung (2019-07-31). + * libs/libc/dirent/lib_scandir.c: Do not build in PROTECTED or KERNEL + mode builds. Add FAR to some pointers. Minor comment updates. From + Gregory Nutt (2019-07-31). + * STM32F7: Serial add HW HS on UART 4 & 5 From David Sidrane + (2019-08-01). + * sched/task/task_exithook.c: nxtask_signalparent() in task_exithook.c + may invalidate the group's parent task ID (tg_ppid) too soon. The + tg_ppid field is use only to remember the parent tasks ID so that it + can send the SIGCHLD signal to it. So it must stay valid until SIGCHLD + has been sent. In nxtask_signalparent(), it calls nxtask_sigchild() to + send SIGCHLD to the parent, then invalidates tg_ppid. That would be + okay, except that the SIGCHLD is only sent when the last member of the + group terminates. That is incorrect; tg_ppid can be invalidated too + soon and, as a consequence, SIGCHLD would never be sent. Noted by + Jeongchan Kim in the Google group: + https://groups.google.com/forum/#!topic/nuttx/SXd8fVwVKBk From Gregory + Nutt (2019-08-01). + * confgs/z80sim/src/z80_serial.c: Fix uart_dev_t initializer: pollfds + is a array of pointers and, hence, the NULL initializer must be + included in braces. Noted by Paul Osmialowski in Issue #160. From + Gregory Nutt (2019-08-01). + * z80sim/src/z80_irq.c: Missed a name change + up_irqinitialize->z80_irq_initialize. From Gregory Nutt (2019-08-01). + * - STM32{L4|F4|H7}: Serial add HW HS on UART 4 & 5 + - STM32: Serial add HW HS on UART 4 & 5 + - STM32F7: Serial update copyright date + - STM32H7: Serial add HW HS on UART 4 & 5 + - STM32L4: Serial add HW HS on UART 4 & 5 + From David Sidrane (2019-08-01). + * STM32H7 RCC: Fix RCC register definitions and typos in ADC/UART + STM32H7 ADC: Fix internal channel numbers + STM32H7 UART: Fix typo in UART8 configuration From Markus Bernet + (2019-08-02). + * sched/: Correct some naming. The NuttX task groups have been using + the acronym 'gid' and also the type 'gid_t' for the the task group ID. + That is incorrect. Than naming is reserved for use with group + permissions. So these were all named to grpid and grpid_t so that it + is clearer that these refer to NuttX task group IDs, and not to group + permissions. From Gregory Nutt (2019-08-02). + * arch/arm/src/tiva, include/nuttx/sensors: Reinstate TM4C qencoder + driver and expand its ioctls. + arch/arm/src/tiva/Kconfig: + - Add TIVA_HAVE_QEI0, TIVA_HAVE_QEI1 as applicable to each + ARCH_CHIP_TM4C12*. + - Add config TIVA_QEI, TIVA_HAVE_QEI0, TIVA_HAVE_QEI1. + - Add config TIVA_QEI0, config TIVA_QEI1. + arch/arm/src/tiva/common/tiva_qencoder.c: + - Rewrite tiva_qe_setup(). + - Replace tiva_qe_ppr() with tiva_qe_resetatppr(). + - Add tiva_qe_resetatmaxpos(), tiva_qe_resetatindex(). + arch/arm/src/tiva/hardware/tiva_qencoder.h: + - Add missing definitions: SIGMODE_QUADRATURE, SIGMODE_CLK_AND_DIR, + SWAP_NO_SWAP, SWAP_PHA_PHB. + arch/arm/src/tiva/tiva_qencoder.h: + - Rename TIVA QEI ioctl QEIOC_PPR to QEIOC_RESETATPPR. + - Add TIVA QEI ioctl identifiers QEIOC_RESETATMAXPOS, QEIOC_RESETATINDEX. + include/nuttx/sensors/qencoder.h: + - Increase QE_TIVA_NCMDS from 3 to 5. From Nathan Hartman (2019-08-02). + * libs/libc/grp: Added stubbed implementations of getgrgid, getgrgid_r, + getgrnam, getgrnam_r, and initgroups. These functions are essentially + stubs pretending that NuttX supported groups and that the only + configured group in the system was 'root' with gid 0. The intend is + not to provide meaningful new features, but to ease porting of foreign + source code to NuttX. From Michael Jung (2019-08-03). + * libs/libc/grp/lib_grp.c: Fix a warning when compiling on a 64-bit + simulation. Cannot cast a pointer to unsigned in that case because + unsigned (int) is only 32-bits, but the pointer is 64-bits. From + Gregory Nutt (2019-08-03). + * configs/sim/include/etc.tar.gz, nsh_romfsimg.h: Improve the format of + the /etc/passwd format. It is now a little more similar to other + systems. Add an /etc/group file to support future testing. From + Gregory Nutt (2019-08-03). + * libc/pwd: Added stubbed implementations. Added stubbed implementations + of getpwuid, getpwuid_r, getpwnam, and getpwnam_r. These functions are + essentially stubs pretending that NuttX supported users and that the + only configured user in the system was 'root' with uid 0. The intend + is not to provide meaningful new features, but to ease porting of + foreign source code to NuttX. From Michael Jung (2019-08-04). + * Rename the arch/risc-v/src/gap8/gap.h to arch/risc-v/src/gap8/gap8.h + From Kejun ZHOU (2019-08-04). + * libs/libc/pwd and libs/libc/grp: Modify to get user/group data from + /etc/passwd and /etc/group if so configurated. + libs/libc/pwd/lib_find_pwdfile.c: Add logic to look up user + information in /etc/passwd file, if available. + libs/libc/grp/lib_find_grpfile.c: Add logic to look up group + information in /etc/group file, if available. + From Gregory Nutt (2019-08-04). + * arch/arm/src/tiva: LM3S, LM4F, TM4C: Fix GPIO IRQ error, ports R, S, + T. Preprocessor logic for CONFIG_TIVA_GPIOx_IRQS was setting/clearing + port Q defines when it should act on ports R, S, T. gpioport2irq() was + missing handling for port T. From Nathan Hartman (2019-08-04). + * Move board-related files to new boards/ folder. This effectively + renames the configs/ directory to boards/. This is the first step in a + much larger effort. This is the proposed layout after all of the change: + + boards/: - folder containing board folders + : - name of each board + drivers/: - extra drivers specific for platform + include/: - header files for the boars + scripts/: - extra scripts specific for platform + src/: - board specific code + tools/: - extra tools specific for platform + configs/: - board specific configuration(s) + + Replaced configs/ with boards/ in: Kconfig, Makefile, tools/Makefile.*, + all Make.defs, tools/*.sh, tools/*.bat, tools/*.mk, .c and .h files + under boards/ From Alin Jerpelea (2019-08-05). + * Change naming configs/ to boards/ in comments, Documentation, etc. + From Gregory Nutt (2019-08-05). + * net/udp/udp_psock_sendto_buffered.c: Fixes a copy-paste error in the + new SO_LINGER code: CONFIG_TCP_NOTIFIER to CONFIG_UDP_NOTIFIER. From + Juha Niskanen (2019-08-05). + * Move board/ configuration directories to configs/ folder. This effects + all board directories under boards/. From Alin Jerpelea (2019-08-05). + * tools/configure.sh and configure.c. Update to preserve backward + compatibility in usage after the move of board configuration + directories under board/configs/. From Gregory Nutt (2019-08-05). + * tools/testbuild.sh: Fixes needed for changes to boards/ directory + structure. From Gregory Nutt (2019-08-05). + * Change references to boards// to + boards//configs/ in comments, Documentation, URLs. From + Gregory Nutt (2019-08-05). + * tools/refresh.sh: Fix the configuration refresh script for changes to + configuration paths. From Gregory Nutt (2019-08-05). + * boards/: Fix more comments related to the reorganization of the board + configuration directories. From Gregory Nutt (2019-08-05). + * kinetis: i2c transfer ensure correct result returned. + kinetis_i2c_transfer released the mutex then fetched the state, this + resulted in returning the correct results. From David Sidrane + (2019-08-05). + * tools/configure.sh and .c: When dumping available configurations, omit + the 'config/' in the path. From Gregory Nutt (2019-08-05). + * tools/: Change preferred argument of configurations tools to use ':' + as the delimiter between and . This is to + emphasize that this is not a path; it is configuration specification. + The legacy '/' delimiter is still supported but not recommend and not + advertised. Updated configurations instructions in README.txt files to + show ':' delimiter vs '/' delimiter. Update all configuration-related + tools to accept ':' separator between board and configuration name. + From Gregory Nutt (2019-08-05). + * sched/mqueue/mq_desclose.c: Add a test to verify that message queue is + closed by the same task group that opened it. If not, then list + corruption would result. This test is only performed if + CONFIG_DEBUG_FEATURES is enabled since it should not normally be an + issue: It would be a strange programming practice to open a message + queue in open task group, then close it in another. From 김정찬 + (2019-08-05). + * libs/libc/unistd: Stubs for setuid and setgid. Added stubbed + implementations of setuid and setgid. These functions are essentially + stubs pretending that NuttX supported users and groups and that the + only configured user and group in the system were both 'root' with a + uid and a gid of 0, respectively. The intent is not to provide + meaningful new features, but to ease porting of foreign source code to + NuttX. From Michael Jung (2019-08-06). + * drivers/pipes: Use inode reference counter instead of device reference + counter to handle dup(). I found that if I dup() a pipe, the reference + counter d_refs is not increased. If I close any of the fd, backed by + the same pipe, the pipe will be freed. This causes any further usage + on the fd referencing a non existent pipe. This change uses the inode + reference counter, which is properly maintained during dup(). From + Yang ChungFan (2019-08-06). + * arch/arm/src/stm32h7: Fix UART7/8 typos. Fix bug in ETH_MACQTXFCR + configuration. From Markus Bernet (2019-08-06). + * tools/configure.sh: Restore support for custom, out-of-tree + configurations that was broken in a previous commit. From Gregory Nutt + (2019-08-06). + * Group boards by architecture. All boards that share the same + architecture are moved to the same arch folder following the SoC + layout. For example, all ARM board configurations moved from + boards/board to boards/arm/board. From Alin Jerpelea (2019-08-06). + * tools/: Update configuration-related tools for last change to boards/ + directory organization. From Gregory Nutt (2019-08-06). + * tools/configure.sh: Needs to be able to run from the tools + sub-directory. From Gregory Nutt (2019-08-06). + * defconfigs: paths assigned to CONFIG_PASS1_BUILDIR must now include + the architecture. From Gregory Nutt (2019-08-06). + * boards/arm: Update paths to linker scripts in kernel/Makefile files. + From Gregory Nutt (2019-08-06). + * libs/libc/unistd.h: Add getuid() and getgid() to match Michael Jung's + setuid() and setgid(). From Gregory Nutt (2019-08-06). + * sched/group and syscall/: Implement 'real' setuid, getuid, setgid, and + getgid interfaces. These will be inheritance by all child task + groups. From Gregory Nutt (2019-08-06). + * arch/arm/src/armv7-m: Add ARMv7-M setjmp/longjump functions. From + David S. Alessio (2019-08-06). + * arch/arm/src/tiva/common/tiva_timerlib.c: Fix minor errors in + tiva_timerlib + Fix incorrect preprocessor conditionals related to Kconfig defines: + - CONFIG_TIVA_TIMER32_EDGECOUNT -> CONFIG_TIVA_TIMER16_EDGECOUNT + - CONFIG_TIVA_TIMER32_TIMECAP -> CONFIG_TIVA_TIMER16_TIMECAP + - CONFIG_TIVA_TIMER32_PWM -> CONFIG_TIVA_TIMER16_PWM + From Nathan Hartman (2019-08-06). + * Tiva: Fix errors in low-level timer support + arch/arm/src/tiva/common/tiva_timerlib.c: + - tiva_gptm_configure() and tiva_gptm_release(): Fix error: Was calling + tiva_emac_periphrdy() instead of tiva_gptm_periphrdy(). + arch/arm/src/tiva/tiva_timer.h: + - Fix error in "abcde" description of bit flag defines. + From Nathan Hartman (2019-08-07). + * arch/arm/src/lpc17xx_40xx/Kconfig: Add missing + LPC17_40_PHY_CEMENT_DISABLE config to the lpc17xx Kconfig file. For + some reason this config wasn't referenced anywhere else except in + arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c. From Augusto Fraga + Giachero (2019-08-07). + * arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c: Follow the procedure + listed in the LPC176x/5x User Manual when reading from and writing to + the PHY's registers (section 10.11.14). I couldn't see any behavioral + change after this commit, but nonetheless is a good practice to follow + the manufacturer's recommended procedure. From Augusto Fraga Giachero + (2019-08-07). + * arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c: Fix the initialization + for DP83848x PHYs. The DP83848x requires the RMII mode to be manually + enabled through the MII_DP83848C_RBR register. Before querying the + speed and mode it should wait for the link to be established. From + Augusto Fraga Giachero (2019-08-07). + * Group boards based on chip. All boards based on the same chip are + moved to the same folder. For example, all STM32 configurations moved + from boards/arm/board to boards/arm/stm32/board. From Alin Jerpelea + (2019-08-07). + * Add defconfig files must include CONFIG_ARCH_CHIP= to break and + chicken-and-egg problem. From Gregory Nutt (2019-08-07). + * arch/sim: Even though the simulation has no "chips", it needs to have + CONFIG_ARCH_CHIP and chip sub-directories. Otherwise, we would have to + treat it as a special case in the build system. From Gregory Nutt + (2019-08-07). + * tools/: Update and verify all configuration related tools with new, + boards directory layout. From Gregory Nutt (2019-08-07). + * defconfigs: All paths assigned to CONFIG_PASS1_BUILDIR must include + the chip name. From Gregory Nutt (2019-08-07). + * arch/arm/src/tiva/common/tiva_timerlib.c: Fix one code error and some + comment errors. tiva_timer16_setinterval(): Was DEBUGASSERTing on mode + != TIMER16_MODE. Fixed to DEBUGASSERT on mode == TIMER16_MODE. From + Nathan Hartman (2019-08-07). + * boards/Board.mk: Correct a simulator inclusion path problem introduced + by reorganization of arch/sim/src. From Gregory Nutt (2019-08-08). + * drivers/sensors/sht3x.c: Add Sensirion SHT3x driver. From Markus + Bernet (2019-08-08). + * Beginning to update comments to reflect new organization of the boards/ + sub-directory. From Gregory Nutt (2019-08-08). + * After restructuring the boards/ directory, it is time for code style + cleanup: hc, mips. From Alin Jerpelea (2019-08-08). + * Update more comments and README.txt files to reflect new organization + of the boards/ sub-directory. From Gregory Nutt (2019-08-08). + * Documentation: Update some documents affected by the change in the + organization of the boards/ sub-directory. From Gregory Nutt + (2019-08-08). + * boards/arm/lpc17xx_40xx/u-blox-c027/configs/nsh/defconfig: Remove + stray character in defconfig file. From Gregory Nutt (2019-08-08). + * STM32F7: Ethernet add timeout on MAC reset From David Sidrane + (2019-08-08). + * tools/testbuild.sh: Remove some recently introduced echo's that + clutter the build test output From Gregory Nutt (2019-08-08). + * Documentation/README.html: Update for new boards/ sub-directory + layout. From Gregory Nutt (2019-08-08). + * README.txt: Update for new boards/ sub-directory layout. From Gregory + Nutt (2019-08-08). + * arch/arm/include/armv7-m/nvicpri.h: In the 'normal' case, the priority + of the SVCALL interrupt was the same as the priority of the high + priority interrupt. This means that SVCALL interrupt processing can + defer the high priority interrupt and result in the jitter in that + interrupt response. Fix is to raise the priority of the high priority + interrupt above the priority of the SVCALL interrupt. Suggested by + Nathan Hartman. From Gregory Nutt (2019-08-09). + * After restructuring the boards/ directory, it is time for code style + cleanup: misoc, or1k, renesas, risc-v, sim, x86, xtensa, z16, z80 From + Alin Jerpelea (2019-08-09). + * Documentation/NuttX.html: Adjust URLs to board README.txt files to + account for changes in boards/ sub-directory reorganization. From + Gregory Nutt (2019-08-09). + * This commit removes CONFIG_ARCH_INT_DISABLEALL. In the normal course + of things, interrupts must occasionally be disabled using the + up_irq_save() inline function to prevent contention in use of resources + that may be shared between interrupt level and non-interrupt level + logic. Now the question arises, if we are using BASEPRI to disable + interrupts and have high priority interrupts enabled + (CONFIG_ARCH_HIPRI_INTERRUPT=y), do we disable all interrupts except + SVCall (we cannot disable SVCall interrupts). Or do we only disable + the "normal" interrupts? If we are using the BASEPRI register to + disable interrupts, then the answer is that we must disable ONLY the + "normal interrupts". That is because we cannot disable SVCALL + interrupts and we cannot permit SVCAll interrupts running at a higher + priority than the high priority interrupts (otherwise, they will + introduce jitter in the high priority interrupt response time.) Hence, + if you need to disable the high priority interrupt, you will have to + disable the interrupt either at the peripheral that generates the + interrupt or at the NVIC. Disabling global interrupts via the BASEPRI + register cannot effect high priority interrupts. From Gregory Nutt + (2019-08-09). + * Tiva GPTM timers: Implement 16-bit PWM mode + arch/arm/src/tiva/Kconfig: + - Remove EXPERIMENTAL dependency on TIVA_TIMER16_PWM. + arch/arm/src/tiva/common/tiva_timerlib.c: + - Fix wrong 32/16-bit ifdef checks. + - Add tiva_pwm16_sel_event() to choose GPTMCTL.TnEVENT value. + - Implement tiva_pwm_mode16(). + - tiva_timer16_setinterval(): Fix wrong check for TIMER16_MODE_ONESHOT + and TIMER16_MODE_PERIODIC. Was comparing to config->cmn.mode which + can never have those values. This prevented interrupts being enabled. + Compare to timer->mode instead. + - Add tiva_timer16pwm_setperiodduty() to set initial period, duty + cycle, and enable interrupts if requested in GPTM peripheral. + Interrupts are not enabled in NVIC until tiva_timer16_start() is called. + - Add tiva_timer16pwm_setduty() to update duty cycle at any time. + arch/arm/src/tiva/hardware/lm/lm3s_timer.h, + arch/arm/src/tiva/hardware/lm/lm4f_timer.h, + arch/arm/src/tiva/hardware/tm4c/tm4c123_timer.h, + arch/arm/src/tiva/hardware/tm4c/tm4c129_timer.h: + - Add missing defines; make surrounding defines consistent. + arch/arm/src/tiva/tiva_timer.h: + - Add new TIMER_FLAG_* configuration flags to enable configuring + the16-bit PWM feature. Extend type of "flags" in tiva_timer32config_s + and tiva_timer16config_s from 8- to 32-bits to allow more flags. + From Nathan Hartman (2019-08-09). + * boards/arm/efm32/olimex-efm32g880f128-stk/src/.gitignore: Restore + .gitignore file that was lost in the boards/ directory reorganization. + From Nathan Hartman (2019-08-09). + * STM32F7: USART1_RXDMA is dependent on STM32F7_DMA2 not STM32F7_DMA1 + From Anthony Merlino (2019-08-09). + * arch/arm/include/cxd56xx/chip.h: The NVIC priority correction of + commit c300f271303e04d5a7a1e42973a02115ed062cb0 must be applied to the + CXD56xx too. From Gregory Nutt (2019-08-10). + * - arch/arm/src/{stm32/stm32f7/stm32h7/stm32l4}/stm32_pwm.c: Configure + multi-channel duty only if channel specified. This allows you to + update duty cycle for a single channel + - nucleo-f303re/configs: add basic NSH configuration + - nucleo-f303re/configs/pwm: enable console on UART2 and set entry + point to nsh_main + From raiden00pl (2019-08-10). + * Change all occurrences of /bin/(ba)sh to /usr/bin/env bash which + appears more portable From Manuel Stühn (2019-08-10). + * sched/group/group_setuid.c and group_setguid.c: Verify that the + UID/GID is within range. From Gregory Nutt (2019-08-10). + * wireless/ieee802154/mac802154_netdev: Allow 64-bit prefix to be + configurable when auto-configuring the IPv6 address during bring-up. + Previously, the link-local prefix fe80::/64 was used. Also, put the + network in the DOWN state at the end of initialization. From Anthony + Merlino (2019-08-10). + * wireless/ieee8021254: Adds support for energy detect. Adds support + for energy detect by introducing a new radio call/callback, as the PHY + layer is required to perform the energy detect. From Anthony Merlino + (2019-08-10). + * MAC attributes + - wirelesss/ieee802154/mac802154: Makes comment more clear that it's + related to an outbound frame, not an incoming frame. + - wireless/ieee802154: Adds support for getting/setting + macMaxFrameRetries via IOCTL + - wireless/.ieee802154/mac802154: Add get support for rxonidle + attribute + From Anthony Merlino (2019-08-10). + * wirelesss/ieee802154/mac802154: Moves iobuffer into macnet struct so + that more than one macnet dev can exist. From Anthony Merlino + (2019-08-10). + * drivers/usbdev/rndis: Expose option to change number of write requests + that can be in flight. From Anthony Merlino (2019-08-10). + * net/ipforward: Check if interface is up early on when forwarding to + avoid extra work. As noticed in a previous wireless commit, when + forwarding is enabled and a packet comes in, the packet is attempted to + be sent on each other netdev without regard for whether it is in the UP + state. Of course this is eventually caught, but it can be caught + earlier to avoid unnecessary work, especially in the 6LoWPAN case where + a useless packet conversion will occur. From Anthony Merlino + (2019-08-10). + * clock.h: Copies in missing function documentation from C file. From + Anthony Merlino (2019-08-10). + * ieee802154: Support dynamic FCS length. Adds + IEEE802154_ATTR_PHY_FCSLEN. This change introduces + IEEE802154_ATTR_PHY_FCSLEN which the radio layer can support to set/get + the FCS length that's added to the end of the frame. One use case, in + promiscuous mode, is to add back in the FCS of the received frame by + increasing the iob->io_len by the FCS length. From Anthony Merlino + (2019-08-10). + * wireless network devices: Attach radio to d_buf before registering + device to handle forwarding case. When CONFIG_NET_IPFORWARD is + enabled, and CONFIG_NET_6LOWPAN is being used, a packet that attempts + to get forwarded on the 6LoWPAN interface will require that the radio's + buffer be attached to d_buf. Otherwise the below exception will be + hit. ~line 542 of sixlowpan_framelist.c: + + ... + /* Recover the reassembly buffer from the driver d_buf. */ + + reass = (FAR struct sixlowpan_reassbuf_s *)radio->r_dev.d_buf; + DEBUGASSERT(reass != NULL); + ... + + The underlying "radio" in this case is the mac802154_netdev. This + behavior has probably not been observed because the buffer is normally + attached in the periodic txpoll worker. However, in my case, the + 6LoWPAN interface was not UP yet, and therefore the worker hadn't run + yet. From Anthony Merlino (2019-08-10). + * mac802154: Fixes issues with extended address. 1) Extended address + should be read-only. 2) Extended address should be placed in frame in + "reverse-canonical" order. The extended address is a read-only + attribute and thus an attempt to write the extended address should be + denied. Instead, the extended address should really be either set by + the PHY/radio itself, or provided at board bring-up time to the radio + layer. The MAC layer now pulls in the extended address from the radio + any time the MAC is reset. The extended address is also supposed to be + sent in the frame in reverse-canonical order. This is very confusing in + the standard and it wasn't until I realized it was backwards in + Wireshark that I researched this further. Searching online I find + documents from the committee for suggestions/feedback on the future + standard. It isn't in the 2015 standard but a newer version of the + standard will presumably clarify this. It says that the extended + address should be written in reverse-canonical form, meaning the OUI + comes last, not first inside the frame. From Anthony Merlino + (2019-08-10). + * mac802154: Fixes issue where the txdesc's ackreq flag was not being + set, despite the frame containing a Frame Control field with ACKREQ bit + set. From Anthony Merlino (2019-08-10). + * arch/arm/src/stm32f7: Exposes stm32_flash_xxx functions. From Anthony + Merlino (2019-08-10). + * libs/libc/grp and pwd: Revisit file locks. Use uintptr_t vs void * to + encode mixed pointers and integer values. From Gregory Nutt + (2019-08-11). + * After restructuring the boards/ directory, it is time for code style + cleanup: ARM part I From Alin Jerpelea (2019-08-12). + * This commit brings the initial files for a port to the NXP S32K1xx + family. This is very much a work in progress and is little more that a + partial configuration/build environment and some S32K1xx register + definition header files + - Basic configuration logic for the S32K1 family. + - arch/arm/src/s32k1xx: Add initial Make.defs files. + - arch/arm/src/s32k1xx/hardware/s32k1xx_scg.h: Add SCG register + definition file. + - arch/arm/src/s32k1xx/hardware/s32k1xx_pcc.h: Add PCC register + definition file. + - arch/arm/src/s32k1xx/hardware/s32k1xx_cmu.h: Add CMU register + definition file. + - arch/arm/src/s32k1xx/hardware/s32k1xx_memorymap.h: Add memory map + definition file. + - arch/arm/src/s32k1xx/hardware/s32k1xx_mcm.h: Add MCM register + definition file. + From Gregory Nutt (2019-08-12). + * boards/arm/timva/tm4c123g-launchpad: Update paths for boards/ + restructuring. Update paths to board directories in documentation and + scripts. From Nathan Hartman (2019-08-12). + * arch/arm/src/s32k1xx/hardware/s32k1xx_sim.h: Add SIM register + definition file. From Gregory Nutt (2019-08-12). + * arch/arm/src/s32k1xx/hardware/s32k1xx_port.h: Add PORT register + definition file. From Gregory Nutt (2019-08-13). + * libs/libc/math.csv: Correct format of some function entries. From + Pavel Pisa (2019-08-13). + * libs/libc/libc.csv: Correct dependency of setlocale on + CONFIG_LIBC_LOCALE. From Pavel Pisa (2019-08-13). + * symtab/, tools/: NuttX provides lists of available syscalls and + library functions and tools to process them. The lists can be used to + build symbol table which allows runtime program loading which can reuse + functions already compiled into NuttX system image. List processing, + compilation and linking to the final system image has been possible + only under manual control until now. Provided changes add option + (CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYMTAB) to build complete list of + available functions and syscalls automatically. The symbolic table is + generated in form libsymtab.a which can be reused by application or + directly pull in when "g_symtab" and "g_nsymbols" variables are + requested by EXECFUNCS configuration. I have tried to follow + mechanisms for library compilation in different kernel protection modes + but tested only flat no-MMU build. The basic assumption is that this + library and libraries providing syscall stubs and C-library functions + are available in user-space context and initial application (usually + NSH) registers the symbol table through IOCTL. The table can be reused + then by another applications in their address space as kernel allows. + Simple for flat or protected mode, I am not sure if really support in + MMU mode. It is highly probable that I have made some mistake, + overlooked something, but functionality is optional (should not cause + troubles in any mode if disabled) and main purpose is to lower memory + overhead when more applications are loaded on memory constrained system + which usually use direct kernel calling without protection or address + space separation. If the table should be provided by kernel to + applications then makefiles has to be adjusted. From Pavel Pisa + (2019-08-13). + * symtab/Makefile: The OS symbol table should not be generated in the + PROTECTED and KERNEL build modes. In those modes, the applications + should link with libproxy which will provide symbol-compatible access + to OS functions via a call gate. From Gregory Nutt (2019-08-13). + * arch/arm/src/s32k1xx/hardware/s32k1xx_gpio.h: Add GPIO register + definition file. From Gregory Nutt (2019-08-13). + * After restructuring the boards/ directory, it is time for code style + cleanup: ARM part II From Alin Jerpelea (2019-08-13). + * arch/arm/src/s32k1xx/hardware/s32k1xx_dmamux.h: Add DMAMUX register + definition file. From Gregory Nutt (2019-08-13). + * arch/arm/src/s32k1xx/hardware/s32k1xx_wdog.h and s32k1xx_ewm.h: Add + WDOG and EWM register definition file. From Gregory Nutt (2019-08-13). + * arch/arm/src/s32k1xx/hardware/s32k1xx_crc.h: Add CRC register + definition file. From Gregory Nutt (2019-08-13). + * arch/arm/src/s32k1xx/hardware/s32k1xx_rcm.h: Add RCM register + definition file. From Gregory Nutt (2019-08-13). + * arch/arm/src/imxrt: Fix some errors in the LPUART register definition + files. Correct naming of a function: up_earlyserialinit() should be + imxrt_earlyserialinit(). Remove prototypes for non-existent serial + initialization functions. From Gregory Nutt (2019-08-13). + * arch/arm/src/s32k1xx: Bring in the LPUART from i.MXRT. It is the same + IP. From Gregory Nutt (2019-08-13). + * symtab/Makefile: Fix an error in the clean target. From Gregory Nutt + (2019-08-13). + * include/sys/syscall.h: Correct some typos. From Pavel Pisa (2019-08-13). + * arch/arm/src/lpc17xx_40xx/lpc17_40_can.c: If BOARD_CCLKSEL_DIVIDER is + not equal to 1 on LPC178x or LPC40xx then base clock rate is calculated + incorrectly because CCLK frequency does not correspond to PLL0 clock + which is used for PCLK. This is partially workaround solution. It + would be probably better to define BOARD_PCLK_FREQUENCY even for + LPC176x targets and use that to replace divisor by base_clock in + up_dev_s. From Pavel Pisa (2019-08-13). + * arch/arm/src/s32k1xx: Fix some sub-directory names. From Gregory Nutt + (2019-08-13). + * arch/arm/src/s32k1xx: Bring in Cortex-M0+ Systick and interrupt + handling from samd2l2; bring in Cortex-M4F Systick and interrupt + handling from LPC54xx. From Gregory Nutt (2019-08-13). + * After restructuring the boards/ directory, it is time for code style + cleanup: ARM part III From Alin Jerpelea (2019-08-14). + * After restructuring the boards/ directory, it is time for code style + cleanup: ARM part IV From Alin Jerpelea (2019-08-14). + * This commit adds initial board support for the NXP S32K118EVB. This + configuration is intended, initially, to support development of the + architecture support. This is VERY much a work in progress and you + should not use this configuration unless you are interested in + assisting with the bring-up. + - boards/arm/s32k1xx/s32k118evb: Add initial support for the NXP + S32K118EVB. + - boards/: Hook the S32K118EVB board into the configuration system. + - boards/arm/s32k1xx/s32k118evb/scripts: Add linker scripts and + Make.defs. + - boards/arm/s32k1xx/s32k118evb/configs/nsh: Add a basic NSH + configuration. From Gregory Nutt (2019-08-14). + * Flesh out a few more things needed to compile and build the S32K118EVB + board configuration. + - arch/arm/include: Add interrupt IRQ numbers. + - tools/: Add support for the S32K1XX family. + From Gregory Nutt (2019-08-14). + * symtab/Makefile: When system wide locale is set (i.e. en_US.UTF-8) + then 'read' is ordered after 'readdir' even if separator is set to + quotation mark and key set to 2. When C locale is used result is + correct. From Pavel Pisa (2019-08-14). + * arch/arm/src/lpc17xx_40xx/Make.defs: Cortex-M system reset is + applicable to LPC17_40 too. From Pavel Pisa (2019-08-14). + * arch/arm/src/s32k1xx: A few fixes. The build progresses further but + still fails. From Gregory Nutt (2019-08-14). + * boards/arm/s32k1xx/s32k118evb: More build fixes. From Gregory Nutt + (2019-08-14). + * - stm327f: Kconfig add depends on BBSRAM + - STM32H7: memorymap fix BBSRAM name + - STM32H7: Add BBSRAM support + From David Sidrane (2019-08-15). + * After restructuring the boards/ directory, it is time for code style + cleanup: ARM part V From Alin Jerpelea (2019-08-15). + * arch/arm/src/s32k1xx/s32k1xx_clockconfig.h: Add data structures that + will eventually be used to configure clocking. From Gregory Nutt + (2019-08-15). + * arch/arm/src/tiva, arch/arm/include: Add support for Tiva + TM4C123AH6PM. From Nathan Hartman (2019-08-15). + * libs/libc/libc.csv: Add some missing C library functions. From Pavel + Pisa (2019-08-15). + * binfmt/: Change debug macro from berr() to binfo() when dumping module + data. The report of problems is important during development but when + it enables complete informative output about load binaries then the + important information can be easily overlooked. The huge output sent + to serial terminal slows loading significantly as well. From Pavel + Pisa (2019-08-15). + * Serial single-wire: add possibility to specify pull-up instead of open + drain From Beat Küng (2019-08-15). + * boards/arm/s32k1xx/s32k118evb/src/s32k118_clockconfig.c: Add clock + configuration data for the S32K118EVB. From Gregory Nutt (2019-08-15). + * arch/arm/src/tiva/common/tiva_irq.c: Add handling for IRQs 128 thru + 159. Handling was missing for these IRQs, resulting in compiler + warning(s) for 'Missing logic' and/or 'Missing output.' From Nathan + Hartman (2019-08-15). + * arch/arm/src/s32k1xx/Kconfig: Break out some feature configurations + instead of relying on MCU selections for conditional logic. From + Gregory Nutt (2019-08-15). + * arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: First feeble fragments of + clock configuration logic. From Gregory Nutt (2019-08-15). + * arch/arm/src/tiva: Modify preprocessor logic to support configs with + no UART. Now similar to logic for other archs, such as + arch/arm/src/a1x/a1x_lowputc.c and + arch/arm/src/am335x/am335x_lowputc.c. This change eliminates compiler + errors and warnings that were breaking the build with "No + CONFIG_UARTn_SERIAL_CONSOLE Setting" when no UARTs / console were + configured. From Nathan Hartman (2019-08-15). + * ieee802154/sixlowpan: Removes unnecessary conversions that were + happening due to a misunderstanding of byte ordering with EUI-64. + Conflicts: drivers/wireless/ieee802154/xbee/xbee_netdev.c From + Anthony Merlino (2019-08-16). + * Mac802154 fixes + - wireless/ieee802154/mac802154: Frame Version should have been 1, but + was being set to 3 when payload exceeds version 0 capabilities. + - wireless/ieee802154/mac802154: Corrects function reference in warning + print-out + - wireless/ieee802154/mac802154/sixlowpan: Adds warning to build to + indicate what is noted in the menu for CONFIG_MAC802154_NTXDESC + From Anthony Merlino (2019-08-16). + * After restructuring the boards/ directory, it is time for code style + cleanup: ARM part VI From Alin Jerpelea (2019-08-16). + * drivers/wireless/ieee802154/xbee: Fix logic to prevent deadlock + scenario when there are no available IOBs From Anthony Merlino + (2018-12-21). + * drivers/wireless/ieee802154/xbee: Change assumption about destination + address mode for incoming frames. If a short address has been assigned + to our radio, then assume we were addressed using that. Otherwise we + were addressed using our extended address. From Anthony Merlino + (2019-01-10). + * drivers/wireless/ieee802154/xbee: Initialize the short address to the + unspecified address and query for the extended address on init. From + Anthony Merlino (2019-01-10). + * drivers/wireless/iee802154/xbee: Support "WR" AT command for writing + parameters to non-volatile memory. From Anthony Merlino (2019-01-10). + * drivers/wireless/ieee802154/xbee: Adds CONFIG_XBEE_LOCKUP_WORKAROUND + option and corresponding logic to workaround an issue where the XBee + locks up and stops responding. This typically happens when there is a + lot of data being received over the link. When the XBee stops + responding, many times, querying the XBee kicks it out of this state. + However, occasionally the XBee is completely locked up and the XBee has + to be reset. This change handles these conditions by periodically (if + not naturally occurring) querying the XBee. If during any query, the + XBee does not respond within a certain number of attempts, the XBee is + reset. From Anthony Merlino (2019-01-10). + * drivers/wireless/ieee802154/xbee: Cancel query timeout upon receiving + the expected response. Add protection for race condition that can + cause association timeout to continue firing repeatedly From Anthony + Merlino (2019-01-11). + * drivers/wireless/ieee802154/xbee: Detect lockup and reset XBee in + xbee_req_data From Anthony Merlino (2019-01-16). + * - arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: Finishes the + implementation of the core clock configuration logic. + - arch/arm/src/s32k1xx/hardware/s32k1xx_smc.h: Add SMC register + definition header file. + - arch/arm/src/s32k1xx: Bring in GPIO logic from Kinetis. Looks like + the same IP. + From Gregory Nutt (2019-08-16). + * IOB instrumentation + - mm/iob: Introduces producer/consumer id to every iob call. This is + so that the calls can be instrumented to monitor the IOB resources. + - IOB instrumentation - Merges producer/consumer enumeration for + simpler IOB user. + - fs/procfs: Starts adding support for /proc/iobinfo + - fs/procfs: Finishes first pass of simple IOB user statistics and + /proc/iobinfo entry + From Anthony Merlino (2019-08-16). + * arch/arm/src/s32k1xx/hardware/s32k1xx_pmc.h: Add PMC register + definition header file. From Gregory Nutt (2019-08-16). + * boards/README.txt: Update for changes to the organization of the + boards/ directory. From Gregory Nutt (2019-08-16). + * stm32h7 RTC and friends support + - STM32H7: Removed f7 in file path + - STM32F7: Fix overwritten IRQ enabled. System boot order calls + clock_initialize then up_initalize. clock_initialize was setting up + the alarm IRQ up_initalize is initializing the NVIC. This most likely + worked in the past due to a bug in the NVIC init code that failed to + clear the Interrupt enables. That was fixed in 510b0f7e + arch/arm/src: Correct all ARMv7-M architectures. Interrupts were + not be disabled correctly on power up. + - STM32H7:Ported over F7 RTC + - nucleo-h743zi:Add RTC + From David Sidrane (2019-08-17). + * Finishes peripheral clock initialization: + - arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: Add SIM clock + configuration. + - arch/arm/src/s32k1xx/s32k1xx_periphclocks.c: Add logic to initialize + peripheral clocking. + - boards/arm/s32k1xx/s32k118evb/src/s32k118_periphclocks.c: Provides + initial clocking for for the S32K118EVB + - arch/arm/src/s32k1xx/s32k11x/s32k11x_clockmapping.c and + arch/arm/src/s32k1xx/s32k14x/s32k14x_clockmapping.c: Provide + MCU-specific mapping of clock names to PCC control registers. + From Gregory Nutt (2019-08-17). + * - arch/arm/src/s32k1xx: Add peripheral feature arrays. + - arch/arm/src/s32k1xx/: Add logic to look up the peripheral clock + frequency. Fix baud calcuation logic in s32k1xx_lowputc.c: In no + longer tries to enable clocking. That must be done with board + logic. Now gets the peripheral functional clock frequency to + determine the baud rate. + From Gregory Nutt (2019-08-17). + * arch/arm/src/s32k1xx/s32k1xx_edma.c: Leverage eDMA logic from i.MXRT + to S32K1XX. Appears to be the same IP but with fewer channels and + features than the i.MXRT implementation. From Gregory Nutt (2019-08-17). + * - arch/arm/src/s32k1xx/s32k1xx_pin.c and .h: The device does not + support slew rate controls or open drain (on all the pins). Only + pins that are configured for a protocol that requires open-drain + (e.g;, LPI2C, LPUART single-wire) will work in open-drain mode. + - arch/arm/src/s32k1xx/s32k1xx_pin.c and .h: Add support for PIDR + register that disables a general purpose pin from acting as an input. + - arch/arm/src/s32k1xx/hardware: Add pin mux definitions for S32K116, + 118, 142, 144, 146, and 148. + - boards/arm/s32k1xx/s32k118evb/include/board.h: Add LPUART0 pin + disambiguation. + - boards/arm/s32k1xx/s32k118evb: Implement board support for LEDs and + buttons. This is taken from the Freedom-K66f with has the same LED + and button configuration as the S32K116EVB and uses the same GPIO + IP. From Gregory Nutt (2019-08-18). + * This commit brings the S32K118EVB board to code complete and ready for + testing. This commit adds some minor initialization fixes (like + disabling the WDOG, enabling the I-cache, and initializing the MPU. It + brings more files in from the Kinetis port for the IDLE loop and for + GPIO functionality. This also address register definition header file + for LMEM and MPU. From Gregory Nutt (2019-08-18). + * This commit adds support for the S32K146EVB + - arm/s32k1xx/s32k146evb: Initial support fof S32K146EVB. Starting + point is just the S32K118EVB with name changes. + - boards/arm/s32k1xx/s32k146evb/src/s32k146_periphclocks.c: Update + peripheral clocking for the S32K146. + - s32k146_clockconfig.c: Add S32K146 clock configuration. + - boards/: Hook the S32K146EVB into the configuration and build system. + - s32k1xx/s32k146evb/scripts/flash.ld: Update the linker script for + the S32K146. + From Gregory Nutt (2019-08-19). + * After restructuring the boards/ directory, it is time for code style + cleanup: ARM part VII From Alin Jerpelea (2019-08-19). + * mac802154: Defers handling of extracting association response to LPWORK + queue. From Anthony Merlino (2019-08-19). + * arch/arm/src/s32k1xx/s32k14x and boards/arm/s32k1xx/s32k146evb/src: + Numerous fixes to get a clean build of the S32K146EVB. From Gregory + Nutt (2019-08-19). + * arch/arm/src/imxrt/imxrt_usdhc.c: uSDHC typo fixes and command transfer + error handling modified. From Ivan Ucherdzhiev (2019-08-19). + * Kconfig, include/debug.h, and drivers/contactless: Add debug macros + for contactless. The various contactless device drivers currently + define device specific debug macros within their local header files. + This patch adds generic ctls[info|warn|err] macros for the overall + contactless subsystem to be used in future drivers. Ported the two + currently available contactless device drivers (mfrc522.c and pn532.c) + to these generic logging macros and fixed some logging bugs along the + way. From Michael Jung (2019-08-19). + * mm/iob/iob_statistics.c: Fix an error found in build testing. Must + include nuttx/mm/iob.h. From Gregory Nutt (2019-08-19). + * - Save CONFIG_ARCH_BOARD_CUSTOM when running 'make savedefconfig' + - Made grep search expression more specific. + From jjlange (2019-08-19). + * fs/procfs/fs_procfsiobinfo.c: Fix error found in build testing. + Needs to include nuttx/mm/iob.h. From Gregory Nutt (2019-08-19). + * arch/arm/src/s32k1xx/s32k1xx_clockconfig.c and related files: Fix + confusion about who decrements the register value. Some dividers may + have a function range of 1..8 but the register value is 0..7. There + were several places where values were getting decremented twice: Once + by higher up logic and once by the register access logic. A such + dividers were reviewed and, hopefully, all were fixed. From Gregory + Nutt (2019-08-19). + * boards/arm/stm32h7/nucleo-h743zi/src/nucleo-h743zi.h: Correct logic + that determines if the RTC driver is available. Find in build + testing. From Gregory Nutt (2019-08-19). + * - Added a missing '=' in the second grep statement + - Save CONFIG_ARCH_BOARD_CUSTOM when running 'make savedefconfig' + From jjlange (2019-08-19). + * STM32H7: Port DTCM from F7 From David Sidrane (2019-08-19). + * STM32H7: Ported UID from F7 From David Sidrane (2019-08-19). + * drivers/ieee802154/xbee: Add configuration option for setting the + default prefix to use when bringing up the network and setting the IP + address. Conflicts: drivers/wireless/ieee802154/xbee/xbee_netdev.c + From Anthony Merlino (2019-08-19). + * xbee: Fixes one instance of the use of IOBUSER_WIRELESS_MAC802154 + which isn't available without the software MAC layer. Instead we use + IOBUSER_WIRELESS_RAD802154 throughout the whole driver since it is + always available when IEEE 802.15.4 support is enable. From Anthony + Merlino (2019-08-19). + * - STM32H7: DMA Fix compiler warning + - STM32H7: DMA Fix coding style + - STM32H7: Serial fix undefined with TERMIOS + From David Sidrane (2019-08-20). + * - STM32H7: SPI allow more clock sources + - STM32H7 has ARCH_HAVE_I2CRESET + From David Sidrane (2019-08-20). + * With these changes the S32K146EVB minimal NSH is functional. Only + verified while running from SRAM. + - boards/arm/s32k1xx/s32k*evb/configs/nsh/defconfig: Create Motorola + SREC output format. + - arch/arm/src/s32k1xx/s32k1xx_wdog.h: Fix a typo in a register name.i + - arch/arm/src/s32k1xx/s32k1xx_clockconfig.h: Remove crystal + frequency, it is not used. + - boards/arm/s32k1xx/s32k118evb: Add support for execution out of + SRAM. This is helpful for bringup when you want to avoid putting a + lethal image in FLASH. + - arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: Clean up some bad + conditional logic. Precedence of operators problem. + - arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: Fix another problem + related to whether a divider is pre-decremented or not. The answer + must be the divder values are never pre-decremented. They are + decremented just before being written to hardware. + - arch/arm/src/s32k1xx/s32k1xx_periphclocks.c and related files: Fix + yet another case of confusion between pre-decremented and + non-decremented divider values. Enforce the rule that dividers are + not decremented until the moment they are written into registers. + - arch/arm/src/s32k1xx/s32k1xx_lowputc.c: Fix a typo that prevented + LPUART1 from working. + From Gregory Nutt (2019-08-20). + * This commit adds support for the NXP S32K148EVB + - boards/arm/s32k1xx/s32k148evb: Initial S32K148EVB. Initial commit + is just clone of S32K146EVB with file name changes + - boards/arm/s32k1xx/s32k148evb: Change all occurrences of 146 to 148. + - boards/arm/s32k1xx/s32k148evb: Correct LED and button pin number + for the S32K148EVB. + - arm/s32k1xx/s32k148evb: Verify core and peripheral clocking. It is + the same as the S32K146EVB. Fixed one-too-many copy-paste error in + both. + - boards/arm/s32k1xx/s32k148evb: Correct linker scripts for the + S32K148, Update README files, Hook the S32K148EVB into the + configuration and build system. + From Gregory Nutt (2019-08-20). + * - boards/: Add stub drivers folder for later use. In this folder we + should place drivers that are platform specific and depend on HW + that is present only on a specific platform. NOTE: All shared + drivers should go to the regular driver folder + - tools: Shift BOARD_DIR one level up. In preparation for drivers + and common folders we are moving the BOARD_DIR path up one level. + - tools: Add drivers/platform symlink. Link the + boards///drivers dir to drivers/platform + - drivers: Add platform specifc drivers extension. There are + platforms that use specific drivers and we should be able to include + those drivers in the build. + - board: cxd56xx: drivers: add AK09912 driver for SCU. This is a + platform specific driver connected on the SCU unit. From Alin + Jerpelea (2019-08-21). + * Register a character driver for UUID of AT24CSxx chips. Allows the + UUID to read as a file or displayed from an nsh prompt with: hexdump + /dev/eeprom.uuid From David Alessio (2019-08-21). + * drivers/mmcsd: Added support for MMC(eMMC) bigger than 2 GB (Tested + with IMXRT1050EVKB and samsung eMMC 16GB). arch/arm/src/imxrt: IMXRT + uSDHC driver cmd line reset logic modified. From Ivan Ucherdzhiev + (2019-08-21). + * drivers/mmcsd/mmcsd_sdio.c: Copy/paste error fix for MMC. From Ivan + Ucherdzhiev (2019-08-21). + * arch/arm/src/s32k1xx: This commit brings in the LPSPI and LPI2C + peripheral drivers from the i.MXRT which used the identical IP. + - arch/arm/src/s32k1xx: Clone i.MXRT LPSPI and LPI2C support. i.MXRT + uses the same IP as S32K1XX. + - arch/arm/src/s32k1xx: Clean up LPSPI and LPI2C naming for S32K1XX. + Using S32K1XX clock functions to get peripheral input clock. + - arch/arm/src/s32k1xx: Update peripheral input clocking for the way + that things are done for the S32K1XX. Fix other misc. + compilation/configuration issues. + From Gregory Nutt (2019-08-21). + * drivers/mmcsd/mmcsd_sdio.c: Correct a misplaced #endif. From Gregory + Nutt (2019-08-21). + * - tools/Makefile.unix: Add support for common board folder. This + patch adds support for a common board folder and simplifies the code + and maintenance on boards that share the same code + - cxd56xx: Migration to a common folder. This is the first platform + to be migrated to the new common folder structure. + From Alin Jerpelea (2019-08-21). + * Add support for 4-byte addressing on >128Mb Macronix flash parts From + jjlange (2019-08-21). + * drivers/mtd/mx25lx.c: Minor changes to conform to coding standard + detected by tools/nxstyle. From Gregory Nutt (2019-08-21). + * arch/arm/src/s32k1xx: This is a rough port of the i.MXRT Ethernet + driver to the S32K1xx. The i.MXRT uses the same IP. Completely + untested at this point. From Gregory Nutt (2019-08-21). + * arch/arm/src/tiva/hardware/tm4c: Fix wrong description on define + TIVA_1WIRE_BASE: Was "EEPROM and Key Locker" (same as the item above). + Now "1-Wire Master Module." Make DMACTL symbols visible for TM4C123: + Remove "#ifdef CONFIG_ARCH_CHIP_TM4C129" guard around UART DMA Control + (DMACTL) symbols. These bits are valid on TM4C123 devices, as well as + on TM4C129. Also, improve the comment on UART_DMACTL_DMAERR. From + Nathan Hartman (2019-08-21). + * arch/arm/src/s32k1xx/Kconfig: Add Ethernet configuration options that + were supposed to have been included in a previous commit. From + Gregory Nutt (2019-08-21). + * Fixed CONFIG_ARCH_BOARD_CUSTOM based builds. Essentially reverts + Added a missing '=' in the second grep statement it was not missing it + was deliberately not in the second grep. Adding a '=' in the second + grep statement caused the "children" of CONFIG_ARCH_BOARD_CUSTOM, + namely: CONFIG_ARCH_BOARD_CUSTOM_DIR, + CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH, CONFIG_ARCH_BOARD_CUSTOM_NAME to + be lost on a savedefconfig. To see the issue run make oldconfig; make + savedefconfig; make oldconfig From David Sidrane (2019-08-22). + * boards/arm/cxd56xx: Add sensors connected to the SCU on Spresense board + - Add Avago APDS9930 Proximity and Ambient light Sensor + - Add Rohm BH1721FVC Ambient Light Sensor + - Add Rohm BH1745NUC Color Sensor + - Add Rohm BM1383GLV/BM1383AGLV Pressure Sensor + - Add Rohm BM1422GMV/BM1422AGMV Magnetic Sensor + - Add Bosch BMI160 Sensor support + - Add Bosch BMP280 Barometic Pressure Sensor + - Add Kionix KX022/KX122 Acceleration Sensor + - Add Murata LT1PA01 Proximity and Ambient light Sensor + - Add Rohm RPR0521RS Proximity and Ambient light Sensor + - BMI160: add optional I2C address + From Alin Jerpelea (2019-08-22). + * Add the sensor initialization for cxd56xx boards in the common board + folder (part 1/2) + - boards: cxd56xx: apds9930: typo fix + - boards: cxd56xx: add cxd56_ak09912 initialization. + - boards: cxd56xx: move cxd56_bmi160 initialization. + - boards: cxd56xx: add cxd56_apds9930 initialization + - boards: cxd56xx: add cxd56_apds9960 initialization + From Alin Jerpelea (2019-08-22). + * - All S32K1xx flash.ld configurations: Do not write into FLASH + configuration field. + - Extend s32k146 and s23k148 NSH configurations so that they support + more features. + From Gregory Nutt (2019-08-22). + * arch/arm/src/s32k1xx/Kconfig: Remove a duplicate configuration + setting. Noted by Fabio Balzano. From Gregory Nutt (2019-08-22). + * arch/arm/src/s32k1xx: Clocking logic was including the wrong 'clock + name' files for the S32K11x family. From Gregory Nutt (2019-08-22). + * boards/arm/s32k1xx/s32k118evb, s32k146evb, and s32148evb: Correct the + 'sense' of the LED discrete output. A high level illuminates the + LED. From Gregory Nutt (2019-08-22). + * Add the sensor initialization for cxd56xx boards in the common board + folder (part 2/2) + - Add cxd56_bh1721fvc initialization + - Add cxd56_bh1745nuc initialization + - Add cxd56_bm1383glv initialization + - Add cxd56_bm1422gmv initialization + - Add cxd56_bmi160 initialization + - Add cxd56_bmp280 initialization + - Add cxd56_kx022 initialization + - Add cxd56_lt1pa01 initialization + - Add cxd56_rpr0521rs initialization + - Add cxd56_sensors initialization + - Add Backup Log driver + - Add crashlog driver + - Move gs2200m initialization + - Move ili9340 initialization + - Move lpm013m091a initialization + From Alin Jerpelea (2019-08-23). + * arch/arm/src/s32k1xx/hardware/s32k1xx_flexcan.h: Add an incomplete + FlexCAN register definition header file. Still missing some bitfield + definitions. Also updates some README files. From Gregory Nutt + (2019-08-23). + * This commit moves shared builtin information out of binfmt/libbuiltin + and into libs/libc/builtin where it can be shared. This should permit + builtin application in the PROTECTED build where binfmt/libbuiltin is + not available in user space. + - Move binfmt/libbuiltin to libs/libc/builtin. There are calls made + directly from apps/nshlib into this logic and hence, must be part of + a library that can be shared between the OS and applications. + - Move include/nuttx/binfmt/builtin.h to + include/nuttx/lib/builtin.h. Move + apps/builtin/lib_builtin_forindex.c to + libs/libc/builtin/lib_builtin_forindex.c. + - Correct some additional compile-related issues. + From Gregory Nutt (2019-08-23). + * In order to support builtin in function in protected mode, a + task_spawn() system call must be supported. task_spawn() and + posix_spawn() are NuttX OS interfaces. In PROTECTED and KERNEL build + modes, then can be reached from applications only via a system call. + Unfortunately this is overly complex because there is a (soft) limit + of 6 parameters in a system call; task_spawn has seven parameters. + This is a soft limit but still difficult to extend because it involves + assembly language changes to numerous architectures. Better to get + more creative. Rather than extend the maximum number of parameters + across all architectures, I opted instead to marshal the seven + parameters into a structure and pass only a signle parameter: A + pointer to the structure containing the seven marshaled parameters. + From Gregory Nutt (2019-08-23). + * STM32H7: Memory Map DBGMCU is @ 0x5c001000 From David Sidrane + (2019-08-23). + * tools/refresh.sh: Fix some remaining breakage from the boards/ + directory reorganization. From Gregory Nutt (2019-08-24). + * boards/arm/s32k1xx: Add CONFIG_NSH_ARCHINIT=y to all NSH + configurations. From Gregory Nutt (2019-08-24). + * boards/mips/pic32mx&z/drivers/Kconfig: The drivers folder was one + level above where it should be. From Ouss4 (2019-08-24). + * boards/: Move more drivers directories at were placed too high in the + hierarchy. From Gregory Nutt (2019-08-24). + * fs/procfs/fs_procfsiobinfo.c: Correct use of C11 features in common + code. From Gregory Nutt (2019-08-24). + * binfmt/: Fix FLAT build with BUILTIN support. Fixes problems + introduced in a recent commit. From Michael Jung (2019-08-25). + * arch/arm/src/stm32: PLLI2S support for F427/F437. Enable support of + the I2S Phase Locked Loop on STM32F427 and STM32F437 MCUs. From + Michael Jung (2019-08-25). + * arch/arm/src/stm32/stm32_spi.c: TI Synchronous Serial Frame Format. + The SPI macros on STM32 MCUs do support the Texas Instruments + Synchronous Serial Frame Format protocol (TI protocol). Defined a new + SPIDEV_MODETI and add support for it in stm32_spi.c. From Michael + Jung (2019-08-25). + * boards/boardctl.c and libs/libc/builtin: The BINFS file system uses + the same builtin library and builtin arrays as does NSH. The builtin + arrays are simple name-value pairs that map builtin function names + with the user-space entry point. In the FLAT build, the builtin + arrays are available everywhere via the backdoor left open by the FLAT + address space. In the PROTECTED build, however, the kernel must + maintain its own reference to the user-space builtin array. This + commits adds those kernel globals and a new + boardctl(BOARDIOC_BUILTINS) that can be used by applications to the + provide the builtin list reference to the kernel. From Gregory Nutt + (2019-08-25). + * libs/symtab: move symtab/ to libs/symtab. Let's no clutter up the + top level directory. Shorten CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYSTAB + to just CONFIG_EXECFUNCS_SYSTEM_SYMTAB. Some items in + syscall/syscall.csv are only valid when CONFIG_LIB_SYSCALL is + defined. That is always defined when really building the system + calls, but causes errors in libs/symtab because they are not valid in + the normal, FLAT build context. From Gregory Nutt (2019-08-25). + * arch/arm/src/samd2l2/sam_i2c_master.c: Correct time calculation. + From Bernd Walter (2019-08-26). + * Migrate CXD56xx common code to the common/ directory + - Move boot to common + - Move flash to common + - Move I2C driver to common + - Move uid to common + - Add SPH. The SPH is used by the ASMP implementation from the SDK. + From Alin Jerpelea (2019-08-26). + * Report git info on /proc/gitrev + - Report git info on /proc/gitrev. git info reported: branch, + version, git hash, hostname, usr, build date + - Use existing .version and procfs for git info + - Reduce script's coupling + From David Alessio (2019-08-26). + * drivers/power/pm_update.c: Fix g_pmcount 16-bits overflow + when CONFIG_PM_XXENTER_COUNT set big value. From ligd (2019-08-26). + * drivers/timers/rtc: If the RTC time is successfully set, then update + the current system time to match. From ligd (2019-08-26). + * net/tcp/tcp_send.c: Fix RST packet with wrong ack number. From + biantao (2019-08-26). + * sched/Kconfig, sched/signal/sig_notification.c: Add configuration + option to select either the high-priority or low-priority work queue + for SIG_EVTHREAD notifications. From ligd (2019-08-26). + * net/tcp/Kconfig, include/nuttx/net/netconfig.h: Make RTO and + WAIT_TIME configurable. This fix is not really correct: TCP RTO + really should be calculated dynamically for each TCP connection: + http://sgros.blogspot.com/2012/02/calculating-tcp-rto.html. From + zhangyuan7 (2019-08-26). + * tools/Makefile.unix: Remove some unnecessary conditional logic. From + Gregory Nutt (2019-08-26). + * - STM32H7: bbsram issues causing no writes and hardfaults + - stm32_pwr: Ensure data is flushed on backup domain access changes + - STM32H7: bbsram convince compiler to perform 32 bit write + From David Sidrane (2019-08-26). + * tools/Makefile.unix: Simplify dependencies. From Gregory Nutt + (2019-08-26). + * Add missing LF to cpuload procfs output From David Alessio + (2019-08-26). + * arch/sim/src/Makefile: Fix dependency problem due to reorganization of + some directories. From Gregory Nutt (2019-08-26). + * All function pointer types should be prefaced by the qualifier CODE + (unless the callable function is known to reside in RAM, then it + should be FAR). From Gregory Nutt (2019-08-26). + * arch/arm/src/imxrt: Adds quadrature encoder driver for IMXRT. From + Nicholas Chin (2019-08-27). + * syscall/ and related: Fix an error found in build testing. + Inconsistent conditional compilation led to link errors in certain + configurations. From Gregory Nutt (2019-08-27). + * sched/clock/clock_timekeeping.c: Fix cases in time conversion that + must be >= NSEC_PER_SEC, not > NSEC_PER_SEC. Similar to fix of + f9e80c4a1e2da24d402fa51affc59fd43b694a12. From Gregory Nutt + (2019-08-27). + * arch/arm/src/stm32f7/stm32_sdmmc.c: Fix warning when DMA is not + enabled. From David Sidrane (2019-08-28). + * drivers/analog/dac7554.c: Add support to the DAC7554 + digital-to-analog converter. From Augusto Fraga Giachero (2019-08-28). + * libs/libc/libc.csv: Add ioctl() to fs_ioctl() wrapper for varidic + case. From Pavel Pisa (2019-08-28). + * tools/mkexport.sh: Export all variables to support architecture + independent build against NSH. From Pavel Pisa (2019-08-28). + * tools/mkexport.sh: The export of gnu-elf.ld at least is required to + build ELF loadable binaries. Option to link system into different + memory locations (boot, application after boot-loader, RAM) without + need to rebuild/reexport NuttX is useful as well. From Pavel Pisa + (2019-08-28). + * arch/arm/src/stm32h7/stm32_ethernet.c: Fix some errors in Ethernet + MAC configuration. From Markus Bernet (2019-08-28). + * arch/arm/src/imxrt/hardware/imxrt_enc.h: Fix some errors in register + bit definitions. Noted by Arie de Muijnck. From Gregory Nutt + (2019-08-28). + * arch/arm/src/stm32h7/stm32_ethernet.c: Correct stm32h7 mac address + filtering. Correct the MAC address 0 register definition and remove + the 'receive all' flag. Now the Ethernet driver only receives packets + addressed to correct MAC. From Jukka Laitinen (2019-08-28). + * arch/arm/src/stm32h7/stm32_ethernet.c: Correct memory corruption + error. The Ethernet driver initialization incorrectly wrote to + DMACRXCR instead of DMACSR when trying to clear the stopped flags. + This caused invalid buffer length in the DMACRXCR, causing DMA to + overflow the RX buffers when large packets are sent to the device. + From Jukka Laitinen (2019-08-28). + * drivers/sensors/adt7320.c: Add support for the ADT7320 temperature + sensor. From Augusto Fraga Giachero (2019-08-28). + * The non-standard, non-portable type cpu_set_t was created specifically + to support the NuttX internal, SMP implementation. Any resemblance to + any other cpu_set_t would be purely coincidental. However it appears + that that coincidence has occurred. cpu_set_t has an equivalent, + non-standard, non-portable type in the GNU C library. Compilation of + libgnat expects this non-standard type to be defined. Who am I to + stand in the way of progress? This commit removes the conditioning on + CONFIG_SMP so that cpu_set_t is typed (as a uint8_t) even if + CONFIG_SMP is not defined. Reference: Bitbucket issue 164. From + Gregory Nutt (2019-08-29). + * arch/arm/src/stm32/stm32_adc.c: Add ADC calibration procedure for + IP_ADC_V1. Tested on STM32F100, and it magically increased result + accuracy. STM32F103 has the same calibration procedure. I am not + sure about others. From Matous Pokorny (2019-08-29). + * net/inet and net/tcp: Fix tcp close flow; free the connection after + all tcp close process finished. From zhangyuan7 (2019-08-30). + * tools/Makefile.* and tools/mkexport.sh: This change allows to export + builtin applications registry into temporarily created directory where + export archive content is prepared. If the Makefile in apps directory + does not define export: target then error is print but export + continues without interruption. It would be more logical to print + warning but there is no way instruct apps make to not print error. + From Pavel Pisa (2019-08-30). + * boards/arm/lpc17xx_40xx/lx_cpu: Add support for the PIKRON LX_CPU + board. From Pavel Pisa (2019-08-30). + * board/Kconfig and board/README.txt: Add configuration support for the + LX_CPU board. From Gregory Nutt (2019-08-30). + * README.txt and Documentstion/README.html: Update README file + references to include the LX_CPU board README file. From Gregory Nutt + (2019-08-30). + * boards/arm/lpc17xx_40xx/lx_cpu/src/lpc17_40_ulan.c: Provides for + separate, non-standard, PiKRON uLAN registration at build-/run-time. + From Pavel Pisa (2019-08-30). + * Tiva directories: Fix TM4C129XNCZAD part number in Kconfig and + identifiers. Rationale: Fully specify that this is the 212-pin BGA + package (ZAD ending) and for consistency with earlier changes to other + Tiva TM4C12x part numbers in Kconfig names and identifiers. From + Nathan Hartman (2019-08-30). + * tools/Makefile.win: Port changes of commit + 3ed844640d25b854457b6cc08f89d907072c0054 to Makefile.win. Untested + because I don't have a Windows native build platform setup. There + have been a log of changes to the build system lately do to directory + re-organization so likely the native build is broken. Certainly + tools/configure.bat should be replaces with tools/configure.c. From + Gregory Nutt (2019-08-30). + * net/Kconfig: Ethernet packet buffer size cannot be permitted to go + below 1294 if IPv6 is selected. From Gregory Nutt (2019-08-31). + * net/: Now handles reception of IPv4 packets with larger IPv4 headers + containing options. From Gregory Nutt (2019-08-31). + * boards/arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig: Correct shit + defconfig file. Recent patch dumped a prohibited .config file as the + defconfig file when a proper defconfig file created via 'make + savdefconfig' is required. Bad. From Gregory Nutt (2019-08-31). + * arch/arm/src/stm32/stm32_adc.c: Correct an error found in build + testing. Recent commit to add STM32F1 calibration was not properly + conditioned. Caused compilation errors on all STM32 F2 family + members. From Gregory Nutt (2019-08-31). + * arch/arm/src/stm32/stm32_adc.c: Another fix. adc_calibrate() was + called even when it was conditioned out, causing a link time failure. + From Gregory Nutt (2019-08-31). + * net/: Re-order the content of all address-family socket 'connection' + structures so that they begin with a comomon prologue. This permits + better use of logic for different address family types. From Gregory Nutt (2019-09-01). + * net/local/local_conn.c: Removed unnecessary memset(). Connection + structure is allocated with kmm_zalloc() which will clear all memory. + From Gregory Nutt (2019-09-01). + * boards/Board.mk: Add support to pass dependency paths. + boards/arm/cxd56xx/common/Makefile: Add correct dependency paths for + board/ and src/ subdirectories. From Gregory Nutt (2019-09-01). + * net/arp/arp.h: Remove an unused structure definition. From Gregory + Nutt (2019-09-01). + * gs2200m supports SIOCGIFHWADDR From Masayuki Ishikawa (2019-09-02). + * drivers/timers/pwm.c: Move the pwm/pwm.c driver to timers/pwm.c, The + drivers/pwm contained only one .c file (pwm.c), so to avoid the + proliferation of sub-directories inside drivers/ is better to move the + pwm.c driver to drivers/timers. The pwm.h header was moved to + include/nuttx/timers to keep consistency, so all files referencing it + need to be updated. From Augusto Fraga Giachero (2019-09-02). + * libc/libc/unistd/: Add stubs for geteuid(), getegid(), seteuid(), and + setegid(). NuttX does not currently support effective user/group IDs, + but these stubs will support linkage of applications that expect these + POSIX standard interfaces. From Gregory Nutt (2019-09-03). + * libc/libc/unistd/: Add stubs for setreuid(), and setregid(). NuttX + does not currently support effective user/group IDs, but these stubs + will support linkage of applications that expect these POSIX standard + interfaces. From Gregory Nutt (2019-09-03). + * arch/arm/src/arm/up_fullcontextrestore.S: When performing stability + test, the application would cause kernel crash. When I trace the + stack, I find that register R1 has been changed, and its value is the + same as register CPSR. In p_fullcontextrestore.S, the restoration of + R0 and R1 is not atomic: 'msr cpsr r1 will enable interrupts and the + recovery of r0 and r1 may be interrupted and the value or R1 may be + changed. Fix is to use a single ldmia to restore R0, R1, and return + via R15. From Loyen Wang (2019-09-04). + * drivers/sensors/isl29023.c: Add basic driver of ISL29023 ambient + light sensor. The basic driver can set operational mode, range, and + resolution. It can also read lux value in continuous mode. Interrupt + and the alarm is not implemented. From Matous Pokorny (2019-09-04). + * Makefile updates From jjlange (2019-09-05). + * tools/Makefile.win: Change of + 8883623d07f642e205109389268e97b2a519a77a needs to be applied to + Makefile.win too. From Gregory Nutt (2019-09-04). + * Fix some typos. Also minor update to stm32f7/nucleo-144/README.txt and + stm32l4/nucleo-l496zg/README.txt board documentation. From Juha + Niskanen (2019-09-05). + * drivers/rf/dat-31r5-sp.c: dd support to the DAT-31R5-SP+ digital + attenuator. Creates a the new device driver directory drivers/rf/ to + support drivers related to RF peripherals. It also adds support for + the DAT-31R5-SP+ digital attenuator. From Augusto Fraga Giachero + (2019-09-05). + * include/nuttx/spi/spi_bitbang.c: Fix build error when the spi bitbang + variable width support is enabled. From Augusto Fraga Giachero + (2019-09-05). + * include/sys/boardctl.h: Fix numbering of board IOCTL commands. Error + in numbering noted by Nathan Hartman. From Gregory Nutt (2019-09-05). + * net/tcp/tcp_send.c: Commit a52ceac13ee598696cb907b62326bfd4c111ac6c + broke IPv4 sending. In cp_send.c:tcp_ipv4_sendcomplete(), ‘ipv4->vhl’ + now needs to be configured before call to tcp_ipv4_chksum(). Noted by + Jussi Kivilinna in commit comments. From Gregory Nutt (2019-09-06). + * boards/Kconfig: Fix help text for BOARDCTL_IOCTL. From Nathan + Hartman (2019-09-06). + * net/ipforward/ipv4_forward.c: Correct some errors introduced with + commit a52ceac13ee598696cb907b62326bfd4c111ac6c. Noted by Adam + Porter. From Gregory Nutt (2019-09-06). + * tools/Makefile.unix: Rethink creation of new .version file with GIT + information. Cannot use 'sed -i' in its current form because that + does not work on macOS, FreeBSD, or NetBSD. From Gregory Nutt + (2019-09-07). + * tools/version.h and Makefile.unix: Minor improvement to previous + commit: Permit custom version strings that do not derive from the + major and minor version number From Gregory Nutt (2019-09-07). + * arch/arm/src/stm32/stm32_otg[fs|hs]host.c: STM32 host only initiates + transfer if buflenl > 0. From Adam Porter (2019-09-08). + * STM32F7/H7/L4 OTG host: Adam porters fix for STM32 FS/HS probably + should be applied to STM32 F7, H7, and L4 OTG host which are very + similar. From Gregory Nutt (2019-09-08). + * EFM32 OTG host: Adam porters fix for STM32 FS/HS probably should be + applied to EFM32 host which which has very similar IP. From Gregory + Nutt (2019-09-08). + * arch/arm/src/armv7-a: Fix typo and missing quotation for armv7-a. + From Oki Minabe (2019-09-08). + * arch/arm/src/armv7-a/arm_addrenv_utils.c: Fix double increment in + armv7-a's arm_addrenv_destroy_region(). From Oki Minabe (2019-09-08). + * arch/arm/src/armv7-a/arm_pgalloc.c: Fix L2 page table mask for + armv7-a. From Oki Minabe (2019-09-08). + * drivers/ioexpander/gpio_lower_half.c: Remove limitation when pintype + > GPIO_INTERRUPT_PIN. From ligd (2019-09-09). + * STM32, STM32F7, STM32H7, STM32L4, and EFM32 USB Host: This change was + required to get my devices (CDC-MBIM) to enumerate. Initially the + system timed out retrieving the USB configuration descriptor. Ctrl IN + requests got nothing but NAKs. I found that the initial SETUP packet + and corresponding IN transfer were fine; it was the Status OUT phase + that was getting the NAK. After receiving a NAK on the Status OUT, + the code would loop back and issue another ctrl IN, which will always + fail because the data was already transferred before. Thus the entire + transfer would 'timeout'. The fix I implemented moves the DATANAK + timeout loop to only apply to the Status OUT. Of course this worked + for my devices, but maybe isn't the right solution in general. I + think that both the ctrl IN and the Status OUT need their own retry + loops? From Adam Porter (2019-09-09). + * tools/mkexport.sh: Export LDSCRIPT and STRIP definition and align + with Makefile.export. From Pavel Pisa (2019-09-10). + * boards/arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig: Tested + ETHRENET, UARTs, heap in external SDRAM, use of symbol tables for + applications loading over TFTP and kernel modules insertion. USB and + SD card enabled but there are some issues (probably config or IO + ports) still. From Pavel Pisa (2019-09-10). + * sched/sched_rrgetinterval.c: sched_get_rr_interval() should return + {0,0} if round-robin scheduling is not selected for the task. From + Gregory Nutt (2019-09-10). + * include/sys/types.h: Remove non-standard HP-UX priority range + definitions. HP-UX is not a supported OS. From Gregory Nutt + (2019-09-10). + * Fix typos, 1 in a #define, others in comments. This changes one + definition: _MQ_TIMEDRECIEVE is changed to _MQ_TIMEDRECEIVE. It + appears this symbol is not used anywhere. From Nathan Hartman + (2019-09-11). + * boards/z80: Correct path to linker script in all boards using the + ZDS-II toolchain. Yet more fallout from the big boards/ directory + re-organization. From Gregory Nutt (2019-09-11). + * boards/: Several more fixes to Make.defs files and README.txt files. + More collateral damage from the big boargs/ directory + re-organization. From Gregory Nutt (2019-09-11). + * boards/arm/imx6/sabre-6quad/scripts/Make.defs: Yet another boards/ + re-organization fix-up. From Gregory Nutt (2019-09-11). + * libs/libc/builtin/: builtint_isavail() should not set the errno + variable because this functions may be used by internal OS logic for + which setting the errno variable would be inappropriate. From Gregory + Nutt (2019-09-11). + * boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script: Fix + .ARM.exidx section overlap with .data From Daniel Pereira Volpato + (2019-09-11). + * Modify all files from 2eb4fe5ffb7dee21b33 to use solution from Daniel + P. Volpato. From Alan Carvalho de Assis (2019-09-11). + * Modify all a few more linker scripts missed in 415e3d34482012ab308, + probably because they were created after 2eb4fe5ffb7dee21b33. From + Gregory Nutt (2019-09-11). + * Move EXIDX-related assignments inside of braces so that we can be + assure that the symbols have the correct alignment. Suggested by + Daniel P. Volpato From Gregory Nutt (2019-09-12). + * boards/arm/tiva/tm4c123g-launchpad/scripts/tm4c123g-launchpad.ld: Add + alignments for the TMC4123G-LaunchPad as well. From Nathan Hartman + (2019-09-12). + * boards/arm/stm32/axoloti, omnibusf4, and stm32f4discovery: If + CONFIG_SCHED_CRITMONITOR is selected, then make sure that ITM and DWT + resources are enabled before accessing ITM and DWT registers. By + default, these registers are disabled. Suggested by Juha Niskanen. + From Gregory Nutt (2019-09-13). + +8.2 2019-xx-xx Gregory Nutt