Commit Graph

3149 Commits

Author SHA1 Message Date
Gregory Nutt
508f90605c drivers/lcd/st7032.c: Fix another error in seek method: Does not account for negative offsets! 2019-01-14 15:56:31 -06:00
Gregory Nutt
7b95a18c91 drivers/lcd/st7032.c: Fix seek method. Was not taking into account the offset for the SEEK_END case. On errors, it was clobbering the filep->f_pos setting. 2019-01-14 15:43:31 -06:00
Gregory Nutt
1e2209348f drivers/net/telnet.c: Eliminate some newly introduced warnings found in build testing. 2019-01-13 14:04:20 -06:00
Gregory Nutt
5299e87b2c Squashed commit of the following:
arch/arm/src/tiva/cc13xx:  Trim code now kind of looks like NuttX code.  But does not yet compile.

    arch/arm/src/tiva/cc13xx:  The first few, feeble steps toward getting the overall trim files compatible with the requirements of the NuttX coding standard.

    arch/arm/src/tiva/cc13xx:  Replace last of TI hardware access macros with NuttX hardware access macros.

    arch/arm/src/tiva/cc13xx: Change TI HWREGB to NuttX getreg8 or putreg8 in trim logic.

    arch/arm/src/tiva/cc13xx: Change TI HWREGBITW to NuttX getreg32/putreg32 sequence in trim logic.

    arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_ddi0_osc.h:  Completes the DDIO OSC header file.

    cc13x2_cc26x2/cc13x2_cc26x2_ddi0_osc.h:  Updated, but still not finished.

    arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_ddi0_osc.h:  Add DDI0 OSC header file.  Still a work in progress. Does not yet conform to the NuttX coding standard.

    Change _M and _S to _MASK and _SHIFT.

    Some minor improvements.

    Clean up typos in some comments.

    Run all new files against tools/indent.sh

    arch/arm/src/tiva/cc13xx:  Bring in trim files from SDK.  Convert to C-style comments, lowercase hex contants.  Remove Windows-style line endings.
