Go to file
Etienne Carriere 5740dfe77b drivers: i2c: stm32: fix write burst in RTIO drivers
Correct management of I2C write transfers that are driven from 2
I2C messages, one for the transfer of the address to write
to and a following message for the transfer of the data to be written.
In this case, no START and STOP bit should be triggered between the 2
I2C transfers.

In STM32 I2C v1 driver, this simply means not emitting a START
condition when the input sequence does not set the RESTART flag.

In STM32 I2C v2 driver, this can only be achieved using the SoC I2C
controller Reload Mode feature, hence update Reload Mode implementation
to use reload mode for both transfers over 255 bytes (splitted in
chunks) and for cases where no STOP and START bits are emitted between
2 transfer in the same transaction.

Regarding STM32 I2C v2 driver, the reload mode must be enable before the
first transaction, known that it's needed due to the following
transaction. Therefore we need to parse the messages grouped in the same
transaction to detect such sequences (a message without STOP flag
followed by a message without RESTART flag) and when so, pass the
information to the I2C driver through RTIO framework. To achieve that,
let's use a free bit from I2C message flags (bit 7) in the message
for which we need to enable SoC ReloadMode from the first transfer.
We check that this bit flag is not used by the I2C framework prior
using it.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-06-23 12:47:00 -07:00
.github ci: workflows: remove unsupported Python version from test matrices 2025-06-19 09:36:17 +02:00
arch xtensa: gdbstub: update comments 2025-06-23 12:32:44 -07:00
boards boards: st: stm32u3: enable i2c 2025-06-23 12:33:52 -07:00
cmake cmake: Add a new no_deprecation_warning compiler flag 2025-06-23 12:38:07 -07:00
doc doc: migration-guide-4.2: Add note about bt_hci_cmd_create() 2025-06-23 12:44:53 -07:00
drivers drivers: i2c: stm32: fix write burst in RTIO drivers 2025-06-23 12:47:00 -07:00
dts dts: arm: st: u3: add i2c 2025-06-23 12:33:52 -07:00
include/zephyr Bluetooth: Host: Mark bt_hci_cmd_create() as deprecated 2025-06-23 12:44:53 -07:00
kernel kernel: kswap: removes unused arch_swap function declaration 2025-06-18 17:48:03 -04:00
lib lib: os: cbprintf_complete: add missing break statement 2025-06-18 17:48:03 -04:00
misc
modules soc: silabs: Add support for the MGM240SD22VNA 2025-06-21 15:31:36 +02:00
samples Bluetooth: samples: Use bt_hci_cmd_alloc() 2025-06-23 12:44:53 -07:00
scripts scripts: Bump Python target version for ruff 2025-06-23 15:48:57 +01:00
share sysbuild: Allow to use file suffix DTS overlays 2025-06-10 12:13:10 +02:00
snippets snippets: add hci-uart-native-sim 2025-06-21 13:14:45 +02:00
soc drivers: wifi: siwx91x: Disable the 160 MHz feature 2025-06-23 12:46:10 -07:00
submanifests modules: optional: rust: Fixes for CI 2025-06-04 15:49:27 -04:00
subsys Bluetooth: Mesh: shell: Use bt_hci_cmd_alloc() 2025-06-23 12:44:53 -07:00
tests tests: bsim: bluetooth: Remove bt_hci_cmd_create() usage 2025-06-23 12:44:53 -07:00
.checkpatch.conf
.clang-format clang-format: add new line at EOF. 2025-04-11 22:07:26 +02:00
.codechecker.yml
.codecov.yml
.editorconfig
.gitattributes
.gitignore scripts: ci: add vermin (min python version check) 2025-06-06 08:45:13 +02:00
.gitlint
.mailmap
.ruff-excludes.toml scripts: west: remove excludes for west_commands/spdx.py 2025-06-10 13:28:38 +02:00
.ruff.toml scripts: Bump Python target version for ruff 2025-06-23 15:48:57 +01:00
.yamllint
CMakeLists.txt cmake: Add a new no_deprecation_warning compiler flag 2025-06-23 12:38:07 -07:00
CODE_OF_CONDUCT.md
CODEOWNERS
CONTRIBUTING.rst
Kconfig
Kconfig.constants
Kconfig.zephyr cmake: Add a new no_deprecation_warning compiler flag 2025-06-23 12:38:07 -07:00
LICENSE
MAINTAINERS.yml MAINTAINERS: include Arduino shields in the Arduino category 2025-06-23 15:50:16 +01:00
README.rst doc: remove more occurances of Nios II 2025-05-15 20:01:05 -04:00
SDK_VERSION ci: use new docker image v0.28.0.20250523 2025-05-23 17:41:40 -04:00
VERSION
version.h.in version.h.in: fix cmake comment 2025-05-28 05:53:55 +02:00
west.yml manifest: update hal_nordic for errata 55 on nRF54LV10A Eng A 2025-06-23 13:42:25 +02:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a href="https://scorecard.dev/viewer/?uri=github.com/zephyrproject-rtos/zephyr"><img src="https://api.securityscorecards.dev/projects/github.com/zephyrproject-rtos/zephyr/badge"></a>
   <a href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain"><img src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks