Commit Graph

10947 Commits

Author SHA1 Message Date
Gregory Nutt
4c72f57273 arch/arm/src/lpc54xx: I2C now appears to be functional. Needs more testing. 2017-12-15 14:58:37 -06:00
Gregory Nutt
c8a8eb028f arch/arm/src/lpc54xx: Complete coding of the I2C driver. It is not yet functional and has not yet been seriously tested. config/lpcxpresso-lpc54628: Add support for I2C2 and for the I2C tool to the nsh configuration. 2017-12-15 11:38:55 -06:00
Gregory Nutt
9638f3f065 fs/fat: CONFIG_FAT_MAXFNAME may not exceed NAME_MAX (CONFIG_NAME_MAX) 2017-12-15 06:19:14 -06:00
Gregory Nutt
eed14e5eb1 arch/arm/src/lpc43xx: Add I2C stop logic. 2017-12-14 18:06:40 -06:00
Gregory Nutt
c50b4f5504 arch/arm/src/lpc43xx: Add helper macros to simplify peripheral configuration for new drivers; rename some other helper macros to make their operation clearer. Begin fleshing out the I2C driver. 2017-12-14 17:29:15 -06:00
Gregory Nutt
c53d88c75c Squashed commit of the following:
arch/arm/src/lpc54xx:  LCD.. Fix some miconceptions about how the video address lines are used.
    arch/arm/src/lpc54xx:  Fix some LCD BPP and BRG vs RGB settings.
2017-12-14 10:45:53 -06:00
Gintaras Drukteinis
1fbf788555 arch/arm/src/lpc43xx: Adapt LPC176x RTC driver for the LPC43xx. 2017-12-14 07:03:46 -06:00
Gregory Nutt
43a88c1428 arch/arm/src/lpc54xx: Fix some LCD clocking. This eliminates the hang problem. That is now recognizable albeit corrupted data on the display. 2017-12-13 19:07:10 -06:00
Gregory Nutt
d93a2d4f39 arch/arm/src/lpc54xx: Add reset logic. Some changes while debugging LDC. Does not yet work (hangs). 2017-12-13 14:36:58 -06:00
Gregory Nutt
f215660296 configs/lpcxpresso-lpc54628: Add the fb configuration testing the LCD. arch/arm/src/lpc54xx: Various fixes needed to get the fb configuration to build errorfree. The configuration is not functional as of this writing. 2017-12-13 09:18:16 -06:00
Gregory Nutt
48879933a9 arch/arm/src/lpc54xx: Correct some confusion about how the LCD data pins are configured. 2017-12-12 14:10:40 -06:00
Gregory Nutt
b33d7eb59f arch/arm/src/lpc54xx: Add the ported LPC1788 LCD driver to use the LPC54xx pin definitions and SYSCON. 2017-12-12 12:53:33 -06:00
Gregory Nutt
88834b6e50 arch/arm/src/lpc54xx: Add configuartion support and logic it all none, some, or all of the external RAM to the system heap. 2017-12-12 11:33:18 -06:00
Gregory Nutt
63415f9fb1 arch/arm/src/lpc54xx: Clone the LPC1788 LCD driver. The LPC54628 LCD interface is identical. The initial commit is a brute force clone. It still needs review to make sure the LDC is appropriately enabled in the SYSCON and that clocking is provided. Also, extend the SPI 'skeleton' file so that has a place to support for SPI DMA and the SPI exchange method. 2017-12-12 10:13:21 -06:00
Gregory Nutt
0cd87be495 arch/arm/src/lpc54xx: Correct the EMC divider register definition and one typo in the SDRAM setup. SDRAM is not fully functional on this board! 2017-12-12 08:24:57 -06:00
Gregory Nutt
d51554c101 arch/arm/src/lpc54xx: Costmetic. 2017-12-11 15:04:51 -06:00
Gregory Nutt
d74d9be429 arch/arm/src/lpc54xx: Add fragmenenty skeleon of SPI driver just as a starting point. 2017-12-11 14:50:54 -06:00
Gregory Nutt
11ca2c3847 arch/arm/src/lpc54xx: Rename I2C and SPI configurations to make room in the namespace for future slave support. Add fragmenenty skeleon of I2C driver just as a starting point. 2017-12-11 13:28:55 -06:00
Gregory Nutt
5854a1cd37 arch/arm/src/lpc54xx/chip: Add framework that will eventually support I2C and SPI. 2017-12-11 10:40:45 -06:00
Gregory Nutt
0508048291 configs/lpcxpresso-lp54629: Add logic to configure EMC pins. arch/arm/src/lpc54xx: Correct GPIO read/write logic. Update pin configuration for EMC pins. All should have the input file offset and fast slew rate. 2017-12-11 09:07:51 -06:00
Gregory Nutt
df3404da09 arch/arm/src/lpc54xx: Various fixes for initial build of SDRAM support. Still unverified (but at least appears to be nonfatal). 2017-12-10 17:20:16 -06:00
Gregory Nutt
1f6dfc6351 arch/arm/src/lpc54xx: Bring in NXP support for external SRAM. 2017-12-10 16:52:15 -06:00
Gregory Nutt
dab97de4ea arch/arm/src/lpc54xx: Bring in NXP support for external SDRAM. 2017-12-10 16:07:30 -06:00
Gregory Nutt
77728f49f1 arch/arm/src/lpc54xx: Add EMC register definitions. Add basic build support for EMC and SDRAM. 2017-12-10 12:40:01 -06:00
Gregory Nutt
66ee22f363 arch/arm/src/lpc54628: With these changes, the LPCXpresso-LPC54628 NSH configuration is fully functional. Also adds a README file for the board. 2017-12-10 08:54:24 -06:00
Gregory Nutt
187747d2e5 arch/arm/src/lpc54xx: Add DMA register definition header file. 2017-12-09 15:24:21 -06:00
Gregory Nutt
9bc3c04eaf /arch/arm/src/lpc54xx: Add input mux header files. 2017-12-09 11:15:44 -06:00
Gregory Nutt
4bc7b966f4 /arch/arm/src/lpc54xx: Add some GPIO pin interrupt header files (still missing one). Also add a file that was missing in previous commit. 2017-12-09 10:12:40 -06:00
Gregory Nutt
52f9128562 arch/arm/src/lpc54xx: Add USART pin configuration. Need enable IOCON and GPIO clocking. 2017-12-09 09:11:17 -06:00
Gregory Nutt
246a97008e arch/arm/src/lpc54xx: Minor updates from review of recent changes 2017-12-08 17:32:31 -06:00
Gregory Nutt
89c21dbf05 arch/arm/src/lpc54xx/chip: Add pin multiplexing definition head file. 2017-12-08 16:11:05 -06:00
Alan Carvalho de Assis
a2462b9b1a arch/arm/src/xmc4: Only setup USB clock when USB PLL is enabled 2017-12-08 13:16:55 -06:00
Gregory Nutt
da6c604ed1 Squashed commit of the following:
configs/lpcxpresso-lpc54628:  Add support for on-board LEDs.
    arch/arm/src/lpc54xx:  Add support for GPIO/Peripheral pin configuration.
    arch/arm/src/lpc54xx/chip:  Add IOCON register definition file.
    arch/arm/src/lpc54xx:  Add GPIO and (incomplete) PINT register definition header files.
