Commit graph

29 commits

Author SHA1 Message Date
Matteo Golin
66ae075ae8 boards/arm: Replace board_app_initialize
Replaced board_app_initialize logic with board_late_initialize.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Piyush Patle
0dccc8ba21 include/debug.h: Move to include/nuttx/debug.h
debug.h is a NuttX-specific, non-POSIX header. Placing it in the
top-level include/ directory creates naming conflicts with external
projects that define their own debug.h.
This commit moves the canonical header to include/nuttx/debug.h,
following the NuttX convention for non-POSIX/non-standard headers,
and updates all in-tree references.

A backward-compatibility shim is left at include/debug.h that
emits a deprecation #warning and re-includes <nuttx/debug.h>,
allowing out-of-tree code to continue building while migrating.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-04-07 07:50:06 -03:00
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
Huang Qi
cfd0cc0d1a Remove duplicate includes across multiple files
This commit cleans up redundant header file includes throughout the codebase.
 The changes include:

 - Removing duplicate #include directives that were present in the same file
 - Consolidating includes that were split across multiple lines unnecessarily
 - Removing unused includes that were no longer needed
 - Fixing some formatting issues with includes

 The changes improve code organization and maintainability by:
 - Reducing unnecessary dependencies
 - Making include dependencies more explicit
 - Following consistent include patterns
 - Removing dead code

 No functional changes are made - this is purely a code cleanup commit.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-01-09 23:30:23 +08:00
Alin Jerpelea
8592df0c22 boards/arm/samv7: migrate to SPDX identifier
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-11-10 01:12:34 +08:00
chao an
3cadf6642a kernel: replace all usleep to nxsig_usleep in kernel space
syscall cannot be called from kernel space

Signed-off-by: chao an <anchao@xiaomi.com>
2023-10-25 15:46:03 +08:00
Xiang Xiao
0eeca0f375 build: Replace "$(shell $(INCDIR) $(CC) ...)" with $(INCDIR_PREFIX)
to unify the way to get include directories

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-23 00:11:25 +03:00
Karel Kočí
74790c8033 boards/samv7/hsmci: add option to invert card detection pin
The original code hard-coded card detection to the low when card is
inserted and high when not. This might not be true on every board
because it depends on the slot and wiring used. The second reason is
because it is also possible to detect card with D3 pin pull-up when the
slot does not provide dedicated card detection switch.

This introduces new argument to the sam_hsmci_initialize to allow
invert of card detection pin. It also applies this invert to existing
boards as that was the state up to this point.
2023-02-19 10:36:04 +08:00
chao an
3a0fdb019d nuttx: replace all ARRAY_SIZE()/ARRAYSIZE() to nitems()
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-09 20:05:44 +08:00
Xiang Xiao
a3c9b413d8 arch/arm: Remove FAR and CODE from board folder(2)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-03 16:50:52 +03:00
Petro Karashchenko
9a9a06dd7d boards/arm/same70-qmtech: Remove dead code
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-22 10:01:09 +08:00
Petro Karashchenko
c01cd62666 boards/arm/samv7/same70-qmtech: add gpio driver support
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-19 17:37:18 +08:00
Petro Karashchenko
2af9b574f6 boards/arm/samv7: define MTD progmem partitions at board level
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-19 11:42:10 +08:00
Petro Karashchenko
c1fb14ccaa boards/arm/samv7/same70-qmtech: add /dev/timer0 support
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-19 02:21:03 +08:00
Petro Karashchenko
985829190e arch/arm/samv7/sam_tc: implement timer driver support
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-16 03:19:57 +08:00
Xiang Xiao
54e630e14d arch: Merge up_arch.h into up_internal.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-14 09:32:17 +02:00
Petro Karashchenko
a958e7f58e boards/arm/samv7: rework linker script usage logic to allow custom linker scripts
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-11 11:25:50 +08:00
Petro Karashchenko
d69cf37b73 boards/arm/samv7: fix typos left after file renaming
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-03 19:56:16 +08:00
Petro Karashchenko
5669ac8e43 boards/arm/samv7/same70-qmtech: add buttons interface
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-02-04 16:41:20 +08:00
Petro Karashchenko
48c7fa6e92 boards/arm/samv7/common: add HSMCI0 boot mount configuration option
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-24 01:08:20 +01:00
Petro Karashchenko
ea177faaf6 boards/same70-qmtech: clarify usage of CD signal on SD card connector
By default SAME70_QMTECH board does not have CD signal routed to
SAME70.  The HW rework can be done to enable CD signal.  Clarify
description of SD card connector.
Change configuration of CD pin to get auto unmount work correctly

Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-22 14:57:36 +08:00
Petro Karashchenko
767cf282c7 boards/arm/samv7: move HSMCI interface to common
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-20 01:24:14 +08:00
Petro Karashchenko
4d5aace138 boards/arm/samv7: fix build error when automount is enabled
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-19 19:36:36 +08:00
Petro Karashchenko
f32ce9d930 boards/arm/samv7: reorganize code to common folder
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-31 16:45:30 +08:00
Petro Karashchenko
438a62c4fc boards/arm/samv7: improve progmem common interface
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-30 10:29:36 +08:00
Gerson Fernando Budke
a6fc88740c boards/arm/samv7: Move MCUboot to common folder
Move MCUboot bootloader implementation to samv7 common folder. This drop
all duplicated code and unify implementation.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-12-16 06:56:42 -03:00
Gerson Fernando Budke
b5868aed6f boards/arm/samv7: Introduce common folder
This introduce common folder structre and rework scripts & tools
files. The linker scripts were reorganized to use best the current
infrastructure which uses a template to create a final samv7.ld
file based in the current SoC memories and bootloader definitions.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-12-16 06:56:42 -03:00
Gerson Fernando Budke
463fbfe975 boards/arm/samv7: Unify linker scripts
After define memory sizes for samv7 it is possible unify linker scripts.
This add necessary changes to perform such operation.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-12-16 06:56:42 -03:00
Petro Karashchenko
4b2b7d1d91 boards/same70-qmtech: add support of SAME70 QMTECH board
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-11-29 11:17:47 -06:00