2019-01-12 08:43:45 -06:00
Abdelatif Guettouche
546b6fcbc8 drivers/timers/mcp794xx.c: Fix MCP794xx driver to wait for OSCRUN and fix tm_year. 2019-01-12 07:50:29 -06:00
Ken Pettit
c883c8a535 drivers/mtd/smart.c: Fix for the SmartFS MTD layer size mapping issue. With this patch, existing SmartFS drives should still mount and work properly, plus the larger sector sizes are now supported correctly. 2019-01-10 07:13:19 -06:00
Gregory Nutt
e74cabf923 Cosmetic changes from review of last PR. 2019-01-09 07:49:19 -06:00
Jussi Kivilinna
d4a38a8974 Merged in jussi_kivilinna/nuttx/sensirion_drivers (pull request #809)
Drivers for Sensirion SCD30, SGP30 and SPS30 sensors

* drivers/sensors: add driver for Sensirion SCD30 CO2 sensor

* drivers/sensors: add driver for Sensirion SGP30 gas sensor

* drivers/sensors: add driver for Sensirion SPS30 particulate matter sensor

Approved-by: GregoryN <gnutt@nuttx.org>
2019-01-09 13:35:44 +00:00
Ken Pettit
47c8e537d1 drivers/mtd/s25fl1.c: Minor change for the s25fl1 QSPI FLASH driver which fixes additional sectorshift vs. pageshift confusion. 2019-01-09 07:24:58 -06:00
Ouss4
d0b4a018bf drivers/timers/mcp794xx.c: Rename the module to mcp794xx. 2019-01-08 13:04:50 -06:00
Ken Pettit
92104149e8 drivers/net/telnet.c: Add missing logic to set read event flags in poll() method. 2019-01-08 08:16:43 -06:00
Daniel Agar
efb42f4e25 Merged in dagar/nuttx/pr-net_telnet_unused (pull request #807)
drivers telnet common_ioctl() - inode only used with CONFIG_TELNET_SUPPORT_NAWS

Approved-by: GregoryN <gnutt@nuttx.org>
2019-01-07 14:19:48 +00:00
Ouss4
e998acee67 drivers/timers/mcp7941x.c: Add support for the MCP741x external RTC. 2019-01-06 17:32:02 -06:00
Daniel Agar
62fe15e87c Merged in dagar/nuttx/pr-telnet_unused_priv (pull request #803)
telnet.c priv only used if CONFIG_TELNET_SUPPORT_NAWS

Approved-by: GregoryN <gnutt@nuttx.org>
2019-01-06 16:15:56 +00:00
Ken Pettit
a97c4d8644 drivers/net/telnet.c: Add NAWS and poll interface to telnet for screen size negotation used with termcurses.
arch/arm/src/samv7/sam_serial.c: Fix case where TTYS0 is not defined.
2019-01-05 12:14:05 -06:00
Alan Carvalho de Assis
7127df3e38 drivers/power/mcp73871.c: Fix MCP73871 driver to register correctly as a battery charger. The first element of a 'struct battery_charger_dev_s' should be a pointer to operations structure. 2019-01-05 11:49:18 -06:00
Gregory Nutt
5575f41e05 Revert "drivers/power/mcp73871.c: Fix MCP73871 driver to return a battery_charger_dev_s"
This reverts commit 11881f8fc6.
2019-01-05 11:00:05 -06:00
Alan Carvalho de Assis
11881f8fc6 drivers/power/mcp73871.c: Fix MCP73871 driver to return a battery_charger_dev_s
drivers/power/bq2425x.c: The Battery Charger expects a battery_charger_dev_s not battery_charger_operations_s
drivers/power/bq2429x.c: The Battery Charger expects a battery_charger_dev_s not battery_charger_operations_s
2019-01-05 08:34:38 -06:00
Alan Carvalho de Assis
3de2533599 drivers/power/battery_gauge.c: Add missing initialization of semaphore.
drivers/power/battery_charger.c:  Add missing initialization of semaphore.
2019-01-04 10:27:49 -06:00
Gregory Nutt
5a342e8129 drivers/sensors/bmp180.c: Eliminate some warnings 2019-01-02 17:24:14 -06:00
Jussi Kivilinna
0b41938bb6 drivers/mtd/mtd_config.c: Check return value mtdconfig_readbytes() 2019-01-02 09:52:55 -06:00
Levin Li
c212163beb drivers/usbdev/cdcacm.c: When implemented usb cdc on nrf52840, I found some issues with cdc driver.
1. lost data when receiving buffer is full;
2. low-water mask implement issue;
3. re-flush cdc buffer when enabling
4. serial dma is conflict with cdc , modify the serial.h
2019-01-02 07:49:21 -06:00
Alan Carvalho de Assis
37af1d4c76 drivers/power/mcp73871.c: Add support to Microchip MPC73871 Battery Charger. 2018-12-31 13:50:17 -06:00
Lwazi Dube
53ce088a54 arch/arm/include/tiva and src/tiva: Improve GPIO interrupt support by removing unnecessary, hard-coded per-MCU defines and using the existing Kconfig configuration options instead. 2018-12-31 07:19:30 -06:00
Xiang Xiao
fc9964f6b6 drivers/net/tun.c: Fixes a problem reported by Masayuki Ishikwawa: Recently I noticed that ARP response packet is corrupted when I tried to run bluekitchen with the latest tun.c in TAP mode. If I revert commit 8193c28e91, then it works again. 2018-12-30 17:54:03 -06:00
Alan Carvalho de Assis
1325c98f97 drivers/eeprom/i2c_xx24xx.c and include/nuttx/eeprom/i2c_xx24xx.h: Add support to Microchip AT24CM02 2018-12-30 11:20:03 -06:00
Daniel P. Carvalho
30ddb909c0 drivers/mtd/smart.c: Fix smart_write_alloc_sector sector size calculation. 2018-12-29 17:03:00 -06:00
Gregory Nutt
0cd5a232ea Fix a few typos. 2018-12-27 08:45:26 -06:00
Gregory Nutt
c137c6ef1f Clean up typos in some comments. 2018-12-22 08:12:34 -06:00
Gregory Nutt
ebbfb225f6 drivers/analog/lmp92001.c: Add support for the TI LMP92001 device. 2018-12-21 09:46:33 -06:00
Ken Pettit
baab6dd1bd Extends the MTD configdata device with the following features / additions:
1.  Configurable option to use named config items instead of enumerated ID/Instance numbers.
2.  Ability to iterate through the existing configdata items in the /dev/config device.
3.  Ability to "unset" a configdata item.
4.  Ability to perform "flash_eraseall" on the /dev/config device.
2018-12-20 14:14:40 -06:00
Anthony Merlino
c897790e55 Merged in antmerlino/nuttx/sixlowpan-ieee802154-address-endianness (pull request #790)
sixlowpan/ieee802154: IEEE802.15.4 stores and uses addresses in little endian order.

# Conflicts:
#	drivers/wireless/ieee802154/xbee/xbee_netdev.c

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-18 15:06:41 +00:00
Anthony Merlino
b48a62a7d4 Merged in antmerlino/nuttx/sixlowpan-ul-bit (pull request #787)
sixlowpan: Fixes logic surrounding the Universal/Local bit. This bit represents whether the IID is locally/globally administered. The U/L bit is bit 1 of the MSB of the EUI-64. It should only be inverted in cases where there is a full EUI-64. In cases whe

* sixlowpan: Fixes logic surrounding the Universal/Local bit. This bit represents whether the IID is locally/globally administered. The U/L bit is bit 1 of the MSB of the EUI-64. It should only be inverted in cases where there is a full EUI-64. In cases where the IID is derived from say, a short address, this bit should be forced to 0, indicating that it is locally administered.

    See:

    https://tools.ietf.org/html/rfc4291#section-2.5.1
    https://tools.ietf.org/html/rfc4944#section-6
    https://tools.ietf.org/html/rfc2464#section-4

* sixlowpan: Account for endianness with U/L bit.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-18 13:34:41 +00:00
Anthony Merlino
52aae032f7 Merged in antmerlino/nuttx/remove-ipv6-checks (pull request #785)
Fixes usage of CONFIG_BIG_ENDIAN; should be CONFIG_ENDIAN_BIG

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-16 20:35:15 +00:00
Anthony Merlino
67c609e343 Merged in antmerlino/nuttx/big-endian (pull request #784)
Fixes usage of CONFIG_BIG_ENDIAN; should be CONFIG_ENDIAN_BIG

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-16 20:33:54 +00:00
Gregory Nutt
5c9e72f99d Squashed commit of the following:
arch/arm/src/tiva/hardware/cc13x0/cc13x0_fcfg1.h:  Adjust cloned CC13x9 FCFG1 header file so that it reflects reality.

    arch/arm/src/tiva/hardware/cc13x0/cc13x0_fcfg1.h:  Add CC13x0 FCFG1 header file.  Initial commit is the same as the CC13x2/CC26x2 FCFG1 header with a few name changes.

    arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_fcfg1.h:  Initial FCFG1 header file for the cc13xx/cc26xx family.
2018-12-13 12:35:39 -06:00
Marc Rosen
21328c528c drivers/mtd/at25.c: Fixed missing opening parenthesis. 2018-12-13 08:12:50 -06:00
Daniel P. Carvalho
e34e9fd782 drivers/mtd/at45db.c: Correct some typos. 2018-12-12 18:21:27 -06:00
Marc Rosen
16dff59cbd drivers/mtd/at25.c: Added support for AT25DF081A serial flash chip 2018-12-12 07:04:27 -06:00
Gregory Nutt
f67e27cf76 arch/arm/src/tiva/hardware: Add CCFG register definition files. 2018-12-11 09:35:07 -06:00
Juha Niskanen
583e80a9ce drivers/1wire/ds28e17.c: Optimize I2C write followed by read to same address. 2018-12-11 07:09:03 -06:00
Lwazi Dube
39c51e668f drivers/wireless/bluetooth/bt_uart_cc2564.c: Add cc2564 driver. 2018-12-11 06:58:31 -06:00
Alan Carvalho de Assis
c629d867e0 drivers/lcd/st7032.c: Improve ST7032 scroll-up to avoid line duplication 2018-12-04 16:20:29 -06:00
Dave Marples
8328539534 drivers/spi/Kconfig and include/nuttx/spi/spi.h: Extend the HW features supported by SPI. It now supports a deffered DMA trigger hardware configuration. arch/arm/src/stm32/stm32_spi.c: Implements the new deferred DMA trigger feature. 2018-12-02 07:30:55 -06:00
Alan Carvalho de Assis
bc9094ad27 drivers/lcd/st7032.c: Fix ST7032 scroll issue 2018-11-30 18:42:24 -06:00
Alan Carvalho de Assis
3a2a423214 drivers/lcd/Kconfig and several other places: Rename CONFIG_LCD_CONSOLE to CONFIG_SLCD_CONSOLE. The original name CONFIG_LCD_CONSOLE is incorrect because it runs on SLCD display. This patch fix it and update its dependences 2018-11-30 17:36:13 -06:00
Alan Carvalho de Assis
7e7437e54e drivers/lcd/st7032.c: Fix semaphore initialization in the ST7032 2018-11-25 15:59:51 -06:00
Alan Carvalho de Assis
ed64da90fa drivers/lcd: Add support to Alphanumeric Sitronix ST7032i display 2018-11-24 18:43:33 -06:00
Gregory Nutt
09f4dee6bc All network drivers! Change pre-processor logic that selects the high priority work queue or gives preferential treatment to the high priority work. All network logic must run on the low priority work queue! Or suffer the consequences. 2018-11-21 07:57:26 -06:00
Bob Feretich
c6851201c0 This commit adds a new function arch_invalidate_dcache_by_addr(). It takes the same parameters as arch_invalidate_dcache(), but performs invalidation of only the lines in cache that need to be invalidated. This new function could be used as a a direct replacement for arch_invalidate_dcache().
The user of this invalidation are mmcsd_sdio currently.  The mmcsd_sdio driver makes calls for dcache invalidation through the chip specific architecture function SDIO_DMARECVSETUP(). I changed the arch/arm/stm32f7 chips to use arch_invalidate_dcache_by_addr() instead of arch_invalidate_dcache().

This commit includes additional changes to mmcsd_sdio.c.  I created SDIO_DMADELYDINVLDT() (DMA delayed invalidate) to invalidate store-into mode dcaches after the DMA transfer.  I have been using SDIO_DMADELYDINVLDT() for several weeks now and it has fixed the problems that I previously reported regarding non-cache aligned buffer invalidation errors (for my store-through dcache). However, it does not permit use of unaligned DMA buffers for store-into mode dcaches.

SDIO_DMADELYDINVLDT() is a NoOp unless the chip specific Kconfig file selects CONFIG_ARCH_HAVE_SDIO_DELAYED_INVLDT. I have modified all the stm32f7 chips to select it.
2018-11-20 14:03:42 -06:00
Juha Niskanen
eee6c89bfb drivers/input/button_upper.c: Fix two bad NULL checks 2018-11-14 06:31:37 -06:00
Xiang Xiao
77098f8736 Move NETDEV_LATEINIT from drivers/net/Kconfig to net/Kconfig so that we can select NETDEV_LATEINIT without enabling NETDEVICES since the net driver in arch folder may need to initialize later too. 2018-11-12 06:36:26 -06:00
ligd
e1622f60a6 drivers/power/pm: Use the start time of state btime) to calculate thrcnt; remove the loop whose count may be very big after the long idle 2018-11-10 07:30:23 -06:00
ligd
f4a3541d26 drivers/power/pm_initialize.c: Fix pm_domain_s.stime unint caused time error. Bug deatil:
1. open CONFIG_DEBUG_FEATURES CONFIG_SYSTEM_TIME64 CONFIG_CLOCK_MONOTONIC
     ==> INITIAL_SYSTEM_TIMER_TICKS very big data, not zero
  2. close CONFIG_SCHED_TICKLESS
     ==> use g_system_timer as system clock
  3. pm_domain_s.stime init to zero
  4. clock_systimer() - pm_domain_s.stime get big data, error
2018-11-10 07:20:34 -06:00
Xiang Xiao
f64741faca drivers/timers/arch_rtc.c: up_rtc_set_lowerhalf call clock_synchronize() for external RTC. 2018-11-09 16:34:07 -06:00
Gregory Nutt
2b6b3724fb drivers/usbdev/Kconfig: Fix misplaced endif. 2018-11-09 10:26:33 -06:00
Xiang Xiao
8193c28e91 drivers/net/tun.c: Call ipv[4|6]_input dynamically by checking packet header and remove the code duplication 2018-11-09 09:50:10 -06:00
Xiang Xiao
3f1b6543db drivers/net/slip.c: Add IPv6 support and fix minor issue 2018-11-09 09:41:24 -06:00
Xiang Xiao
f65e7a4097 drivers/net/lan91c111.c: Reuse lan91c111_reply for ARP case 2018-11-09 09:38:59 -06:00
Xiang Xiao
7828dff2ea drivers/syslog: syslog_initialize initialize dev/syslog too and call syslog to add the prefix and timestamp 2018-11-09 08:49:07 -06:00
Xiang Xiao
f579c43754 drivers/syslog: Ensure interrupt log doesn't interlace in normal log. Don't call syslog_putc in syslog_default_write because syslog_putc will try to empty the interrupt buffer every time. 2018-11-09 08:46:32 -06:00
Xiang Xiao
e3f23b5bca drivers/syslog/syslog_putc.c: call sc_force in idle task even interrupt buffer enabled. The following cases may hang randomly in the bring up phase: (1) boot up process and (2) suspend/resume process. Either case runs in the idle task context, so it's difficult to debug the hang issue if these output go through the interrupt buffer. 2018-11-09 08:39:26 -06:00
Xiang Xiao
16909c80a3 drivers/syslog/syslog_flush.c: Uncomment the g_syslog_channel->sc_flush call 2018-11-09 08:36:45 -06:00
Xiang Xiao
0f940e06f5 drivers/syslog/vsyslog.c: nx_syslog's return value should include the timestamp length 2018-11-09 08:35:20 -06:00
Xiang Xiao
2e18b603ad drivers/mtd/mtd_partition.c: Remove the hard code partition name length 2018-11-09 08:24:17 -06:00
Xiang Xiao
78b725907d drivers/mtd/ftl.c: ADd support support unlink operation to avoid the memory leak 2018-11-09 08:22:51 -06:00
Xiang Xiao
47a2edc7a4 drivers/mtd/ftl.c: Allocate eblock only when it's really needed 2018-11-09 08:21:10 -06:00
zhuyanlin
e9000df50c drivers/mtd/ftl.c: Make READAHEAD and WRITEBUFFER work independently of each other. There have cases we use writebuffer but not readbuffer, so the write buffer must be flushed before read. Let rwb driver do it. 2018-11-09 08:18:46 -06:00
Xiang Xiao
65177b3344 drivers/mtd/ftl.c: Change ftl_initialize_by_name to ftl_initialize_by_path 2018-11-09 08:15:57 -06:00
Xiang Xiao
6ee09e8888 drivers/mtd/ftl.c: Support BIOC_FLUSH ioctl 2018-11-09 08:12:52 -06:00
zhuyanlin
0849af133e drivers/rwbuffer.c: Improve the rwb_read/write overlap performance 2018-11-09 08:10:40 -06:00
Xiang Xiao
44c9728a60 rivers/rwbuffer.c: Don't queue work to flush write buffer if CONFIG_DRVR_WRDELAY == 0 2018-11-09 08:10:40 -06:00
Xiang Xiao
ec70aa86a6 drivers/rwbuffer.c: Fix a lock issue 2018-11-09 08:10:40 -06:00
Gregory Nutt
241ea809c7 Updates based on coding style review of PR 756 2018-11-09 08:10:40 -06:00
Petteri Aimonen
3e5a05f819 Merged in paimonen/nuttx/pullreq_max11802_updates (pull request #756)
max11802: Fix compilation errors and allow setting PULL and SAMPLE registers.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-09 13:53:11 +00:00
Gregory Nutt
31485356b8 Updates based on coding style review of PR 755 2018-11-09 07:51:43 -06:00
Petteri Aimonen
96da659c0b Merged in paimonen/nuttx/pullreq_FAT_improvements (pull request #755)
Pullreq FAT improvements

* NuttX: Add CONFIG_FAT_LFN_ALIAS_HASH to speed up creating long filenames.

    Long filenames on FAT filesystems have associated 8.3 character alias
    short filenames. The traditional form of these is FILENA~1.EXT with
    a running count of the number of similar names. However creating this
    unique count can take several seconds if there are many similarly named
    files in the directory. Enabling FAT_LFN_ALIAS_HASH uses an alternative
    format of FI0123~1.TXT where the four digits are a hash of the original
    filename. This method is similar to what is used by Windows 2000 and
    later.

* NuttX: Add CONFIG_FAT_LFN_ALIAS_TRAILCHARS alternative format for 8.3 filenames.

    Traditional format for long filename 8.3 aliases takes first 6
    characters of long filename. If this option is set to N > 0,
    NuttX will instead take first 6-N and last N characters to form
    the short name. This is useful for filenames like "datafile12.txt"
    where the first characters would always remain the same.

* NuttX: FAT32: Fix file date corruption in fat_truncate().

* NuttX: if SD card wait seems to be a long one, give time for other threads to run.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-09 13:46:16 +00:00
Gregory Nutt
071d69e082 Updates from coding standard review of PRs 753 and 754 2018-11-09 07:44:22 -06:00
Gregory Nutt
2fad9b86d1 Merged in paimonen/nuttx/pullreq_DFU_interface (pull request #754) 2018-11-09 07:07:29 -06:00
Petteri Aimonen
99adc36352 Merged in paimonen/nuttx/pullreq_RNDIS_composite_support (pull request #753)
RNDIS composite support

* NuttX usb/composite.h: Forward-declare composite_devdesc_s.

    This avoids "error: conflicting types for 'composite_initialize'"
    on some versions of GCC. Because of the cross-inclusion between
    usbdev.h and composite.h, the full declaration is not always
    available.

* NuttX: USB Composite driver: Fix strid comparison

    The last string ID used by composite driver is 4, and
    the number of IDs used is 5 (0..4). The comparison
    strid <= COMPOSITE_NSTRIDS caused composite driver to
    reply with -EINVAL for id 5, even though it should be
    available for subdevices to use.

* NuttX: RNDIS USB driver: Add support for composite configuration.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-09 12:56:58 +00:00
Petteri Aimonen
a37c0c4cba NuttX: USB Composite and DFU drivers: Add support for Microsoft OS descriptors.
These Microsoft-only descriptors help in loading the correct driver on Windows.
They are especially helpful to give libusb access to a custom device without
having to manually configure/install WinUSB driver.

With this change DFU interface works automatically on
Windows 10 with dfu-util 0.9 and libusb 1.0.22. On Windows 7
it still appears to need driver installation.
2018-11-09 14:12:29 +02:00
Petteri Aimonen
1f8bd33a5d NuttX: Add DFU Runtime driver for activating bootloader through USB command. 2018-11-09 14:11:31 +02:00
Xiang Xiao
2e8ffd8cc6 drivers/timers: Simplify the error handling in arch rtc/alarm/timer wrapper 2018-11-08 12:06:44 -06:00
ligd
414ace8f46 drivers/timers/arch_alarm.c: Fix alarm ISR error when no CONFIG_SCHED_TICKLESS
drivers/timers/arch_alarm.c: Use uint64_t to avoid alarm 32-bit overflow
2018-11-08 11:51:09 -06:00
ligd
5223d7a391 drivers/serial/uart_16550.c: Remove disabling of interrupts in up_earlyserialinit. up_irqinitialize() already disable all interrupts 2018-11-08 10:21:49 -06:00
zhangyuan7
a7d9d4bc1e drivers/serial/uart_16550.c: Fox UART flow control issue. UART_MCR_RTS need be high even UART_MCR_AFCE is enabled 2018-11-08 10:21:16 -06:00
Xiang Xiao
247414c6ad drivers/mtd and other MTD drivers: Remove mtd_procfsoperations since we can now get the same information from inode 2018-11-08 09:46:11 -06:00
Xiang Xiao
71a6244198 drivers/ioexpander: Support multiple registrations of GPIO signal events. 2018-11-08 08:29:22 -06:00
Alan Carvalho de Assis
2129ce134c drivers/sensors/mlx90614.c: Fix MLX90614 to reflash new device address 2018-11-02 07:05:40 -06:00
Anthony Merlino
260d29a187 Merged in antmerlino/nuttx/xbee-getset-txpwr (pull request #747)
Xbee getset txpwr

* drivers/wireless/ieee802154/xbee: Minor improvements to debug facilities.

* drivers/wireless/ieee802154/xbee: Add support for setting/getting tx power.

    TODO: The input/output arguments from the MLME primitive are intended to be an int32_t dbm value. However this change simply reports the power level register of the XBee. Need to add look-up table to back calculate the dbm value.

    # Conflicts:
    #	drivers/wireless/ieee802154/xbee/xbee.c

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-01 19:05:04 +00:00
Gregory Nutt
6d93658ff8 Add new configuratin CONFIG_NET_MCASTGROUP. This option is selected automatically if either CONFIG_NET_IGMP or CONFIG_NET_MLD are selected. Most conditional logic based on CONFIG_NET_IGMP replaced with conditioning on CONFIG_NET_MCASTGROUP. 2018-10-31 15:03:51 -06:00
Gregory Nutt
b49fe431b7 drivers/usbdev/Kconfig: Correct an error found in build testing. The type of CONFIG_RNDIS_SERIALSTR must be a string, not hex. 2018-10-30 16:40:32 -06:00
Gregory Nutt
5c8831c886 drivers/mmcsd/Kconfig: Remove executable bit from file permissions. 2018-10-30 09:48:53 -06:00
Alan Carvalho de Assis
9689448d2a drivers/sensors/mlx90614.c: Add support for the Infrared Thermometer MLX90614 2018-10-28 15:58:14 -06:00
Gregory Nutt
11cc274eef Trivial, cosmetic changes from review of last PR. 2018-10-28 06:55:20 -06:00
Mateusz Szafoni
7329c81503 Merged in raiden00/nuttx_h7 (pull request #742)
Add basic SPI support for H7

* stm32h7: basic SPI support (nodma, noirq)

* nucleo-h743zi: nrf24l01 support

* nrf24l01.c: fix compilation errors

* stm32h7x3xx_rcc.c: enable SYSCFG clock

Approved-by: GregoryN <gnutt@nuttx.org>
2018-10-28 12:43:08 +00:00
Gregory Nutt
851d683571 drivers/wireless/ieee80211/bcmf_sdpcm.c: Remove incorrect OR condition. Always true, would always cause allocation failure. Noted by Shao Li in Issue 127. 2018-10-26 05:26:26 -06:00
Gregory Nutt
bde9b10b1d drivers/wireless/ieee80211/bcmf_core.c: There were two functions that have a address issue. In bcmf_read_sbreg and bcmf_write_sbreg, SBSDIO_SB_OFT_ADDR_MASK should be used before map address space. Noted by Shao Li in Bitbucket issue #126. 2018-10-25 06:52:02 -06:00
Dave Marples
ba95cfe067 Eliminate some warnings. 2018-10-25 06:48:11 -06:00
Dave Marples
d1c01e1135 With these changes the SDMMC card for LPC4330 is now working properly BUT it needs more testing, especially with different cards etc. This code should be applicable to all members of the lpc43xx family.
In addition to the problems that were previously identified there were a few other bits and pieces outstanding;

  * Timing was dependent on CPU speed rather than absolute time
  * End of transfer handling was a bit mixed up
  * It's possible for data to still be in the FIFO (i.e. not have reached
    the card) when a next write is requested, so we need to wait for that to
    complete
  * Interrupt Status could be carried over from one transfer episode to the
    next, corrupting progress
  * Multi-descriptor DMA writing simply wasn't implemented, but there were no
    indications ... it just failed silently
2018-10-24 18:06:38 -06:00
Sakari Kapanen
dafa180d8d nuttx/drivers/usbdev/rndis.c: Account for CONFIG_NET_GUARDSIZE in allocation of packet buffer
nuttx/drivers/usbdev/rndis.c:  Make USB device parameters configurable
2018-10-24 09:06:09 -06:00
Gregory Nutt
805c1bc2b9 Cosmetic changes for coding standard fixes. 2018-10-20 18:15:44 -06:00
Daniel P. Carvalho
3abe871a80 drivers/sensors/ina226.c: Add INA226 device driver. 2018-10-19 09:04:56 -06:00
Ken Pettit
aa9771751b drivers/mtd/s25fl1.c: During a MTDIOC_GEOMETRY ioctl call, the driver was incorrectly reporting the blocksize to be the same as the erasesize. The blocksize should be 256 (the page size). This patch fixes that, and now the SmartFS configration is working. 2018-10-18 07:02:02 -06:00
David Sidrane
9547b186df Merged in david_s5/nuttx/Lampoo-master-spi-flash (pull request #735)
drivers/mtd: add support to Macronix MX25LF25635F serial NOR flash

Approved-by: GregoryN <gnutt@nuttx.org>
2018-10-17 23:24:45 +00:00
Gregory Nutt
68c8a4c5a2 Update TODO list, Kconfig help text. 2018-10-08 14:45:00 -06:00
Gregory Nutt
378aa1a055 drivers/wireless/ieee80211/Kconfig: Update Kconfig help text. 2018-10-08 09:03:42 -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
Ramtin Amin
b539d04cfb drivers/wireless/ieee802.11: Add capabilility for Broadcom chips to get firmware and CLM data from a mounted file system vs. in-memory data structures. 2018-10-07 10:03:39 -06:00
Alan Carvalho de Assis
c4a906aef4 drivers/leds/max7219.c: Support all digits presented in the MAX7219 datasheet. 2018-09-29 11:16:45 -06:00
Dave Marples
91eb792e56 Corrections for the i.MXRT Ethernet:
(1) Now the Ethernet is completely re-initialized when an error occurs by means of taking the interface down and back up but the PHY is _not_ renegotiated for that case because that is very time consuming and an error in the Ethernet is no reflection on the state of the PHY anyway.

(2) Explicitly sets the expected PHY address to zero (this could be moved into the config) rather than searching for it which takes ages, and it's zero anyway for this board (that's the broadcast address, and anything that cannot respond on that has multiple PHYs, so that would be a new board).

(3) Allows for the renegotiation of the PHY to be optional when a reset is needed. If a non-renegotiated reset doesn't result in good comms to the PHY then it'll automatically be escalated to a renegotiated one.

(4) Only performs a reset for errors that need it (the CRITICAL_ERROR define).  The list of errors that need reset are somewhat arbitrarily chosen based on my prejudices and might need to be revisited, but certainly the jabber errors don't need reset, the partial packet is thrown away by the layer above anyway.

(5) Re-loads the multicast table on reset.

(6) Adds a bit more logging into the imxrt Ethernet module.
2018-09-28 07:25:48 -06:00
Gregory Nutt
6d2cce99e1 fs/spiffs: Fix more problems found in testing. It is getting closer but examples/fstest is still showing problem. 2018-09-26 10:05:43 -06:00
Harri Luhtala
2d750d461b drivers/net/enc28j60.c: Adjust debug trace levels. Correct typos in some comments. 2018-09-25 07:07:04 -06:00
Gregory Nutt
b823fd83bd arch/arm/src/armv7-a: Replicate the same fix was previously commited for the armv7-r. 2018-09-20 21:40:29 -06:00
EunBong Song
0f18e8cc32 Merged in ebsong/nuttx (pull request #722)
Pull request for mtd/progmem refactoring.

* mtd/progmem: change up_progmem_npages to up_progmem_neraseblocks

    page is a unit for read/write operation.
    eraseblock is a unit for erase operation.
    up_progmem_npages is a little bit confusing because it returns number of
    erase blocks in flash memory. This patch changes up_progmem_npages to
    up_progmem_neraseblocks. There is no logical change.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* mtd/progmem: up_progmem_erasesize.

    Change argument name to be more readable.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* mtd/progmem: up_progmem_eraseblock

    Change up_progmem_erasepage to up_progmem_eraseblock.
    eraseblock is more readable name than erasepage.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* mtd/progmem: change up_progmem_eraseblock's return value.

    up_progmem_eraseblock erase a block. so it's better to return the erase block
    size than page size.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* arm/cortex-r : fix wrong cp15_flash_dcache.

    change mcrne to mcr for unconditional dcache.

    Signed-off-by: sungduk.cho <sungduk.cho@samsung.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-09-21 03:18:38 +00:00
Masayuki Ishikawa
03f5e8e5c2 Merged in masayuki2009/nuttx.nuttx/fix_rndis (pull request #721)
drivers/usbdev: Fix buffer overrun check in rndis.c

The rndis driver has been working since 13 Nov 2017.
However, I finally found that it depends on network and buffer
configurations. If a receiving TCP packet is devided into smaller
ones based on USB max packet size, this condition check works
correctly.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-09-20 12:50:58 +00:00
Juha Niskanen
3d14b63e8f drivers/timers: RTC_PERIODIC is no longer EXPERIMENTAL, remove unimplemented EXPERIMENTAL RTC configuration variables. 2018-09-17 06:27:37 -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
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
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
Gregory Nutt
993321dda6 drivers/serial: Add support for Ctrl-Z. This works just like the recently added Ctrl-C support except that SIGSTP is sent when the Ctrl-Z characters is encountered vs. SIGINT. 2018-09-02 15:36:25 -06:00
Ouss4
adda352b15 drivers/sensors/dhtxx.c: Driver for DHTxx sensor. 2018-09-01 07:25:30 -06:00
Gregory Nutt
a7265d71c6 This commit adds support for default signal actions for SIGSTOP, SIGSTP, and SIGCONT.
Squashed commit of the following:

    Add procfs support to show stopped tasks.  Add nxsig_action() to solve a chicken and egg problem:  We needed to use sigaction to set default actions, but sigaction() would refuse to set actions if the default actions could not be caught or ignored.

    sched/signal:  Add configuration option to selectively enabled/disable default signal actions for SIGSTOP/SIGSTP/SIGCONT and SIGKILL/SIGINT.  Fix some compilation issues.

    sched/sched:  Okay.. I figured out a way to handle state changes that may occur while they were stopped. If a task/thread was already blocked when SIGSTOP/SIGSTP was received, it will restart in the running state.  I will appear that to the task/thread that the blocked condition was interrupt by a signal and returns the EINTR error.

    sched/group and sched/sched:  Finish framework for continue/resume logic.

    sched/signal:  Roughing out basic structure to support task suspend/resume
2018-08-30 10:27:18 -06:00
Xiang Xiao
51708745f6 drivers/serial/serial_dma.c: Fix typo error in uart_recvchars_dma() 2018-08-29 08:31:43 -06:00
Juha Niskanen
827d316dce drivers/audio/audio_i2s.c: Fix bad NULL pointer check 2018-08-29 06:19:19 -06:00
Xiang Xiao
09c907b446 drivers/serial/serial.c: Fix warning: 'value computed is not used' 2018-08-29 06:10:53 -06:00
EunBong Song
d33b0640fe Merged in ebsong/nuttx (pull request #712)
Pull request for cortex-r4 codes

* arm/armv7-r: Add general interrupt controller.

    This is based on armv7-a gic controller code.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* arm/armv7-r: add invalidate dcache in arm_head.S

    Adding invalidate dcache as a comment in arm_head.S.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* arm/armv7-r: Fix some wrong configuration of program status register.

    PSR_E_BIT bit should be set for big endian system.
    PSR_A_BIT bis is set automatically as arm cortex-r4 reference manual 3.7.4.
    So we don't need to set this bit.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* arm/armv7-r: Fix some wrong MPU register definition.

    Change MPU_RBAR_ADDR_MASK and MPU_RACR_TEX_SHIFT mask as
    arm cortex-r4 reference manual.

    Region Base Address Register 0-4 bits are reserved.
    MPU Region Access control register type 3-5 bits.

    Signed-off-by: EunBong Song <eunb.song@samsung.com>

* driver/mtd: fix compilation error.

    This commit fixes below compilation errors.

    CC:  mtd/smart.c
    mtd/smart.c:182:22: error: 'gWearBitToLevelMap4' defined but not used [-Werror=unused-const-variable=]
     static const uint8_t gWearBitToLevelMap4[] =
                          ^~~~~~~~~~~~~~~~~~~
    mtd/smart.c:170:22: error: 'gWearLevelToBitMap4' defined but not used [-Werror=unused-const-variable=]
     static const uint8_t gWearLevelToBitMap4[] =
                          ^~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    make[1]: *** [smart.o] Error 1

    Signed-off-by: Junyeon LEE <junyeon2.lee@samsung.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-08-29 01:50:41 +00:00
liuzhuang
8343f0f55a drivers/net/lan91c111.c: Change MAX_NETDEV_MTU to MAX_NETDEV_PKTSIZE 2018-08-28 15:24:02 -06:00
Gregory Nutt
dcb3d4b050 sched/signal: Add logic and an interface to determin if a signal can be caught or ignored. sigaction now correctly returns EINVAL on any attempt to catch or ignore such signals (only SIGKILL for now and only if CONFIG_SIG_DEFAULT=y). 2018-08-28 12:39:03 -06:00
Gregory Nutt
0756cf66ed sched/signal: Add support for SIGINT in addition to SIGKILL. drivers/serial: Use SIGINT instead of SIGKILL when control-C is pressed. 2018-08-28 12:15:31 -06:00
Gregory Nutt
0b60bbc6d3 Update some Kconfig comments. 2018-08-28 10:51:34 -06:00
Gregory Nutt
e7ce9bbfc4 drivers/serial: Integrate new Ctrl-C logic with the ISIG flag in the termios c_lflag. Fix several compiler errors resulting from recently flurry of renaming. 2018-08-28 09:15:29 -06:00
Gregory Nutt
15a1e44586 drivers/mtd/ftl.c: Reduce size of stack buffer from 64 to a maximum size as determined from NAME_MAX 2018-08-28 08:19:15 -06:00
Xiang Xiao
8b5ac497ad drivers/mtd/ftl.c: Support initialization of an FTL block device with a custom name 2018-08-28 07:15:57 -06:00
Xiang Xiao
41a1e76735 drivers/mtd/mtd_partition.c: Copy the partition name to internal buffer so that the caller can free the name argument 2018-08-28 07:09:59 -06:00
wangyanjiong
25f2bcea38 drivers/mtd: Add gd25 driver 2018-08-28 06:31:54 -06:00
Gregory Nutt
00c6793e61 drivers/power/pm_register.c: Fix an error found in build testing. 2018-08-27 16:13:07 -06:00
ligd
a02f919bec drivers/power: PM: Add timer to decrease PM level automatically 2018-08-27 13:28:48 -06:00
zhuguangqing
1bbe9baa29 drivers/pm: PM: Add PM_RESTORE to notify driver that device exit WFI so the driver could restore state. For example, WDT may stop counting before enter low power state and restore the counting agian in PM_RESTORE notification 2018-08-27 13:26:33 -06:00
Xiang Xiao
ef5b781061 drivers/power: PM: Make power manager service available as soon as possible: (1) Initialize g_pmglobals at the definition, (2) skip hold the lock if OS isn't ready 2018-08-27 13:24:13 -06:00
zhuguangqing
7f4064e511 drivers/pm: PM: Decrease the power state in the reverse order. Since the child driver need power off before parent driver. 2018-08-27 13:22:11 -06:00
Xiang Xiao
af284c1e23 drivers/power/: PM: Don't update the power state in work thread: (1) Simplify the code logic and remove the work queue dependence, (2) Power calculation is too simple to delay into the work queue 2018-08-27 13:20:28 -06:00
zhuguangqing
7d9787d530 drivers/power: PM: Add pm_querystate function 2018-08-27 13:18:09 -06:00
Xiang Xiao
006b7d3963 drivers/power: PM: Add pm_stay and pm_relax function so special apps(e.g. mediaplayer) could disable suspend during playback much like linux kernel counterpart 2018-08-27 13:16:34 -06:00
Xiang Xiao
6c057e608b Squashed commit of the following:
drivers/timers/arch_timer.c: implement timer arch API on top of timer driver interface

    drivers/timers/arch_alarm.c:  Implement alarm arch API on top of oneshot driver interface

    drivers/timers/arch_rtc.c:  Implement RTC arch API on top of RTC driver interface

    include/nuttx/timers/rtc.h:  Extend struct rtc_time by adding tm_nsec if RTC supporst hiresolution time.
2018-08-27 11:55:30 -06:00
Gregory Nutt
c0d234a474 Squashed commit of the following:
drivers/serial/Kconfig:  It is no longer necessary to restrict Ctrl-C handling to the FLAT build

    sched/signal:  Add a new configuration option to select signal default actions, separate handling of signal default actions from both task startup logic and from the serial TTY Ctrl-C logic.  Add a signal set in the group structure to keep track of what signals have been set to the default action.  In dispatching signals in PROTECTED or KERNEL mode, use this signal set to determine if the default signal handler is attached and dispatch the signal in kernel mode for the default actions.
2018-08-27 11:40:09 -06:00
zhuyanlin
459d9f2851 Squashed commit of the following:
driver/ioexpander:  Add gpio_pin_unregister function to GPIO driver
  driver/ioexpander:  Add pinset struct to GPIO driver for interrupt pins larger than 64
  driver/ioexpander:  Initialize pintype/inttype when registering ioexpander device
  driver/ioexpander:  Add SETPINTYPE ioctl command to the GPIO driver
2018-08-27 09:25:11 -06:00