2017-12-08 13:12:07 -06:00
Masayuki Ishikawa
ab96e3fdc7 Merged in masayuki2009/nuttx.nuttx/lc823450_smp_improvement (pull request #554)
lc823450 smp improvement

* arch/arm/src/common: Apply irq_spin APIs to modifyregXX

    Replace enter_critical_section with spin_lock_irqsave.
    Replace leave_critical_section with spin_unlock_irqrestore.

    Please see 6150299f54 as well.

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

* arch/arm/src/lc823450: Do not use modifyreg32() to enable Mutex.

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

* arch/arm/src/lc823450: Modify IRQ control for i2s

    Interrupt will be handled on CPU0 with this change.

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

* arch/arm/src/lc823450: Apply irq_spin APIs to dma/syscontrol/usbdev.

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

* configs/lc823450-xgevk: Assign CPU1 to lpwork

    This change will improve load balancing for networking with RNDIS.

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

* drivers/audio/wm8776.c: Improve stability in SMP mode

    Apply irq_spin APIs to improbe performance.
    Repeat to process a message to avoid deadlock.

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

* configs/lc823450-xgevk: Enable SPINLOCK_IRQ and NXPLAYER in rndis

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

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-12-08 12:31:34 +00:00
Gregory Nutt
8bc90a1899 This adds basic architectural support for the LPC546xx family and includes support for the LPCXpresso-LPC54628 board. The basic NSH port is almost complete... still lacking GPIO support and LED support. There are still no significant drivers available.
Squashed commit of the following:

    arch/arm/src/lpc54xx:  Finish off some missing logic.  Complete now execpt for GPIO and LED support.
    arch/arm/src/lpc54xx:  Add lpc54_clrpend.c
    arch/arm/src/lpc54xx:  Serial driver is complete and compiles.
    arch/arm/src/lpc54xx:  Add beginning of a serial driver (still missing some logic)
    arch/arm/src/lpc54xx:  Fleshes out low level USART intialization.
    arch/arm/src/lpc546xx/Kconfig: Add hooks to integrate with common seril upper half.
    arch/arm/src/lpc54xx:  Beginning of USART console support.
    arch/arm/src/lpc54xx: Completes very basic clock configuration.
    arch/arm/src/lpc54xx:  Add clocking logic (still not complete)
    arch/arm/src/lpc54xx:  Beginning of PLL configuration logic.
    arch/arm/src/lpc54xx:  Fix a few things from first compile attempt.  Compilation cannot work until I at least finish the clock configuration logic.
    arch/arm/src/lpc54xx: Addes some SysTick logic.
    arch/arm/src/lpc54xx:  Completes basic startup logic (sans clock configuration) and interrupt configuration.
     arch/arm/src/lpc54xx:  Add generic ARMv7-M start-up logic (needs LPC54628 customizations); add emtpy file that will eventually hold the clock configuration logic.
    arch/arm/src/lpc54xx:  Add (incomplete) SYSCON register definition header file.
    arch/arm/src/lpc54xx:  Add FLEXCOMM header file.
    arch/arm/src/lpc54xx:  Bring in tickless clock logic from LPC43; configs/lpcxpresso-lpc54628: mount procfs if enabled.
    arch/arm/src/lpc54xx: Add RIT clock definitions; add SysTick initialization (not finished)
    LPC54xx and LPCXpresso-LPC54628: add more boilerplate files and stubbed out files.
    arch/arm/src/lpc54xx:  Add (incomplete) USART header file.
    Add another condition to a Kconfig; refresh a defconfig.
    arch/arm/src/lpc54xx/chip: Add LPC54628 memory map header files.
    configs/lpcxpresso-lpc54628:  Add basic build files for the LPCXpresso-LPC54628
    arch/: Basic build directory structure for the LPC54628
2017-12-07 13:30:02 -06:00
Gregory Nutt
ba64499bc7 Triva fix of typos in comments. 2017-12-07 11:11:21 -06:00
Gregory Nutt
d540f3fd60 Costmetic update to comments and README. 2017-12-02 11:14:32 -06:00
Alan Carvalho de Assis
7311b132a1 arch/arm/src/xmc4/Kconfig: Define user friend SPI alias to follow other arch names
arch/arm/src/xmc4/Kconfig: Define user friend I2C alias to follow other arch names
arch/arm/src/xmc4/Kconfig: Define user friend LIN alias to follow other arch names
arch/arm/src/xmc4/Kconfig: Define user friend I2S alias to follow other arch names
2017-11-30 12:48:07 -06:00
Gregory Nutt
4eda9e92de arch/arm/src/lpc32xx: lpc32_adc.c was being selected by the build system wehn DAC was selected. 2017-11-27 10:12:03 -06:00
Masayuki Ishikawa
fb49472ec8 Merged in masayuki2009/nuttx.nuttx/lc823450_smp_audio (pull request #547)
lc823450 smp audio

* arch/arm/src/lc823450: Remove a workaround in up_cpu_paused()

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

* arch/arm/src/lc823450: Introduce g_gpio_lock to improve write performance in SMP mode.

    NOTE: This is a tentative solution and should be replaced with more generic one.

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

* arch/arm/src/lc823450: Add a workaround in up_txready() to avoid data corruption.

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

* configs/lc823450-xgevk: Enable CONFIG_SMP for audio

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

* configs/lc823450-xgevk: Update README.txt regarding SMP audio

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

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-27 07:20:54 +00:00
Gregory Nutt
318dd06f8b arch/arm/src/stm32: Fix compile error when trace is enabled. I2CEVENT_ERROR was used but never defined. 2017-11-26 06:51:12 -06:00
Gregory Nutt
5328e3bafb configs/: CONFIG_QENCODER was renamed to CONFIG_SENSORS_QENCODER: update occurrences in several Kconfig files 2017-11-25 18:46:43 -06:00
Alan Carvalho de Assis
674b331f03 arm/src/xmc4: Include Alt. Interrupt Enable to RX_EVENTS and rename serial GPIO configurations. 2017-11-25 18:13:23 -06:00
Gregory Nutt
4404be23cb XMC4 Serial: The Alternative Receive Interrupt was not being configured. 2017-11-25 12:21:33 -06:00
Gregory Nutt
776b65bc90 Revert "arch/arm/src/xmc4: Serial fix... Cannot use SR1 for RXD. It will not work on this hardware. This means that no more than on UART can be configured per USIC."
This reverts commit 88982df09c.
2017-11-25 09:45:12 -06:00
Gregory Nutt
3160613db4 Revert "arch/arm/src/xmc4/xmc4_config.h: Add a check to doubly enforce the one UART per USIC rule."
This reverts commit 63026b789b.
2017-11-25 09:44:51 -06:00
Gregory Nutt
63026b789b arch/arm/src/xmc4/xmc4_config.h: Add a check to doubly enforce the one UART per USIC rule. 2017-11-25 08:41:47 -06:00
Gregory Nutt
88982df09c arch/arm/src/xmc4: Serial fix... Cannot use SR1 for RXD. It will not work on this hardware. This means that no more than on UART can be configured per USIC. 2017-11-25 08:19:43 -06:00
Alan Carvalho de Assis
639f77341a arch/arm/src/xmc4: Remove hard-coded values in clock configuration. USB will be fixed later. 2017-11-25 06:39:44 -06:00
Alan Carvalho de Assis
0ac8ac240a arch/arm/src/xmc4: Do not run at 144MHz unless BOARD_FCPU_144MHZ is selected in the board.h header file. 2017-11-24 12:47:47 -06:00
Gregory Nutt
37a9808dc9 Cosmetic fix to some alignment. 2017-11-24 08:34:39 -06:00
Gregory Nutt
a197676006 Fix typos in some comments. 2017-11-23 14:21:57 -06:00
Gregory Nutt
d1e234e179 STM32: Remove usb_dumpbuffer() macro from OTGFS device. It cannot be controlled via Kconfig and therefore will not be supported. 2017-11-23 06:37:21 -06:00
Gregory Nutt
cbfaca8a14 STM32 L4 USB OTGFS: Remove dumpbuffer feature added in the last commit. I don't want in features that cannot be controlled be via Kconfig files and I do not accept debug code in the upstream GIT. My mistake for merging it in the first place. 2017-11-22 13:26:15 -06:00
raiden00pl
83699beb10 stm32f33xxx_rcc: fix CAN clock enable 2017-11-22 09:26:07 +01:00
Gregory Nutt
c52fab653d Replicate Jussi Kivilinna's change for the newly added STM32F2xx and F3xx family members. This change allows selecting voltage output scale mode and enable over-drive only when needed. 2017-11-21 06:44:19 -06:00
Jussi Kivilinna
88cf9cf133 Two changes for STM32F7.
1) The first enables building with CONFIG_ARCH_IDLE_CUSTOM enabled.
2) The second allows changing voltage output scaling setting and prevents enabling over-drive mode for low frequencies (STM32 F74xx, 75xx, 76xx, 77xx)
2017-11-21 06:42:04 -06:00
Miha Vrhovnik
8bb54368c8 Various fixes for errors ound while debugging OTG on L496
STM32, STM32 L4, and STM32 M4: USB OTGFS DMA trace output fix
STM32: Add dump buffer feature to stm32 F4 series
STM32 and STM32 L4: Fix bad USB OTGFS register address
STM32 L4:  Fix typo in USB OTGFS register usage
STM32 L4:  Add check in USB OTGFS driver to assure that SYSCFG is enabled
Nucleo-L496ZG:  Make HSE on Nucleo-L496ZG default to enable USB
2017-11-21 06:32:53 -06:00
Alan Carvalho de Assis
41b89e1bb4 arch/arm/src/xmc4 UART: Enable RX/TX status and small fixes 2017-11-21 06:11:35 -06:00
Alan Carvalho de Assis
c117cdcf6b arch/arm/src/xmc4:xmc4_uart_configure() expects the channel# not uartbase as an input parameter. 2017-11-20 07:00:23 -06:00
Gregory Nutt
40b8cbb8dc Eliminate some warnings. 2017-11-18 12:29:34 -06:00
Bob Feretich
fab5faf097 STM32F7: Completes architecture support for the STM32 F72x and F73x families. Adds support for the Nucleo-144 boards with STM32F722. 2017-11-18 07:55:50 -06:00
Bob Feretich
d7bb824c69 stm32f7: Fix typos in two RCC register definition header files 2017-11-17 07:26:05 -06:00
Bob Feretich
13b52da3fa stm32 f72xx and f73xx: Add register definition header files and clocking logic 2017-11-17 07:18:02 -06:00
Alan Carvalho de Assis
fcb5129567 arch/arm/src/xmc4: Kconfig was not selecting XMC4_USIC for USIC1. 2017-11-16 13:51:17 -06:00
Alan Carvalho de Assis
ab7dfd75b5 arch/arm/src/xmc4: Fix XMC4xxx USIC UART sginal to be high level when in idle 2017-11-16 11:23:19 -06:00
Alexander Vasiljev
1fc3b47565 arch/arm/src/lpc43: Correct a typo in Kconfig. 2017-11-15 08:16:53 -06:00
Alexander Vasiljev
ac3884498f arch/arm/src/lpc43: UART_RX pins should be configured with input buffers enabled. Otherwise it cannot be read. 2017-11-15 07:54:09 -06:00
Alexander Vasiljev
485f0ebd40 arch/arm/src/lpc43: Add LPC43xx CAN driver 2017-11-15 07:54:09 -06:00
Gregory Nutt
102f1ea33f Minor cleanup of some spacing. 2017-11-13 14:06:03 -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
Gregory Nutt
692ebdf9d4 arch/arm/src/stm32/stm32f33xx_adc.c: Eliminate warnings about cj_channels and j_chanlist being set but not used. 2017-11-12 10:17:10 -06:00
Jussi Kivilinna
585b04014f Merged in jussi_kivilinna/nuttx/stm32l4_serial_pm (pull request #534)
STM32L4 serial PM interface improvements

* stm32l4_serial: pm: check rx/tx buffers for pending data in pmprepare

* stm32l4: remove adhoc PM interfaces and move serial suspend functionality behind CONFIG_PM

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-10 13:05:00 +00:00
Masayuki Ishikawa
da78c18397 Merged in masayuki2009/nuttx.nuttx/lc823450_autoled (pull request #532)
lc823450 auto LED support

* arch/arm/src/lc823450: Add auto LED for CPU activity

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

* configs/lc823450-xgevk: Add auto LED support

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

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-09 11:36:33 +00:00
Jussi Kivilinna
c8797dbabc STM32 L4: Build stm32l4_idle.c only if CONFIG_ARCH_IDLE_CUSTOM is not enabled 2017-11-08 13:07:15 -06:00
Jussi Kivilinna
4ca07231ae stm32l4_rcc: restore backup-registers after backup-domain reset. 2017-11-08 13:05:56 -06:00
Gregory Nutt
349b513978 Very trivial changes from review of last PR 2017-11-08 06:34:23 -06:00
Masayuki Ishikawa
51b19d5f38 Merged in masayuki2009/nuttx.nuttx/lc823450 (pull request #531)
lc823450-xgevk audio support

* arch/arm/src/lc823450: Add IPL2 support

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

* configs/lc823450-xgevk: Add IPL2 support

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

* libc/audio: Fix compilation error in lib_buffer.c

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

* drivers/audio: Add WM8774 support

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

* arch/arm/src/lc823450: Add I2S support

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

* configs/lc823450-xgevk: Add WM8774 support

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

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-08 12:25:13 +00:00
Gregory Nutt
b076ff36cb Update NxWidgets version number 2017-11-07 13:20:03 -06:00
Masayuki Ishikawa
56eac96d2f Merged in masayuki2009/nuttx.nuttx/lc823450 (pull request #530)
Add IPL2 support for LC823450

* arch/arm/src/lc823450: Add IPL2 support

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

* configs/lc823450-xgevk: Add IPL2 support

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

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-07 12:34:23 +00:00
Gregory Nutt
2a331b7f23 Fix some includes missed in the last commit. 2017-11-06 15:01:21 -06:00
Gregory Nutt
a14eb93ae7 lpc43xx Ethernet: Fix some backward logic setting full-duplex and 100mbps when autoconfiguration is disabled. Noted by Anonymous in Issue #76 2017-11-06 13:28:29 -06:00
Gregory Nutt
08fa834a6a arch/arm/include/stm32 and stm32f7: Remove ltdc.h and dma2d.h. Those header files in that location permitted inclusion into application space logic and, hence, facilitated and encouraged calling into the OS and violating the portable POSIX OS interface. The definitions in those header files were move the appropriate location in the counterpart, architecture specific files at arch/arm/src/stm32 and stm32f7 dma2d.h and ltdc.h.
configs/stm32f429i-disco/ltdc:  This configuration has been deleted because it violated the portable POSIX OS interface.  It used apps/examples/ltdc and include ltdc.h and dma2d.h which were also removed for the same reason.
2017-11-06 12:22:48 -06:00
Mateusz Szafoni
2fc5237854 Merged in raiden00/nuttx (pull request #529)
Master

* cosmetics

* stm32_hrtim: add helper macros

* smps: cosmetics

* stm32f33xxx_adc: injected channels support, fix some definitions, add interface to disable interrupts

* stm32f334-dsico: beginning of lower-half driver for SMPS (buck-boost onboard converter)

* nucleo-f334r8/highpri: missing ADC trigger configuration

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-05 14:15:04 +00:00
Dmitriy Linikov
ef1ca963a5 Merged in hardlulz/modem-3.0-nuttx/fix-stm32_dmacapable-on-f20xx (pull request #522)
Fix stm32 dmacapable on f20xx

* Fixed build for STM32F20XX platforms when CONFIG_STM32_DMACAPABLE is enabled

* Fixed build for STM32F20XX platforms when CONFIG_STM32_DMACAPABLE is enabled

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-30 19:20:52 +00:00
Dmitriy Linikov
73082f7513 STM32 ADC: Added support for ADC's IO_ENABLE_TEMPER_VOLT_CH ioctl on STM32F10XX and STM32F20XX 2017-10-30 06:21:48 -06:00
Mateusz Szafoni
e3bb78a881 Merged in raiden00/nuttx (pull request #520)
Master

* stm32: add ADC DMA support to STM32F33 configuration

* stm32f33xxx_adc.c: fix compilation if no DMA

* nucleo-f334r8: eliminate warning

* nucleo-f334r8: add highpri example configuration

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-28 14:29:07 +00:00
Jussi Kivilinna
bcf4a5d056 Merged in jussi_kivilinna/nuttx/stm32l4_i2c_rewrite (pull request #519)
Port STM32F7 I2C driver to STM32L4

* arch/stm32l4: port STM32F7 I2C driver to STM32L4

    STM32L4 I2C driver is in work-in-progress state (plentiful of
    TODOs and #warnings) and lags many features found in more
    up-to-date STM32 I2C drivers. The peripheral on STM32F7 and
    STM32L4 are identical except for L4's 'wakeup from stop mode'
    flag and STM32F7's I2C driver is in more 'ready to use' state.

    Patch ports the STM32F7 I2C driver to STM32L4. The I2C clock
    configuration is kept the same as before (I2CCLK = PCLK1 80 Mhz)
    instead of switching to STM32F7 arch default that is I2CCLK=HSI.
    Further work would be to add configuration option for choosing
    I2C clock source instead of current hard-coded default.

* arch/arm/stm32f7: i2c: restore bus frequency after I2C reset

    Copy frequency restoration fix from STM32L4 I2C driver to STM32F7 I2C driver.

* arch/arm/stm32f7: i2c: remove unused Kconfig option

* configs/nucleo-l496zg/nsh: enable I2C4 bus with i2ctool

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-26 13:59:20 +00:00
Jussi Kivilinna
45fdad5055 arch/arm/common/up_checkstack: fix assert panic when both TLS and interrupt stack are enable 2017-10-23 12:02:20 -06:00
Mateusz Szafoni
9105ac3e98 Merged in raiden00/nuttx (pull request #516)
Master

* stm32_hrtim: fix warnings related with RCC

* stm32f33xxx_adc: add some publicly visable interfaces and some code to support injected channels

* stm32f33xxx_dma: add public interface to handle with DMA interrupts

* stm32_hrtim: change some names and add some coments

* chip/stm32f33xxx_adc.h: cosmetics

* nucleo-f334r8: add logic for zero latency high priority interrupts example

* stm32: update some ADC-related configuration in Kconfig

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-22 15:46:13 +00:00
Mateusz Szafoni
704ad2faeb Merged in raiden00/nuttx (pull request #515)
stm32_adc.c: clear pending interrupts

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-20 17:15:48 +00:00
Juha Niskanen
9653255cff Merged in juniskane/nuttx_stm32l4/stm32l1_stm32l4_rtc_update_pr (pull request #514)
STM32L1, STM32L4 RTC: add periodic interrupts, update L1 RTC implementation

* STM32L4 RTC: add support experimental CONFIG_RTC_PERIODIC

* STM32 RTC: separate STM32L1 RTC into a separate file

    STM32L1 RTC is very close to F4 or L4 versions, with two alarms
    and periodic wakeup support so backported L4 peripheral to L1.

* RTC: add periodic alarms to upper and lower halves

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-20 17:15:17 +00:00
Jussi Kivilinna
b87739d174 arch/arm/src/stm32f7/i2c: fix I2C_M_NORESTART handling 2017-10-20 08:41:42 -06:00
Mateusz Szafoni
09f3e9ce5c Merged in raiden00/nuttx (pull request #513)
Master

* stm32f33xxx_adc.c: fix some warnings and compilation error when extsel not in use

* nucleo-f334r8/adc: change serial console to USART2 (STLINK COM)

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-19 20:07:04 +00:00
Gregory Nutt
ffca71b9bf Alexey T, Bitbuck Issue 73:
Lower part of STM32 CAN driver arch/arm/src/stm32/stm32_can.c uses all three hw tx mailboxes and clears TXFP bit in the CAN_MCR register (it means transmission order is defined by identifier and mailbox number).

This creates situation when order frames are put in upper part of CAN driver (via can_write) and order frames are sent on bus can be different (and I experience this in wild).

Since CAN driver API pretends to be "file like" I expect data to be read from fd the same order it is written. So I consider described behaviour to be a bug.

I propose either to set TXFP bit in the CAN_MCR register (FIFO transmit order) or to use only one mailbox.
2017-10-19 06:34:54 -06:00
Gregory Nutt
9b5f56ba5b BCM2708: The PiZero configuration now compiles and links cleanly. Still a few thngs missing internally. 2017-10-18 14:07:52 -06:00
Gregory Nutt
e18e8573d1 BCM2708: Allow pass parameters with AUX interrupts; Add mini-UART break capability. 2017-10-18 13:57:54 -06:00
Gregory Nutt
bcff0543f9 BCM2708: Add a little more Mini-UART logic. Still missing UART configuration logic. 2017-10-18 13:44:32 -06:00
Gregory Nutt
6235e72ce0 BCM2708: Add a little more Mini-UART logic. Still missing UART configuration logic. 2017-10-18 12:50:56 -06:00
Gregory Nutt
25079a9c93 BCM2708: Fleshes out GPIO interrupt logic. 2017-10-18 10:13:10 -06:00
Gregory Nutt
63b93a9fba BCM2708: Add framework for a Mini-UART driver (incomplete) 2017-10-18 09:17:08 -06:00
Gregory Nutt
3316103efd BCM2708: Add hooks to support both Mini- and PL011 UARTs. 2017-10-18 08:09:24 -06:00
Gregory Nutt
477a8d1aa7 BCM2708: Add support for AUX interrupts. 2017-10-17 17:08:54 -06:00
Gregory Nutt
d160ae8a32 BCM2708: Add some build configuration and support logic for low-level serial otput (unfinished) 2017-10-17 16:26:52 -06:00
Gregory Nutt
851fa7ba85 BCM2708: Fixes off system timer logic for the Pi Zero. 2017-10-17 14:53:11 -06:00
Gregory Nutt
ea23268f34 BCM2708: Add system timer register definitions and a partial implementation of the tickless mode timer. 2017-10-17 13:54:54 -06:00
Juha Niskanen
d101fad026 Merged in juniskane/nuttx_stm32l4/stm32_rtc_small_patches_pr (pull request #511)
Stm32 rtc small patches

* RTC: canceling an alarm marks it as inactive

* STM32L4, STM32F4, STM32F7 RTC: fix reading alarm value that is more than 24h in future

* STM32F0 RTC: fix backup register count in stm32_rtcc.h

    All other STM32: SHIFTR_SUBFS_MASK was correct in STM32F0 only

* STM32L1: use correct EXTI line definitions

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-17 16:45:48 +00:00
Gregory Nutt
3750da237c BCM2708: Flesh out some GPIO logic. 2017-10-17 10:33:48 -06:00
Gregory Nutt
c810a77cca Add skeleton GPIO C files; Add pinmap file. 2017-10-17 08:58:03 -06:00
Gregory Nutt
0fc8978a90 Pi Zero: Add GPIO module header file. 2017-10-17 07:37:44 -06:00
Gregory Nutt
692d4b3dc6 configs/sim: Update touchscreen driver initialization to use only multiple-user NX server logic. 2017-10-15 12:40:01 -06:00
Mateusz Szafoni
61293cfc4c Merged in raiden00/nuttx (pull request #510)
Initial ADC support for the STM32F33XX

* stm32_adc.h: add JEXTSEL definitions and hrtim trigger configuration

* stm32_adc.c: move STM32F33 ADC logic to a separate file

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-15 16:29:05 +00:00
Jussi Kivilinna
51ed697de1 stm32f7 BBSRAM: stm32_bbsram: avoid assert in stm32_bbsram_savepanic. If panic happens before stm32_bbsram is initialized, stm32_bbsram_savepanic caused additional assert panic. Function has null pointer check, so drop DEBUGASSERT. 2017-10-13 07:37:51 -06:00
Juha Niskanen
7c815e555c Merged in juniskane/nuttx_stm32l4/stm32l4_rtc_fixes_pr (pull request #509)
STM32L4 small fixes to RTC

* STM32L4 RTC: init mode was never exited because nested locking in rtc_synchwait() disabled backup domain access

* STM32L4 RTC: use backup register magic value instead of INITS bit

    The INITS (bit 4) of RTC_ISR register cannot be used to reliably
    detect backup domain reset. This is because we can operate our
    device without ever initializing the year field in the RTC calendar
    if our application does not care about correct date being set.

    Hardware also clears the bit when RTC date is set back to year 2000:

    nsh> date -s "Jan 01 00:00:00 2001"
    rtc_dumptime: Setting time:
    rtc_dumptime:   tm: 2001-01-01 00:00:00
    rtc_dumpregs: New time setting:
    rtc_dumpregs:       TR: 00000000
    rtc_dumpregs:       DR: 00012101
    rtc_dumpregs:       CR: 00000000
    rtc_dumpregs:      ISR: 00000037
    ...
    nsh> date -s "Jan 01 00:00:00 2000"
    rtc_dumptime: Setting time:
    rtc_dumptime:   tm: 2000-01-01 00:00:00
    rtc_dumpregs: New time setting:
    rtc_dumpregs:       TR: 00000000
    rtc_dumpregs:       DR: 0000c101
    rtc_dumpregs:       CR: 00000000
    rtc_dumpregs:      ISR: 00000027      <--- Bit 4 went missing!
    ...

    This patch allows us to do:

      stm32l4_pmstop(true);

      /* Stop mode disables HSE/HSI/PLL and wake happens with default system
       * clock. So reconfigure clocks early on Stop mode return.
       */

      stm32l4_clockconfig();

    without stm32l4_clockconfig() doing spurious and harmful backup domain
    reset in rcc_resetbkp().

* STM32L4 RTC: put back the SSR race condition workaround

    ST has confirmed that the issue has not been fixed, and that it applies
    to STM32L4 too (was not in errata sheets due to documentation bug)
    See discussion:

    https://community.st.com/thread/43710-issue-with-rtc-maximum-time-resolution

* STM32F4, STM32L4, STM32F7 RTC: add more CONFIG_RTC_NALARMS > 1 to reduce code size

* STM32L4: rename stm32l4_rtcc.c to stm32l4_rtc.c to better match STM32F7

    Cosmetic changes to comments

* STM32, STM32L4, STM32F7 RTC: stray comment and typos in chip/stm32_rtcc.h

* STM32L4 RTC: change maximum alarm time from 24h to one month

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-13 12:32:33 +00:00
Anthony Merlino
c15b01f32a stm32 SPI: Add missing include required when CONFIG_SPI_CALLBACK is enabled 2017-10-12 11:28:51 -06:00
Gregory Nutt
5350b0f2fe Cosmetic changes related to coding standard. 2017-10-12 09:32:16 -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
eb79a575f6 Fix a few places where there was a semicolon following the 'if' condition, makeing the following logic unconditional. 2017-10-10 14:24:13 -06:00
Gregory Nutt
101eb73014 STM32 Serial: Fix a compilation error introduced in some configurations by a recent PR. 2017-10-10 07:23:55 -06:00
Gregory Nutt
270aa2848a Squashed commit of the following:
BCM2708:  Add enough infrastructrue (more stubs) to get a clean compilation of the Pi Zero configuration (with many undefined things at link time).

    BCM2708:  Add basic interrupt handling logic

    BCM2708: Add interrupt register definitions.

    BCM2708:  Add irq.h header file

    BCM2708/Pi zero:  bcm_boot.c and bcm_memorymap.h now compile.  Added pizero linker script.

    BCM2708/Pi Zero:  Add Make.defs needed to build.

    arch/arm/include/bcm2708, arch/arm/src/bcm2708, configs/pizero:  Add some basic build and configuration logic.

    configs/pizero:  Add some basic structure of the Rasperry Pi Zero port.

    Created directory configs/pizero.  Nothing there now but a README.txt file.

    Add initial boot.c and memorymap.c files
    Author: Alan Carvalho de Assis <acassis@gmail.com>

    Add AUX/UART/SPI registers definition
    Author: Alan Carvalho de Assis <acassis@gmail.com>

    Pizero GPIO registers
    * Initial commit to add GPIO definitions
    * Add remaining GPIO registers definition
    Alan Carvalho de Assis <acassis@gmail.com>

    BCM2708 memory map:  Add VBASE defintions; fix VCSDRAM address per Alan; move all virtual address to the bottom of the file to avoid confusion -- top is all physical address; bottom is all veritural address.

    Add initial memory map to BCM2708/BCM2835
    Alan Carvalho de Assis <acassis@gmail.com>
2017-10-09 13:11:17 -06:00
Gregory Nutt
d0eb182c00 Minor changes from review of last PR 2017-10-09 12:15:05 -06:00
Mateusz Szafoni
6c25f3d142 Merged in raiden00/nuttx (pull request #505)
Master

* power: Add powerled to Kconfig

* stm32_powerled.c: cosmetics

* stm32_hrtim.c: cosmetics

* stm32/Kconfig: add HRTIM configuration and add DAC external trigger configuration

* stm32f334-disco: Add powerled example configuration

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-09 18:07:09 +00:00
Juha Niskanen
798d03cb3d Merged in juniskane/nuttx_stm32l4/stm32_serial_patches_pr (pull request #504)
Stm32, stm32l4 serial patches

* stm32: serial: add interface to get uart_dev_t by USART number, stm32_serial_get_uart

* stm32: serial: do not stop processing input in SW flow-control mode

* stm32l4: serial: do not stop processing input in SW flow-control mode

* stm32l4: serial: suspend serial for Stop mode

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-09 16:20:24 +00:00
Gregory Nutt
ecf6dda2c5 Correct recurring typo: semaphore not semapore 2017-10-09 09:57:56 -06:00
Gregory Nutt
3e40460ab8 lpc31xx: Cosmetic changes. 2017-10-08 19:33:05 -06:00
Gregory Nutt
700f1a8e8c Eliminate some warnings found in build testing. 2017-10-08 16:27:17 -06:00
Mateusz Szafoni
e612ae0803 Merged in raiden00/nuttx (pull request #503)
Master

* stm32_hrtim.c: fix burst mode prescaler update

* powerled.h: add fault field to state structure

* stm32f334-disco: add flash mode support for powerled driver + cosmetics

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-08 19:13:12 +00:00
Gregory Nutt
5b04c25dcd drivers/serial/tcdrain: tcdrain() was recently added to the NuttX C library. But there is a problem. The specification of tcdrain() requires that it be a cancellation point. In order to do this, tcdrain was moved from the C library into the OS and the addition cancellation point hooks were added. In non-FLAT builds, access via system calls is also now supported. 2017-10-06 10:55:36 -06:00
Gregory Nutt
936df1bcb5 Adds new OS internal functions nxsig_sleep() and nxsig_usleep. These differ from the standard sleep() and usleep() in that (1) they don't cause cancellation points, and (2) don't set the errno variable (if applicable). All calls to sleep() and usleep() changed to calls to nxsig_sleep() and nxsig_usleep().
Squashed commit of the following:

    Change all calls to usleep() in the OS proper to calls to nxsig_usleep()

    sched/signal:  Add a new OS internal function nxsig_usleep() that is functionally equivalent to usleep() but does not cause a cancellaption point and does not modify the errno variable.

    sched/signal:  Add a new OS internal function nxsig_sleep() that is functionally equivalent to sleep() but does not cause a cancellaption point.
2017-10-06 10:15:01 -06:00
Gregory Nutt
29b5b3667f sched/semaphore: sem_timedwait() is a cancellation point and, hence, cannot be called from within the OS. Created nxsem_timedwait() that is equivalent but does not modify the errno and does not cause cancellation. All calls to sem_timedwait() change to calls to nxsem_timedwait() in the OS. 2017-10-05 07:24:54 -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
Juha Niskanen
2997a49e51 Merged in juniskane/nuttx_stm32l4/stm32l4_rtc_pm_fixes_pr (pull request #502)
STM32L4 RTC, PM: small fixes to subseconds handling, ADC power-management hooks

* STM32L4 ADC: add PM hooks from Motorola MDK

* STM32L4 RTC: add up_rtc_getdatetime_with_subseconds

* STM32 RTC: workaround for potential subseconds race condition

    In all recent STM32 chips reading either RTC_SSR or RTC_TR is supposed to lock
    the values in the higher-order calendar shadow registers until RTC_DR is read.
    However many old chips have in their errata this silicon bug (at least F401xB/C,
    F42xx, F43xx, L15xxE, L15xVD and likely others):

    "When reading the calendar registers with BYPSHAD=0, the RTC_TR and RTC_DR
    registers may not be locked after reading the RTC_SSR register. This happens
    if the read operation is initiated one APB clock period before the shadow
    registers are updated. This can result in a non-consistency of the three
    registers. Similarly, RTC_DR register can be updated after reading the RTC_TR
    register instead of being locked."

* STM32L4 RTC: correct RTC_SSR and RTC_TR read ordering

    In all recent STM32 chips reading either RTC_SSR or RTC_TR is supposed to lock
    the values in the higher-order calendar shadow registers until RTC_DR is read.
    Change the register read ordering to match this and don't keep a workaround
    for a hypothetical race condition (not in any L4 errata, lets for once assume
    ST's silicon works as it is documented...)

* STM32L4 PM: remove useless #ifdefs and old non-L4 STM32 code

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-03 16:39:51 +00:00
Sebastien Lorquet
152164dcaf commit b2ea300b6f broke the STM32L4 port for people not using the L496xx or L4A6xx. That was because stm32l4_sdmmc.h is included from the stm32l4.h global header, and this header fires an #error for other chips. I see that ALL stm32l4 have the same SDMMC except the stm32l4x2, which has none. 2017-10-02 07:43:39 -06:00
Gregory Nutt
10eed5deef Mostly cosmetic changes from review of last PR. 2017-10-01 12:08:52 -06:00
Mateusz Szafoni
67300e23a0 Merged in raiden00/nuttx (pull request #500)
stm32_hrtim: add support for capture, chopper, deadtime and dump registers

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-10-01 17:52:39 +00: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
fa65bad3bf Fix minor spacing issue 2017-09-29 07:34:35 -06:00
Juha Niskanen
e09a31c3b6 Merged in juniskane/nuttx_stm32l4/dfsdm_flash_pr (pull request #497)
STM32L4 FLASH, DFSDM: option bytes, JEXTSEL bits, ADC1 output to DFSDM chips change

* STM32L4 FLASH: add function for modifying device option bytes

* STM32L4 DFSDM: add JEXTSEL bits, ADC1 output to DFSDM chips change

    ST's documentation hints that ADC output can be routed to DFSDM
    on some STM32L4X3 chips, but I got confirmation from tech support
    that this is just a documentation error so remove this from Kconfig.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-29 13:32:25 +00:00
Oleg Evseev
ef059f78ac STM32 PWR: Adds stm32_pwr_getsbf and stm32_pwr_getwuf functions that return the standby flag and the wakeup flag PWR power control/status register. 2017-09-28 07:50:21 -06:00
Tomasz Wozniak
96d6bc9376 Build break fix: define PWM_TIM2_CH1CFG for channel 1 PWM 2017-09-26 20:55:23 +02:00
Miha Vrhovnik
b2ea300b6f STM32 L4: Add SDMMC driver 2017-09-26 06:22:39 -06:00
Gregory Nutt
b065b1f5df STM32 Serial: Fix some incorrect conditional compilation 2017-09-23 10:58:50 -06:00
David Sidrane
a3364b5bd9 Merged in david_s5/nuttx/master_stm32_f4_i2c (pull request #490)
stm32:stm32f40xxx I2C ensure proper isr handling

Injecting data errors that causes a STOP to be perceived by the
   driver, will continually re-enter the isr with SB not set and BTF
   and RxNE set.  This changes allows the interrupts to
   be cleared and  propagates a I2C_SR1_TIMEOUT to the waiting task.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-21 20:02:05 +00:00
Juha Niskanen
abcaedb990 Merged in juniskane/nuttx_stm32l4/dfsdm_adc_work_pr (pull request #487)
STM32L4 ADC, DFSDM: add routing of ADC data to DFSDM filters

* configs/nucleo-l496zg: add DFSDM initialization

* STM32L4 ADC: add option for routing ADC data to DFSDM, fix DFSDM DMA

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-20 12:20:45 +00:00
Gregory Nutt
686129bb2e Cosmetic change from review of last PR. 2017-09-19 06:46:20 -06:00
Juha Niskanen
38f44a627b Merged in juniskane/nuttx_stm32l4/stm32l4_dfsdm_pr (pull request #486)
STM32L4 DFSDM: add peripheral, DAC, TIM: small changes

* STM32L4 DAC: do not configure output pin if it is not used

* STM32L4 TIM: fix compilation of timers with complementary outputs when not PWM_MULTICHAN

* STM32L4 DFSDM: peripheral for digital filters for sigma-delta ADCs

    Initial version. Timer trigger support is not completed and there is
    some issue with DMA.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-19 12:36:19 +00:00
Gregory Nutt
882adb2c82 drivers/video/fb.c: Fix a typo introduced in previous commit. 2017-09-17 14:07:08 -06:00
Gregory Nutt
b90b4d40b6 Fix typos/spelling. SAMV71-XULT: Update README, add support for fb_driver. 2017-09-17 10:38:34 -06:00
Rajan Gill
fd9f67c647 STM32 Tickless: The attached patch removes the restriction to 16bit counts when a 32bit timer is used for the new tickless on the stm32. As it is now, the restriction is very limiting, especially if one wants high granularity and large achievable intervals and has the hardware (namely the 32bit timers) available. 2017-09-16 08:20:07 -06:00
Gregory Nutt
37a29cf3a3 LPC31xx: Change naming of some global variables to match coding standard. 2017-09-14 15:33:28 -06:00
Gregory Nutt
13006ecca9 STM32/STM32 F7: Fix some errors found by Coverity. 2017-09-13 13:05:13 -06:00
Rajan Gill
15784ca46f STM32 Tickless: Fixes compilation error when timer info/debug messages are enabled. 2017-09-13 07:14:13 -06:00
David Sidrane
2bbe389897 stm32:Fix coding standard error 2017-09-12 14:16:46 -10:00
David Sidrane
48f0209b84 stm32f7:I2C fixed typo in comment 2017-09-12 14:16:45 -10:00
David Sidrane
ef411578d5 stm32:stm32 alt I2C ensure proper error handling.
Injecting data errors would cause the driver to
  continually reenter the isr with BERR an RxNE.
  This fix allows the error to be cleared and
  propagated to the waiting task.
2017-09-12 14:16:45 -10:00
David Sidrane
617c91b373 stm32:stm32f40xxx I2C ensure proper error handling.
Injecting data errors would cause the driver to
  continually reenter the isr with BERR an RxNE.
  This fix allows the error to be cleared and
  propagated to the waiting task.
2017-09-12 14:16:45 -10:00
Jussi Kivilinna
61878848ad net/sock: recvfrom: Fix double leave_cancellation_point on error path 2017-09-12 07:17:53 -06:00
Gregory Nutt
d76a541a57 Trivial, cosmetic 2017-09-11 19:22:49 -06:00
Masayuki Ishikawa
d95153706a Merged in masayuki2009/nuttx.nuttx/lc823450 (pull request #481)
latest updates on lc823450

* arch/arm/src/lc823450: Conform to the NuttX coding style

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

* arch/arm/src/lc823450: Merge the latest fix in lc823450_rtc.c

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

* arch/arm/src/lc823450: Add ADC driver

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

* arch/arm/src/lc823450: Add watchdog driver

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

* configs/lc823450-xgevk: Enable ADC and watchdog driver

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

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-12 01:00:32 +00:00
Mateusz Szafoni
2ffc2ab875 Merged in raiden00/nuttx (pull request #480)
Master

* smps.c: fix error messages

* stm32f33xxx_hrtim.h: fix definition

* stm32_hrtim: fix pclk calculation

* stm32_hrtim.c: cosmetics

* smps.h: cosmetics

* add upper-half driver for high power LED driver (powerled)

* stm32f334-disco: beginning of lower half driver for high power LED (powerled)

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-10 17:43:20 +00:00
Gregory Nutt
435dd39d4c arch/arm/Kconfig: Add more classic ARM11 architecture selections. 2017-09-09 12:44:56 -06:00
Gregory Nutt
3ca3674cca Update/fix last commit: On some STM32's, the CSR regiser is 18 vs. 16 bits wide. Need to use 32-bit register accesses. 2017-09-08 14:21:24 -06:00
Oleg Evseev
3596c75d78 STM32: Add logic for enabling wakeup pins. 2017-09-08 13:23:08 -06:00
Juha Niskanen
3719d0a395 Merged in juniskane/nuttx_stm32l4/stm32l4_adc_kconfig_pr (pull request #478)
STM32L4: ADC, Kconfig small changes

* STM32L4 ADC: port analog watchdog ioctls from the Motorola MDK

* STM32L4: Kconfig: add some L486 and L496 chips, remove duplicates

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-06 22:05:44 +00:00
Jussi Kivilinna
449a891a8e stm32f7: add new configuration option for enabling flash ART Accelerator and flash prefetcher 2017-09-04 07:56:51 -06:00
Mateusz Szafoni
23edfe2557 Merged in raiden00/nuttx (pull request #477)
Master

* stm32f33xxx_hrtim.h: add some comments

* stm32_hrtim: add burst mode configuration, rename some definitions

* smps.h: add private data to the smps_s structure

* stm32_hrtim: cosmetics

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-03 18:46:41 +00:00
Gregory Nutt
860ff78d55 Kinetis: First cut implementation of the alarm read function. Pretty simple because the Kinetis RTC is just a 1Hz counter. 2017-09-03 12:44:45 -06:00
Gregory Nutt
5f67fc8f1b RTC alarms: getalarmdatetime functions are private and should be declared static. 2017-09-03 12:20:13 -06:00
Gregory Nutt
789e204141 Correct naming of fields in struct alm_rdalarm_s. Should not be the same as the corresponding fields of struct alm_setalarm_s. The whole purpose of that naming convention is to keep the field names unique. 2017-09-03 09:51:47 -06:00
Gregory Nutt
f42a8a38eb Add hooks for Boris Astardzhiev's RTC change for STM32L4 to Kinetis. Lower level logic not yet implemented. 2017-09-03 08:39:03 -06:00
Gregory Nutt
9021e1caeb Port Boris Astardzhiev RTC change for STM32L4 to STM32 2017-09-03 08:39:03 -06:00
Gregory Nutt
01fa856f9b Fix warning introduced with PR to STM32L4 RTC. 2017-09-03 08:39:03 -06:00
Gregory Nutt
92b3c9477a Port Boris Astardzhiev RTC change for STM32L4 to STM32F7 2017-09-03 08:39:02 -06:00
Boris Astardzhiev
b1eceb838b Extend the RTC framework with an alarm read ioctl (RTC_RD_ALARM). Through it consumer could get configuration settings about previously scheduled hardware alarms (active status, hours, minutes, seconds). 2017-09-03 08:39:02 -06:00
Mateusz Szafoni
daac3bd7f8 Merged in raiden00/nuttx (pull request #476)
Master

* stm32_dac.c: fix compilation when DMA disabled for channel

* smps.h: update some comments

* smps.c: more sanity checks

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-09-02 19:52:21 +00:00
Jussi Kivilinna
fe7d8c941c stm32f7: do not enable read-modify-write on DTCM. "AN 4667 - STM32F7 Series system architecture and performance" recommends to disable read-modify-write on DTCM: "If the DTCM-RAM is used as data location and the variables used are byte or/and halfword types, since there is no ECC management in this RAM on the STM32F7 Series, it is recommended to disable the read-modify-write of the DTCM-RAM in the DTCM interface (inthe DTCMCR register) to increase the performance." 2017-09-01 08:01:54 -06:00
Juha Niskanen
258fa08e69 STM32L4 DAC: Fix naming so that DAC1 and DAC2 always refer to channels 1 and 2
User should not be bothered by details like how many IP blocks there are. As no
current STM32L4 has second DAC block (channel 3), remove support for such
hypothetical hardware. DMA channels corrected.

Change-Id: I2cba7e55803871f1ff945538113f12cf5088f68d
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2017-09-01 10:01:03 +03:00
Juha Niskanen
0003ad171d STM32L4 DAC: separate DMA buffer configuration for channels
Change-Id: Ibc6dc90b39b784b5534b8908eaf615bf1ddcb7ed
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2017-09-01 10:00:55 +03:00
Juha Niskanen
4025205772 STM32L4 DAC: add option for routing DAC output to ADC
Actually write something to the DAC DMA buffer.

Change-Id: I1b2516ac26fb17f5242611b56be8926c5f40c2c7
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2017-09-01 10:00:46 +03:00
Gregory Nutt
91d473b816 Revert "stm32 FLASH allow non blocking operation on constrained devices"
This reverts commit ad2ef95ddf.
2017-08-31 15:14:26 -06:00
David Sidrane
9fc283526a Merged in david_s5/nuttx/master_stm32_flash (pull request #474)
stm32 FLASH allow non blocking operation on constrained devices

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-08-31 18:04:07 +00:00
Sergey Ustinov
8c35b2ddca Add the set counter function for stm32 timers 2017-08-31 11:54:00 -06:00
David Sidrane
ad2ef95ddf stm32 FLASH allow non blocking operation on constrained devices
On a very memory constrained device with a single task. The
   sem_wait and sem_post operations can be disabled, to save space.
   The default is blocking enabled.
2017-08-31 07:47:37 -10:00
Sergei Ustinov
795650a2fb I'm worried about the stm32_tim_getcounter funtion. It returns always 32 bits. But major stm32 timers have 16 bits counters. I think, it's not a good idea to return the memory behind the TIMx_CNT register. This changes adds the register size checking. 2017-08-31 11:45:28 -06:00
Gregory Nutt
a7fd8eb203 Trivial removal of a blank line. 2017-08-31 11:36:18 -06:00
Gregory Nutt
27cfde9968 Protected/Kernel Builds: Review us of kmm_addregion vs. kumm_addregsion in other configurations. 2017-08-31 08:49:21 -06:00
Gregory Nutt
69f1399aa7 LPC43xx: Add external RAM to the user heap, not the kernel heap. 2017-08-31 08:12:42 -06:00
Alan Carvalho de Assis
ef3898c2dd LPC43xx: Modify up_allocate_(k)heap() to support PROTECTED mode 2017-08-31 07:58:16 -06:00
Gregory Nutt
9d3b1af1cd ARM syscall logic: Clear bit 0 in PC settings. Bit 0 is the thumb mode indication and should not be set in the PC. 2017-08-30 13:56:03 -06:00
raiden00pl
85c48de040 stm32_hrtim: add DMA configuration 2017-08-28 17:44:14 +02:00
Juha Niskanen
809569cda9 STM32L4 ADC: implement peripheral 2017-08-28 07:05:33 -06:00
Juha Niskanen
a2dc88e075 STM32, STM32L4, STM32F7 ADC: fix channel 18 sample time 2017-08-28 07:05:33 -06:00
Juha Niskanen
e8cd2f88b8 STM32L4 RCC: enable ADC clock source 2017-08-28 07:05:32 -06:00
Alan Carvalho de Assis
81d6cefd65 Add support to STM32F433RC 2017-08-28 07:05:32 -06:00
raiden00pl
5695a55569 stm32_dac.c: support external triggering for DMA transfer 2017-08-27 18:25:55 +02:00
Mateusz Szafoni
ea35f31f73 Merged in raiden00/nuttx (pull request #469)
Master

* stm32f0/Kconfig: remove references to HRTIM

* STM32F33: missing SYSCFG CFGR3 definitions

* stm32_hrtim.h: remove redundant definitions

* stm32_hrtim.c: fix DAC triggers configuration

* stm32_hritm.c: warning message when default value selected

* stm32_hrtim.c: missing master timer logic

* stm32_hrtim.c: add more assertions

* stm32_dac.c: fix conditional

* stm32_dac.c: conditional logic for timer triggering

* stm32_dac.c: fix TSEL configuration when HRTIM

* stm32_dac.c: unnecessary condition

* stm32_dac.c: DMA request remapping

* stm32_dac.c: fix commpilation errors

* stm32_dac.c: add DMA buffers initialization logic

* stm32_hrtim.c: enable DAC triggering

* analog/comp.c: fix compilation errors when poll disabled

* stm32_hrtim.c: remove doubled assertions

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-08-27 12:49:53 +00:00
Gregory Nutt
7858ed834b Minor, cosmetic changes from review of last comment. 2017-08-27 06:48:42 -06:00