Commit Graph

12973 Commits

Author SHA1 Message Date
Matias N
13619ea0df nrf52: add SPI PM support (disable/enable SPI peripheral on sleep) 2020-11-12 08:01:25 +01:00
Matias N
a806ca9577 nrf52 SPI: rework support for undefined MOSI/MISO; add support for list DMA mode 2020-11-12 08:01:25 +01:00
Matias N
18be4198e1 Revert "nrf52_spi: support not defining MISO/MOSI pins"
This reverts commit e91a806ab6.
2020-11-12 08:01:25 +01:00
Matias N
f55a2879ca nrf52 GPIO/GPIOTE: better expose pin interrupt capability
This change improves upon current support for pin interrupts. Before,
a pin interrupt was handled (with nrf52_gpiote_setevent) using one
of the eight available GPIOTE channels. Moreover, it didn't event let
the user specify which channel to use (simply tried to get a free one).
Also, it was buggy since it did not consider unsetting the callback.

Besides GPIOTE channels, there is another way to deal with pin interrupts.
The GPIO peripheral is capable of generating a PORT event
(for the whole GPIO port) depending on the pin SENSE configuration
(HIGH or LOW, or NONE) and GPIO DETECTMODE register
(latching or non-latching).

This change then renames nrf52_gpiote_setevent into nrf52_gpiote_set_ch_event,
maintaining functionality of original function, but now allows specifying
channel (and correctly handles unsetting the callback). Then, a
new nrf52_gpiote_set_pin_event is added, which allows to set a callback
for a given pin. During initialization, interrupt for the PORT event is
enabled and handled in such way that for each pin whose corresponding
bit in LATCH register (indicates the result of pin SENSEing) the
callback for this pin will be invoked. This mechanism means that
every pin can get an ISR. It also avoids using GPIOTE channels for this
purpose which carry higher current consumption.

This new per-pin callback mechanism has some added memory requirement
so it can be disabled and its default is dependant on DEFAULT_SMALL.
When disabled, a callback for the PORT event can be set directly
with nrf52_gpiote_set_port_event

There was only one use of nrf52_gpio_setevent() which was migrated
into nrf52_gpio_set_ch_event() passing channel zero.
2020-11-09 20:23:29 +01:00
Nathan Hartman
8e00110449 tiva/cc13x2_cc26x2: Merge related comments
arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_flash.h:

    * Merge comments when they are section separators for
      similar/related registers:

      - TIVA_FLASH_FWPWRITE*
      - TIVA_FLASH_FSM_SECTOR1*
      - TIVA_FLASH_FSM_BSLE*
      - TIVA_FLASH_FSM_BSLP*
2020-11-08 13:39:56 -08:00
Juha Niskanen
ca7a7ccbeb Fix some typos in comments
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-11-08 18:58:20 +01:00
Nathan Hartman
350309856d tiva/cc13x2_cc26x2: Fix nxstyle errors
arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_flash.h:

    * Fix nxstyle errors.
2020-11-08 18:56:55 +01:00
Nathan Hartman
94a10033e0 tiva/cc13x2_cc26x2: Fix nxstyle errors
arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_fcfg1.h:

    * Fix nxstyle errors.
2020-11-06 20:47:01 -03:00
Nicholas Chin
c7a9b66833 arch/arm/src/imxrt: adds support for WDOG1
Based on work done by Jake Choy.
2020-11-06 18:33:34 -03:00
Daniel P. Carvalho
a5d340a5df Add injected channel support. 2020-11-06 18:31:32 -03:00
Abdelatif Guettouche
5adcdcdc15 arch/arm/src/stm32l4/stm32l4_can.c: Fix nxstyle issues. 2020-11-06 18:28:27 -03:00
Pavel Pisa
be1496b40d stm32l4: correct build of stm32l4_can.c to respect L4 variant.
Signed-off-by: Pavel Pisa<ppisa@pikron.com>
2020-11-06 18:28:27 -03:00
YAMAMOTO Takashi
178815ea34 arm inttypes.h: Remove PRI/SCN macros for fast and least types 2020-11-05 18:49:22 -08:00
Daniel P. Carvalho
e73e03a33f Add fuction to set timer frequency. 2020-11-05 11:36:40 -03:00
Daniel P. Carvalho
3f6157001a Change SPWM example to enable timer after configure timer clock. 2020-11-05 11:36:40 -03:00
Daniel P. Carvalho
d1057403c6 Add helper functions to:
enable/disable timer
  dump timer registers
