Commit Graph

12793 Commits

Author SHA1 Message Date
raiden00pl
45f3aa4ca9 arch/nrf52: replace all chip-specific conditions with chip-features conditions in all hardware definitions. This gives us a more modular code. 2020-08-31 11:49:49 -03:00
Matias N
3176f2c3f0 nrf52_clockconfig: support HFCLK via XTAL and LFCLK 2020-08-31 08:01:37 +02:00
Brennan Ashton
58e43adf08 nxstyle: Fix existing long line to match code style
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-08-30 19:16:30 -03:00
Brennan Ashton
4cb193d530 Docs: Update links to old website and wiki
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-08-30 19:16:30 -03:00
Matias N
ae6ae113eb style fixes 2020-08-29 09:03:49 +02:00
Matias N
4ad36ffbbf nrf52_radio/gpiote: convert license header to Apache (Mateusz and Greg are authors) 2020-08-29 09:03:49 +02:00
Matias N
13695ca1e1 nrf52_rtc.c: fix checkint function 2020-08-29 09:03:49 +02:00
Matias N
31057ec81b nrf52_gpiote.h: fix incorrect naming of definition 2020-08-29 09:03:49 +02:00
Matias N
84cdde1a86 nrf52_radio.h: condition various definitions depending on specific chip 2020-08-29 09:03:49 +02:00
Matias N
4084b3396b nrf52_clock.h: fix duplicate definition 2020-08-29 09:03:49 +02:00
Nathan Hartman
cb27b77d6c stm32 - Fix two wrong comments in memory map
Comments only. No functional changes. See STM32G474 Reference Manual
(RM0440 Rev 4), section 3.4.1, Table 11, "Option byte organization."

arch/arm/src/stm32/hardware/stm32g47xxx_memorymap.h:

    * STM32_OPTION_BASE: The comment incorrectly said the range was
      0x1fff7800-0x1fff780f for a total of 16 Option Bytes. Corrected
      this to 0x1fff7800-0x1fff782f, as the device has 48 Option Bytes
      for this option block.

    * STM32_OPTION_BASE2: The comment incorrectly said the range was
      0x1ffff800-0x1ffff80f for a total of 16 Option Bytes. Corrected
      this to 0x1ffff800-0x1ffff82f, as the device has 48 Option Bytes
      for this option block.
2020-08-28 14:45:06 -07:00
leomarradke
8a2c480a48 arch: samd5e5:
- Add MTD progmem support.
- NVM USER PAGE IOCTLs support.

boards: metro-m4  Add support for:

- SmartFS inicialization.
- AT24 EEPROM.
- GPIO dev support.
- BQ27426 gauge inicialization.

drives: power
- Add BQ27426 fuel gauge support.

Testing:
- Build check only.

Signed-off-by: Leomar Mateus Radke  <leomar@falker.com.br>
2020-08-27 11:46:50 -03:00
Masayuki Ishikawa
c770dc9134 arch: cxd56xx: Use spinlock API in cxd56_rtc.c
Summary:
- This commit improves cxd56_rtc performance in SMP mode.

Impact:
- This commit affects SMP mode only.

Testing:
- Tested with spresense:smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-26 11:21:50 +02:00
Martina Rivizzigno
dcdd7264c8 fix style 2020-08-26 02:13:38 -07:00
Martina Rivizzigno
648ebc9ea9 stm32f7 can: fix support for RTR 2020-08-26 02:13:38 -07:00
Matias N
46dd4d8d91 nrf52_ppi: pass event and task register addresses as uin32_t directly 2020-08-25 07:22:24 +02:00
Matias N
de40f628bc nrf52_ppi: minor naming fixes in comments/include guards 2020-08-25 07:22:24 +02:00
Matias N
b198690c06 nrf52_ppi: fix file path in license header 2020-08-25 07:22:24 +02:00
Matias N
2168e60df6 nrf52_ppi.c: fix incorrect implementation of group channel enable 2020-08-25 07:22:24 +02:00
Matias N
c51e383e08 nrf52: add PPI peripheral support 2020-08-25 07:22:24 +02:00
Matias N
0b6cca920b nrf52_rtc: unify irq and evt enums 2020-08-25 07:17:23 +02:00
Matias N
f5f07da7e7 nxstyle fixes 2020-08-25 07:17:23 +02:00
Matias N
fa6bb5411d nrf52 RTC: add event handling support 2020-08-25 07:17:23 +02:00
Masayuki Ishikawa
52286f6dec arch: cxd56xx: Introduce CONFIG_CXD56_SPI_DMATHRESHOLD
Summary:
- This commit improves SPI performance.
- For small data, it does not use DMA.

Impact:
- All use cases which use SPI with DMA

Testing:
- Tested with spresense:wifi and spresense:example_lcd

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-24 12:37:38 +02:00
Johannes Schock
9bf9bb2db6 Changed comments. Proposed structure. 2020-08-23 08:23:54 -06:00
Johannes Schock
01715e4566 arm_xxxxstack.c: small style fixes, changed calculation of stack start for checkstack. 2020-08-23 08:23:54 -06:00
Johannes Schock
87614e2efd arm_createstack.c: Save tcb->adj_stack_size without tls overhead. 2020-08-23 08:23:54 -06:00
Xiang Xiao
ae356001cf Change all files come from Xiaomi/Pinecone to Apache License 2.0
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-22 17:37:21 -06:00
Masayuki Ishikawa
3543950766 arch: cxd56xx: Use spinlock API in cxd56_serial.c
Summary:
- This commit improves cxd56_serial performance in SMP mode.

Impact:
- This commit affects SMP mode only.

Testing:
- Tested with spresense:smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-21 12:06:46 +02:00
Masayuki Ishikawa
0d971d4673 arch: cxd56xx: Fix IRQ control in cxd56_dmac.c
Summary:
- This commit fixes IRQ control for the following use case
- The gs2200m Wi-Fi driver requests SPI-DMA to receive a packet.
- cxd56_dma.c enables IRQ for the SPI-DMA and start transfer.
- Then LCD driver requests SPI-DMA to display an image.
- These SPI-DMAs use different DMA channels but share the DMA controller.
- Also, they share the same IRQ.
- When the first SPI-DMA finishes the transfer, it disables the IRQ.
- And if the second SPI-DMA finishes the transfer just after the IRQ disabled.
- The second SPI-DMA will be in a deadlock condition.
- To resolve this issue, do not control IRQ during DMA transfer.
- Instead, up_enable_irq() is called in up_dma_initialize()

Impact:
- All use cases which use DMA

Testing:
- Tested with spresense:wifi with LCD

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-21 10:38:47 +02:00
leomarradke
f5912b5cba arch: samd5e5 : Oneshot, freerun and tickless available support. All support runs on Timer/Counter (TC).
Some fixes in external interrupt controller (EIC) and clockconfig.

Testing:
- Build check only.

Signed-off-by: Leomar Mateus Radke  <leomar@falker.com.br>
2020-08-18 12:42:44 -03:00
leomarradke
171cc38ac2 arch: samd5e5 : Add watchdog timer drivers.
boards: metro-m4  Add support for starting the watchdog timer on the metro-m4.

Testing:
- Build check only

Signed-off-by: Leomar Mateus Radke  <leomar@falker.com.br>
2020-08-18 12:42:44 -03:00
David Sidrane
07ce0deda0 Fix Added options for I-Cache & D-Cache broken on c101076704
The Kconfig names were not updated to reflect FLASH. This
   killed performance on F4 and F2.
2020-08-17 23:32:07 +01:00
Masayuki Ishikawa
2fbb896a4b arch: cxd56xx: Add SMP support to cxd56_farapi.c
Summary:
- This commit adds SMP support to cxd56_farapi.c
- nxplayer now works in SMP mode

Impact:
- Spresense in SMP mode only

Testing:
- Add the following configs to spresense:wifi
- +CONFIG_SCHED_INSTRUMENTATION=yy
- +CONFIG_SCHED_INSTRUMENTATION_BUFFER=y
- +CONFIG_SMP=y
- +CONFIG_SMP_NCPUS=2
- +CONFIG_SPINLOCK_IRQ=y
- Run nxplayer and play an WAV file on uSD card
- NOTE: http streaming playback would cause deadlocks

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-16 00:03:18 +01:00
Gregory Nutt
2af62314d7 Fix build breakage from PR #1565
Fixes:

    ##[error]net/tun.c:837:13: error: conflicting types for 'tun_poll_expiry'
      837 | static void tun_poll_expiry(FAR void *arg)
          |             ^~~~~~~~~~~~~~~
    net/tun.c:196:13: note: previous declaration of 'tun_poll_expiry' was here
      196 | static void tun_poll_expiry(wdparm_t arg);
          |             ^~~~~~~~~~~~~~~

