Commit Graph

13185 Commits

Author SHA1 Message Date
YAMAMOTO Takashi
9d293a88f9 arch/arm/src/stm32h7/stm32_allocateheap.c: Fix a syslog format 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
a09c038c14 arch/arm/src/stm32/stm32_i2c_alt.c: Fix syslog formats 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
2a045fa2a3 arch/arm/src/stm32/stm32_sdio.c: Fix syslog formats 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
bf29eaabb6 arch/arm/src/common/arm_vfork.c: Fix syslog formats 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
4cf3b2d1aa arch/arm/src/armv7-m/arm_svcall.c: Fix a syslog format 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
a1c7ea1dae arch/arm/src/stm32/stm32_otgfsdev.c: Fix syslog formats 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
2893607a7e arch/arm/src/stm32/stm32_spi.c: Fix syslog formats 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
8fc5a24710 arch/arm/src/stm32/stm32_dma_v2.c: Fix a syslog format 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
c7bfb85584 arch/arm/src/stm32f0l0g0/stm32_tim_lowerhalf.c: Appease nxstyle 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
66895762db arch/arm/src/stm32f0l0g0/stm32_tim.c: Appease nxstyle 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
2ac76ea918 arch/arm/src/stm32f0l0g0/stm32_i2c.c: Appease nxstyle 2020-11-20 22:22:53 -08:00
YAMAMOTO Takashi
cefa1b28e1 arch/arm/src/stm32/stm32_otgfsdev.c: Appease nxstyle 2020-11-20 22:22:53 -08:00
Michal Lenc
8cf6cfda1a imxrt: Added support for DP83825I PHY
Signed-off-by: Michal Lenc <lencmich@fel.cvut.cz>
2020-11-20 20:34:57 -03:00
Masayuki Ishikawa
42dea9edf9 arch: lc823450: Fix the pause handler for SMP
Summary:
- Apply the same logic added to cxd56_cpupause.c

Impact:
- SMP only

Testing:
- Tested with lc823450-xgevk:rndis
- Run smp and ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-20 00:49:25 -08:00
Masayuki Ishikawa
1978dcc9a9 arch: armv7-a: Fix the pause handler for SMP
Summary:
- Apply the same logic added to cxd56_cpupause.c

Impact:
- SMP only

Testing:
- Tested with sabre-6quad:smp (QEMU and dev board)
- Run smp and ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-20 00:49:25 -08:00
Masayuki Ishikawa
55c00ad3d9 arch: cxd56xx: Fix the pause handler for SMP
Summary:
- I noticed that sched_add_readytorun() runs on multiple CPUs simultaneously
- Finally, I found the root cause which was described in TODO
- Actually, the task newly scheduled on remote CPU did not acquire g_cpu_irqlock
- This commit fixes this issue by adding a critical section to the pause handler
- Which will acquire g_cpu_irqlock on the remote CPU explicitly

Impact:
- SMP only

Testing:
- Tested with spresense:wifi_smp (NCPUS=2 and 4)
- Run smp, ostest, nxplayer

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-20 00:49:25 -08:00
Masayuki Ishikawa
12862c7b33 armv7-a: Fix comments on Cortex-A SGI
Summary:
- I noticed that Cortex-A SGI can be masked
- We thought the SGI is not maskable
- Although I can not remember how I tested it before
- It actually works as expected now
- Also, fixed the number of remaining bugs in TODO

Impact:
- No impact

