Commit Graph

13346 Commits

Author SHA1 Message Date
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
YAMAMOTO Takashi
c3bcf80a18 arch/arm/src/sama5/sam_xdmac.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
c8eb8ac9c1 arch/arm/src/sama5/sam_xdmac.c: Appease nxstyle 2020-12-06 07:41:37 -06:00
YAMAMOTO Takashi
59dc739895 arch/arm/src/sama5/sam_ssc.c: Fix syslog formats 2020-12-06 07:41:37 -06:00
Matias N
ec83dc2ad3 nxstyle fixes 2020-12-05 21:44:49 -06:00
Matias N
de9842ab60 LPC43 RIT: build fixes 2020-12-05 21:44:49 -06:00
YAMAMOTO Takashi
a927f98a23 arch/arm/src/imxrt/imxrt_flexcan.c: Fix syslog formats 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
29400f0e38 arch/arm/src/sama5/sam_tsd.c: Fix syslog formats 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
9510c968cd arch/arm/src/sama5/sam_hsmci.c: Fix syslog formats 2020-12-05 08:13:32 -06:00