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