No description
Find a file
Huang Qi 98415626e3 boards/xtensa/esp32s3: Refactor ES8311 initialization to use I2C handle
Refactor esp32s3_es8311_initialize function to accept I2C handle instead
of port number, moving I2C bus initialization responsibility to the board
bringup code. This change improves flexibility by allowing boards to
manage I2C initialization while the ES8311 driver focuses on audio
codec configuration.

* Updated function signature to accept struct i2c_master_s *i2c parameter
* Removed I2C bus initialization from ES8311 driver
* Updated function documentation to reflect new parameter
* Modified esp32s3-lcd-ev and esp32s3-korvo-2 boards to initialize I2C
  before calling ES8311 initialization
* Added proper error handling for I2C initialization failures
* Moved variable declarations to function start for C89 compliance
* Fixed code style issues including line length and indentation

This change maintains backward compatibility for existing functionality
while providing better separation of concerns between I2C bus management
and audio codec configuration.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-10-02 12:53:35 +02:00
.github ci/cxx: Add out-of-tree build CI test. 2025-09-27 21:36:22 +08:00
arch arch/xtensa/esp32[-s2|-s3]: Add RTC I2C support for HP Core for esp32[-s2|-s3] 2025-10-01 14:16:55 -04:00
audio fs/file: unify prefix about file_xxx api, like file_open, file_ioctl 2025-06-12 18:12:42 +08:00
binfmt libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
boards boards/xtensa/esp32s3: Refactor ES8311 initialization to use I2C handle 2025-10-02 12:53:35 +02:00
cmake arch/tricore: Remove tasking compiler tool specific code from 2025-09-26 13:26:31 +02:00
crypto crypto/hmac: Fix typo in function implementation names 2025-08-13 23:11:02 +08:00
Documentation Docs/xtensa/esp32[-s2|-s3]: Add ULP RISC-V Coprocessor docs for esp32[-s2|-s3] 2025-10-01 14:16:55 -04:00
drivers drivers/can/ctucanfd_pci.c: refactor to use netdev_uperhalf 2025-10-01 11:36:26 +08:00
dummy
fs fs/mmap/fs_mmap.c: fix errno when fd is not valid 2025-09-30 16:16:02 -04:00
graphics style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
include libc/crc: Add crc8rohcincr for incremental CRC8 ROHC calculation 2025-09-30 17:30:46 -03:00
libs libc/pthread/pthread_keydelete.c: reset key value 2025-10-01 12:00:43 +08:00
mm kasan watchpoint: Fix judgment problem 2025-07-01 09:04:03 -03:00
net net/can/can_recvmsg.c: Cleanup can_readahead 2025-08-26 20:42:01 +08:00
openamp style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
pass1 Revert "build depend:Revert Make.dep intermediate ddc file" 2024-09-15 19:29:47 +08:00
sched sched/sig_pending: sigpending() should return caller pending signals only 2025-09-30 16:15:49 -04:00
syscall sched/gettid: Move thread ID to TLS 2025-04-08 22:53:10 +08:00
tools tools/ci/testlist: skip the build of <board>:cxxtest 2025-09-28 12:47:09 -04:00
video Revert "build depend:Revert Make.dep intermediate ddc file" 2024-09-15 19:29:47 +08:00
wireless Bluetooth SMP: added support for Legacy pairing (MITM) with passkey 2025-05-28 21:49:08 +08:00
.asf.yaml github: master branch protection tune. 2025-05-07 18:37:13 -05:00
.codespell-ignore-lines style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
.codespellrc docs/codeowners: Add preliminary code owner file 2025-09-05 19:53:06 -04:00
.editorconfig .editorconfig: add .editorconfig file to help maintain coding style 2025-08-28 21:53:16 +08:00
.gitignore gitignore: add more vim swap files 2025-06-18 15:44:51 -04:00
.gitmessage docs/contributing: Add a commit message template 2025-06-03 17:33:24 +08:00
.pre-commit-config.yaml pre-commit: enable codespell checks 2025-05-05 12:34:39 +08:00
.yamllint
AUTHORS AUTHORS: add Simone Falsetti 2025-07-15 15:12:44 -03:00
CMakeLists.txt CMake: Move global compiler flags setting before add_executable() 2025-09-25 20:47:26 +08:00
CONTRIBUTING.md style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
INVIOLABLES.md
Kconfig sched: remove nxsched_suspend/resume_scheduler 2025-09-30 23:26:28 +08:00
LICENSE style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
Makefile tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
NOTICE
README.md Gathering community recommendations 2023-10-28 13:55:56 +08:00
ReleaseNotes Documentation: move ReleaseNotes 2023-09-26 20:41:00 +08:00

POSIX Badge License Issues Tracking Badge Contributors GitHub Build Badge Documentation Badge

Apache NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOSs (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).

For brevity, many parts of the documentation will refer to Apache NuttX as simply NuttX.

Getting Started

First time on NuttX? Read the Getting Started guide! If you don't have a board available, NuttX has its own simulator that you can run on terminal.

Documentation

You can find the current NuttX documentation on the Documentation Page.

Alternatively, you can build the documentation yourself by following the Documentation Build Instructions.

The old NuttX documentation is still available in the Apache wiki.

Supported Boards

NuttX supports a wide variety of platforms. See the full list on the Supported Platforms page.

Contributing

If you wish to contribute to the NuttX project, read the Contributing guidelines for information on Git usage, coding standard, workflow and the NuttX principles.

License

The code in this repository is under either the Apache 2 license, or a license compatible with the Apache 2 license. See the License Page for more information.