Testing:
- Tested with sabre-6quad:smp (QEMU and dev board)
- Add the following code in up_idle() before calling asm("WFI");
+  if (0 != up_cpu_index())
+    {
+      up_irq_save();
+    }
- Run the hello app, you can see "Hello, World!!"
- But nsh will freeze soon because arm_pause_handler is not called.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-19 18:01:30 -08:00
YAMAMOTO Takashi
03c332acf0 arm: Add _intmax_t and _uintmax_t 2020-11-19 00:49:56 -08:00
YAMAMOTO Takashi
e8a9ce4988 arm inttypes.h: Use long for 32-bit integer 2020-11-19 00:49:56 -08:00
YAMAMOTO Takashi
b1ed95f29d arm: Change _int32_t from int to long to match the compiler 2020-11-19 00:49:56 -08:00
Pavel Pisa
4d2727c193 stm32l4: correct macros STM32L4_CAN_MCR_OFFSET, etc... to match defines.
It seems that part of the patch
stm32l4: correct build of stm32l4_can.c to respect L4 variant
has been lost on its way to mainline.

Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2020-11-18 19:31:07 -08:00
Abdelatif Guettouche
fa713c09e8 arch/arm/src/stm32h7/stm32_otghost.c: Fix undeclared "ret". 2020-11-17 03:20:54 -08:00
YAMAMOTO Takashi
46f17a6f36 arch/arm/src/xmc4/xmc4_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
1a24e9c0da arch/arm/src/nrf52/nrf52_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
4bb2d92679 arch/arm/src/eoss3/eoss3_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
dbd0c4aa0b arch/arm/src/lpc17xx_40xx/lpc17_40_sdcard.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
a2ee706832 arch/arm/src/samd2l2/sam_usb.c: Fix type mismatches 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
ba8e40d424 arch/arm/src/max326xx/max32660/max32660_serial.c: Fix a printf format warning 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
04883b2604 arch/arm/src/lc823450/lc823450_mtd.c: Fix a printf format warning 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
c3d87ed46c arch/arm/src/lc823450/lc823450_procfs_dvfs.c: Fix printf format warnings 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
0d0aae2f00 arch/arm/src/s32k1xx/s32k1xx_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
2341dc5180 arch/arm/src/kinetis/kinetis_sdhc.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
b4815f8fc9 arch/arm/src/kinetis/kinetis_lpserial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
4a8d0d15d4 arch/arm/src/imxrt/imxrt_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
457f5f5155 arch/arm/src/samd5e5/sam_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
ab6fed1021 arch/arm/src/samd2l2/sam_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
6dec360169 arch/arm/src/samv7/sam_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
41b357128d arch/arm/src/sam34/sam_udp.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
b142c9c7cf arch/arm/src/sama5/sam_dbgu.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
4b269aaea5 arch/arm/src/lpc54xx/lpc54_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
f755d3cb3a arch/arm/src/sama5/sam_udphs.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
fbc55c184e arch/arm/src/sama5/sam_sdmmc.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
3b9e72c898 arch/arm/src/cxd56xx/cxd56_irq.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
10a4243fcf arch/arm/src/c5471/c5471_watchdog.c: Fix printf format warnings 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
01abc41caf stm32: Use the consistent type for stm32_dmacapable 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
7999ff0633 arch/arm/src/stm32l4/stm32l4_sdmmc.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
bb8a7e8e83 arch/arm/src/stm32h7/stm32_sdmmc.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
3051965e45 arch/arm/src/stm32f7/stm32_sdmmc.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
3661cb5709 arch/arm/src/stm32/stm32_sdio.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
56a79d7248 arch/arm/src/am335x/am335x_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
ea3aab240c arch/arm/src/cxd56xx/cxd56_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
761ae07be7 arch/arm/src/imx1/imx_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
570535d887 arch/arm/src/kinetis/kinetis_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
ec9d00bd84 arch/arm/src/kl/kl_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
ce054f5ac4 arch/arm/src/lc823450/lc823450_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
8bf2ab7b98 arch/arm/src/lpc17xx_40xx/lpc17_40_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
2894f62de1 arch/arm/src/lpc214x/lpc214x_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
f217542272 arch/arm/src/lpc2378/lpc23xx_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
a9d006b0a5 arch/arm/src/sam34/sam_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
fa9a517fcd arch/arm/src/sama5/sam_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
9d114e655d arch/arm/src/str71x/str71x_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
ede1dcf706 arch/arm/src/tiva/common/tiva_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
97fc5ed7e9 arch/arm/src/lpc31xx/lpc31_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
c72a6c4e5b arch/arm/src/lpc43xx/lpc43_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
7cd2dd1c32 arch/arm/src/nuc1xx/nuc_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
60c98b33fc arch/arm/src/a1x/a1x_serial.c: Fix a type mismatch 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
db0a46bec5 arch/arm/src/dm320/dm320_serial.c: Fix a type mismatch
Error: chip/dm320_serial.c:111:21: error: initialization of 'int (*)(struct uart_dev_s *, unsigned int *)' from incompatible pointer type 'int (*)(struct uart_dev_s *, uint32_t *)' {aka 'int (*)(struct uart_dev_s *, long unsigned int *)'} [-Werror=incompatible-pointer-types]
  111 |   .receive        = up_receive,
      |                     ^~~~~~~~~~