The timer is no longer enabled at the end of stm32l4_tim_setclock().
2020-11-05 11:36:40 -03:00
Oleg Evseev
9dadfc5cc3 stm32f7/stm32_serial.c: fix console re-initialisation if DMA enabled 2020-11-03 11:33:13 -08:00
Juha Niskanen
1ce75cc7c6 arch/arm/src/stm32/stm32_adc.c: do not allow negative ref count
When HAVE_HSI_CONTROL, adc_reset_hsi_disable() calls adc_reset()
followed by adc_shutdown() and this combination is called before
adc_setup() by upper level ADC driver. Without this patch,
priv->initialized wraps from 0 to 255 in this case.

Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-11-03 16:25:03 -03:00
Matias N
2395258486 nrf52: add POWER register definitions; support enabling DC/DC regulator 2020-11-03 08:43:43 -08:00
Frank-Christian Kruegel
168c14bb9d nxstyle errors fixed 2020-11-03 08:07:24 -08:00
Frank-Christian Kruegel
52097a4345 Added Support for more TI Tiva Microcontrollers:
* TM4C123GH6PZ (100 pin version of TM4C123GH6PM)
* TM4C123GH6PGE (144 pin version of TM4C123GH6PM)
* TM4C129ENCPDT (TM4C1294 with Crypto hardware added, TQFP package)
* TM4C129ENCZAD (TM4C1294 with Crypto hardware added, BGA package)
2020-11-03 08:07:24 -08:00
Nathan Hartman
d987dd2f5a stm32 - Fix wrong executable permission on header file
arch/arm/src/stm32/hardware/stm32g47xxx_vrefbuf.h:

    * Remove executable permission.
2020-11-02 18:16:25 +01:00
Nathan Hartman
6d3746c2e7 stm32 - Add register mappings for STM32Gxxxxx-family DAC
arch/arm/src/stm32/hardware/stm32gxxxxx_dac.h:

    * New file: Adds register definitions for the DAC peripheral.
2020-11-01 19:07:10 -08:00
Matias N
e91a806ab6 nrf52_spi: support not defining MISO/MOSI pins 2020-11-01 11:04:27 -08:00
Juha Niskanen
a01a01ab45 arch: spi: fix typos and run nxstyle
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-10-31 10:40:41 -07:00
Juha Niskanen
77bbb07749 arch: imxrt, s32k1xx, stm32f7 spi: fix CONFIG_SPI_BITORDER build errors
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-10-31 10:40:41 -07:00
Juha Niskanen
e437bbd47e arch/arm: spi: fix incorrect comment about nbits being clobbered
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-10-31 10:40:41 -07:00
Juha Niskanen
de53ea3871 arch: spi: fix bad null-pointer assertions
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-10-31 10:40:41 -07:00
Juha Niskanen
d65acc6db4 arch: serial: fix typos and run nxstyle
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-10-31 15:39:50 +01:00
Daniel P. Carvalho
aa4be3ccfd Adds low level function to allow external event configuration for regular group. 2020-10-30 22:16:15 -07:00
Nathan Hartman
cfc0aaea2b stm32/hardware/stm32_dac.h: Fix nxstyle errors
arch/arm/src/stm32/hardware/stm32_dac.h:

    * Fix nxstyle errors.
2020-10-30 19:58:45 -07:00
Matias N
1fa0aac36b nrf52: support configuring no console/serial 2020-10-30 19:58:26 -07:00
Nathan Hartman
4aa9b80d2b stm32 - Add register mappings for STM32G474 VREFBUF
arch/arm/src/stm32/hardware/stm32g47xxx_vrefbuf.h:

    * New file: Adds register definitions for the VREFBUF peripheral.
2020-10-30 19:57:54 -07:00
Nathan Hartman
03e9f936d9 tiva/cc13x2_cc26x2: Fix syntax error
arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_adi3_refsys.h:

    * Fix syntax error. The define ADI3_REFSYS_DCDCCTL0_VDDR_TRIM_MIN
      had an unintentional comment closing "*/" in the middle of its
      name.
2020-10-30 07:47:13 -07:00
Nathan Hartman
889353d102 tiva/cc13x2_cc26x2: Fix nxstyle errors
arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_adi3_refsys.h:

    * Fix nxstyle errors.
