Commit Graph

52094 Commits

Author SHA1 Message Date
anjiahao
a423d9b404 gdbstub:convert gdb pid strat to 1
gdb pid strat is 1, nuttx is 0, so convert it

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 08:43:26 -08:00
anjiahao
bb0a706bdc arch/arm:add up_debugpoint api
on armv8-m/armv7-m,implement breakpoint & watchpoint using FBP & DWT

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 08:43:26 -08:00
Lee Lup Yuen
0bac2efd0e Extend MMU Flags to 64-bit for T-Head C906 and Svpbmt
Currently RISC-V NuttX supports 32-bit MMU Flags inside a Page Table Entry. This PR extends the MMU Flags to 64-bit, to support T-Head C906 Core and the new RISC-V Svpbmt Extension.

T-Head C906 uses Bits 59 to 63 in a Leaf Page Table Entry to configure the Memory Type: Cacheable / Bufferable / Strongly-Ordered. For the upcoming port of NuttX to PINE64 Ox64 BL808 SBC, we need to set the Memory Type to Strongly-Ordered for I/O Memory, which requires 64-bit MMU Flags.

Details of C906 MMU: https://lupyuen.github.io/articles/plic3#t-head-errata

Newer RISC-V Cores will use the Svpbmt Extension to configure the Memory Type (Cacheable / Strongly-Ordered). Svpbmt uses Bits 61 to 62 in a Leaf Page Table Entry to define the Memory Type. This also requires 64-bit MMU Flags.

Details of Svpbmt: https://github.com/riscv/riscv-isa-manual/blob/main/src/supervisor.adoc#svpbmt
2023-12-11 02:10:14 -08:00
anjiahao
1295ccdd0e Documentation:add Documentation for stack statistics
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 02:06:51 -08:00
anjiahao
25f599fe31 add demo for record stack defconfig
xtensa: esp32s3-devkit:stack
arm: stm32f429i-disco:stack

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 02:06:51 -08:00
anjiahao
94d449e722 arch:Mark key functions to prohibit instrumentation to prevent recursive calls
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 02:06:51 -08:00
anjiahao
d932e0af2a sched/procfs:use instrument to statistics run time max stack
Usage:
1. CONFIG_FS_PROCFS_MAX_STACK_RECORD > 0, such as 32,
2. add '-finstrument-functions' to CFLAGS for What you want to check
   stack.
3. mount porcfs
4. cat /proc/<pid>/stack will print backtace & size

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 02:06:51 -08:00
anjiahao
7dfbd14eba libc: add instrument api support
Add registration function instrumentation API,
which can achieve instrumentation of entering and
exiting functions through the compiler's functionality.

We can use CONFIG_ARCH_INSTRUMENT_ALL to add instrumentation for all
source, or add '-finstrument-functions' to CFLAGS for Part of the
source.

Notice:
1. use CONFIG_ARCH_INSTRUMENT_ALL must mark _start or entry noinstrument_function,
   becuase bss not set.
2. Make sure your callbacks are not instrumented recursively.

use instrument_register to register entry function and exit function.
They will be called by the instrumented function

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 02:06:51 -08:00
zhanghongyu
404616d621 linux_Dockerfile: only copy gn binary into docker
Minimize the size of the docker image

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-12-11 10:46:47 +01:00
Mete Balci
2215278a53 stm32u5: fix EXTICR2,3,4 register offsets 2023-12-11 10:42:09 +01:00
Xiang Xiao
19baa56fb5 procfs/cpuinfo: Zero copylen in cpuinfo_read
to avoid return the negative number

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-11 10:36:03 +01:00
Bowen Wang
449197c188 virtio.h: add virtio_has_feature api for virtio driver
Virtio driver can used this api to judge whether the this feature
is supported by both virtio driver and device.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2023-12-10 21:54:56 -08:00
Federico Braghiroli
8b9c64eecf lib_slcd: fix encode/decode of binary nibble to/from ascii hex
Binary nibble to/from ascii hex conversion was buggy on both
lib_slcdencode and lib_slcddecode libraries.

This bug caused the slcd library to fail to decode 5-byte sequence command
which have 'count' argument value bigger than 0x9.

Signed-off-by: Federico Braghiroli <federico.braghiroli@gmail.com>
2023-12-10 21:54:01 -08:00
dependabot[bot]
387e9d64ac build(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-10 21:53:27 -08:00
anjiahao
35051dd715 coredump: support coredump save to block device when crash
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-10 07:02:03 -08:00
anjiahao
542a5555d3 libc:add parse_memory_range to parse memory string
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-10 07:02:03 -08:00
Xiang Xiao
69e413c678 ci/docker: Revert the change about gn to unblock ci
Revert "ci/docker: Fix " Could not find GN_EXECUTABLEXX using the following names: gn""
This reverts commit d6ac9e1aed.

Revert "tools/ci: Skip copy gn temporary files"
This reverts commit 4673fccece.
2023-12-10 06:39:30 -08:00
Xiang Xiao
cf2f206f3b Revert "CI: Free space on worker building container"
done by https://github.com/apache/nuttx/pull/11354 now

This reverts commit 05801f9fec.
2023-12-10 06:39:30 -08:00
Jorge Guzman
c5dfb9f606 linum-stm32h753bi: Updating documentation for modbus_slave example.
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2023-12-09 22:26:40 -08:00
simbit18
3442af4a19 Fix Kconfig style
Remove extra TABs
Add comments
2023-12-09 13:44:46 -08:00
Xiang Xiao
d6ac9e1aed ci/docker: Fix " Could not find GN_EXECUTABLEXX using the following names: gn"
report here:
https://github.com/apache/nuttx-apps/actions/runs/7149109828/job/19470959712?pr=2225
regression by:
https://github.com/apache/nuttx/pull/11345

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-08 22:57:35 -08:00
anjiahao
c3fd7f84ad assert/stack_dump: Output some more information on the premise that sp has it.
gdb may need more information when doing backtrace

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-08 19:55:32 -08:00
anjiahao
7fd172d9ff stack_dump:change Conditions for stack dump
If the gap between sp and stack_top is too small,
then the stack will not be output,
modify the conditional loop condition, and fix this problem

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-08 19:55:32 -08:00
bertrand
0ca8ae81d0 invert tx and rx in spi_dma_setup
remove indent sam_spi.c

removed indent
2023-12-08 19:50:49 -08:00
anjiahao
a4ad9b7579 fs_gettype:add zipfs magic
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-08 21:45:45 -03:00
anjiahao
90517b9f11 coredump:support arm64 coredump
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-08 21:33:03 -03:00
Petteri Aimonen
dedb563322 usbdev: Add architecture calls to usbdev_sof_irq() 2023-12-08 21:27:36 -03:00
Petteri Aimonen
99a8c00807 usbdev: Add callback for CONFIG_USBDEV_SOFINTERRUPT
Previously CONFIG_USBDEV_SOFINTERRUPT existed in many platform
drivers but did nothing. This commit adds a callback function
usbdev_sof_irq() that can be used to take action on this interrupt.
2023-12-08 21:27:36 -03:00
Xiang Xiao
4673fccece tools/ci: Skip copy gn temporary files
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-08 16:10:17 +01:00
ThomasNS
2b6a42e88f free disk space action added to fix docker image build issue 2023-12-08 14:42:17 +01:00
Ville Juven
f404cb60b8 mpfs_head.S: Change j/jal to tail call
In order to avoid linker truncation error (address unreachable), making
it a tail call ensures this does not happen.
2023-12-08 14:30:21 +01:00
Dong Heng
bf54a5ae50 driver/net/lan9250: Add LAN9250 driver(SPI and QSPI mode) 2023-12-07 19:53:05 -08:00
YAMAMOTO Takashi
4d7cc95f80 doc: update an example to match the latest versions of the code 2023-12-07 19:48:51 -08:00
ThomasNS
54f72d9e5e free up runner disk space before build docker image 2023-12-07 19:48:28 -08:00
YAMAMOTO Takashi
0f43be2c07 Document esp32s3-devkitc:toywasm kconfig 2023-12-07 08:21:39 -08:00
YAMAMOTO Takashi
cc0dd4c8a4 add esp32s3-devkit:toywasm kconfig 2023-12-07 08:21:39 -08:00
Anthony Merlino
962ac35170 stm32h7_adc: Dynamically set clock prescaler and BOOST setting.
The ADC peripheral can only support up to
    50MHz on rev V silicon and 36MHz on Y silicon.
    The existing driver always used no prescaler
    and kept boost setting at 0.
2023-12-07 03:50:40 -08:00
David Sidrane
d31214aa25 stm32h7:ADC STM32_RCC_D3CCIPR_ADCSEL->STM32_RCC_D3CCIPR_ADCSRC 2023-12-07 03:50:40 -08:00
David Sidrane
6ad7b82cd6 imxrt:Serial refactor out tx dma semaphore 2023-12-07 03:48:19 -08:00
David Sidrane
a81b36394e imxrt:edma Add idle chack 2023-12-07 03:48:19 -08:00
David Sidrane
cc632ea789 imxrt:edma clear state before callback 2023-12-07 03:48:19 -08:00
David Sidrane
b0e31c7d72 s32k3xx:Serial Use smart invalidate 2023-12-07 03:48:19 -08:00
David Sidrane
05e620d12b imxrt:Serial Use smart invalidate 2023-12-07 03:48:19 -08:00
Peter van der Perk
0ff18e31f5 imxrt1170-evk: add basic documentation 2023-12-07 03:48:19 -08:00
David Sidrane
982e3e01f0 imxrt:gpio disable imxrt_gpio_select for the 1170
The 1170 usage of the GPR registers is to select the
   between GPIO{2|3} or CM7_GPIO{2|3} where as the 1060
   it selected ports between 1-6,2-7..4-9 and uses
   different GPR registers.

   For the 1170 we are defaulting to GPIO{2|3} and not
   supporting the swtich to CM7_GPIO{2|3}.
2023-12-07 03:48:19 -08:00
Peter van der Perk
9906163beb Base IMXRT1170 port
Co-authored-by: Jari van Ewijk <jari.vanewijk@nxp.com>

Co-authored-by: David Sidrane <david.sidrane@nscdg.com>

Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>

imxrt:Kconfig fix formatting

imxrt:usbphy move IMXRT_USBPHY{1|[2]}_BASE to memory map

imxrt:lpspi Fix build breakage from adding 1170

imxrt:Finish 1170 iomux and clockconfig versioning

imxrt:Remove duplicate imxrt_clock{off|all}_lpi2c4

imxrt:pmu remove duplicate dcd non 117x header

imxrt:lpspi Fix unused var warnings

imxrt:lpi2c Fix unused var warnings

imxrt:lowputs Fix unused var warnings

imxrt:imxrt117x_dmamux fix duplicate entries

imxtr:serial Use IOMUX_PULL_{UP|DOWN} and map IOMUX V1 to them

imxrt:MPU Support the 1170

imxrt:dmamux Alias IMXRT_DMAMUX0_BASE as IMXRT_DMAMUX_BASE

imx1170:ccm Alias CCM_CCGR_DMA & CCM_CCGR_SNVS_LP for compatiblity

Author: Peter van der Perk <peter.vanderperk@nxp.com>

IMXRT7 Add LPUART 9/10/11/12 support

Author: David Sidrane <david.sidrane@nscdg.com>

imxrt:1170pinmux Add QTIMER pins

imxrt:1170pinmux Add GPT pins

imxrt:1170pinmux Add FLEXPWM pins

imxrt1170:pinmap Add GPIO_ENET_1G pinning

imxrt:enet Support ENET_1G

imxrt:periphclks rt1170 does not have canX_serial clock

imxrt:flexcan:Layer imxrt_ioctl

imxrt117x:memorymap added CAN3

imxrt:ADC support ver1 and ver2 for imxrt117x

imxrt:imxrt117x_ccm Align timer naming with other imxrt QTIMERn->TIMERn

imxrt:imxrt117x_ccm align CCM names with rt106x

imxrt:XBAR support larger number of selects needed on imxrt1170

Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>

FlexSPI AHB Region support, PIT rename for compatiblity

imxrt:USB Analog add VBUS_VALID_3V

FlexSPI expand prefetch registers for IMXRT117X

imxrt:Support Initialization of FlexRam without Running from OCRAM

imxrt: ocotp add UNIQUE_ID register definition

imxrt: enet use ocotp unique_id

imxrt: enet fixes for imxrt117x

imxrt: ethernet pinmux sion enable

imxrt:imxrt_periphclk_configure add memory sync

   Flush the pipeline to prevent bus faults, by insuring a
   peripheral is clocked before being accessed on return from
   this function.

imxrt:Restructure gpioN to padmux mapping

imxrt:Add imxrt1170 daisy

imxrt: correct power modes for imxrt117x fixing hang on WFI

imxrt: imxrt117x TCM MPU config

imxrt: FlexRAM clocking DIV0 setup

imxrt: 117x periphclocks wait for status bit

imxrt: iomucx set pad settings correctly and allow reconfiguration

imxrt: enet align buffers 64-byte for optimal performance

Add DSC barriers for write-through cache support

imxrt: imxrt1170 use FlexCAN FD/ECC features

imxrt:iomuxc_ver2 (117x) SD_B1 and DISP_B1 use PULL feild not PUE/PUS

imxrt:Fix 1170 SNVS addressing

imxrt: enet set mii clock after ifdown so that phy keep working

nxstyle fixes

imxrt: preprocessor and include fixes

Fix configs

imxrt1170-evk clean defconfig
2023-12-07 03:48:19 -08:00
YAMAMOTO Takashi
8930aae423 esp32s3_partition.h: fix typos (S3S3 -> S3) 2023-12-07 03:08:24 -08:00
YAMAMOTO Takashi
c079b82c37 esp32s3: remove an extra S from ESP32S3S_SPI_FLASH_USE_32BIT_ADDRESS 2023-12-07 03:07:37 -08:00
David Sidrane
e1a9e8fa53 stm32h7:serial Remove .txdmasem = SEM_INITIALIZER(1) from cherry pick 2023-12-06 21:12:01 +01:00
YAMAMOTO Takashi
a59a4ca8ea esp32s3: enable LIBC_ARCH_ATOMIC
Fixes toywasm build.
2023-12-06 21:10:20 +01:00