chip/dm320_serial.c:111:21: note: (near initialization for 'g_uart_ops.receive')
2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
9867c1b467 arch/arm/src/imx6/imx_serial.c: Fix a type mismatch
Error: chip/imx_serial.c:259:21: error: initialization of 'int (*)(struct uart_dev_s *, unsigned int *)' from incompatible pointer type 'int (*)(struct uart_dev_s *, uint32_t *)' {aka 'int (*)(struct uart_dev_s *, long unsigned int *)'} [-Werror=incompatible-pointer-types]
  259 |   .receive        = imx_receive,
      |                     ^~~~~~~~~~~
chip/imx_serial.c:259:21: note: (near initialization for 'g_uart_ops.receive')
2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
d3779304b1 arch/arm/src/efm32/efm32_leserial.c: Fix a type mismatch
Error: chip/efm32_leserial.c:189:21: error: initialization of 'int (*)(struct uart_dev_s *, unsigned int *)' from incompatible pointer type 'int (*)(struct uart_dev_s *, uint32_t *)' {aka 'int (*)(struct uart_dev_s *, long unsigned int *)'} [-Werror=incompatible-pointer-types]
  189 |   .receive        = efm32_receive,
      |                     ^~~~~~~~~~~~~
chip/efm32_leserial.c:189:21: note: (near initialization for 'g_leuart_ops.receive')
2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
97a9963e09 arch/arm/src/sam34/sam_udp.c: Replace non-ascii characters in comments 2020-11-16 08:29:00 -08:00
Nathan Hartman
406347ba2e stm32/stm32_1wire.c: Fix nxstyle errors
arch/arm/src/stm32/stm32_1wire.h:

    * Fix nxstyle errors.
2020-11-16 07:46:13 -08:00
YAMAMOTO Takashi
35c6b4ad10 arm: Use a consistent type (uintptr_t) for g_idle_topstack 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
09b59bc225 arch/arm/src/samd2l2/sam_usb.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
7fdbd960aa arch/arm/src/kinetis/kinetis_lpserial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
45a51bf4b0 arch/arm/src/samd5e5/sam_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
566ca63cee arch/arm/src/samd2l2/sam_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
cbfc4ee063 arch/arm/src/sam34/sam_udp.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
174811cd5d arch/arm/src/sama5/sam_dbgu.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
458e6f5a02 arch/arm/src/sama5/sam_udphs.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
6ec164d553 arch/arm/src/c5471/c5471_watchdog.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
76c947153a arch/arm/src/imx1/imx_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
4eb92e5410 arch/arm/src/lpc214x/lpc214x_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
e75d1111fa arch/arm/src/lpc2378/lpc23xx_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
c07b45152e arch/arm/src/str71x/str71x_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
19badbda24 arch/arm/src/lpc31xx/lpc31_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
63320733cc arch/arm/src/dm320/dm320_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
b380760eb1 arch/arm/src/imx6/imx_serial.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
99c9a671d2 arch/arm/src/samd2l2/sam_start.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
23da936a38 arch/arm/src/nuc1xx/nuc_start.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
516d51d4d1 arch/arm/src/nrf52/nrf52_allocateheap.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
d007b37973 arch/arm/src/max326xx/common/max326_start.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
a86c58334c arch/arm/src/lpc54xx/lpc54_allocateheap.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
fd48419a3d arch/arm/src/kl/kl_start.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
YAMAMOTO Takashi
b0e6462f6a arch/arm/src/lpc43xx/lpc43_allocateheap.c: Appease nxstyle 2020-11-16 05:46:53 -08:00
Masayuki Ishikawa
13f3f84bae arch: armv7-a: Remove unnecessary d-cache operation in arm_cpustart.c
Summary:
- Remove unnecessary d-cache operation to make boot fast

Impact:
- armv7-a SMP only

Testing:
- Tested with sabre-6quad:smp (QEMU and dev board)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-16 00:53:17 -08:00
Masayuki Ishikawa
ad81db2272 arch: armv7-a: Fix arm_l2cc_pl310.c with DEBUGASSERT()
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-16 00:53:17 -08:00
Masayuki Ishikawa
649337b077 arch: imx6: Add arm_l2cc_pl310.c to Make.defs
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-16 00:53:17 -08:00
Masayuki Ishikawa
ab758664ed arch: imx6: Fix compile errors in chip.h
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>>
2020-11-16 00:53:17 -08:00
Masayuki Ishikawa
a813d27f5f arch: armv7-a: Fix comile errors in l2cc_pl310.h
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-16 00:53:17 -08:00
Masayuki Ishikawa
c52d83abc2 arch: armv7-a: Fix compile errors in arm_l2cc_pl310.c
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-16 00:53:17 -08:00
Masayuki Ishikawa
2039e2a565 arch: armv7-a: Fix style warnings in l2cc_pl310.h
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-16 00:53:17 -08:00
Masayuki Ishikawa
94b43b93e5 arch: armv7-a: Fix style warnings in arm_l2cc_pl310.c
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-16 00:53:17 -08:00
Nathan Hartman
08979d6e1a stm32/stm32_bbsram.c: Fix nxstyle errors
arch/arm/src/stm32/stm32_bbsram.h:

    * Fix nxstyle errors.
