Wolfgang Reißnegger
b23c1f8817
Typo fix in sam_udp.c
2016-11-18 17:23:22 -08:00
Wolfgang Reißnegger
d135246a7d
SAM3/4: Remove 'stalled' flag in UDP driver.
...
The flag is not necessary. The state of the endpoint can be determined
using 'epstate' instead.
2016-11-18 17:23:21 -08:00
Wolfgang Reißnegger
9e349f4335
SAM3/4: Remove unused 'halted' flag in UDP driver.
2016-11-18 17:23:21 -08:00
Wolfgang Reißnegger
c7ef82c546
SAM3/4: Add delay between setting and clearing the endpoint RESET bit in sam_ep_resume().
...
We need to add a delay between setting and clearing the endpoint reset
bit in SAM_UDP_RSTEP. Without the delay the USB controller will (may?)
not reset the endpoint.
If the endpoint is not being reset, the Data Toggle (DTGLE) bit will
not to be cleared which will cause the next transaction to fail if
DTGLE is 1. If that happens the host will time-out and reset the bus.
Adding this delay may also fix the USBMSC_STALL_RACEWAR in
usbmsc_scsi.c, however this has not been verified yet.
2016-11-18 17:23:21 -08:00
Paul A. Patience
8d9804d57b
STM32: STM32F303xB and STM32F303xC chips have 4 ADCs
2016-11-18 19:28:09 -05:00
Gregory Nutt
f92afbfbf3
apps/examples/timer: Restore the timer example, but adapt the interface to use the new signal logic from Sebastien, Lorquet. Totally untested and probably does not work!
2016-11-17 15:19:17 -06:00
Gregory Nutt
19c1c9d78b
All timer lower half drivers. Port Sebastien's changes to all all other implementations of the timer lower half. Very many just and untested. Expect some problems.
2016-11-17 15:03:31 -06:00
Sebastien Lorquet
197cec58d2
timer driver: Use signal to notify of timer expiration. Add generic argument so that there can be additional usage.
2016-11-17 14:38:21 -06:00
Gregory Nutt
18ad40b98c
ARMv7-M: Fix double allocation of MPU region in mmu.h
2016-11-17 13:37:24 -06:00
Gregory Nutt
bb19f1b499
spinlocks should be volatile.
2016-11-17 10:04:22 -06:00
Gregory Nutt
6a875bcb61
Xtensa: Add EXPERIMENTAL hooks to support lazy co-processor state restore in the future.
2016-11-16 06:48:13 -06:00
Gregory Nutt
c84db68103
Xtensa ESP32: Fix some compilation errors that snuck with some of the last changes
2016-11-14 13:29:08 -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
Ramtin Amin
31d9565f0f
Misoc LM32: Corrects a bug that never occured in qemu on simulation or real fpga. The error was that the r1 register was being modified out of context switching and not restoring it.
2016-11-14 07:18:33 -06:00
Sebastien Lorquet
98088a7456
typos
2016-11-09 19:52:29 +01:00
Sebastien Lorquet
a9c66683f2
Change the way to configure quadrature encoder prescalers.
2016-11-09 19:16:44 +01:00
Gregory Nutt
ac1bb127b6
Correct some C++ style comments.
2016-11-08 08:51:03 -06:00
Gregory Nutt
b6d6b774e9
Xtensa: In this model, co-processor state restore must enable co-processors in CPENABLE.
2016-11-08 08:23:52 -06:00
Ramtin Amin
693f8d743d
LM32: Move interrupt definitions from common irq.h to lm32/irq.h. Remove unused misoc_uart.c and .h
2016-11-07 10:13:53 -06:00
Gregory Nutt
3cb1e0e67f
STM32F7: Fix Make.defs. Would not work if only SDMMC2 were enabled.
2016-11-07 09:37:22 -06:00
Marc Rechté
eb9a8ed790
STM37xx PWM: Add PWM driver support for STMF37xx. The changes have been tested successfuly for TIM4 and TIM17 (different IPs).
2016-11-07 09:35:48 -06:00
Gregory Nutt
1344d8b466
STM32F746-WS: A few repairs to the nsh/defconfig for USB support.
2016-11-07 09:20:47 -06:00
Gregory Nutt
dd04d73afe
STM32F7 SD/MMC driver depends on CONFIG_SDIO_DMA which is only defined in stm32/Kconfig. Changed to CONFIG_STM32F7_SDMMC_DMA and defined in stm32f7/Kconfig.
2016-11-07 09:16:34 -06:00
Gregory Nutt
ac6581acec
Changes from review of last PR
2016-11-07 08:28:39 -06:00
Gregory Nutt
261aef1e0d
Merged in petekol/nuttxnsm (pull request #168 )
...
stm32f7 important usb fixes
2016-11-07 14:08:00 +00:00
Gregory Nutt
424ffc76dc
LM32: Add missing _exit() logic (untested)
2016-11-07 07:31:15 -06:00
Gregory Nutt
86ef659ee5
LM32: Fix a typo in my many patching; eliminate some warnings
2016-11-07 07:16:53 -06:00
Ramtin Amin
fe2b755791
LM32: Correct some assembly language interrupt handling issues. Now the basic port seems functional.
2016-11-07 06:54:57 -06:00
Lok Tep
d6315a3084
del stm32f74xx75xx_sdmmc.h
2016-11-07 13:12:52 +01:00
Gregory Nutt
89c3c20052
Merge remote-tracking branch 'origin/master' into misoc
2016-11-06 11:09:05 -06:00
Gregory Nutt
5ac9136b21
LM32: Implement some commented out logic in lm32_dumpstate
2016-11-06 10:46:11 -06:00
Gregory Nutt
c1a687a4e5
Trivial changes from review of last PR
2016-11-06 08:11:01 -06:00
Heesub Shin
bda7d9ee4d
ARMv7-R: fix to restore the Thumb flag in CPSR
...
Thumb flag in CPSR is not restored back when the context switch occurs
while executing thumb instruction.
Reported-by: Eunbong Song <eunb.song@samsung.com>
Signed-off-by: Byoungtae Cho <bt.cho@samsung.com>
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 21:48:02 +09:00
Heesub Shin
343243c7c0
ARMv7-R: fix CPSR corruption after exception handling
...
A sporadic hang with consequent crash is observed when booting:
arm_prefetchabort: Prefetch abort. PC: 04d34a00 IFAR: 04d34a00 IFSR: 00000008
up_assert: Assertion failed at file:armv7-r/arm_prefetchabort.c line: 87 task: init
up_dumpstate: Current sp: 004c3df0
up_dumpstate: Interrupt stack:
up_dumpstate: base: 004c05fc
up_dumpstate: size: 00000800
up_dumpstate: User stack:
up_dumpstate: base: 004c3f58
up_dumpstate: size: 00000fec
up_dumpstate: User Stack
up_stackdump: 004c3de0: 004a0d14 004c3df0 004c3f58 004a0d20 00000057 004c2c58 09000000 004a42a4
up_stackdump: 004c3e00: 00000003 004c3e10 004a0f1c 004bbcef 33c44b00 004a0f28 04d34a00 00000008
up_stackdump: 004c3e20: 00000008 004a01bc 004bfd38 00000001 00007fff 00000001 34134a00 d83e4c00
up_stackdump: 004c3e40: 09000000 00000000 33c44b00 d83e4c00 0c3f4c00 00000000 00000000 00000003
up_stackdump: 004c3e60: 004c3e70 004a1494 04d34a00 200b0253 004c3ed8 004a5298 004c3ed8 6d00006d
up_stackdump: 004c3e80: 0000006d 004bc3f4 00000009 004a4f64 00000009 b9e0784f 333f3ed0 69d4227d
up_stackdump: 004c3ea0: d81f09bd 0f867344 5a7e2c12 8acefd34 5d00dc1b 004bc432 004c3f08 004c0e08
up_stackdump: 004c3ec0: 00000000 00000000 00000000 00000000 00000000 004a4210 004a5258 004a5300
up_stackdump: 004c3ee0: 00000000 00000001 ffffffff 004c3f80 000002b0 004a4234 00000007 004c3f08
up_stackdump: 004c3f00: 004a58b4 004bc432 004bc3f4 004c3f80 000002b0 0000029c 00000000 0000029c
up_stackdump: 004c3f20: 00000000 004a5900 0000ff01 00000000 00000000 004a61f4 00000000 004a5fa4
up_stackdump: 004c3f40: 00000000 004a5f6c 00000000 004a2668 00000000 00000000 b7509f04 004c3f64
up_registerdump: R0: 00000001 00007fff 00000001 34134a00 d83e4c00 09000000 00000000 33c44b00
up_registerdump: R8: d83e4c00 0c3f4c00 00000000 00000000 00000003 004c3e70 004a1494 04d34a00
up_registerdump: CPSR: 200b0253
It seems to be caused by the corrupted or wrong CPSR restored on return
from exception. NuttX restores the context using code like this:
msr spsr, r1
GCC translates this to:
msr spsr_fc, r1
As a result, not all SPSR fields are updated on exception return. This
should be:
msr spsr_fsxc, r1
On some evaluation boards, spsr_svc may have totally invalid value at
power-on-reset. As it is not initialized at boot, the code above may
result in the corruption of cpsr and thus unexpected behavior.
Reported-by: Eunbong Song <eunb.song@samsung.com>
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 20:48:09 +09:00
Heesub Shin
6bfc6b4d23
ARMv7-R: fix typo in mpu support
...
s/ARMV7M/ARMV7R/g
Reported-by: Eunbong Song <eunb.song@samsung.com>
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 20:48:09 +09:00
Heesub Shin
003511d198
ARMv7-R: add cache handling functions
...
This commit adds functions for enabling and disabling d/i-caches which
were missing for ARMv7-R.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 20:48:01 +09:00
Heesub Shin
6a1a846011
ARMv7-R: add new Kconfig entries for d/i-cache
...
Unlike in ARMv7-A/M, Kconfig entries for data and instruction caches
are currently missing in ARMv7-R. This commit adds those missing Kconfig
entries. Actual implmenetation for those functions will be added in the
subsequent patches.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:46 +09:00
Heesub Shin
2b922fcdbd
ARMv7-R: remove the redundant update on SCTLR
...
mpu_control() is invoking cp15_wrsctlr() around SCTLR update
redundantly.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:45 +09:00
Heesub Shin
05d477661b
ARMv7-R: fix invalid drbar handling
...
In ARMv7-R, [31:5] bits of DRBAR is physical base address and other bits
are reserved and SBZ. Thus, there is no point in passing other than the
base address.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:41 +09:00
Heesub Shin
af6e4f59c6
ARMv7-R: fix compilation error
...
This commit fixes compilation errors on MPU support for ARMv7-R.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:38 +09:00
Heesub Shin
96a200a71c
ARMv7-R: fix typo
...
fix trivial typo: s/ARMv7-A/ARMv7-R/
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:36 +09:00
Gregory Nutt
45f549d2b8
LM32: Back out part of last change
2016-11-05 17:39:06 -06:00
Gregory Nutt
796969f6b6
Update TODO. Provide do-nothing stubs for mutex attribute interfaces if features not enabled. pthread_cond includes a signaling semaphore and should call sem_setprotocol.
2016-11-05 11:06:52 -06:00
Gregory Nutt
b0dffdc2ca
Fix a number of header files with mismatched 'extern C {' and '}'
2016-11-05 07:25:05 -06:00
Gregory Nutt
3f150daf96
LM32: Oops, missed one line of code in the manual application of a patch
2016-11-04 19:41:43 -06:00
Gregory Nutt
1c05eb651c
LM32: lm32_vectors.S needs to call lm32_doirq(), passing two parameters
2016-11-04 19:29:54 -06:00
Gregory Nutt
0b83e8afaa
LM32: Remove some extra spacing
2016-11-04 17:48:24 -06:00
Gregory Nutt
6cc73f0405
LM32: Fix a copy/paste error in lm32_vectors.S that I introduced.
2016-11-04 17:42:10 -06:00
Gregory Nutt
911e5abb2c
LM32: Fix various compilation errors that I introduced.
2016-11-04 17:37:10 -06:00
Gregory Nutt
5a9d3b20fa
LM32: Add README. Update hello defconfig and setenv.sh
2016-11-04 17:19:42 -06:00
Lok Tep
b1b2008037
bad offset
2016-11-04 22:02:15 +01:00
Lok Tep
82f8802275
typo, missing (
2016-11-04 21:58:31 +01:00
Gregory Nutt
af0d7a96fe
LM32: More standard, common helper functions
2016-11-04 14:42:17 -06:00
Ramtin Amin
45caca804a
LM32: Progress on interrupt and serial driver.
2016-11-04 14:04:43 -06:00
Gregory Nutt
8fe916e133
Attach the software interrupt handler when interrupts are intialized.
2016-11-04 11:23:33 -06:00
Gregory Nutt
50efe4a906
LM32: Add a fake IRQ number for a software interrupt.
2016-11-04 11:17:12 -06:00
Ramtin Amin
b2126738cd
LM32: Fix implementation of up_irq_save() and up_irq_restore()
2016-11-04 10:54:10 -06:00
Gregory Nutt
ddd8716189
LM32: Ooops.. last version still in editor
2016-11-04 10:42:05 -06:00
Gregory Nutt
145ee2e6f1
LM32: Add prototype for lm32_decodeirq().
2016-11-04 10:39:57 -06:00
Gregory Nutt
8f3c59b0d6
LM32: Rename up_doirq() to lm32_doirq()
2016-11-04 10:21:55 -06:00
Gregory Nutt
905f6f2956
Merge remote-tracking branch 'origin/master' into misoc
2016-11-04 09:58:57 -06:00
Gregory Nutt
e6435c28d0
Fix some name errors in port: RISC-V -> LM32
2016-11-04 09:58:27 -06:00
Gregory Nutt
8bd8ab1a45
configs/nucleo_f303re: Various fixes to get the adc configuration building again after PR. Refresh all configurations.
2016-11-04 06:59:28 -06:00
Gregory Nutt
1d0d2fb8e1
Fix typo introduced with big set of sem_setprotocol() changes.
2016-11-03 21:08:17 -06:00
Gregory Nutt
65b1ced5f2
Merge remote-tracking branch 'origin/master' into misoc
2016-11-03 18:12:02 -06:00
Gregory Nutt
5cfb83ec81
ESP32: File repeated in Make.defs
2016-11-03 17:47:09 -06:00
Gregory Nutt
0a5b4f684a
arch: Disable priority inheritance on all semaphores used for signaling in the rest of the MCU drivers
2016-11-03 17:38:26 -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
d28181da10
arch: Disable priority inheritance on all semaphores used for signaling in all USB host drivers
2016-11-03 17:05:53 -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
Gregory Nutt
8190e08948
Back out part of previous commit
2016-11-03 08:57:55 -06:00
Alan Carvalho de Assis
1e754402b8
Add C++ support linking with GNU toolchain newlib/stdlibc++
2016-11-03 08:50:58 -06:00
Gregory Nutt
569283fa65
Merge remote-tracking branch 'origin/master' into misoc
2016-11-03 08:33:47 -06:00
Gregory Nutt
cb96e632fa
LM32: Add toolchain configuration; Add Toolchain.defs.
2016-11-03 07:21:25 -06:00
Gregory Nutt
54d7656f18
Update some comments
2016-11-03 07:04:03 -06:00
Gregory Nutt
a8ef1e55e9
Merge remote-tracking branch 'origin/master' into misoc
2016-11-02 14:06:14 -06:00
Ramtin Amin
b5a94e255a
Misoc/LM32: Changes to get a clean compilation after initial review and commit
2016-11-02 12:07:52 -06:00
Paul A. Patience
93e9387689
STM32 ADC: Fix compilation error when DMA isn't enabled
2016-11-02 12:52:19 -04:00
David Sidrane
d870f4ab29
I think, that Size is (highest address+1 - Base address)
...
Base address has been removed and if address+count >= size we are outside of the Flash
2016-11-01 22:27:35 +00:00
Aleksandr Vyhovanec
2bb15fe789
Minor changes
2016-11-01 23:48:44 +03:00
Aleksandr Vyhovanec
20a1642552
To write the last page
2016-11-01 23:34:30 +03:00
Gregory Nutt
1787a8143e
Misoc: Logic on common directory should not include ANY lm32 specific header file. The generic header file chip.h can be exported by all architectures and that is what should be included instead of lm32.h which is an inappropriate dependency.
2016-11-01 14:18:21 -06:00
Ramtin Amin
0088f24603
MISOC LM32: Add arch/src/common directory
2016-11-01 12:47:35 -06:00
Ramtin Amin
000e10470c
MISOC LM32: Add arch/src/lm32 directory
2016-11-01 11:35:27 -06:00
Ramtin Amin
62b394d06f
LM32: First of many LM32 source files
2016-11-01 08:10:14 -06:00
Ramtin Amin
6a78c0f113
LM32: Add Kconfig files
2016-11-01 07:20:44 -06:00
Gregory Nutt
6662c75679
LM32: Add arch/misoc/Kconfig file
2016-10-31 19:29:30 -06:00
Ramtin Amin
6ff1c96017
LM32: First commit adds only reviewed architecture header files
2016-10-31 18:41:36 -06:00
Gregory Nutt
cfcc7edded
Xtensa/ESP32: Add window spill logic; Add C++ support to linker script
2016-10-31 17:51:48 -06:00
Gregory Nutt
4d0b0e44f1
Xtensa/ESP32: Add up_cpu_idlestack() and fix some compile issues.
2016-10-31 14:56:48 -06:00
Gregory Nutt
28d1478480
Xtensa/ESP32: Add CPU1 startup logic
2016-10-31 13:15:15 -06:00
Gregory Nutt
a8e3f79494
Xtensa/ESP32: Add User Exception handler
2016-10-31 12:04:52 -06:00
Gregory Nutt
a787a99071
ESP32: Add inter-cpu interrupts
2016-10-31 08:29:28 -06:00
Gregory Nutt
63d5ab5b67
Add logic to attach inter-CPU interrupts. Fix some compilation errors.
2016-10-30 16:15:04 -06:00
Gregory Nutt
6ff833e56e
Forgot to add a file in the last commit
2016-10-30 15:40:42 -06:00
Gregory Nutt
85ed3dae9a
Update some compilation issues
2016-10-30 15:38:51 -06:00
Gregory Nutt
a4c3fef0b7
Xtensa: Add more exception vectors. All just cause a PANIC now.
2016-10-30 12:20:11 -06:00