Gregory Nutt
a8b6be4aaf
The existence of the network driver ioctl() method should depend on CONFIG_NETDEV_IOCTL rather than CONFIG_NETDEV_PHY_IOCTL. The former enables the method, the later enables a subset of possible driver IOCTLs. This change should be basically a no-operation. The affected ioctl methods only support those subset of driver IOCTLs selected by CONFIG_NETDEV_PHY_IOCTL and the network logic will tolerate a nul ioctl method.
2018-01-22 08:17:45 -06:00
Anthony Merlino
ea795c8cca
SAMA5/SAMv7: It is necessary to disable pre-emption and interrupts around a loop that copies TX data into the hardware in order to avoid a TX data underrun condition.
2017-11-13 10:38:23 -06:00
Gregory Nutt
f3b37e5da3
fs/procfs/fs_procfsprogrem: Add /proc/progmem. This is an alternative way to get the information that was previoulsy available in apps/system/free. apps/system/free was removed beause it made illegal calls into the OS violating the portable interface. This new procfs entry provides the same information with no such violation.
2017-11-13 09:08:39 -06:00
Manish Kumar Sharma
b12f693b8b
arch/arm/src/samv7: Correct an error in RX DMA setup.
2017-10-11 10:54:02 -06:00
Gregory Nutt
ecf6dda2c5
Correct recurring typo: semaphore not semapore
2017-10-09 09:57:56 -06:00
Gregory Nutt
9568600ab1
Squashed commit of the following:
...
This commit backs out most of commit b4747286b1
. That change was added because sem_wait() would sometimes cause cancellation points inappropriated. But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.
In the OS, all calls to sem_wait() changed to nxsem_wait(). nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.
In all OS functions (not libraries), change sem_wait() to nxsem_wait(). This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.
sched/semaphore: Add the function nxsem_wait(). This is a new internal OS interface. It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615
Squashed commit of the following:
...
sched/semaphore: Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable. Changed all references to sem_post in the OS to nxsem_post().
sched/semaphore: Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable. Changed all references to sem_destroy() in the OS to nxsem_destroy().
libc/semaphore and sched/semaphore: Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable. Changed all references to sem_setprotocol in the OS to nxsem_setprotocol(). sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552
Squashed commit of the following:
...
libc/semaphore: Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable. Changed all references to sem_getvalue in the OS to nxsem_getvalue().
sched/semaphore: Rename all internal private functions from sem_xyz to nxsem_xyz. The sem_ prefix is (will be) reserved only for the application semaphore interfaces.
libc/semaphore: Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable. Changed all references to sem_init in the OS to nxsem_init().
sched/semaphore: Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.
sched/semaphoate: Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
c11345ad4b
Squashed commit of the following:
...
STM32, STM32 F7: LTDC and DMA2D drivers are not permitted to set the errno.
SIM LPC31xx: Serial and console drivers are not permitted to set the errno.
SAMv7, STM32, STM32 L4: DAC and ADC drivers are not permitted to set the errno.
2017-09-30 11:51:37 -06:00
Gregory Nutt
06473e89de
Update MRF24J40 starhub configuration for the SAME70 Xplained.
2017-08-16 09:39:25 -06:00
Gregory Nutt
dcb8df76d0
Fix argument to SPI initializatio function
2017-08-15 19:07:35 -06:00
Gregory Nutt
1f989af845
Update TODO list; SAMv7 XDMAC: Remove and unused global array.
2017-08-12 12:26:13 -06:00
Stefan Kolb
22dfa875fc
I discovered while working on the SAMV7 mcan driver that the implementation of the CAN error handling is suboptimal. In the current implementation the following errors are implemented as pending errors:
...
* Receiving
* MCAN_INT_STE (Stuff Error)
More than 5 equal bits in a sequence occurred.
* MCAN_INT_CRCE (CRC Error)
Received CRC did not match the calculated CRC.
* MCAN_INT_RF0L (Receive FIFO 0 Message Lost)
Receive FIFO 0 message lost, also set after write attempt to Receive FIFO 0 of size zero.
* MCAN_INT_RF1L (Receive FIFO 1 Message Lost)
Receive FIFO 1 message lost, also set after write attempt to Receive FIFO 1 of size zero.
* Sending
* MCAN_INT_BE (Bit Error)
Device wanted to send a rec / dom level, but monitored bus level was dominant / recessive.
* MCAN_INT_TEFL (Tx Event FIFO Element Lost)
Tx Event FIFO element lost, also set after write attempt to Tx Event FIFO of size zero.
* General
* MCAN_INT_MRAF (Message RAM Access Failure)
The flag is set, when the Rx Handler
* has not completed acceptance filtering or storage of an accepted message until the arbitration field of the following message has been received. In this case acceptance filtering or message storage is aborted and the Rx Handler starts processing of the following message.
* was not able to write a message to the Message RAM. In this case message storage is aborted. In both cases the FIFO put index is not updated resp. the New Data flag for a dedicated Receive Buffer is not set, a partly stored message is overwritten when the next message is stored to this location. The flag is also set when the Tx Handler was not able to read a message from the Message RAM in time. In this case message transmission is aborted. In case of a Tx Handler access failure the MCAN is switched into Restricted Operation mode (see Section 47.5.1.5). To leave Restricted Operation mode, the processor has to reset MCAN_CCCR.ASM.
* MCAN_INT_ELO (Error Logging Overflow)
Overflow of CAN Error Logging Counter occurred.
The listed errors are not pending, the errors occurred and are gone directly afterwards. This commit changes the described behavior and simplifies the handling of CAN errors.
2017-08-07 10:31:04 -06:00
Gregory Nutt
47791442a0
Squashed commit of the following:
...
commit 3fcf84a9a2673e1e1466ce5b114d7b73c257e515
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 28 12:00:31 2017 -0600
Spirit: Brings in the last of the PktCommon interfaces.
commit d26ebd901ba4ba84910e99b4e728b98c30fa4c0b
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 28 09:54:52 2017 -0600
Spirit: Add a few more PktCommon interfaces.
commit b5cb8041d50233a4abb8fb4d1dcef5428ae2c2b2
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 28 09:33:31 2017 -0600
libc/termios: Remember block comments before empty file sections.
commit 0fcab2c1c8c74442d40bd5e8c6af50a34f8a5821
Author: Sebastien Lorquet <sebastien@lorquet.fr>
Date: Fri Jul 28 09:31:00 2017 -0600
tcdrain implementation based on a new term ioctl
commit 797d4adf7d41068c671f0217d369b797b269de1a
Author: Stefan Kolb <Stefan.Kolb@avat.de>
Date: Fri Jul 28 09:19:04 2017 -0600
We discovered a problem with the samv7 mcan driver which results, under some circumstances, in a very high CPU load.
The problem occurs, and is easily reproducible, if the device is connected to a CAN network with a wrongly configured CAN speed (baud rate). In our tests we set the CAN speed of the device to 1000000 and the speed of the other CAN nodes to 500000. The device is restarted and sends a CANopen “bootup message” to the CAN network. This results in huge amount of errors messages on the CAN bus, probably because of the CAN feature for acknowledging error messages. The error messages can’t be read by the device because of the misconfigured CAN speed, instead the CAN chip reports lots of errors, which are reported to the application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled).
The CAN errors are reported from the CAN chip via interrupts and thus the interrupt load is very high in this scenario. To fix the problem the driver now disables each RX error interrupt after it is occurred. The RX error interrupts are turned back on if at least one CAN message is received successfully.
commit e298f48e96d9e34017dcab8e4d87032862ae9322
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 28 09:06:26 2017 -0600
Spirit: Bring in PktStack interfaces.
commit 4a0f00a7058312dcf6ac392689b9f69112f613ec
Merge: 855cf97130 b458934ac4
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Thu Jul 27 18:05:02 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit 855cf9713052a851a1daeb3842db2edd6ff6f658
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Thu Jul 27 18:03:56 2017 -0600
Spirit Network Driver: Add some hooks that will eventually support address filtering.
commit 3b3fb24ea86cf8233b034871d5c550f47ab852e6
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Thu Jul 27 17:13:21 2017 -0600
Spirit: Add a PktStack header file.
commit 705e8fff6a21264ab751fb34c107cb109430ac89
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Thu Jul 27 15:00:03 2017 -0600
Spirit: Bring in last of timer interfaces.
commit f8984b2f82e165f5bba132d6b099222d1beb1fbd
Merge: cb79778a30 f287cc25d6
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Thu Jul 27 11:57:01 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit cb79778a3044ae97a1cc615dfa24099144f04bd0
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Thu Jul 27 11:46:31 2017 -0600
Spirit: Bring in last of QI interfaces.
commit 0245b330a33aa73531b82ae261b1312be9922e0f
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Thu Jul 27 10:14:34 2017 -0600
Spirit: Add general interfaces.
commit 121845a8f229ec2c88e5721da5512135f6624ee5
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Thu Jul 27 09:41:23 2017 -0600
Spirit: Bring in last of GPIO interfaces.
commit 279bfcc92bcd0cfa48c0ed7862fa2b75fbee99b8
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Wed Jul 26 17:09:19 2017 -0600
Spirit: Add some missing configuration options: Add register -level debug options.
commit 4be89324a5908e35afc70373c279f4d05f62b48f
Merge: 66e87f9bb3 598386ef90
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Wed Jul 26 15:36:20 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit 66e87f9bb3ef75fddf25400bc08475c5e6ad4c30
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Wed Jul 26 15:19:56 2017 -0600
Spirit: Brings in last of PktBasic logic.
commit 8b4c89d6a103003fa04363e2c2ae7b9ee390bf49
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Wed Jul 26 11:55:50 2017 -0600
Spirit: Bring in AES and MBUS logic.
commit d00022d39ab0ce839de29386949481e5c24feff3
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Wed Jul 26 09:22:03 2017 -0600
Spirit: Bring in remainder of calibration interfaces.
commit 40b4b2f902e04293f8940551a97a9a24a48988dd
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Wed Jul 26 08:44:32 2017 -0600
Spirit: Bring in DirectRF interfaces.
commit 7c109608e1a2989f3edbc2fd939a2d225fff382a
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Wed Jul 26 07:46:19 2017 -0600
Spirit: Add CSMA support.
commit 0f88896595d162c4ac6138e7b1af2fc35c865b3d
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Tue Jul 25 18:57:43 2017 -0600
Spirit: Add some initial TX logic to network driver.
commit 4dc7058dfcdcf40980578680b7e1a4206dea4ea2
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Tue Jul 25 17:02:11 2017 -0600
Spirit: Completes ports of spirit_management.* files
commit c904eef51d929e041b87d0c8aff6fa3c2f895341
Merge: 91e985a877 c9ff8cbab9
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Tue Jul 25 15:15:04 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit 91e985a87729017a66d19276c4d47681064f95ea
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Tue Jul 25 15:13:54 2017 -0600
Spirit: Add a few more functions that will soon be needed for packet transmission.
commit b5981d29983907c2194fbc26af4b72ad532bee78
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Tue Jul 25 13:30:07 2017 -0600
Spirit: Finish off some initialization issues; Started some interrupt handling logic.
commit c21073e0bc2870b3d9ba40bdfdfd5151ce4f5890
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Tue Jul 25 09:35:52 2017 -0600
Spirit: Completes very basic radio initialization for network driver
commit 1b544334361c54f46bcf0ba313c125932e8dafc6
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Tue Jul 25 07:58:30 2017 -0600
Spirit: Add more radio initialization logic... getting closer.
commit 45d1047db60843c57d394ec910c63e7c127671e0
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 19:15:33 2017 -0600
Spirit: add some CSMA initialization logic
commit bcf55c71336d48947fe19bb09a799169852301c2
Merge: 89e9d426e9 2fc0fbcf7e
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 16:47:11 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit 89e9d426e91c056e659fccf5e5c4392618f8f777
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 16:44:19 2017 -0600
Update some comments
commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 16:15:54 2017 -0600
Spirit: Rename drivers/wireless/spirit/src to lib. Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers
commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a
Merge: 87b616414a 6bd744c4b3
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 15:38:40 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit 87b616414a79c01a71acea78f8258e05325c1996
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 15:37:27 2017 -0600
Spirit radio driver is mutating into a standalone network driver.
commit 507798233868a661ae8adad3e3aa117075a7a146
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 13:32:08 2017 -0600
Spirit: More radio initialization logic
commit 33af25704ce9ca83d576300d153cfe31cc6d2576
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 12:19:14 2017 -0600
Spirit: Beginning of radio initialization logic
commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jul 24 09:42:06 2017 -0600
Spirit: More initialization logic.
commit 295d8e27824c0417fccea2344b30bb5c93ffbabe
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sun Jul 23 15:39:53 2017 -0600
Spirit: Add header file containing enumeration of commands.
commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sun Jul 23 11:33:50 2017 -0600
Spirit: Add GPIO initialization logic
commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sun Jul 23 10:07:25 2017 -0600
Spirit: Add interrupt control logic.
commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 19:06:52 2017 -0600
Spirit: Yet a little more radio initialization logic.
commit 5895b979823e51ddde5ad52e6de66a8ad662e883
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 15:36:05 2017 -0600
Spirit: A little more radio initialization logic.
commit 86311ab30aad386203c181c792847dd1d37f9a02
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 13:02:32 2017 -0600
Spirit: A miniscule amount of radio initialization logic.
commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a
Merge: 90a7666655 f4e46b0da7
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 10:56:30 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit 90a766665534b05da0157dbc383cb06a98c86a79
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 10:52:52 2017 -0600
Spirit1: A few fixes for a clean build of initial configuration (not much there yet)
commit bbbf04c223230a52a7705a2161128265cfbaa480
Merge: 623d54a7f7 2319ea53a9
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 09:53:57 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit 623d54a7f719e9032099f88f38203efee4b80722
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 09:43:52 2017 -0600
b-l475e-iot01a: Add a configuration for testing sprit radio.
commit d309d73d9f4665f9d870eb03531f450043d9389d
Merge: 52c3ddfae6 d88dc9b2e5
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 09:02:06 2017 -0600
Merge remote-tracking branch 'origin/master' into spirit
commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Jul 22 08:33:04 2017 -0600
Spirit: Add register definition header file.
commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 21 17:27:03 2017 -0600
b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module.
commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 21 15:49:43 2017 -0600
Spirit: Fixes to get skeleton IEEE 802.15.4 driver build.
commit ebc5a8387bb94f0cc3827533795f3e4a33207e67
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 21 15:16:29 2017 -0600
Spirit1: Add framework for IEEE 802.15.4 driver. Does not yet build.
commit 52e195a7ae14ddb18bdd56258f4877381d2501ca
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 21 14:02:42 2017 -0600
Spirit: A little more SPI logic.
commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 21 11:19:06 2017 -0600
Spirit: Build directories setup. Some initial files added, mostly just to verify build.
commit 8273a381ac1f6bb081b292b5e73226185e9e634c
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Jul 21 08:34:04 2017 -0600
USB composite: Remove references to CDC/ACM and USB MSC from composite logic. They are no longer coupled.
2017-07-28 12:01:05 -06:00
Gregory Nutt
09ab651e02
samv71-xult: Add support for the MRF24J40 radio and create a mrf24j40-starhub configuration. A few fixes to IPv6 and 6LoWPAN were required to have 6LoWPAN and Ethernet coexisting. Untested and expect some complexity in the bring-up.
2017-07-02 11:04:57 -06:00
Gregory Nutt
1c5ec07414
arch/: Remove dangling space at the end of lines.
2017-06-28 13:16:48 -06:00
David Sidrane
d9d32ac808
samv7:twihs driver add reference counting
2017-06-15 11:16:28 -10:00
Alan Carvalho de Assis
853d332b6c
Move CAN subsystem to its own directory and put device drivers there
...
Signed-off-by: Alan Carvalho de Assis <acassis@gmail.com>
2017-05-12 11:48:47 -03:00
Gregory Nutt
0de294a586
Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they.
2017-05-11 13:35:56 -06:00
Gregory Nutt
b6b16bf4da
Fix forward references that were mangled in last large changes.
2017-04-29 06:59:35 -06:00
Sebastien Lorquet
c56c6f7ccc
ARM arch changes
2017-04-28 18:23:29 +02:00
Gregory Nutt
79256573e1
net: network drver now retains Ethernet MAC address in a union so that other link layer addresses may be used in a MULTILINK environment.
2017-04-22 11:10:30 -06:00
Ian McAfee
6a2c43b0c1
SAMV7 EMAC: Add conditional logic to account the fact that the SAMV71 has 6 rather than 3 queues after version 1.
2017-04-19 14:32:28 -06:00
Gregory Nutt
78bc1aa6bc
Argument of network device IOCTL should be unsigned long, just as will all other IOCTL methods.
2017-04-15 09:33:27 -06:00
Gregory Nutt
ac8ddf4eb1
SAMv7: In review of last patch, change literal 0xfff to WDT_MR_WDD_MAX for portability.
2017-04-06 09:46:04 -06:00
Frank Benkert
571f3d952e
SAMV7: Watchdog: fix Forbidden Window Value
...
According the Datasheet the WDD Value is the lower bound of a so called Forbidden Window and to disable this we have to set the WDD
Value greater than or equal to the WDV Value. This seems to be a bug in the datasheet. It looks like we have to set it to a greater value than the WDV to realy disable this Thing. When triggering the Watchdog faster than the (very slow) clock source of the Watchdog fires, this Forbidden Window Feature resets the System if WDD equals to WDV.
This Changeset disables the Forbidden Window by setting the WDD Value to the Maximum (0xfff) Value possible.
2017-04-06 09:43:07 -06:00
David Cabecinhas
08e92abb0b
ARM: Remove redundant interrupt stack coloring
2017-03-16 19:13:39 +08:00
Gregory Nutt
86239d4a73
Experimental change to STM32 Ethernet driver a success. Porting change to all other Ethernet drivers.
2017-03-03 14:45:09 -06:00
Gregory Nutt
c62180732e
Adapt more drivers to utilize the IRQ argument feature.
2017-02-28 07:19:55 -06:00
Gregory Nutt
7d2d541c70
Adapt some drivers to utilize the IRQ argument feature.
2017-02-27 20:54:18 -06:00
Mark Schulte
b3222bbc8a
irq_dispatch: Add argument pointer to irq_dispatch
...
Provide a user defined callback context for irq's, such that when
registering a callback users can provide a pointer that will get
passed back when the isr is called.
2017-02-27 06:27:56 -06:00
Gregory Nutt
8ee2e8d8b0
Most Ethernet drviers: Check if the poll timer is running before restarting it at the end of each TX.
2017-02-24 15:58:17 -06:00
Spahlinger, Michael
42e8b12ec3
Fix for SAMv7 SPI: DLYBS value wass calculated, but never written to any registers. This led to incorrect timings on the bus.
2017-02-16 07:42:37 -06:00
Gregory Nutt
62a1f6f110
up_timer_initialize() is named incorrectly. The prefix should be the architecture name, not up_ since it is private to the architecture. up_timerisr() is similarly misnamed and should also be private since it is used only with the xyz_timerisr.c files. Also updat TODO list.
2017-02-07 10:35:04 -06:00
Gregory Nutt
54ce3817a5
SDIO interface: Handle all possible DMA combinations in all SDIO drivers.
2017-02-07 07:15:29 -06:00
Gregory Nutt
3dbdb3bb31
CONFIG_SDIO_DMA: Was been defined in several low-level architecute Kconfig files, but used at the highest levels in the code. Both are bad and both are fixed with this commit
2017-01-31 11:52:00 -06:00
Gregory Nutt
2a4791f4ee
Removed dmasupported() method from the SDIO interface. That is now a bit in the cpapability set.
2017-01-31 09:51:15 -06:00
Gregory Nutt
9ac00a355f
Add capabilities() method to SDIO interface. Remove CONFIG_SDIO_WIDTH_D1_ONLY. That should not be a global propertie, but rather a capability/limitation of single slot when there may be multiple slots.
2017-01-31 09:16:01 -06:00
Gregory Nutt
4a8c6a6d2d
ELF: Move ARMv6-M, ARMv7-M, and legacy ARM versions of ELF relocation logic to libc/machine
2017-01-21 15:24:25 -06:00
Gregory Nutt
be5ba90d4f
Move optimized ARM memcpy functions from arch/arm/src/ to libc/machine/. This is necessary for the PROTECTED and KERNEL build modes. Otherwise, memcpy() will be built in to kernel space and not accessible to applications.
2017-01-20 10:53:46 -06:00
Gregory Nutt
3c4684ef5f
Eliminate CONFIG_ARCH_OPTIMIZED_FUNCTIONS. Move options to select architectur-specific C library options from libc/Kconfig to libc/machine/Kconfig and rename.
2017-01-20 09:30:07 -06:00
Gregory Nutt
1f33654f2d
Update some comments
2017-01-06 17:15:01 -06:00
Gregory Nutt
905a1ce10f
SAMV7 Ethernet: Fix a compiler error introduced with commit 7467329a98
2017-01-06 16:49:18 -06:00
Frank Benkert
29cf2eb342
AMV7: CAN: Make delete_filter functions more robust
2016-12-23 11:45:21 -06:00
Frank Benkert
a36ed28790
SAMV7: MCAN: Prevent Interrupt-Flooding of ACKE when not connected to CAN-BUS. An Acknowledge-Error will occur every time no other CAN Node acknowledges the message sent. This will also occur if the device is not connected to the can-bus. The CAN-Standard declares, that the Chip has to retry a given message as long as it is not sent successfully (or it is not cancelled by the application). Every time the chip tries to resend the message an Acknowledge-Error-Interrupt is generated. At high baud rates this can lead in extremely high CPU load just for handling the interrupts (and possibly the error handling in the application). To prevent this Interrupt-Flooding we disable the ACKE once it is seen as long we didn't transfer at least one message successfully.
2016-12-13 11:22:54 -06:00
Gregory Nutt
7467329a98
Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed.
2016-12-03 16:28:19 -06:00
Gregory Nutt
934aded293
arch/: Adapt all Ethernet drivers to work as though CONFIG_NET_MULTIBUFFER were set. Remove all references to CONFIG_NET_MULTIBUFFER
2016-11-29 16:06:48 -06:00
Gregory Nutt
0804286ad3
arch/: Add option to use low-priority work queue to all Ethernet drivers in arch that support CONFIG_NET_NOINTS.
2016-11-19 09:20:01 -06:00
Kolb, Stefan
bf096873a1
SAMV7 USBDEVHS: A problem occurred if the USB cable is unplugged while a large amount of data is send over an IN endpoint using DMA. If the USB cable is plugged in again after a few seconds it is not possible to send data over this IN endpoint again, all other endpoints work as expected.
...
The problem occurs because if the USB cable is unplugged while an DMA transfer is in flight the transfer is canceled but the register SAM_USBHS_DEVDMACTRL is left in an undefined state. The problem was fixed the problem by resetting the register SAM_USBHS_DEVDMACTRL to a known state. Additionally all pending interrupts are cleared.
2016-11-14 10:32:49 -06:00
Gregory Nutt
d8fecba333
arch: Disable priority inheritance on all semaphores used for signaling in all RNG drivers
2016-11-03 17:19:51 -06:00
Gregory Nutt
bb6bfa633e
arch: Disable priority inheritance on all semaphores used for signaling in all SD card drivers
2016-11-03 15:13:27 -06:00
Gregory Nutt
8b07aa6f7c
arch: Disable priority inheritance on all semaphores used for signaling in all SPI drivers
2016-11-03 14:51:44 -06:00
Gregory Nutt
e1cd9febbf
arch: Disable priority inheritance on all semaphores used for signaling in all I2C/TWI drivers
2016-11-03 14:23:42 -06:00
Spahlinger, Michael
77caf4180f
SAMV7: Fix to SPI-Master driver. Without this the chip select decoding feature will not work properly
2016-11-03 09:22:33 -06:00
Frank Benkert
cf5fdf1f8f
SAM Watchdog: Register the watchdog device at the configured device path CONFIG_WATCHDOG_DEVPATH vs. hard-coded /dev/wdt
2016-10-21 07:09:20 -06:00
Gregory Nutt
1c20376e39
SAM GPIO: Apply Wolfgang's change for SAM3/4 to SAMA5 and SAMV7
2016-09-20 15:33:31 -06:00
Gregory Nutt
4dc3521743
All SAM Ethernet Drivers: Add support so that the drivers can be built with CONFIG_NET_MULTIBUFFER=y
2016-09-20 08:56:36 -06:00
Gregory Nutt
3c58e8e9b4
SAMA5: Add oneshot max_delay method
2016-08-18 08:11:40 -06:00
Gregory Nutt
319ad528cd
Revert "sam_tc_clockselect() reworked to calculate frequency error using smallest possible divisor minimizing the frequency error rather than largest possible divisor which maximized the error."
...
This reverts commit 5d5851a5cd
.
2016-08-17 12:34:54 -06:00
Piotr Mienkowski
5d5851a5cd
sam_tc_clockselect() reworked to calculate frequency error using smallest possible divisor minimizing the frequency error rather than largest possible divisor which maximized the error.
2016-08-17 09:51:54 -06:00
Gregory Nutt
17e5da96ea
SAMV7: DAC1 not available GMAC is enabled
2016-08-17 07:14:59 -06:00
Gregory Nutt
3f48392974
Add defaults in SAMV7 configuration for all DAC settings
2016-08-15 10:22:12 -06:00
Gregory Nutt
e53118ffc2
SAMV7 DAC configuration needs some conditional logic
2016-08-15 08:55:11 -06:00
Gregory Nutt
c367e4985f
Add configuration logic for the SAMV7 DAC module
2016-08-15 08:21:46 -06:00
Piotr Mienkowski
053aea552f
Add support for SAMV7 DACC module
2016-08-15 08:00:36 -06:00
Gregory Nutt
046acf6b54
Add a simulated oneshot lowerhalf driver
2016-08-12 13:14:03 -06:00
Gregory Nutt
b4e8876b09
Correct some spacing
2016-08-12 12:41:49 -06:00
Gregory Nutt
82b86cdcf3
oneshot interface: max_delay method should return time in a standard struct timespec form.
2016-08-12 11:33:10 -06:00
Gregory Nutt
fa6866b046
SAMA5: Add option to support oneshot timer without free-running timer. Add oneshot lower half driver.
2016-08-11 16:47:17 -06:00
Gregory Nutt
b4d4a74059
SAMV7: Add option to support oneshot timer without free-running timer. Add oneshot lower half driver.
2016-08-11 16:27:01 -06:00
Gregory Nutt
6df28bc74e
Make bit-order SPI H/W feature configurable for better error detection
2016-08-08 11:54:13 -06:00
Stefan Kolb
899a8aa2f0
SAMV7 TRNG: Missing endif.
2016-07-25 12:30:39 -06:00
Gregory Nutt
ddcaa3d425
can.h moved from include/nuttx/ to include/nuttx/drivers.
2016-07-20 13:38:36 -06:00
Gregory Nutt
4b4dbc79a2
Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h
2016-07-20 13:15:37 -06:00
Gregory Nutt
d36da2b560
Fix bad dev[u]random_register() function return value.
2016-07-18 12:25:05 -06:00
Gregory Nutt
078bbe5e5c
All H/W RNG Drivers: Can now be configured to register as /dev/random and/or /dev/urandom
2016-07-18 11:10:37 -06:00
Gregory Nutt
1660329d06
Rename up_rnginitialize to devrandom_register
2016-07-18 10:55:37 -06:00
Stefan Kolb
f673b2d02a
This commit solves a problem which causes data loss while sending data via USB. This problem is caused by an incorrect handling of the endpoint state in the USB driver sam_usbdevhs. This leads under some circumstances to situations in which an DMA transfer is setup while a previous DMA transfer is currently active. Amongst other things I introduced the new endpoint state USBHS_EPSTATE_SENDING_DMA for the fix.
...
To reproduce the problem, I used a program which send as many data as possible via a CDC/ACM device and verified the received data on the PC.
2016-07-13 10:09:14 -06:00
Michael Spahlinger
329c760f17
SAMV7: CAN Message Filtering fixed
...
- Bugfix: stdfilters didn't work because the filter was never enabled (wrong number of bits to shift)
- Bugfix: Filters were never used because the configuration register cannot be written without using the initialization mode
Both bugs are fixed by this patch. Filtering has been tested with both standard and extended identifiers and is now working properly.
2016-06-29 08:48:11 -06:00
Gregory Nutt
435f21225a
Fix a warning about an unused label, errout: Use bool with true/false, not uint8_t with 1/0
2016-06-28 14:55:04 -06:00
Gregory Nutt
93f49290a3
Eliminate a warning
2016-06-28 13:47:44 -06:00
Michael Spahlinger
ed1f3aec61
Fixed build of SAMV71-XULT/nsh. With the changes from 26f7b8c
the build process of the default configuration did not succeed anymore. This is fixed by this commit.
2016-06-28 08:23:41 -06:00
Michael Spahlinger
26f7b8c9e5
TWIHS Driver improved and GPIO-Driver fixed for Open-Drain Pins
...
- sam_gpioread: Now the actual line level from the pin is read back. This is extremely important for Open-Drain Pins, which can be used bidirectionally
- Re-Implemented twi_reset-function and enhanced it so it can be called from inside the driver (see next point)
- Glitch-Filter: Added a configuration option to enable the twi-built-in glitch filter
- Added a "Single Master Mode": In EMC Testing the TWI-Bus got stuck because the TWI-Master detected a Multi-Master access (but there is no second master). With the option "Single Master" we detect these events and automatically trigger a twi_reset. We also do an automatic recovery if a slave got stuck (SDA stays low).
With the above changes I²C-Bus reliability in harsh environments (eg. EMC) is greatly improved.
The small change in the GPIO-Driver was necessary because otherwise you cannot read back the correct line status of Open-Drain Outputs and this is needed by the twi_reset function.
2016-06-24 10:33:51 -06:00
Sebastien Lorquet
8b1a607671
Here is a patch to
...
-remove a wrong comment in atmel mcan ioctl
-add ioctls to set/get bit timing in stm32l4
-add ioctl hooks to allow future management of can id filters.
2016-06-21 06:21:54 -06:00
Gregory Nutt
aed4d0e198
Missed a few *llinfo() to *info() conversions
2016-06-20 16:24:09 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
d40a473f72
Without lowsyslog() *llwarn() is not useful. Eliminate and replace with *warn().
2016-06-20 09:37:08 -06:00
Gregory Nutt
3fa41c0f18
Kconfig files: Fix some dependencies that have CONFIG_ in the variable name
2016-06-17 19:30:19 -06:00
Gregory Nutt
dbd70a5864
Restore some debug output that lost its low-level marking
2016-06-17 07:29:58 -06:00
Gregory Nutt
219098c5ac
Restore some debug output that lost its low-level marking
2016-06-17 07:13:38 -06:00
Gregory Nutt
0d3ecb3ddd
Fix another victim of the mass name changes: xyz_errmonitor->xyz_dbgmonitor
2016-06-17 07:00:33 -06:00
Pascal Speck
794a64a99b
hen configuring a GPIO via stm32_configgpio() the function will first set the mode to output and then set the initial state of the gpio later on. If you have an application with an externaly pulled-up pin, this would lead to a glitch on the line that may be dangerous in some applications (e.G. Reset Line for other chips, etc). This changes sets the output state before configuring the pin as an output.
2016-06-17 06:23:18 -06:00
Gregory Nutt
d3b8c03a8a
Fix a few missed changes from *dbg() to *err() and *vdbg() to *info()
2016-06-17 06:00:45 -06:00
Gregory Nutt
801d661423
Change *err() to either info() or err(ERROR:..), depending upon if an error has occurred.
2016-06-16 15:10:57 -06:00
Gregory Nutt
0c8c7fecf0
Add _ to the beginning of all debug macros to avoid name collisions
2016-06-16 12:33:32 -06:00
Gregory Nutt
37b9742189
Centralize definitions associated with CONFIG_DEBUG_TIMER
2016-06-16 07:16:25 -06:00
Gregory Nutt
6b517ed017
Centralize definitions associated with CONFIG_DEBUG_WATCHDOG
2016-06-16 06:28:04 -06:00
Gregory Nutt
8ce929a915
Centralize definitions associated with CONFIG_DEBUG_I2S
2016-06-15 16:54:01 -06:00
Gregory Nutt
5c89b18af8
Centralize definitions associated with CONFIG_DEBUG_I2C
2016-06-15 16:30:12 -06:00
Gregory Nutt
63b1eb09e6
Centralize definitions associated with CONFIG_DEBUG_CAN
2016-06-15 15:45:27 -06:00
Gregory Nutt
13cd88649f
qspierr/info should be spierr/info
2016-06-15 14:30:54 -06:00
Gregory Nutt
ba03134bed
Centralize definitions associated with CONFIG_DEBUG_SPI
2016-06-15 10:41:13 -06:00
Gregory Nutt
a97d3ae707
Centralize definitions associated with CONFIG_DEBUG_GPIO
2016-06-15 09:20:23 -06:00
Gregory Nutt
c4e6f50eac
Centralize definitions associated with CONFIG_DEBUG_IRQ
2016-06-15 08:35:22 -06:00
Frank Benkert
573b1d415c
* SAMV7: SPI: SPI-Freq. 40MHz; VARSELECT; hw-features
...
This change adds the following improvements:
- Increase the allowed SPI-Frequency from 20 to 40 MHz.
- Correct and rename the "VARSELECT" option This option was included in the code as "CONFIG_SPI_VARSELECT" but nowhere defined in a Kconfig file. The patch renames it to "CONFIG_SAMV7_SPI_VARSELECT" and corrects the implementation according the datasheet of Atmel. In short, this option switches the processor from "fixed peripheral selection" (single device) to "variable peripheral selection" (multiple devices on the bus).
- Add a new Function to the interface to control the timing and delays of the chip according the ChipSelect lines. This function can control the delay between the assertion of the ChipSelect and the first bit, between the last bit and the de-assertion of the ChipSelect and between two ChipSelects. This is needed to tune the transfer according the specification of the connected devices.
- Add three "hw-features" for the SAMV7, which controls the behavior of the ChipSelect:
1. force CS inactive after transfer: this forces a (short) de-assertion of the CS after a transfer, even if more data is
available in time
2. force CS active after transfer: this forces the CS to stay active after a transfer, even if the chip runs out of data. Btw.: this is a prerequisit to make the LASTXFER bit working at all.
- escape LASTXFER: this suppresses the LASTXFER bit at the end of the next transfer. The "escape"-Flag is reset automatically.
2016-06-14 13:12:16 -06:00
Gregory Nutt
0f249016a0
Eliminate some warnings
2016-06-13 14:01:32 -06:00
Gregory Nutt
eac916c907
Fix some warnings
2016-06-13 11:48:20 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
Frank Benkert
90ccba1ad0
SAMV7: MCAN: fix missing unlock of device in mcan_txempty
2016-06-01 10:38:19 -06:00
Gregory Nutt
9071a22c28
Cosmetic fix to spacing
2016-05-29 08:25:05 -06:00
Stefan Kolb
d44ecbcfbb
This is a fix to a problem in the handling of the oneshot timer. Due to a wrong assumption concerning the behavior directly after the start of the timer/counter the function sam_oneshot_cancel(…) calculates the wrong remaining time. The code assumes that the counter register is zero directly after the start of the timer, but this is not true. To start the time/counter a software trigger is invoked, this trigger starts the timer/count and sets the counter register to zero, but the reset of the counter register is not performed instantly. According to the datasheet: “The counter can be reset by a trigger. In this case, the counter value passes to zero on the next valid edge of the selected clock.” Thus the counter is set to zero between 0 and USEC_PER_TICK microseconds after the clock was started.
...
In my fix I use the freerun count value to determine if at least one tick passed since the start of the timer and thus if the value of the oneshot counter is correct. I also tried to use the function up_timer_gettime(…) to achieve this but, at least if compiled with no optimization the problem vanishes without using the value of the function, the function call takes too long.
Another problem treated in the fix is that if the oneshot timer/counter is canceled, we only know the remaining time with a precision of USEC_PER_TICK microseconds. This means the calculated remaining time is between 0 and USEC_PER_TICK microseconds too long. To fix this I subtract one tick if the calculated remaining time is greater than one tick and otherwise set the remaining time to zero. By doing so the measured times are much more precise as without it.
2016-05-27 07:51:50 -06:00
Gregory Nutt
9ec104834a
Remove CONFIG_USARTn_ISUART
2016-05-25 11:21:48 -06:00
Gregory Nutt
2a87741e72
Rename CONFIG_ARCH_HAVE_UARTn to CONFIG_UARTn_SERIALDRIVER
2016-05-25 10:45:01 -06:00
Gregory Nutt
249a2e48e5
Rename CONFIG_ARCH_HAVE_USARTn to CONFIG_USARTn_SERIALDRIVER
2016-05-25 10:39:23 -06:00
Frank Benkert
04223a9618
SAMV7: USBHS: Remove disabling of whole usb on suspend
...
This fix removes the disabling of the whole USB peripheral on suspend
interrupt. Its enough to freeze the clock instead.
When disabling the whole peripheral, the next wakeup-interrupt comes
up with an disabled clocking. The unfreeze clock has no effect, because
the master clock is disabled. This makes all registers, including the
IDR unwriteable and the IRQ falls in an endless loop blocking the whole
system.
Furthermore the disabling of the peripheral clock prevents hotplugging
or reconnecting the USB.
2016-05-25 07:20:48 -06:00
Gregory Nutt
3a8ff78f87
Restore PR. I have no idea where it went.
2016-05-23 17:45:15 -06:00
Gregory Nutt
e929066042
Fix an error in the last commit
2016-05-23 17:11:36 -06:00
David Sidrane
c41e6d823a
Add the up_systemreset interface to the samv7 arch. The approach is slightly different in that: 1) It enables ARCH_HAVE_RESET and allows the user to set if, and for how long, to drive External nRST signal. It also does not contain a default board_reset, as that really should be done in the config's src if CONFIG_BOARDCTL_RESET is defined.
2016-05-23 17:05:02 -06:00
David Sidrane
fca329945b
This patch ensures that the TWIHS (i2c) hw get's its clock set when the sequence of
...
sam_i2cbus_initialize
sam_i2cbus_uninitialize
sam_i2cbus_initialize
Or twi_reset is called.
I found this a while back in the stm32 family, so there may be more arch-es with this sort of bug. I suppose any driver that has the notion of "do not set the freq if it is already set" could be suspect.
2016-05-23 13:38:34 -06:00
David Sidrane
916153fb75
Fix build if the config is not updated
2016-05-19 12:44:58 -10:00
Gregory Nutt
e27e87a957
Backing out part of last commit
2016-05-19 15:46:07 -06:00
David Sidrane
8fac871cc9
Adds a JTAG config and ERASE config to Kconfig to set the CCFG_SYSIO SYSIO Pins
...
• SYSIO4: PB4 or TDI Assignment
0: TDI function selected.
1: PB4 function selected.
• SYSIO5: PB5 or TDO/TRACESWO Assignment
0: TDO/TRACESWO function selected.
1: PB5 function selected.
• SYSIO6: PB6 or TMS/SWDIO Assignment
0: TMS/SWDIO function selected.
1: PB6 function selected.
• SYSIO7: PB7 or TCK/SWCLK Assignment
0: TCK/SWCLK function selected.
1: PB7 function selected.
• SYSIO12: PB12 or ERASE Assignment
0: ERASE function selected.
1: PB12 function selected.
The thing I did not add is warning or compilation failure, (to save the next guy the hassle), at ALL the driver points that uses the these pins.
I did remove this
/* To use the USART1 as an USART, the SYSIO Pin4 must be bound to PB4
* instead of TDI
*/
uint32_t sysioreg = getreg32(SAM_MATRIX_CCFG_SYSIO);
sysioreg |= MATRIX_CCFG_SYSIO_SYSIO4;
putreg32(sysioreg, SAM_MATRIX_CCFG_SYSIO);
in sam_lowputc.c in favor of an #error - because the default is an input TDI and driving it blindly to an output TXD1, would be a contention.
2016-05-19 14:33:54 -06:00
Gregory Nutt
c364faeefc
SAM WDT: Rename up_wdginitialize() functions to something more appropriate for the internal OS interface.
2016-05-18 19:47:48 -06:00
David Sidrane
8a4e185c84
Kconfig edited online with Bitbucket
2016-05-12 18:50:43 +00:00
Gregory Nutt
f07ea1bb94
SAM (all): Fix several places in DMA logic where a spurious semicolon causes bad conditional logic
2016-05-11 17:26:59 -06:00
David Sidrane
8517a303a5
sam_xdmac.c edited online with Bitbucket
2016-05-11 23:13:24 +00:00
Stefan Kolb
da1fc98a51
Fix a copy and paste error concerning the CAN driver. In the file sam_matrix.h the define SAM_MATRIX_CAN0_OFFSET is set to the wrong value.
...
Error is only triggered if the global variable g_mcan0_msgram is located in RAM at an address beyond 0x20400000 + 0x0000ffff. In this case all send CAN messages have the length zero and the CAN-ID is zero as well.
2016-05-06 04:02:28 -06:00
Frank Benkert
885cd812e6
SAME70: USBHS device workaround for errata; EP7 does not support DMA on some parts
2016-04-20 06:22:04 -06:00
Stefan Kolb
fec1931def
SAMv7 Kconfig: Correct range of SAMV7_PROGMEM_NSECTORS
2016-04-11 06:21:04 -06:00
Frank Benkert
2234d7d8e5
SAMV7: USBHS: make the last patch also working for non-control-endpoints
2016-04-02 06:12:27 -06:00
Frank Benkert
d1065e876f
SAMV7: USBHS: Reset the TXIN bit not before new data was written or all requests are completed.
2016-03-31 14:20:36 -06:00
Michael Spahlinger
940075f629
SAMV71/SAME70: Error in UART1 Pinmapping corrected
2016-03-29 07:25:37 -06:00
Gregory Nutt
2a15f73fd3
SAMV7 USB: Eliminate a warning
2016-03-17 17:43:29 -06:00
Gregory Nutt
0ff29023f1
SAMV7 USB: Fix a DMA related issue. When DMA completes with NBUSYBK greater than zero, need to way for NBUSYBK interrupt.
2016-03-17 17:43:29 -06:00
Michael Spahlinger
faa0c4f1ca
SAMV7: MCAN: Correct typo in MCAN0 configuration
2016-03-11 12:30:57 -06:00
Gregory Nutt
4a8ac55c9d
All SAM TWI: g_twiops should be both static and const
2016-03-09 18:11:55 -06:00
Gregory Nutt
51be83aa3a
ARM: Fix missing header file. Update comments in all *_irq.c files.
2016-03-09 15:08:58 -06:00
Gregory Nutt
4d4f54a789
Rename current_regs to g_current_regs; For ARM, g_current_regs needs to be an array to support multiple CPUs
2016-03-09 13:41:48 -06:00
David Sidrane
a2052d006c
Fix what I believe to be typos in SAMV7 timer
2016-03-08 17:26:01 -06:00
David Sidrane
72eef9f628
Ensure that CONFIG_ARMV7M_STACKCHECK works on the samv7
2016-03-08 17:22:07 -06:00
Frank Benkert
73de0d9114
SAMV7: TWIHS: Correct Error Handling
2016-03-08 06:47:22 -06:00
Frank Benkert
945e137382
SAMV7: TWIHS: Correct timeout calculation; correct some issues with Multi-Message-Transfer
2016-03-08 06:44:41 -06:00
Gregory Nutt
d938c1cd8c
SAMV7: Use sem_reset() instead of sem_init() to set a semaphore count
2016-03-05 07:44:18 -06:00
Frank Benkert
2297fdb714
SAMV71 and SAME70: Place the Main Oscillator Enable in the board.h
2016-03-04 12:31:54 -06:00
Gregory Nutt
910e649616
Add a debug assertion for logic error in previous commit
2016-03-04 10:28:13 -06:00
Frank Benkert
a115e13e06
SAMV7 MCAN: use FIFO mode instead of QUEUE mode; improve error reporting
...
When using QUEUE mode sometimes the counting semaphore indicates there is no space left in the TX buffers, but in fact there is. This leads to a situation, where all TX buffers are empty and the driver
still waits for space in the buffers. The switch from QUEUE mode to FIFO mode is just a workarround to make the semaphore counting self repairing.
The Error reporting is changed due to some Error Interrupts not reporting states, they are reporting state changes. To keep this into Account the static Error conditions like WARNING, PASSIVE or BUS_OFF are filled in
every time.
2016-03-04 10:15:35 -06:00
Gregory Nutt
c75e594350
SAMV7 USBHS Device: Reorder some interrupt handling logic to avoid losing an interrupt and to avoid a race condition
2016-03-02 14:58:17 -06:00
Frank Benkert
2980985933
SAMV7 SPI: Revise support for Peripheral Chip Select Decoding to address up to 15 slaved
2016-02-25 08:13:33 -06:00
Gregory Nutt
f1a196cd40
Revert "SAMV7 SPI: Add support for Peripheral Chip Select Decoding to address up to 15 slaved"
...
This reverts commit 733010246bc55e28b8c99bc13798955a207c9860.
2016-02-25 08:05:39 -06:00
Frank Benkert
c263fe1c8b
SAMV7 SPI: Add support for Peripheral Chip Select Decoding to address up to 15 slaved
2016-02-24 13:47:15 -06:00
Gregory Nutt
9c9107171d
Fix Kconfig help comments
2016-02-23 06:38:29 -06:00
Gregory Nutt
11d17572a1
Update Kconfig help comments
2016-02-23 06:37:44 -06:00
Gregory Nutt
52d4bb24b5
Cosmetic: Remove some harmless kruft left in last commit
2016-02-22 16:58:42 -06:00
Gregory Nutt
d493e13792
Missed a couple of places in the last commit
2016-02-22 16:52:26 -06:00
Gregory Nutt
08f0086771
SAMV7 HSCMI: Don't assert of the data buffer is unaligned. Instead, return -EFAULT. This will allow the FAT file system to utilize the CONFIG_FAT_DMAMEMORY option and fix the problem from the file system
2016-02-22 16:44:33 -06:00
Gregory Nutt
1446784fbd
Cosmetic: Improve some comments; correct some code indentation.
2016-02-22 15:43:58 -06:00
Gregory Nutt
557756c8b4
Improve a debug assertion
2016-02-22 15:02:07 -06:00
Gregory Nutt
9e9c50a1a3
SAMV7 HSMCI: Add a configuration otpion to allow HSMCI to handle unaligned I/O buffers
2016-02-22 14:52:24 -06:00
Gregory Nutt
07bde1fd73
Missing semicolon in prototype
2016-02-22 13:40:27 -06:00
Michael Spahlinger
96f3d618a1
SAMV7: Add CHIP ID and RSTC header file
2016-02-22 09:08:39 -06:00
Gregory Nutt
9c63736c98
Standard some naming if code sectino comments
2016-02-21 18:06:09 -06:00
Gregory Nutt
666cc280f4
Rename irqenable() to up_irq_enable(); rename irqdisable() to up_irq_disable()
2016-02-14 16:54:09 -06:00
Gregory Nutt
83bc1c97c3
Rename irqsave() and irqrestore() to up_irq_save() and up_irq_restore()
2016-02-14 16:11:25 -06:00
Gregory Nutt
2cd8d279d2
Missed a few name changes
2016-02-13 19:16:51 -06:00
Gregory Nutt
70e502adb0
Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-13 19:11:09 -06:00
Gregory Nutt
a6eb9a351c
Add spinlock support for ARMv7-M architectures
2016-02-09 13:44:22 -06:00
Gregory Nutt
03b382d443
SAM3/4, SAMA5, SAMv7 Tickless: Refuse to call lower-level timer logic if not yet initialized
2016-02-05 10:22:11 -06:00
Gregory Nutt
1166e311b0
Networking: Remove the HSEC argument from devif_timer.
2016-02-03 11:17:15 -06:00
Gregory Nutt
d2b2cd3415
Duplicate Manuel's EMAC driver fix to every other driver that supports CONFIG_NET_NOINTS
2016-02-03 10:33:22 -06:00
Gregory Nutt
1e4f2ae2c1
Rename up_i2c initialize and uninitialize functions using the correct MCU-specific naming
2016-02-02 12:08:23 -06:00
Gregory Nutt
d2571985ef
I2C: up_i2creset should not be a global function; Now it is an I2C interface method
2016-02-02 11:21:45 -06:00
Gregory Nutt
0693e76be8
I2C: Remove the setfrequency method from the interface
2016-02-01 16:30:29 -06:00
Gregory Nutt
a64f36a63e
I2C: Remove setaddress method
2016-02-01 12:14:20 -06:00
Gregory Nutt
ce988c7ed3
Remove the read and write methods from the I2C interface
2016-02-01 09:22:10 -06:00
Gregory Nutt
2171438c61
I2C_TRANSFER support is no longer optional
2016-01-31 14:00:53 -06:00
Gregory Nutt
531d73af41
Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s.
2016-01-30 08:35:46 -06:00
Gregory Nutt
9f9b85a932
Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h
2016-01-30 07:59:44 -06:00
Gregory Nutt
3b6a502eff
For LK MCUs, rename up_spiinitialize to kl_spibus_initialize
2016-01-26 16:19:03 -06:00
Gregory Nutt
d16978be7f
For SAM MCUs, rename up_spiinitialize to sam_spibus_initialize
2016-01-26 13:03:17 -06:00
Gregory Nutt
c0fb4e34a7
I2C: Eliminate the I2C_WRITEREAD method
2016-01-26 10:23:09 -06:00
Gregory Nutt
b64a45d667
Add a missing semicolon
2016-01-26 08:00:29 -06:00
Gregory Nutt
a2ce7cc30f
Add SAMV7 AFEC header file
2016-01-25 13:25:12 -06:00
Gregory Nutt
b7cbbab761
Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law
2016-01-23 18:10:21 -06:00
Gregory Nutt
4bd6adb725
Add dummy hwfeatures method to all SPI interfaces
2016-01-23 15:09:38 -06:00
Stefan Kolb
b6dd44bdcd
SAMV71 TC: Fix compilation errors when certain timers are enabled.
2016-01-20 09:39:12 -06:00
Frank Benkert
dd13fcde44
CAN: Add more extensive error reporting information
2016-01-18 12:21:20 -06:00
Gregory Nutt
595799212c
SAMV7: Add logic to check if multiple banks are busy in TXINI interrupt processing. This logic is probably necessary, but currently commented out because it is untested
2016-01-08 07:47:00 -06:00
Gregory Nutt
dfec6a0dd0
Rename CONFIG_ARMV7M_MPU to CONFIG_ARM_MPU so that we can reuse the configuration settings for the ARMV7R MPU
2015-12-14 13:56:21 -06:00
Gregory Nutt
daea1e614b
All architectures need to build ELF support if either CONFIG_ELF or CONFIG_MODULE are selected. Cortex-M7 also must support module cache corherence
2015-12-12 09:35:05 -06:00
Gregory Nutt
ead6656a35
SAMV7 USBHS device: Beef up test for data sent in DMA complete interrupt handler
2015-12-11 08:28:49 -06:00
Gregory Nutt
cb5c221ce7
Update a few comments
2015-12-10 06:32:27 -06:00
Gregory Nutt
a0594ec60e
SAMV7 USBHS device: Last change fixed certain problems and introduced some new ones. Here is an untested fix to address all known problems
2015-12-09 14:19:14 -06:00
Gregory Nutt
c26a624a9f
SAMA5: Backport some USB device ZLP logic from the SAMV7
2015-12-08 17:36:46 -06:00
Gregory Nutt
9135afa8c1
SAMV7 USBHS device: End of DMA is too soon to process ZLP. Wait for TXINI
2015-12-08 13:21:43 -06:00
Gregory Nutt
cd7c22bbd4
SAMV7: Trivial correcto to last USBHS device change when using huge request buffers
2015-12-08 11:10:16 -06:00