2020-11-15 20:42:55 +01:00
Masayuki Ishikawa
a20463642e arch: armv7-a: Fix MMU settings for SDRAM in SMP mode
Summary:
- This commit fixes armv7-a deadlocks with D-cache in SMP mode.
- In SMP mode, MMU for SDRAM area must be set to shareable

Impact:
- SMP only

Testing:
- Tested with sabre-6quad:smp (QEMU and dev board)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-14 16:40:01 -08:00
Masayuki Ishikawa
812257d058 arch: armv7-a: Fix style warnings in mmu.h
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-14 16:40:01 -08:00
Bernd Walter
0cf66149ed twi_takesem() had been changed to return an int.
Neither the prototype, nor the description had been adapted, resulting in
compiler errors.
Fix both points.
2020-11-14 19:17:14 +01:00
Nathan Hartman
1aac3d7e57 stm32/stm32_aes.c: Fix nxstyle errors
arch/arm/src/stm32/stm32_aes.c:

    * Fix nxstyle errors.
2020-11-13 16:13:58 -08:00
Nathan Hartman
4977522ead stm32: Add DMAMUX register mappings and request IDs
arch/arm/src/stm32/hardware/stm32_dmamux.h,
arch/arm/src/stm32/hardware/stm32g47xxx_dmamux.h:

    * New files, based on STM32G474RE reference manual, RM0440 Rev 4.
2020-11-13 08:09:10 +01:00
Nathan Hartman
35126b31b7 stm32f0l0g0/stm32_dmamux.h: Fix errors in bitfield definitions
Used reference manual for STM32G071CB. The F0 and L0 families do not
appear to have a DMAMUX.

arch/arm/src/stm32f0l0g0/hardware/stm32_dmamux.h:

    * Remove all mentions of DMAMUX12 from comments. This family has
      at most DMAMUX1 only.

    * Add missing defines DMAMUX_CCR_SPOL_NONE,
      DMAMUX_CCR_SPOL_RISING, DMAMUX_CCR_SPOL_FALLING, and
      DMAMUX_CCR_SPOL_BOTH.

    * DMAMUX_CCR_SYNCID_SHIFT: Fix comment. Was "Bits 24-26" (3 bits)
      but datasheet shows bits 24-28 (5 bits).

    * DMAMUX_CCR_SYNCID_MASK: Fix mask. Was 0x7 (3 bits) but datasheet
      shows (5 bits) 0x1f.

    * DMAMUX1_CSR_SOF(x): Add parenthesis around macro parameter
      expansion.

    * DMAMUX1_CFR_SOF(x): Rename to DMAMUX1_CFR_CSOF(x) for
      consistency with datasheet and add parenthesis around macro
      parameter expansion.

    * DMAMUX_RGCR_GPOL_MASK: Fix incorrect mask. Was 0x7 (3 bits) but
      datasheet shows only 2 bits (0x3).

    * Add missing defines DMAMUX_RGCR_GPOL_NONE,
      DMAMUX_RGCR_GPOL_RISING, DMAMUX_RGCR_GPOL_FALLING, and
      DMAMUX_RGCR_GPOL_BOTH.

    * DMAMUX_RGCR_GNBREQ_SHIFT: Fix incorrect value. Was 17 (collision
      with DMAMUX_RGCR_GPOL_SHIFT) but datasheet and comment both show
      this bitfield at bits 19-23.

    * DMAMUX_RGCR_GNBREQL_MASK: Fix incorrect mask. Was 0x7 (3 bits)
      but datasheet shows 5 bits (0x1f).

    * DMAMUX1_RGSR_SOF(x): Rename to DMAMUX1_RGSR_OF(x) for
      consistency with datasheet and add parenthesis around macro
      parameter expansion.

    * DMAMUX1_RGCFR_SOF(x): Rename to DMAMUX1_RGCFR_COF(x) for
      consistency with datasheet and add parenthesis around macro
      parameter expansion.

    * DMAMAP_MAP(d,c): Add parenthesis around macro parameter
      expansion.

    * Fix nxstyle errors.
