Commit Graph

13354 Commits

Author SHA1 Message Date
Nathan Hartman
dad32ccd47 arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32_dma.h:

    * Fix nxstyle issues.
2020-12-23 20:35:42 -06:00
Masayuki Ishikawa
ace6e70f57 arch: imx6: Add imx_enet driver
Summary:
- This commit adds imx_enet driver derived from imxrt_enet

Impact:
- imx6 only

Testing:
- Tested with sabre-6quad:netnsh
- NOTE: telnetd works with QEMU
2020-12-23 16:56:25 -03:00
Masayuki Ishikawa
1725e50a13 arch: imx6: Fix peripheral IP offsets in AIPS-2
Summary:
- This commit fixes peripheral IP offsets in AIPS-2

Impact:
- No impact because there is no drivers

Testing:
- Tested with sabre-6quad:nsh and sabre-6quad:smp
2020-12-23 16:56:25 -03:00
Masayuki Ishikawa
4ce99f324e arch: imx6: Fix style warnings in imx_memorymap.h 2020-12-23 16:56:25 -03:00
Fotis Panagiotopoulos
e26daf9357 STM32 FLASH latency is calculated based on Vin. 2020-12-23 08:13:45 -08:00
Michal Lenc
52416888f7 fix nx style warnings and errors
Signed-off-by: Michal Lenc <lencmich@fel.cvut.cz>
2020-12-23 11:19:53 -03:00
Masayuki Ishikawa
ec73a4e69c arch & sched: task: Fix up_exit() and nxtask_exit() for SMP
Summary:
- During repeating ostest with sabre-6quad:smp (QEMU),
  I noticed that pthread_rwlock_test sometimes stops
- Finally, I found that nxtask_exit() released a critical
  section too early before context switching which resulted in
  selecting inappropriate TCB
- This commit fixes this issue by moving nxsched_resume_scheduler()
  from nxtask_exit() to up_exit() and also removing
  spin_setbit() and spin_clrbit() from nxtask_exit()
  because the caller holds a critical section
- To be consistent with non-SMP cases, the above changes
  were done for all CPU architectures

Impact:
- This commit affects all CPU architectures regardless of SMP

Testing:
- Tested with ostest with the following configs
- sabre-6quad:smp (QEMU, dev board), sabre-6quad:nsh (QEMU)
- spresense:wifi_smp
- sim:smp, sim:ostest
- maix-bit:smp (QEMU)
- esp32-devkitc:smp (QEMU)
- lc823450-xgevk:rndis

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-12-21 23:29:56 -06:00
Nathan Hartman
78f308ff2c arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32_dac.h:

    * Fix nxstyle issues.
2020-12-21 20:20:17 +01:00
Nathan Hartman
4cefc5ce7a stm32g4: Fix incorrect FLASH wait states
When the architectural support for STM32G4 family was added, the
reference manual (RM0440) was at revision 2. Since then, it has
undergone several revisions. One significant change is in the
table of FLASH wait states: section 3.3.3 table 9. The outcome
of this change is that fewer FLASH wait states are needed for
most CPU clock (HCLK) frequencies. Notably, if running the CPU
clock at the maximum 170 MHz, only 4 FLASH wait states are
needed, rather than the previously programmed 8 wait states.
This gives a noticeable performance boost.

arch/arm/src/stm32/stm32g4xxxx_rcc.c:

    * FLASH_ACR_LATENCY_SETTING: Reimplement compile-time logic
      that selects the required wait state setting to use the new
      updated table.

    * Update all comments to indicate that RM0440 Rev 5 is used.

    * Update section numbers mentioned in comments in cases where
      they have changed due to added sections in the manual.
2020-12-21 18:43:49 +01:00
Nathan Hartman
4facd82ae0 arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32_ltdc.h:
arch/arm/src/stm32/stm32_pmsleep.c:
arch/arm/src/stm32/stm32_pmstandby.c:

    * Fix nxstyle issues.
2020-12-19 00:16:47 -06:00
chao.an
4a559807a5 arch/netdev: try tcp timer in every txavail call
In the current implementation, the first transmission of the new
connection handshake is depends entirely by tcp_timer(), which will
caused 0.5s - 1s delay each time in connect().

This patch is mainly to improve the performance of TCP handshake.

Original:

nsh> tcp_client
[    1.536100] TCP connect start.
[    2.000200] TCP connect end. DIFF: tick: 4641, 464ms.
[    3.000300] TCP connect start.
[    4.000400] TCP connect end. DIFF: tick: 10001, 1000ms.
[    5.000500] TCP connect start.
[    6.000600] TCP connect end. DIFF: tick: 10001, 1000ms.
[    7.000700] TCP connect start.
[    8.000800] TCP connect end. DIFF: tick: 10001, 1000ms.

