Commit Graph

32528 Commits

Author SHA1 Message Date
Gregory Nutt
30657b769f net/udp/udp_setsockopt.c: Remove a warning about an uninitialized variable. 2018-07-04 18:28:17 -06:00
Gregory Nutt
e1f8b3ff3b Update some help comments in two Kconfig files. 2018-07-04 15:36:31 -06:00
Gregory Nutt
22cd0d47fa This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
This makes the user interface a little hostile.  People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header).  A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length.  Instead, we define the packet buffer size then derive the MTU.

The MTU is not common currency in networking.  On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP).  Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes.  So we should be all good and without the recurring 14 byte error in MTU's and MSS's.

Squashed commit of the following:

    Trivial update to fix some spacing issues.
    net/: Rename several macros containing _MTU to _PKTSIZE.
    net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE.  This is not the MTU which does not include the size of the link layer header.  This is the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename the file d_mtu in the network driver structure to d_pktsize.  That value saved there is not the MTU.  The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header.  The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
Gregory Nutt
daa3fcc781 include/nuttx/spi/spi.h: Add a definition for a USBHOST SPI device. drivers/usbhost/usbhost_max3421e.c: Review and correct SPI locking usage. 2018-07-04 08:55:43 -06:00
Frank Benkert
317c7c2aff arch/arm/src/samv7: Add ability for CAN BUS_OFF autorecovery according ISO11898-1:2015. With this change we added an ioctl for triggering the autorecovery sequence for BUS_OFF to the CAN-driver and the SAMV7 low-level driver. According the datasheet: If the device goes Bus_Off, it will set MCAN_CCCR.INIT of its own accord, stopping all bus activities. Once MCAN_CCCR.INIT has been cleared by the processor (application), the device will then wait for 129 occurrences of Bus Idle (129 * 11 consecutive recessive bits) before resuming normal operation. At the end of the Bus_Off recovery sequence, the Error Management Counters will be reset. During the waiting time after the resetting of MCAN_CCCR.INIT, each time a sequence of 11 recessive bits has been monitored, a Bit0 Error code is written to MCAN_PSR.LEC, enabling the processor to readily check up whether the CAN bus is stuck at dominant or continuously disturbed and to monitor the Bus_Off recovery sequence. MCAN_ECR.REC is used to count these sequences. 2018-07-04 07:48:59 -06:00
Gregory Nutt
254924029b net/udp: Restore some legacy behavior that was lost with the implementation of CONFIG_NET_UDP_BINDTODEVICE: If no device has a local address when the broadcast packet is sent and the UDP socket is not bound to a device, there select some arbitrary device. This is certainly lunacy in the case where there are multiple network devices registered because the wrong device will probably be returned. It works find, however, for the legacy case where only a single network device is registered. 2018-07-04 07:35:51 -06:00
Gregory Nutt
75f7663427 This commit adds support for the Maxim M3421E USB host driver.
Squashed commit of the following:

    drivers/usbhost/usbhost_max3421e.c:  Add USB tracing support.  Fix compilation errors when assertions and debug is enabled.
    drivers/usbhost/usbhost_max3421e.c:  Fixes to get a clean compilation.
    drivers/usbhost/usbhost_max3421e.c:  Drivers is basically code complete.
    drivers/usbhost/usbhost_max3421e.c:  Missed a little bit of logic in the last commit.
    drivers/usbhost/usbhost_max3421e.c:  Completes implementatin of control transfers.
    drivers/usbhost/usbhost_max3421e.c:  Implements low-level part of packet receive.
    drivers/usbhost/usbhost_max3421e.c:  Reorder some functions add a little more transfer-related logic.
    drivers/usbhost/usbhost_max3421e.c:  Completes basic logic path for sending normal packets.
    drivers/usbhost/usbhost_max3421e.c:  Correct handling of SNDFIFO double buffering.
    drivers/usbhost/usbhost_max3421e.c:  Not necessary to set the ACKSTAT bit in host mode.  Clean up some comments.
    drivers/usbhost/usbhost_max3421e.c:  Mostly cosmetic cleanup
    drivers/usbhost/usbhost_max3421e.c:  Revise some previous logic.  Looks like the MAX3421E can handle 16 channels in host mode.  A little bit of work on packet transfer logic.
    Copy paste error fix
    drivers/usbhost/usbhost_max3421e.c:  Add some channel allocation logic.
    drivers/usbhost/usbhost_max3421e.c:  Add some initialization logic.
    drivers/usbhost/usbhost_max3421e.c:  Add logic to determine if a full or low speed device has been connected.
    drivers/usbhost/usbhost_max3421e.c:  Add interrupt handling and bus reset logic.
    drivers/usbhost/usbhost_max3421e.c:  Add framework for an MAX3421E host driver.  Initial commit is just the STM32 OTGFS host driver with a few new SPI-related functions.