2020-11-12 23:07:37 -08:00
Nathan Hartman
fd020fa0ae stm32h7/stm32_dmamux.h: Add missing CCR SPOL defines
arch/arm/src/stm32h7/hardware/stm32_dmamux.h:

    * Add missing defines DMAMUX_CCR_SPOL_NONE,
      DMAMUX_CCR_SPOL_RISING, DMAMUX_CCR_SPOL_FALLING, and
      DMAMUX_CCR_SPOL_BOTH.

    * Fix nxstyle errors.
2020-11-13 08:03:02 +01:00
Nathan Hartman
87bfa24c8c stm32/stm32_spi: Add SPI register definitions for STM32G47XX
arch/arm/src/stm32/hardware/stm32_spi.h:

    * Avoid numerous ifdef on STM32 part numbers and make the
      different variations of SPI peripheral features more
      self-documenting: based on STM32_HAVE_IP_SPI_V* defines
      from chip.h, define some or all of HAVE_SPI_I2S,
      HAVE_SPI_TI_MODE, HAVE_SPI_ARB_DATA_SIZE, HAVE_SPI_FIFOS,
      HAVE_SPI_NSSP, HAVE_SPI_I2S_ASTRT, and make decisions on
      which registers and bitfields to define based on them.

    * Define registers and bitfields for STM32_HAVE_IP_SPI_V4,
      currently used only for STM32G47XX family MCUs, including
      SPI_CR1_CRCL, SPI_CR2_NSSP, SPI_CR2_FRXTH, SPI_CR2_LDMARX,
      SPI_CR2_LDMATX, SPI_CR2_DS_SHIFT/SPI_CR2_DS_MASK,
      SPI_SR_FRLVL_SHIFT/SPI_SR_FRLVL_MASK, and
      SPI_I2SCFGR_ASTRTEN.

    * SPI_I2SCFGR_I2SSTD_PHILLIPS: Was defined incorrectly as
      (xx << SPI_I2SCFGR_I2SSTD_SHIFT). Corrected this to
      (0 << SPI_I2SCFGR_I2SSTD_SHIFT).

    * SPI_I2SCFGR_I2SSTD_MSB: Was defined incorrectly as
      (0 << SPI_I2SCFGR_I2SSTD_SHIFT). Corrected this to
      (1 << SPI_I2SCFGR_I2SSTD_SHIFT).

    * Fix nxstyle errors.

arch/arm/include/stm32/chip.h:

    * Add new section "Peripheral IP versions" and specify version of
      SPI IP block for STM32F10XX, STM32F20XX, STM32F30XX, STM32F33XX,
      STM32F37XX, STM32F4XXX, STM32G47XX, and STM32L15XX.
2020-11-12 04:37:32 -08:00
Nathan Hartman
b63c0863b2 stm32h7/stm32_dmamux.h: Fix errors in bitfield definitions
arch/arm/src/stm32h7/hardware/stm32_dmamux.h:

    * DMAMUX1_CSR_SOF(x): Add parenthesis around macro parameter
      expansion.

    * DMAMUX1_CFR_SOF(x): Rename to DMAMUX1_CFR_CSOF(x) for
      consistency with datasheet and add parenthesis around macro
      parameter expansion.

    * DMAMUX_RGCR_GPOL_MASK: Fix incorrect mask. Was 7 (3 bits) but
      datasheet shows only 2 bits.

    * Add missing defines DMAMUX_RGCR_GPOL_NONE,
      DMAMUX_RGCR_GPOL_RISING, DMAMUX_RGCR_GPOL_FALLING, and
      DMAMUX_RGCR_GPOL_BOTH.

    * DMAMUX_RGCR_GNBREQ_SHIFT: Fix incorrect value. Was 17 (collision
      with DMAMUX_RGCR_GPOL_SHIFT) but datasheet and comment both show
      this bitfield at bits 19-23.

    * DMAMUX_RGCR_GNBREQL_MASK: Fix incorrect mask. Was 7 (3 bits) but
      datasheet shows 5 bits.

    * DMAMUX1_RGSR_SOF(x): Rename to DMAMUX1_RGSR_OF(x) for
      consistency with datasheet and add parenthesis around macro
      parameter expansion.

    * DMAMUX1_RGCFR_SOF(x): Rename to DMAMUX1_RGCFR_COF(x) for
      consistency with datasheet and add parenthesis around macro
      parameter expansion.

    * DMAMAP_MAP(d,c): Add parenthesis around macro parameter
      expansion.
2020-11-12 08:04:23 +01:00
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