Commit Graph

11048 Commits

Author SHA1 Message Date
David Sidrane
92e4a7223c Merged in david_s5/nuttx/master_imxrt (pull request #737)
Master imxrt

* imxrt:Fix typos bit# and names

* imxrt:wdog Registers are 16 Bits

* imxrt:wdog Update has to be within 255 clocks of unlock

* imxrt:clockconfig Fix comments

* imxrt1050-evk:board.h Fix comments

* imxrt:imxrt_ccm.h Define Mux Selects for board.h use

* imxrt:clockconfig Allow better control from board.h

       1) Allows a board config clock setting to be defined
       in terms of the /n values shown in Figure 18-2.
       Clock Tree of the i.MX RT1050 Processor Reference
       Manual, Rev. 1, 03/2018

       2) Allows the clock multipelx selection to be made in
       The board config.

* imxrt1050-evk:Define board clocking based on divisor and muxes

Approved-by: GregoryN <gnutt@nuttx.org>
2018-10-23 22:54:28 +00:00
Gregory Nutt
729b2e1907 arch/arm/src/lpc43xx/Kconfig: Restored dependency on EXPERIMENTAL for LPC43_SDMMC. 2018-10-23 06:22:40 -06:00
Gregory Nutt
41ebb6d672 arch/arm/src/lpc54xx/lpc54_sdmmc.c: Tested Dave Marple's LPC43 fix with the LPC54. Does not work. This commit adds support for and SDMMC errata and setting of the delay register which was missing in the previous commit. It appears that now I can read the SD card successfully, but I get CRC errors when writing to the card. 2018-10-22 09:35:02 -06:00
Dave Marples
b71e0a199a iFix the LPC4330 family SDMMC card access. Some of these fixes (e.g. DELAY register) may also be applicable elsewhere. These are _NOT_ extensively tested, but they are certainly better than the current state of the driver. The fixes, specifically, are;
* Clocks were wrongly configured - way too fast because there is no primary divider on LPC4330

This is fixed by means of changing the definitions in the board.h file. I've edited the one for the lpc4330-xplorer board because I'm actually working with Versiboard and don't want to contribute that config just yet while I've still got the drains up on it.

* The LPC43_SDMMC_DELAY register was not being set

I suspect, in the 'real world', it's possible to get away without setting this, but I've added a register definition, default value and register access macros into arch/arm/src/lpc43xx/chip/lpc43_scu.h and then used them in arch/arm/src/lpc43xx/lpc43_sdmmc.c.

* The LPC43_SDMMC_BLKSIZ and LPC43_SDMMC_BYTECNT registers had the wrong values.

The management have already implemented a rather nice block level interface for the stm32 so I've just re-used that to write to these registers as required. I'm slightly nervous that accessing the configuration registers (SCR being the prime example) which has a much smaller block size may not be being done in the right way but it does seem to work correctly, so let's assume it's all OK until someone tells me otherwise.

