Commit Graph

14383 Commits

Author SHA1 Message Date
Mateusz Szafoni
d2b98cc150 Merged in raiden00/nuttx_pe (pull request #771)
Use STM32 DMA IP core version instead of chip family names and some minor improvements

arch/arm/src/stm32/chip/stm32_adc.h: raise error if two IP cores seleceted

libs/libdsp/Kconfig: cosmetic change

arch/arm/src/stm32/Kconfig: hide TIMER menu, HRTIM menu and USB Host debug menu if peripherals not enabled

configs/stm32f429i-disco/highpri/defconfig: fix configuration warning

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-02 11:49:25 +00:00
Mateusz Szafoni
7c77eb738e Merged in raiden00/nuttx_pe (pull request #770)
configs/nucleo-f207zg, configs/nucleo-f103rb: add ADC and PWM examples; arch/arm/src/stm32_adc.c: there is no DMA CFG bit for the basic IPv1 ADC

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-02 01:24:36 +00:00
Gregory Nutt
f0e6e06a37 Squashed commit of the following:
arch/arm/src/tiva/hardwar:  Move LM3S and LM4F include files to hardware/lm/ sub-directory.  Move all TM4C header files files to hardware/tm4c/ sub-directory.

    arch/arm:  Add basic configuration/build support for CC13xx parts.  Conditioned on EXPERIMENTAL.
2018-12-01 12:22:05 -06:00
Gregory Nutt
e7e54ccbf7 Re-arranging some Tiva directories to simply forthcoming SimpleLink port
Squashed commit of the following:

    arch/arm/src/tiva/Make.defs:  Trivial change to conditional VPATH.

    arch/arm/src/tiva:  Move LM3S and LM4F source files to lm/ sub-directory.  Move all TM4C source files to tm4c sub-directory.

    arch/arm/src/tiva and configs/:  Change include patch from chip/ to hardware/ in all Tiva files includes.

    arch/tmp/src:  Rename chip/ subdirectory to hardware/.  This is a better name since it does not conflict with other directory names and, well, we are going to be change a lot of the Tiva directory structure in the next few commits.
2018-12-01 09:29:47 -06:00
Mateusz Szafoni
0a288ac3db Merged in raiden00/nuttx_pe (pull request #769)
configs: add support for nucleo-f103rb, nucleo-f207zg and nucleo-l152re

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-01 12:22:05 +00:00
Alan Carvalho de Assis
3271049a9d arch/arm/src/armv7-m/itm.h: Fix missing space causing macro issues 2018-12-01 06:12:29 -06:00
Alan Carvalho de Assis
3a2a423214 drivers/lcd/Kconfig and several other places: Rename CONFIG_LCD_CONSOLE to CONFIG_SLCD_CONSOLE. The original name CONFIG_LCD_CONSOLE is incorrect because it runs on SLCD display. This patch fix it and update its dependences 2018-11-30 17:36:13 -06:00
Gregory Nutt
05b6a19a81 arch/arm/src/max326xx/max32660/max32660_spim.c: Add support for low-level register I/O debug output. Fix some backard clrbit/setbit arguments to the modifyreg function. SPI transfer still stalls. 2018-11-30 16:44:48 -06:00
Gregory Nutt
67f196fcf8 configs/max32660-evsys: Added support for an SPI-based micro-SD card. Does not yet work (SPI hangs with no data transferred). 2018-11-30 15:12:38 -06:00
Gregory Nutt
86a67fa3e8 Squashed commit of the following:
arch/arm/src/max326xx/max32660/max32660_spim.c:  SPI0 master mode support is complete (sans DMA and completely untested).  configs/max32660-evsys/src:  Add framework for SPI support.

    arch/arm/src/max326xx/max32660/max32660_spim.c:  Fleshes out some of the data transfer logic.  More needs to be done.  Also removes leveraged DMA support.  It will be a long time (if ever) before DMA is supported.  No point in dragging all of that bogus logic around.
2018-11-30 12:48:46 -06:00
Gregory Nutt
26712ef060 arch/mips/src/mips32/Kconfig: Allow Penguino for windows for the Windows Ubuntu platform as well. 2018-11-30 06:57:05 -06:00
Gregory Nutt
6d285cfed1 arch/arm/src/max326xx/max32660: Fix some confusion. SPI0 and SPI1 are not the same type of peripheral. SPI0 is SPI17Y; SPI1 is SPIMMS. Add basic SPI0 interrupt handling logic. 2018-11-29 18:32:40 -06:00
Gregory Nutt
9203815e4c arch/arm/src/max326xx/max32660/max32660_spim.c: Add a little more SPI logic. Still not complete. 2018-11-29 15:38:13 -06:00
Gregory Nutt
0841602739 Beginning of an SPI driver for the MAX32660. Incomplete. Does not even compile correctly yet.
Squashed commit of the following:

    arch/arm/src/max326xx/max32660/max32660_spim.c: A few updates tot he SPI master driver.  Still incomplete and does not even compile.

    Update some comments

    arch/arm/src/max326xx:  Clean up some general build issues.  Still STM32 code posing as MAX32660.

    arch/arm/src/max326xx:  Starting SPI driver.  Initial commit is just the STM32 SPI driver with name changes.
2018-11-29 12:12:56 -06:00
Gregory Nutt
8a99b5969e arch/arm/src/max326xx: Fixes UART interrupt problems. With these changes, the NSH configuration appears stable and is no longer conditioned on EXPERIMENTAL. 2018-11-29 07:50:45 -06:00
Gregory Nutt
1710b96388 arch/arm/src/max326xx/max32660/max32660_serial.c: Using wrong register to check interrupt status. Still problems; I think we are not getting FIFO interrupts. 2018-11-28 17:44:20 -06:00
Gregory Nutt
a6682a9bef Squashed commit of the following:
arch/arm/src/max326xx and configs/max32660-evsys/src:  Fix some issues with GPIO setup of output pins.  Correct polarity of on-board LED output.  The on-board LED is now functional.

    arch/arm/src/max326xx: WFI instruction in IDLE loop seems to interfere with stability.  Commented out for now.  Needs to be investigated further.
2018-11-28 11:20:31 -06:00
Gregory Nutt
5da7dbaf98 rch/arm/src/max326xx/max32660/max32660_lowputc.c: Fix typo revealed only when flow control is enabled. 2018-11-27 17:49:44 -06:00
Gregory Nutt
d164a2cf5b Squashed commit of the following:
arch/arm/src/max326xx:  Fixes for GPIO configuration problems and serial driver problems.  I now get the NuttShell prompt (if I also band on ENTER to force all of the characters out).  Progress, but not yet ready.

    configs/max32660-evsys:  Support CONFIG_BOOT_RUNFROMISRAM=y.
2018-11-27 16:50:59 -06:00
Gregory Nutt
0820d0659b Squashed commit of the following:
arch/arm/src/max326xx/max32660/max32660_clockconfig.c: Fix an error in a register name.

    arm/src/max326xx/max32660:  Fix a few new compilation errors when DEBUG is enabled.
2018-11-27 14:47:49 -06:00
Gregory Nutt
c82032ba62 arch/arm/src/armv7-m: Make naming used in ARM register definition files a little more compatible with naming used in other header files. 2018-11-27 10:36:40 -06:00
Gregory Nutt
6435d6b952 configs/stm32f4discovery/src/stm32_critmon.c: include dwt.h, don't define DWT_CYCNT inline. 2018-11-27 09:39:09 -06:00
Gregory Nutt
da379a5c97 arch/arm/src/stm32f7/stm32_sdmmc.c: Fix a pre-processor error found in build testing. 2018-11-25 15:54:51 -06:00
Gregory Nutt
865cc85dfd sched/sched/sched_critmonitor.c: A correct a logic error. arch/sim/src/up_critmon.c: Use higher resolution timer. 2018-11-25 09:49:21 -06:00
Gregory Nutt
0af39e1493 arch/: Update all _exit() implementations for all architectures so that they correctly called the scheduler instumentation layer for the new task that runs when the old one exits. This missing instrumentation was confusing the Critical Section Monitor logic with uses this instrumentation to track the state of critical sections. 2018-11-24 18:20:57 -06:00
Gregory Nutt
095b597d34 sched/sched and fs/procfs: Fix some bus in critical section monitor found in testing 2018-11-24 17:58:35 -06:00
Gregory Nutt
807d5bb4ae Critical Section Monitor: Add low level timer support for simulation. Fix serial bugs and logic errors in initial implementation. Still does not work; takes assertions. 2018-11-24 15:07:12 -06:00
Gregory Nutt
6d9103b01a A few trivial changes from review of last PR. 2018-11-23 17:44:46 -06:00
Mateusz Szafoni
fc46135ebc Merged in raiden00/nuttx_pe (pull request #767)
Improvements in STM32 ADC, minor changes in STM32 PWM, DMA, HRTIM and add some highpri ADC examples

arch/arch/src/stm32/stm32_adc: fix RCC reset logic

arch/arch/src/stm32/stm32_adc: move sample time change functions to low-level ADC ops

arch/arch/src/stm32/stm32_adc: configurable ADC DMA mode (one shot mode, circular mode)

arch/arch/src/stm32/stm32_pwm: remove llops_get interface. We can use structure casting to get pwm low-level ops

arch/arch/src/stm32/stm32_pwm: add timer enable/disable and frequency update to low-level ops

arch/src/arm/stm32: remove redundant stm32f33xxx_dma.c

arch/arm/src/stm32/stm32f40xxx_dma.c: add interfaces to interact with highp priority DMA interupts

arch/src/arm/stm32/stm32_hrtim: do not enable timers on startup if option from Kconfig selected and add interface to enable/disable timers

arch/src/arm/stm32/stm32_hrtim: fix some warnings

configs/nucleo-f334r8/highpri: update configuration due to changes in stm32_adc

configs/stm32f334-disco/buckboost: update configuration due to changes in stm32_adc

configs/nucleo-f334r8/highpri: add support for ADC injected sequence, add triggering from TIM1

configs/nucleo-f302r8/highpri: add high priority ADC interrupts example

configs/stm32f429i-disco/highpri: add high priority ADC interrupts example

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-23 23:33:45 +00:00
Gregory Nutt
1b63f66106 arch/arm/src/max326xx/max32660/max32660_clockconfig.c: Fix a logic error. Move logic that disables clocks to the end of the configuration. They might be needed by the previous clock configuration. 2018-11-22 15:01:18 -06:00
Gregory Nutt
22de66d553 arch/arm/src/max326xx/max32660/max32660_wdt.c: Fix alarm delay calculation. 2018-11-21 17:54:36 -06:00
Gregory Nutt
9ca2cde234 arch/arm/src/max326xx: Fix some misthinking in the last commit. 2018-11-21 15:23:05 -06:00
Gregory Nutt
c7cb4fa594 arch/arm/src/max326xx: Add missing function to get the alarm time. 2018-11-21 15:06:02 -06:00
Gregory Nutt
bd5d079c02 arch/mips/src/pic32m[x|z]/pic32m[x|z]-ethernet.c: Fix a comparison in a debug assertion. Should be <= vs <. Noted by Anonymous in Bitbucket Isue 134. 2018-11-21 12:35:43 -06:00
Gregory Nutt
49ed9cac86 arch/arm/src/max326xx: Work-in-progress RTC driver for the MAX32660 2018-11-21 12:31:15 -06:00
Gregory Nutt
09f4dee6bc All network drivers! Change pre-processor logic that selects the high priority work queue or gives preferential treatment to the high priority work. All network logic must run on the low priority work queue! Or suffer the consequences. 2018-11-21 07:57:26 -06:00
Gregory Nutt
b69957ef5f arch/arm/src/max326xx/max32660/max32660_wdt.c: Another design simplication. 2018-11-21 06:57:29 -06:00
Gregory Nutt
2797d5fc49 arch/arm/src/max326xx/max32660/max32660_wdt.c: Design fixes to watchdog timer. 2018-11-20 17:38:00 -06:00
Gregory Nutt
84e6510de5 arch/arm/src/max326xx: Add the first, untested cut of an watchdog timer driver. 2018-11-20 17:13:35 -06:00
Bob Feretich
c6851201c0 This commit adds a new function arch_invalidate_dcache_by_addr(). It takes the same parameters as arch_invalidate_dcache(), but performs invalidation of only the lines in cache that need to be invalidated. This new function could be used as a a direct replacement for arch_invalidate_dcache().
The user of this invalidation are mmcsd_sdio currently.  The mmcsd_sdio driver makes calls for dcache invalidation through the chip specific architecture function SDIO_DMARECVSETUP(). I changed the arch/arm/stm32f7 chips to use arch_invalidate_dcache_by_addr() instead of arch_invalidate_dcache().

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

SDIO_DMADELYDINVLDT() is a NoOp unless the chip specific Kconfig file selects CONFIG_ARCH_HAVE_SDIO_DELAYED_INVLDT. I have modified all the stm32f7 chips to select it.
2018-11-20 14:03:42 -06:00
Gregory Nutt
bdb60ac2f7 arch/arm/src/stm32/stm32_adc.c: Very mysterious. Several configurations now fail to build stm32_adc.o. This chante avoids those build failures, yet I see no code changed in recent months that should affect this. Any insights anyone? 2018-11-20 12:29:37 -06:00
Gregory Nutt
37f994207d arch/arm/src/max326xx/max32660: Some rather minor updates from comparison of my board port with logic provided by Maxim Integrated. 2018-11-20 12:02:15 -06:00
Gregory Nutt
86d7f39a42 arch/arm/src/max326xx: Rename the chip subdirectory to hardware. The include paths were getting too mind boggling with two directories named chip. Should do this for the other architectures as well. 2018-11-20 11:20:58 -06:00
Gregory Nutt
b9903dc8c8 arch/arm/src/max326xx: Finish DMA implementation. Clean up compile issues when DMA, GPIO interrupts are enabled. 2018-11-20 11:14:11 -06:00
Gregory Nutt
7a45fc6f1c arch/arm/src/max326xx: Add framework for MAX326XX standard DMA support. 2018-11-20 08:09:03 -06:00
David Sidrane
e73228395f Merged in david_s5/nuttx/master_imxrt_headers (pull request #763)
imxrt:Add ADC chip header

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-20 00:24:58 +00:00
Gregory Nutt
03cd52a5a2 arch/arm/include/max326xx: Add missing MAX32660 interrupt vectors. arch/arm/src/max326xx: Add missing MAX32660 GPIO interrupt handler. 2018-11-19 18:02:57 -06:00
Gregory Nutt
7854a18ece arch/arm/src/max326xx: Finish of the serial driver. Add support for the MAX626xx instruction cache. 2018-11-19 14:36:32 -06:00
Gregory Nutt
34123867c9 arch/arm/src/max326xx: Fleshes out logic in max32660_lowputc.c 2018-11-19 13:02:49 -06:00
Gregory Nutt
1d2a69539b Squashed commit of the following:
arch/arm/src/max326xx/max32660/max32660_serial.c:  Add a mostly commented out serial driver.  With this, we can accomplish a complete build with many warnings for 'Missing logic'
    configs/max32660-evsys/src/max326_button.c:  Add support for the on-board button.
    arch/arm/src/max326xx:  Add a mostly empty max326_lowputc.c file mostly so that we can get further in the compilation.  Fixed several more compile errors revealed by this.
    arch/arm/src/max326xx:  Add peripheral clock control header file.
2018-11-19 10:47:28 -06:00