nuttx/arch/arm/src/imx6
chao an 87f134cfaa sched/sleep: replace all Signal-based sleep implement to Scheduled sleep
Nuttx currently has 2 types of sleep interfaces:

1. Signal-scheduled sleep: nxsig_sleep() / nxsig_usleep() / nxsig_nanosleep()
Weaknesses:
a. Signal-dependent: The signal-scheduled sleep method is bound to the signal framework, while some driver sleep operations do not depend on signals.
b. Timespec conversion: Signal-scheduled sleep involves timespec conversion, which has a significant impact on performance.

2. Busy sleep: up_mdelay() / up_udelay()
Weaknesses:
a. Does not actively trigger scheduling, occupy the CPU loading.

3. New interfaces: Scheduled sleep: nxsched_sleep() / nxsched_usleep() / nxsched_msleep() / nxsched_ticksleep()
Strengths:
a. Does not depend on the signal framework.
b. Tick-based, without additional computational overhead.

Currently, the Nuttx driver framework extensively uses nxsig_* interfaces. However, the driver does not need to rely on signals or timespec conversion.
Therefore, a new set of APIs is added to reduce dependencies on other modules.

(This PR also aims to make signals optional, further reducing the code size of Nuttx.)

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-10-17 14:05:02 +08:00
..
hardware style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
chip.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
CMakeLists.txt arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_boot.c arch/arm/mmu: unify all uint32_t & uintptr_t 2025-05-12 15:01:37 +08:00
imx_boot.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_clockconfig.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_clockconfig.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_config.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_cpuboot.c arch/arm:use UP_DSB, UP_DMB, UP_ISB as barrier standard API 2025-01-20 20:13:07 +08:00
imx_ecspi.c arch: unify Private Types banners 2025-05-28 10:17:15 +08:00
imx_ecspi.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_enet.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
imx_enet.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_gpio.c imx_gpio: use small lock in arch/arm/src/imx6/imx_gpio.c 2024-12-18 20:10:45 +08:00
imx_gpio.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_idle.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_iomuxc.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
imx_iomuxc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_irq.c arch/init: call up_color_intstack before up_irq_enable 2025-10-14 17:42:01 +08:00
imx_lowputc.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
imx_lowputc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_memorymap.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_memorymap.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_pgalloc.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
imx_serial.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
imx_serial.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
imx_timerisr.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
Kconfig Kconfig: Simplify the conditional default statement 2023-07-16 14:39:20 -03:00
Make.defs arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00