And

    ##[error]net/tun.c:881:57: error: passing argument 4 of 'wd_start' makes integer from pointer without a cast [-Werror=int-conversion]
      881 |   wd_start(&priv->txpoll, TUN_WDDELAY, tun_poll_expiry, priv);
          |                                                         ^~~~
          |                                                         |
          |                                                         struct tun_device_s *
    In file included from /github/workspace/sources/nuttx/include/nuttx/sched.h:41,
                     from /github/workspace/sources/nuttx/include/sched.h:34,
                     from /github/workspace/sources/nuttx/include/nuttx/arch.h:81,
                     from net/tun.c:60:
    /github/workspace/sources/nuttx/include/nuttx/wdog.h:134:42: note: expected 'wdparm_t' {aka 'long unsigned int'} but argument is of type 'struct tun_device_s *'
      134 |              wdentry_t wdentry, wdparm_t arg);
          |                                 ~~~~~~~~~^~~

And

    chip/cxd56_rtc.c: In function 'up_rtc_initialize':
    ##[error]chip/cxd56_rtc.c:358:3: error: too many arguments to function 'cxd56_rtc_initialize'
      358 |   cxd56_rtc_initialize(1, NULL);
          |   ^~~~~~~~~~~~~~~~~~~~
    chip/cxd56_rtc.c:253:13: note: declared here
      253 | static void cxd56_rtc_initialize(wdparm_t arg)
          |             ^~~~~~~~~~~~~~~~~~~~
2020-08-14 14:12:51 -03:00
Xiang Xiao
acca9fcc3b sched/wdog: Remove MAX_WDOGPARMS and related stuff
since the variable arguments are error prone and seldom used.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-14 08:19:50 -06:00
leomarradke
35e0d74f3e arch: samd5e5 : Add USB host support.
Fixes in USB device and i2c.

boards: metro-m4  Add support for:

- vfat auto-mounted on a flash drive;
- i2c inicialization;
- usb-dev cdc;
- sam_usbhost_vbusdrive needs your VBUS implementation.

Testing:
- Build check only.

Signed-off-by: Leomar Mateus Radke  <leomar@falker.com.br>
2020-08-13 14:02:58 -03:00
leomarradke
4e8e21a92a Style fixes 2020-08-13 14:02:58 -03:00
leomarradke
af85c7801a arch: samd5e5 : Add watchdog timer drivers.
boards: metro-m4  Add support for starting the watchdog timer on the metro-m4.

Testing:
- Build check only

Signed-off-by: Leomar Mateus Radke  <leomar@falker.com.br>
2020-08-13 14:02:58 -03:00
Fotis Panagiotopoulos
c101076704 Added options for I-Cache & D-Cache, in STM32F2 & STM32F4. 2020-08-13 07:29:05 +02:00
David Sidrane
151a9253f4 s32k1xx:flexcan Remove unused variable 2020-08-12 21:38:06 +01:00
David Sidrane
ee60a26c7f kinetis:flexcan Remove unused variable 2020-08-12 18:51:48 +01:00
David Sidrane
553dc4a0c9 kinetis: kinetis.h missing-semi 2020-08-12 18:51:48 +01:00
Fotis Panagiotopoulos
c046e56b3b Added STM32_HAVE_OVERDRIVE option, and made core over-drive to be enabled only when system frequency is > 168MHz. 2020-08-12 05:05:59 -07:00
Xiang Xiao
a0ce81d659 sched/wdog: Don't dynamically allocate wdog_s
to save the preserved space(1KB) and also avoid the heap overhead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I694073f68e1bd63960cedeea1ddec441437be025
2020-08-11 12:28:55 -06:00
raiden00pl
7879fba9f4 nxstyle fixes 2020-08-11 09:23:51 +01:00
raiden00pl
451a255146 arch/arm/src/stm32f7: IO compensation cell is enabled after clocking to SYSCFG is enabled 2020-08-11 09:23:51 +01:00
raiden00pl
3d91fed868 arch/arm/src/stm32f0l0g: remove reference to IO compensation which is not present in STM32 F0/L0/G0 2020-08-11 09:23:51 +01:00
David Sidrane
a10e9615ca stm32f7:serial TXDMA ISR was looping on TX Empty
Interrups were blocked 1*n/baud Seconds. The former comment indicates
   there was an asumption that the TXE would be set at DMA completion.
   In reality this is not true. There can be 1 char in the TX Shift
   register and one in the TX holding register, when DMA completes.
   Waiting on TXE is not needed at all. The DMA will resume on the
   DMA req when the TX holding register is written to the TX Shift
   register.
2020-08-11 00:20:38 -05:00
Fotis Panagiotopoulos
d4c770c20d STM32 IO compensation cell is enabled after clocking to SYSCFG is enabled. 2020-08-10 16:47:57 +01:00