Optimized:

nsh> tcp_client
[    3.263600] TCP connect start.
[    3.263700] TCP connect end. DIFF: tick: 1, 0ms.
[    4.263800] TCP connect start.
[    4.263800] TCP connect end. DIFF: tick: 0, 0ms.
[    5.263900] TCP connect start.
[    5.263900] TCP connect end. DIFF: tick: 0, 0ms.
[    6.264000] TCP connect start.
[    6.264000] TCP connect end. DIFF: tick: 0, 0ms.
[    7.264100] TCP connect start.
[    7.264100] TCP connect end. DIFF: tick: 0, 0ms.

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-18 14:16:11 +09:00
Christian
abcc41d17d fix: arch/.../stm32h7x3xx_memorymap.h invalid address map for fdcan 2020-12-16 20:27:07 -06:00
RICHNER Jonathan
6339fcfdd3 arch/arm/src/stm32h7/stm32_ethernet.c: Fix typo in multicast address hash
table registers for STM32H7
2020-12-16 10:01:25 -06:00
Abdelatif Guettouche
ecede04263 arch/*/src/Makefile: Generate dependencies for head files.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-15 21:00:52 -06:00
Xiang Xiao
625eef20f0 arch: Remove the special check for idle thread in up_use_stack
since the idle thread don't call up_use_stack anymore

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-16 09:54:29 +09:00
Xiang Xiao
efee1c6ded arch: Initialize the idle thread stack info directly
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-16 09:54:29 +09:00
Michal Lenc
e1596e80aa arch/arm/src/imxrt/imxrt_usdhc.c: fixed no DMA build error
Signed-off-by: Michal Lenc <lencmich@fel.cvut.cz>
2020-12-15 12:39:58 -08:00
Nathan Hartman
b960bee78b arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32_tim.c:

    * Fix nxstyle errors.
2020-12-15 19:10:30 +01:00
Bernd Walter
2ccc37f2a8 Fix syntax for BOARD_GCLK*_RUN_IN_STANDBY and BOARD_GCLK*_OUTPUT_ENABLE
with GCLK1-8
2020-12-15 08:46:10 +01:00
Nathan Hartman
3adadbe5d7 arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32_usbhost.h:

    * Fix nxstyle errors.
2020-12-15 06:47:20 +01:00
Nathan Hartman
705c64e5ff arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32_wwdg.c:

    * Fix nxstyle errors.
2020-12-13 22:54:03 +01:00
Nathan Hartman
2fda2451e3 arch/stm32: Add register definitions for STM32G4 ADC
arch/arm/src/stm32/hardware/stm32_adc_v2g4.h:

    * New file.

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

    * Distinguish between the normal STM32 ADC IPv2 core and the
      modified IPv2 core used in the G4 family, and include either
      stm32_adc_v2.h or stm32_adc_v2g4.h as needed.
2020-12-12 13:58:51 +01:00
Nathan Hartman
3864912dc8 arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32l15xxx_rtcc.c:

    * Fix nxstyle errors.
2020-12-11 15:04:13 -03:00
Xiang Xiao
73d4832c15 arch/arm/imxrt: replace clock_systimespec with clock_systime_timespec
since clock_systimespec doesn't exist anymore

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-11 04:20:40 -08:00
Masayuki Ishikawa
6158b6b77b spinlock: Introduce SP_WFE() and SP_SEV()
Summary:
- This commit introduces SP_WFE() and SP_SEV() to be used for spinlock
- Also, use wfe/sev instructions for ARMV7-A to reduce power consumption

Impact:
- ARMV7-a SMP only

Testing:
- sabre-6quad:smp (QEMU, dev board)
- maix-bit:smp, esp32-devkitc:smp, spresense:smp sim:smp (compile only)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-12-11 05:58:35 -06:00
Masayuki Ishikawa
b599823f3b arch: armv7-a: Remove unnecessary #ifdef CONFIG_SMP in arm_unblocktask.c
Summary:
- Because this_task() returns the current task of the current CPU

Impact:
- SMP only

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

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-12-10 20:27:59 -06:00
Nathan Hartman
648ec7bee4 arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32l15xxx_rcc.c:

    * Fix nxstyle errors.
2020-12-10 18:30:24 +01:00
Masayuki Ishikawa
409c65ce0b arch, sched: Fix global IRQ control logics for SMP
Summary:
- This commit fixes global IRQ control logic
- In previous implementation, g_cpu_irqset for a remote CPU was
  set in sched_add_readytorun(), sched_remove_readytorun() and
  up_schedule_sigaction()
- In this implementation, they are removed.
- Instead, in the pause handler, call enter_critical_setion()
  which will call up_cpu_paused() then acquire g_cpu_irqlock
- So if a new task with irqcount > 1 restarts on the remote CPU,
  the CPU will only hold a critical section. Thus, the issue such as
  'POSSIBLE FOR TWO CPUs TO HOLD A CRITICAL SECTION' could be resolved.
- Fix nxsched_resume_scheduler() so that it does not call spin_clrbit()
  if a CPU does not hold a g_cpu_irqset
- Fix nxtask_exit() so that it acquires g_cpu_irqlock
- Update TODO

Impact:
- All SMP implementations

Testing:
- Tested with smp, ostest with the following configurations
- Tested with spresense:wifi_smp (NCPUS=2,4)
- Tested with sabre-6quad:smp (QEMU, dev board)
- Tested with maix-bit:smp (QEMU)
- Tested with esp32-core:smp (QEMU)
- Tested with lc823450-xgevk:rndis

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-12-10 08:33:42 +01:00
raiden00pl
0c05f2ea38 stm32: add stm32g43x support and nucleo-g431rb board 2020-12-09 09:43:25 -03:00
Nathan Hartman
c257c458ad arch/stm32: Fix nxstyle errors
arch/arm/src/stm32/stm32_rng.c:

    * Fix nxstyle errors.
2020-12-09 09:21:42 +01:00
Juha Niskanen
7bc7b611d6 arch/arm/src/lc823450: fully parenthesize MIN and MAX macros
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-12-08 12:58:40 -06:00
Nathan Hartman
c162069cd5 arch/stm32: Fix nxstyle errors (and one typo)
arch/arm/src/stm32/stm32_dma2d.h
arch/arm/src/stm32/stm32_fmc.h
arch/arm/src/stm32/stm32_freerun.h
arch/arm/src/stm32/stm32_pm.h

    * Fix nxstyle errors.

arch/arm/src/stm32/hardware/stm32g4xxxx_dmamux.h

    * Fix typo in comment.
2020-12-07 22:22:02 +01:00
raiden00pl
979a5b7fd4 stm32: convert all STM32G47X specific code to generic STM32G4 series code.
This is an initial step towards supporting other STM32G4 chips.
2020-12-06 13:37:02 -05:00
YAMAMOTO Takashi
b18c2e6cc5 arch/arm/src/arm/arm_assert.c: Don't assume debug macro expansion 2020-12-06 09:03:09 -06:00
YAMAMOTO Takashi
c3791e7c23 arch/arm/src/armv7-m/arm_assert.c: Don't assume debug macro expansion 2020-12-06 09:03:09 -06:00
YAMAMOTO Takashi
330aa43f72 arch/arm/src/stm32/stm32_adc.c: Don't assume debug macro expansion 2020-12-06 09:03:09 -06:00
YAMAMOTO Takashi
44f88cd71a arch/arm/src/lpc17xx_40xx/lpc17_40_can.c: Don't assume debug macro expansion 2020-12-06 09:03:09 -06:00
YAMAMOTO Takashi
065d310cf2 arch/arm/src/stm32f0l0g0/stm32_adc.c: Don't assume debug macro expansion 2020-12-06 09:03:09 -06:00
YAMAMOTO Takashi
a600b2478d arch/arm/src/s32k1xx/s32k1xx_flexcan.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
1c7bdcea98 arch/arm/src/s32k1xx/s32k1xx_lpspi.c: Fix a syslog format 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
cba6e69ccf arch/arm/src/s32k1xx/s32k1xx_lpi2c.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
fbf7d7cdf9 arch/arm/src/sam34/sam_emac.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
2829ecd18a arch/arm/src/sam34/sam_spi.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
5461bb2462 arch/arm/src/sam34/sam4s_nand.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
fcca968c0b arch/arm/src/sam34/sam_wdt.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
f22982f7e6 arch/arm/src/sam34/sam_wdt.c: Appease nxstyle 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
8eb0712dec arch/arm/src/sam34/sam_hsmci.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
8af7af12b3 arch/arm/src/sama5/sam_emacb.c: Fix a syslog format 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
83b24f0382 arch/arm/src/armv7-a/arm_syscall.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
3152ee6c62 arch/arm/src/sama5/sam_emacb.c: Fix syslog formats 2020-12-06 07:41:37 -06:00