These fixes have been tested with DMA-based read/write on a LPC4330. Speed via nsh is pretty low but I'm assuming that's just a buffering/implementation issue for now.
2018-10-21 17:22:22 -06:00
Gregory Nutt
fb3dc07a42 configs/lpcxpresso-lpc54628/include/board.h: Update logic used to calculate SDMMC input clock divider. 2018-10-21 08:41:36 -06:00
Gregory Nutt
60d490f9b1 configs/bambino-200e/include/board.h: Correct calculation of SDMMC clock configuration. The LPC43 has no SDMMC source clock divider. Error noted by Dave Marples. 2018-10-18 10:01:46 -06:00
Gregory Nutt
986bbf3ae7 configs/pcblogic-pic32mx: Remove support for the PCB Logic PIC32MX board. I do not find any references to PCB Logic on the web and I do not believe that this breakout board is available any longer. 2018-10-17 11:33:54 -06:00
Mateusz Szafoni
632bba3af8 Merged in raiden00/nuttx_pe (pull request #733)
Improvements in STM32 PWM low level driver

stm32_pwm: remove some impossible PWM configurations

stm32_pwm: support for complementary outputs

stm32_pwm: deadtime configuration

stm32_pwm: output polarity and IDLE state configuration

nucleo-f302r8: pwm support

stm32f429i-disco: pwm support

configs: update some configurations according to changes in STM32 PWM driver

Approved-by: GregoryN <gnutt@nuttx.org>
2018-10-14 14:08:52 +00:00
Ivan Ucherdzhiev
42f1f8898b /arch/arm/src/imxrt/imxrt_lpi2c.c: Fixes 2 bugs in the for IMXRT1050: (1) I2C time out and did not send STOP condition when sending single byte, (2) I2C could not receive bytes after repeated start. 2018-10-13 06:38:33 -06:00
Gregory Nutt
4d75901cc4 arch/mips/include/mips32/cp0.h: Fix some copy-paste errors that cause malformed comments and syntax errors when certain CP0 CONFIG1 bits are referenced. Note in Issue 123 by Anonymous. 2018-10-12 14:52:05 -06:00
Gregory Nutt
31e4981192 drivers/wireless/ieee802.11: Extend Add capabilility to get firmware from a mounted file system to BCM43362. Also fix some compile/link issues introduced in the previous commit. 2018-10-07 15:00:13 -06:00
Gregory Nutt
646cf35e54 Trivial update to README files. 2018-10-07 09:15:11 -06:00
Gregory Nutt
6483b592ff configs/olimex-lpc1766stk/hidkbd: Add a configuration for testing the HID keyboard. 2018-10-07 07:28:51 -06:00
GregoryN
9633a44217 configs/olimex-lpc1766stk/src/lpc17_bringup.c: Remove unnecessary include. 2018-10-07 01:40:00 +00:00
Gregory Nutt
6a353b91bd configs/olimex-lpc1766stk: Add support to initialize a USB HID keyboard. Still don't have a working configuration. Seems to require a lot of transfer descriptors. Also reorganized some logic. It has been a long time since the Olimex LPC1766-STK has had any TLC. 2018-10-06 18:06:47 -06:00
Gregory Nutt
cfe5d1148f configs/olimex-stm32-p407: Added a HID keyboard configuration. 2018-10-06 11:43:19 -06:00
Gregory Nutt
d0254b1c79 Squashed commit of the following:
libs/libc/stdio/lib_libvsprintf.c:  Resolves the integer field width problem if Issue 35 for the cases of long and long long integer types.

    libs/libc/stdio/lib_libvsprintf.c:  Resolves the integer field width problem if Issue 35 for the case of integer types.

    libs/libc/stdio:  Remove CONFIG_NOPRINTF_FIELDWIDTH.  That option does, indeed, make the printf family of functions much smaller.  But it also adds a lot of complexity and makes the functions non-standard.  Removing this might break some of the tinier platforms but it is the best thing to do for long term maintanance for for OpenGroup.org compliance.
2018-10-05 09:33:48 -06:00
raiden00pl
342cbe58dd Merged in raiden00/nuttx_pe (pull request #732)
configs: add support for nucleo-f302r8 board

Approved-by: GregoryN <gnutt@nuttx.org>
2018-10-05 13:02:49 +00:00
raiden00pl
2fcf682316 Merged in raiden00/nuttx_pe (pull request #731)
stm32_tim.c: don't use hardcoded UIF interrupt in some functions

Approved-by: GregoryN <gnutt@nuttx.org>
2018-10-04 16:16:54 +00:00
Gregory Nutt
d8bfb4e3a2 fs/spiffs: Fix some disagreement between the NuttX wrapper and the core SPIFFS with regard to meaning of a return value. This was causing more writes than necessary and wasting FLASH space. 2018-09-29 11:01:46 -06:00
Gregory Nutt
5fad655982 configs/sim/spiffs/defconfig: Remove CONFIG_EXPERIMENTAL. 2018-09-28 20:05:42 -06:00
Gregory Nutt
2d2dd5e9e3 fs/spiffs: Fix bad check for return value. In NuttX all values greater than or equeal to 0 are successes. 2018-09-27 14:24:46 -06:00
Dave Marples
4eb118afd1 arch/arm/src/imxrt/imxrt_enet.c: Fix a race condition in setting up the Ethernet Tx transfer. 2018-09-26 10:59:47 -06:00
Ivan Ucherdzhiev
955527b14f arch/arm/src/imxrt: Add LPI2C driver. 2018-09-26 07:57:45 -06:00
Gregory Nutt
9984e209ab fs/spiffs: Various fixes from initial testing. Still lots of issues. Also changes from further review to get better naming consistency and functional partitioning. 2018-09-25 16:19:03 -06:00
Gregory Nutt
ec498d2660 This commit brings in an inital port of the SPIFFS flash file system into NuttX. The file system is still untested at this point (and subject to some additional review). It is, however, marked EXPERIMENTAL should this should not cause a problem for anyone.
Squashed commit of the following:

    fs/spiffs:  Fix last compilation issue.  Now compiles without error.  It is still not quite ready for testing as there is additional code review that must be be performed.  It is now marked as EXPERIMENTAL so that it can be brought onto the master branch with little risk.

    fs/spiffs:  Remove some dead code.

    fs/spiffs:  Weak start of analysis of spiffs_nucleus.c.  Renamed to spiffs_core.c

    fs/spiffs:  Rename spiffs_nucleus.c to spiffs_core.c

    fs/spiffs:  Remove spiffs_config.h.  All configuration settings are now available in the SPIFFS Kconfig options.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_check.c.  Added spiffs_check.h.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_cache.c.  Added spiffs_cache.h.

    fs/spiffs:  Clean up some defines used in debug output statements.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_gc.c.  Added spiffs_gc.h.

    fs/spiffs:  Now that VFS interface is completed, I have begun the long march of repartitioning the remaining functionality, reviewing logic, identifying dead code, and cleaning up loose ends.

    fs/spiffs:  Initial integration of MTD interface, replacing the SPIFFS native flash interface.  Lots of open issues such as the use of pages vs. blocks vs. erase blocks and units of addresses, offsets, and lengths that are passed in function calls.  Remove SPIFFS_USE_MAGIC support.  That option (which default to OFF anyway), wrote a magic value at the beginning of every sector and support verifiable identification of the file system.  It was not being and used and removing it makes life simpler.

    fs/spiffs:  Remove semaphore lock on the file object structure.  Ultimately, the file access must modify the volume and access the volume structue which also has a exclusivity lock.  So use of the volume lock alone should be sufficient.

    Integrated the SPIFFS rename logic into the NuttX VFS.  Removed non-standard application calls or convert them to IOCTL commands.  These were converted to IOCTL commands:  (1) integrity check, (2) garbage collection, and (3) format flash.  These were removed:  (1) Integrity check callback.  These provided a lot of good information about the state of the file system, but such callbacks are not compatible with a POSIX compliant file system.  (2) Index maps.  The index maps were a performance improvement feature.  The user could provide the memory and request that a region of a a file use that memory for improved lookup performance when accessing parts of the file.  The fallback is the less performance lookup by traversing the FLASH memory.  (3) Removed the quick garbage collection interface (the code is still used internally).  Only the full garbage collection is available to the user application via IOCTL.

    configs/sim/spiffs:  A simulator configuration to use for testing SPIFFS.

    fs/spiffs:  Integrate SPIFFS logic into NuttX VFS bind() and unbind() methods.

    fs/mount/fs_mount.c:  Add SPIFFS to the list of drivers that require MTD vs block drivers.

    fs/spiffs:  Trivial changes, mostly from analysis of how to integrate the rename() VFS method.

    fs/spiffs:  Connect NuttX VFS unlink method to the SPIFFS_remove() function.  Lots of name-changing.

    fs/spiffs:  Remove non-standard errno support.  Remove bogus SPIFFS_LOCK() and SPIFFS_UNLOCK() macros.

    fs/spiffs:  Add NuttX VFS implementation for statfs() method.  Clean up some of the accumulating compilation problems.

    fs/spiffs:  Add stat(), truncate() methods.  Dummy out unsupport mkdir() and rmdir() methods.

    fs/spiffs:  Replace some of the custom error numbers with standard error numbers.

    fs/spiffs:  Hooks read(), write(), fstat(), ioctl(), opendir(), closedir(), rewindif(), and readdir() into the NuttX VFS.

    fs/spiffs:  Beginning the organization to work with the NuttX VFS.  Lots of things are get broken!

    fs/spiffs:  Add spiffs.c which will be the interface between SPIFFS and NuttX.  No very close at present, however.

    fs/spiffs:  Clean up some compile problems introduced by coding standard changes.

    fs/spiffs:  A little closer to NuttX coding standard.

    fs/spiffs:  Ran tools/indent.sh against all files.  Closer to NuttX coding standard, but needs a lot more effort to be fully compliant.

    fs/spiffs:  This commit brings in version 0.3.7 of Peter Anderson's SPIFFS.  The initial commit includes the core FS files (with some definitions destributed to their correct header files) and hooks into the build system.
2018-09-24 18:05:09 -06:00
Gregory Nutt
1802145604 Trivial fixes to spelling errors. 2018-09-20 06:53:13 -06:00
Gregory Nutt
ba04f6d4cb Revert "configs/mikroe-stm32f4/fulldemo: Remove CONFIG_NXWM_TOUCHSCREEN_CONFIGDATA from configuration"
This reverts commit fb5152a40a.
2018-09-16 10:26:36 -06:00
Gregory Nutt
fb5152a40a configs/mikroe-stm32f4/fulldemo: Remove CONFIG_NXWM_TOUCHSCREEN_CONFIGDATA from configuration 2018-09-16 10:21:25 -06:00
raiden00pl
af8a002a10 Merged in raiden00/nuttx_h7 (pull request #720)
I2C support for STM32H7

* stm32h7/chip.h: update peripherals

* stm32h7x3xx_rcc.h: update definitions

* stm32h7x3xx_rcc.c: remove some unused code and configure I2C clocks

* stm32h7: add lower half I2C driver (based on F7 I2C driver)

* configs/nucleo-h743zi: add LSM303AGR and LSM6DSL configuration

* Remove whitespace

* sensors/lsm303agr.c, sensors/lsm6dsl.c: add mising include, remove whitespace

Approved-by: GregoryN <gnutt@nuttx.org>
2018-09-16 15:58:25 +00:00
Gregory Nutt
2a325135f5 configs/*/README.txt: Remove obsoleted references to installing NxWidgets. 2018-09-16 09:39:20 -06:00
Freemans Goden
b3d0574c98 configs/b-l475e-iot01a/include/b-l475e-iot01a_clock.h: Correct timer source clock frequencies. 2018-09-16 05:50:35 -06:00
Gregory Nutt
3a4984a40b Rename file_close_detached() to juse file_close() for better consistency in naming. 2018-09-15 13:04:56 -06:00
Gregory Nutt
b48f46f1c8 Correct some errors found in build testing using recent commits. 2018-09-15 12:47:54 -06:00
Gregory Nutt
53b7b41f90 configs/stm32l4r9ai-disco/src/stm32_adc.c: Replace calls to ioctl() in the OS to file_ioctl() 2018-09-15 12:26:31 -06:00
Gregory Nutt
a83b6d990b Replace callse to ioctl() in the OS to file_ioctl() 2018-09-15 11:47:24 -06:00
Gregory Nutt
a7fd58c4db Squashed commit of the following:
many locations:  Change occurences of open() followed by file_detach() to file_open().  Change most non-controversion calls to open() to nx_open().

    fs/inode/fs_fileopen.c:  Flesh out file_open() with some interim, placeholder logic.

    fs/inode/fs_fileopen.c:  Add a framework for a file_open() implementation (no real logic in place yet).

    fs/vfs/fs_open.c:  Add nx_open() which is the same as open() except that it does not create a cancellation point nor does it modify the errno variable.
2018-09-15 10:49:41 -06:00
Gregory Nutt
9546481054 Fix some typographical errors. 2018-09-14 06:55:45 -06:00
Xiang Xiao
c24fdb3ada configs: Fix build error caused by commit 459d9f2851 2018-09-11 07:24:29 -06:00
Gregory Nutt
39df7ed0c0 mm/iob and sched/semaphore: Work around some issues with the IOB throttle semaphore. It has some odd behaviors that can cause assertions in sem_post(). Also, it seems to get outside of its range occasionally. Need to REVISIT this. 2018-09-10 11:32:09 -06:00
Jakob Haufe
fe4790ec18 Merged in sur5r/nuttx-nuttx/lpc43_eth_pins (pull request #717)
arch/arm/src/lpc43xx: Fix ethernet TX_EN pin definitions

TX_EN on LPC43xx can be routed via P0.1 and PC.4 in both
MII and RMII mode.

Before, P0.1 was hardcoded for MII and PC.4 was hardcoded for RMII.

Also, the definitions used inconsistent naming (TXEN vs. TX_EN).

Approved-by: GregoryN <gnutt@nuttx.org>
2018-09-10 11:56:52 +00:00
Gregory Nutt
891b2646da configs/: apps/netutils/ping has been removed. Ping support is now provided by apps/system/ping. Remove references to -CONFIG_NETUTILS_PING or change them to CONFIG_SYSTEM_PING with CONFIG_NET_ICMP_SOCKET=y 2018-09-05 14:56:09 -06:00
Gregory Nutt
33e3fb7a70 Correct mispellings of pseudo. Update some comments in signal.h. 2018-09-05 11:56:14 -06:00
Gregory Nutt
e88759e53d Update a README. 2018-09-04 16:48:34 -06:00
Gregory Nutt
b7726df9f7 tools/Makefile.unix: Was not cleaning up export directory if it was left from a failed export. configs/sama5d4-ek/README.txt: Update. 2018-09-04 13:19:17 -06:00
Goden Freemans
b7bec7f064 configs/b-l475e-iot01a/src: Add timer driver support. 2018-09-04 07:13:03 -06:00
Gregory Nutt
820a6c4e39 configs/b-l475e-iot01a/src: Fix copy paste errors in names: stm32_bringup->stm32l4_bringup. Noted by Freemans Goden. 2018-09-04 06:54:58 -06:00
Gregory Nutt
152ccbd447 configs/olimex-stm32-p407/dhtxx: Fix defconfig file. It was based on an older, incompatible version of NuttX. 2018-09-03 09:42:04 -06:00
Gregory Nutt
a6f9c6215d Update some comments 2018-09-02 12:34:45 -06:00
Gregory Nutt
ff1e6a66e9 configs/metro-m4: Fix problem with SysTick timer running too fast. This turned out to be a dumb typo in board.h that was providing the wrong CPU frequency to the SysTick setup logic. 2018-09-02 07:31:16 -06:00