2018-07-03 18:49:51 -06:00
Masayuki Ishikawa
88f8a09a25 Merged in masayuki2009/nuttx.nuttx/lc823450_i2s_tx_threshold (pull request #667)
arch/arm/src/lc823450: Add tx start threshold to lc823450_i2s.c

In addition, lc823450_i2s_send() now accepts byte-aligned stream.

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

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-03 12:59:03 +00:00
Masayuki Ishikawa
f3bb2728d4 Merged in masayuki2009/nuttx.nuttx/update_lc823450_configs (pull request #666)
configs/lc823450-xgevk: Update defconfig files

To audio/bt/rndis/usb, add CONFIG_FAT_MAXFNAME=255

To audio/rndis/usb, add CONFIG_SYSTEM_TASKSET=y

To bt/rndis, add CONFIG_AUDIO_I2SCHAR=y, CONFIG_EXAMPLES_I2SLOOP=y,
CONFIG_NET_UDP_BINDTODEVICE=y

From bt, remove CONFIG_SYSLOG_TIMESTAMP=y,
CONFIG_SYSLOG_TIMESTAMP_REALTIME=y

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

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-03 12:58:05 +00:00
Marcin Wyrwas
898fdbded0 Merged in plwm/nuttx/stm32f746g-disco-sdram (pull request #665)
Add support for STM32F746G-disco board SDRAM

* add support for STM32F746G-disco board SDRAM

* changed fb config to use SDRAM and fixed compilation

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-02 23:49:55 +00:00
Alan Carvalho de Assis
8a1f3d6fa1 arch/arm/src/xmc4/xmc4_gpio.c: Add a specific bit encoding for openprain GPIO pin. 2018-07-02 10:56:58 -06:00
Gregory Nutt
f3229cc00a include/nuttx/usb/max3421e.h: Update MAX3421E header file. 2018-07-01 16:03:59 -06:00
Gregory Nutt
83d6c9b1b9 Update MAX3421E header file. 2018-07-01 13:03:53 -06:00
Gregory Nutt
3e9ba72441 net/sixlowpan: Fix typo uint16->uint16_t. Also picks up some cosmetic USB host changes. 2018-07-01 10:05:15 -06:00
Gregory Nutt
824f1dd3fe Squashed commit of the following:
lpc17:  Removed duplicate configuration variable definitions from Kconfig:  CONFIG_USBHOST_BULK_DISABLE, CONFIG_USBHOST_INT_DISABLE, and USBHOST_ISOC_DISABLE.  These are global USBHOST configurations and are all defined in drivers/usbhost/Kconfig.
    lpc17:  Correct scope of naming of configuration variables:  CONFIG_USBHOST_TDBUFFERS->CONFIG_LPC17_USBHOST_TDBUFFERS, CONFIG_USBHOST_TDBUFSIZE->CONFIG_LPC17_USBHOST_TDBUFSIZE, and CONFIG_USBHOST_IOBUFSIZE->CONFIG_LPC17_USBHOST_IOBUFSIZE
    lpc17:  Correct scope of naming of configuration variables:  CONFIG_USBHOST_NEDS->CONFIG_LPC17_USBHOST_NEDS and CONFIG_USBHOST_NTDS->CONFIG_LPC17_USBHOST_NTDS
    lpc17:  Correct scope of naming of configuration variable:  CONFIG_USBHOST_OHCIRAM_SIZE->CONFIG_LPC17_OHCIRAM_SIZE
2018-07-01 08:38:05 -06:00
Gregory Nutt
e59b26370d Squashed commit of the following:
Fix a few typo/compilation problems.
    net/:  Remove all CONFIG_NET_xxx_TCP_RECVWNDO configuration variables.  They were used only to initialize the d_recwndo of the network device structure which no longer exists.
    net/:  Remove the device TCP receive window field (d_recvwndo) from the device structure.  That value is no longer retained, but is calculated dynamically.
    Remove some dangling references to CONFIG_NET_TCP_RWND_CONTROL.
    net/tcp:  Take read-ahead throttling into account when calculating the TCP receive window size.
    net/tcp: tcp_get_recvwindow() now returns the receive window size directly (vs. indirectly via the device structure).
    net/tcp:  Remove CONFIG_NET_TCP_RWND_CONTROL.  TCP window algorithm is now trigged only by CONFIG_NET_TCP_READAHEAD.
2018-07-01 07:59:33 -06:00
Gregory Nutt
6ec8f9ce83 include/nuttx/usb: Add header file for the MAX3421E. 2018-07-01 07:09:36 -06:00
Gregory Nutt
b32d8b1714 net/tcp and sixlowpan: Separate the the TCP receive window calculations to a separate header file. It must also be used by the special 6LoWPAN TCP logic. 2018-06-30 20:50:07 -06:00
Gregory Nutt
d52b65b06d Fix several configuration varaibles that were defined in multiple Kconfig files and/or lacked any scoping and the naming.
Squashed commit of the following:

    lpc17, pic32mx, pic32mz:  Fix duplicated, improperly scoped configuration variable names:  CONFIG_PHY_SPEED100 and CONFIG_PHY_AUTONEG.
    lpc17, pic32mx, pic32mz:  Fix another duplicated configuration variable name:  CONFIG_PHY_FDUPLEX.
    lpc17:  Fix naming scope: CONFIG_NET_HASH -> CONFIG_LPC17_ETH_HASH.
    lpc17:  Fix naming scope: CONFIG_NET_WOL -> CONFIG_LPC17_ETH_WOL.
    lpc17, pic32mx, pic32mz:  Fix naming scope: CONFIG_NET_ -> CONFIG_LPC17_ETH_PRIORITY.
    lpc17, pic32mx, pic32mz:  Fix another duplicated configuration variable name:  CONFIG_NET_NTXDESC and CONFIG_NET_NRXDESC.
    lpc17:  Fix naming scope: CONFIG_NET_EMACRAM_SIZE -> CONFIG_LPC17_EMACRAM_SIZE.
2018-06-30 11:55:41 -06:00
Gregory Nutt
576b8b1841 stm32, stm32f0, stm32f7, stm32h7, stm32l4: Fix another duplicated configuration variable name: CONFIG_SERIAL_DISABLE_REORDERING. 2018-06-30 09:43:51 -06:00
Gregory Nutt
80f4f1fab8 configs/pcblogic-pic32mx, sure-pic32mx, ubw32: Update configurations so that the MIPs or Penguino toolchains may be used. 2018-06-29 11:38:12 -06:00
Gregory Nutt
715a2779d4 fix a typo in the previous commit. 2018-06-29 08:55:32 -06:00
Gregory Nutt
31ea6ec910 Update tools/link.sh per suggestions by Mark so that it can be used with MSYS vs copydir.sh. 2018-06-29 07:08:51 -06:00
Gregory Nutt
f159f1089a tools/refresh.sh: Add a --prompt option that will let you use --silent but will prompt before overwriting the original defconfig. arch/arm/src/stm32/Kconfig: Fix a HRTIM configuration error found in build testing. 2018-06-28 17:12:30 -06:00
Gregory Nutt
67810d70d9 arch/arm/src/stm32l4: Fix typo errors found in build testing. 2018-06-28 16:24:21 -06:00
Gregory Nutt
f24f523e4e arch/arm/src/imxrt,stm32,stm32f0,stm32f7,stm32l4: Fix scope of naming. CONFIG_PM_SERIAL_ACTIVITY->CONFIG_STM32_PM_SERIAL_ACTIVITY, for example. 2018-06-28 16:18:15 -06:00
Gregory Nutt
ceaafc2019 arch/arm/src/stm32: Fix scope of naming. CONFIG_RTC_LSECLOCK->CONFIG_STM32_RTC_LSECLOCK, for example. Fix some usage. Although CONFIG_STM32L4_RTC_xxxCLOCK was defined in the Kconfig, CONFIG_RTX_xxxCLOCK was used in numerous places in the code 2018-06-28 15:58:08 -06:00
Gregory Nutt
500d2c2289 arch/arm/src/lpc11,lpc17,lpc43,stm32,stm32l4: Fix scope of naming. CONFIG_CAN_TSEG1->CONFIG_LPC17_CAN_TSEG, for example. 2018-06-28 15:44:42 -06:00
Gregory Nutt
2552bfd2ef arch/arm/src/lpc43: Fix lpc43 CAN configuration. Configuration settings were used and documented in README.txt files, but never in any Kconfig file. Also fix the scoping name of CAN variable naming. CONFIG_CANx_BAUD->CONFIG_LPC43_CANx_BAUD. 2018-06-28 15:11:23 -06:00
Gregory Nutt
45cdc3a3d0 arch/arm/src/lpc11,lpc17,stm32,stm32l4: Fix scopy of nameing. CONFIG_CANx_BAUD->CONFIG_LPC17_CANx_BAUD, for example. 2018-06-28 14:47:14 -06:00
Gregory Nutt
8c3aa99742 arch/arm/src/lpc11 and lpc17: Fix scopy of nameing. CONFIG_CAN_SAM->CONFIG_LPC17_CAN_SAM, for example. 2018-06-28 13:46:35 -06:00
Gregory Nutt
8281dc1ed8 arch/arm/src/lpc11 and lpc17 and several README.tst files in configs/: Fix scopy of nameing. CONFIG_CANx_DIVISOR->CONFIG_LPC17_CANx_DIVISOR, for example. 2018-06-28 13:10:02 -06:00
Gregory Nutt
2c78adf529 arch/arm/src/lpc11 and lpc17: Remove duplicate configuration variable CAN_LOOPBACK. The architecture-indendent version is selectable in drivers/can/Kconfig. 2018-06-28 12:52:02 -06:00
Gregory Nutt
104860560d arch/arm/src/lpc11 and lpc17: Remove duplicate configuration variable CAN_EXTID. The architecture-indendent version is selectable in drivers/can/Kconfig. 2018-06-28 12:50:10 -06:00
Gregory Nutt
7dec38b18f drivers/Kconfig: Global configuration variable CONFIG_FB_TRANSPARENCY is only defined in architecture-specific Kconfig files and then multiple times. Add the single global definition in drivers/Kconfig. arch/arm/src/stm32, stm32f7, and same5: Rename the architecture-specific variables appropriately. Selecting the architecture-specific version will also select the global version. 2018-06-28 12:31:51 -06:00
Gregory Nutt
ba53219821 drivers/Kconfig: Global configuration variable CONFIG_FB_CMAP is only defined in architecture-specific Kconfig files and then multiple times. Add the single global definition in drivers/Kconfig. arch/arm/src/stm32 and stm32f7: Rename the architecture-specific variables appropriately. Selecting the architecture-specific version will also select the global version. 2018-06-28 12:01:55 -06:00
Gregory Nutt
5d6e6d66e2 Fix another improperly qualified configuration varaible: CONFIG_HRTIM -> CONFIG_STM32_HRTIM. This is necessary to avoid conflict and confusion with other Kconfig files that may have the save variable definition. 2018-06-28 11:37:29 -06:00
Gregory Nutt
b030209532 arch/arm/src/imxrt: Trivial SNVS from Rev 1. of the Reference Manual. 2018-06-28 10:54:56 -06:00
Jussi Kivilinna
214e9d923e Commit 0c963449d6, 'fs/vfs: Added support for checking if a descriptor is a socket in fstat().', changed sys/stat.h in way that breaks smartfs file-type stat flags. CROMFS is similarly broken, as tools/gencromfs.c was not updated to match the sys/stat.h changes. This commit fixes both issues. It probably is not a good idea to use NuttX sys/stat.h bit-field values directly in stored structure of filesystem. 2018-06-28 07:40:35 -06:00
Juha Niskanen
044d538da3 Fix some errors found during upstream merge 2018-06-28 07:06:57 -06:00
Gregory Nutt
9038cac4eb arch/arm/src/imxrt: Fix some early testing bugs. The HPRTC is now functional. However, if the LPSRTC is enabled, then there is a hang during LPSRTC initialization. It appears that there is some problem in providing clocking and initializing the LPSRTC domain. 2018-06-27 15:27:56 -06:00
Gregory Nutt
5f6293b93d configs/nucleo-l476rg: Fix some confusional in conditional logic introduced by a recent patch. 2018-06-27 13:14:13 -06:00
David Sidrane
06c7b9a5bc Merged in david_s5/nuttx/master_f7_i2cfix (pull request #664)
stm32f7:I2C reset Configure I2C pins as GPIO output

Pins were reset to inputs in the deinit. This resets
   them to outputs.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-06-27 18:35:34 +00:00
Gregory Nutt
7415f62891 tools/testbuild.sh: Add option to specific location of nuttx directory. 2018-06-27 12:27:34 -06:00
Gregory Nutt
5889a2397c This commit addes support for the i.MXRT RTC. This initial commit is code complete (with limited featurs and options) but untested.
Squashed commit of the following:

    arch/arm/src/imxrt:  Fix some first time compile issues.
    arch/arm/src/imxrt:  This brings the RTC implement to code complete but still untested.
    arch/arm/src/imxrt:  Add some RTC initialization logic.
    arch/arm/src/imxrt:  Flesh out most of the RTC driver lower half and LPSRTC support.
    arch/arm/src/imxrt:  Some inital, partial implementation of the HPRTC and LPSRTC.
    arch/arm/src/imxrt:  Add HPSRTC/HPRTC file framework (no logic, just skeleton files).
    arch/arm/src/imxrt:  Add HPRTC header file.
    Some initial configuration logic for SNVS LPRTC and HP RTC.
2018-06-27 11:19:12 -06:00
Gregory Nutt
691470c1cd arch/arm/src/stm32,stm32l4,stm32f7: Fix duplicated configuration options. All should be unique. 2018-06-27 10:20:14 -06:00
Masayuki Ishikawa
529ac8dd9b arch/arm/src/lc823450: Fix setintstack macro in chip.h. In case of CONFIG_SMP=y, g_cpu0_instack_base and g_cpu1_instack_base
are not allocated just after g_instack_alloc but these values show the addresses for interrupt stack of each CPU. So to set the stack
pointer based on these variables, temporal register has to be used.
2018-06-27 06:50:00 -06:00
Gregory Nutt
dfd2d218e3 fs/mount/fs_automount.c: Ignore return values from work_cancel(). 2018-06-27 06:30:05 -06:00
Gregory Nutt
99c8d2f801 configs/nucleo-l476rg: Add support for an extern SPI-driver SPI card on the Nucleo-L476RG. 2018-06-26 15:28:14 -06:00
Gregory Nutt
d6ed50a370 arch/arm/src/stm32f7/chip/stm32f72xx73xx_dma.h: Macros did not account for the increase from 8 to 16 DMA channels. 2018-06-26 10:12:35 -06:00