2020-10-30 07:47:13 -07:00
Nathan Hartman
01fd55a0ac stm32/stm32_qencoder: Fix nxstyle errors
arch/arm/src/stm32/stm32_qencoder.c,
arch/arm/src/stm32/stm32_qencoder.h:

    * Fix nxstyle errors.
2020-10-29 23:50:36 -03:00
Matias N
4cbfbd0c74 nrf52_wdt: split into low-level API and watchdog driver lower-half
This separation allows to interact with the watchdog from OS code,
for example initiating the watchdog very early on boot. Moreover,
these changes make the lower-half driver support an already running
watchdog, which may happen if there's a bootloader which already
started it.
2020-10-29 20:17:33 -03:00
Bernd Walter
d6686b7409 s/BUSY/EBUSY typo fix, which ressulted in compile error 2020-10-30 07:19:34 +09:00
Matias N
99f56b89df nrf52832: add errata mitigation code for various RADIO issues 2020-10-29 10:38:42 -07:00
Juha Niskanen
cfa5b82e09 arch/arm/src/stm32l4/stm32l4_adc.c: fix copy-paste mistake with CONFIG_STM32L4_ADC1_DMA_CFG
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-10-29 06:32:00 -07:00
Nathan Hartman
a3b37709ba tiva/cc13x2_cc26x2: Fix nxstyle errors
arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_prcm.h:

    * Fix nxstyle errors.
2020-10-28 19:20:28 -07:00
Nathan Hartman
892c6b254a tiva/cc13x2_cc26x2: Fix nxstyle errors
arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_aon_pmctl.h:

    * Fix nxstyle errors.
2020-10-27 09:54:02 -07:00
Daniel P. Carvalho
8339bac6e4 Replaces BSD license by Apache License. 2020-10-27 11:11:40 -03:00
Daniel P. Carvalho
8c04cc86c0 Improvements on ADC driver
* Add option to start adc at setup
  * Add option to cofigure ADC resolution
  * Add option to cofigure ADC sample time
  * Add option to cofigure ADC DMA
  * Add suport for low level operations.
2020-10-27 11:11:40 -03:00
Nathan Hartman
6f029174f2 tiva/cc13x2_cc26x2: Fix nxstyle errors
arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_aon_rtc.h:

    * Fix nxstyle errors.
2020-10-26 10:39:32 -07:00
Masayuki Ishikawa
904a602c74 arm: armv7-a: Fix kernel stack dump in arm_assert.c
Summary:
- This commit fixes kernel stack dump information

Impact:
- Affects armv7-a with kernel build

Testing:
- Built with sama5d4-ek:knsh
- Not tested

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-26 09:05:49 -07:00
Masayuki Ishikawa
3c4bf1a2bf arch: armv6-m: Refactor interrupt stack related code
Summary:
- Apply the same logic for armv7-m
- NOTE: stack pointer alignment is 4-byte

Impact:
- Affects armv6-m with interrupt stack enabled

Testing:
- Built with freedom-kl25z:nsh (CONFIG_ARCH_INTERRUPTSTACK=2048)
- Not tested but should work

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-26 09:05:49 -07:00
Masayuki Ishikawa
0b73eec5cd arch: armv8-m: Refactor interrupt stack related code
Summary:
- Apply the same logic for armv7-m
- NOTE: stack pointer alignment is 8-byte

Impact:
- Affects armv8-m with interrupt stack enabled

Testing:
- Not tested but should work

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-26 09:05:49 -07:00
Masayuki Ishikawa
d553515758 armv7-m, cxd56xx, lc823450: Refactor interrupt stack related code
Summary:
- Remove +4/-8 offset coding
- Also, fix alignments for g_intstackalloc
- NOTE: stack pointer alignment is 8-byte

Impact:
- Affects armv7-m with interrupt stack enabled

Testing:
- Tested with spresense:wifi_smp
- Tested with lc823450:smp
- Tested with stm32f4discovery:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-26 09:05:49 -07:00
Masayuki Ishikawa
32563b15ac arch: armv7-r: Refactor interrupt stack related code
Summary:
- Apply the same logic for armv7-a
- NOTE: stack pointer alignment is 8-byte

Impact:
- Affects armv7-r with interrupt stack enabled

Testing:
- Not tested but should work

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-26 09:05:49 -07:00