Skip to content

I2S duplex app - #646

Open
GaneshRamani-AlifSemi wants to merge 2 commits into
alifsemi:mainfrom
GaneshRamani-AlifSemi:i2s_duplex_app
Open

I2S duplex app#646
GaneshRamani-AlifSemi wants to merge 2 commits into
alifsemi:mainfrom
GaneshRamani-AlifSemi:i2s_duplex_app

Conversation

@GaneshRamani-AlifSemi

Copy link
Copy Markdown
Contributor

Application and Snippet for I2S full duplex support.

Tested in E7 devkit and B1 Devkit only.

I2S driver: PR

@GaneshRamani-AlifSemi
GaneshRamani-AlifSemi force-pushed the i2s_duplex_app branch 3 times, most recently from de4d64a to cfcc5c2 Compare September 2, 2026 05:40
@GaneshRamani-AlifSemi

Copy link
Copy Markdown
Contributor Author

Removing manifest commit patch to merge !

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new sample has a confirmed RX verification drift/API-size-type issue (and a few smaller correctness/consistency fixes) that should be addressed before merging.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds an I2S full-duplex (simultaneous RX/TX) sample plus a reusable Zephyr snippet to enable an RTSS I2S controller for supported Alif devkits, and bumps the Zephyr manifest revision to pick up required driver support.

Changes:

  • Update west.yml to a Zephyr revision that includes the needed I2S driver capabilities.
  • Add an i2s-duplex snippet with board-specific devicetree overlays to enable/configure I2S for loopback testing.
  • Introduce a new samples/drivers/i2s_duplex application demonstrating full-duplex streaming and RX verification.
File summaries
File Description
west.yml Updates Zephyr manifest revision to the commit expected to contain full-duplex-related driver support.
snippets/i2s-duplex/snippet.yml Defines the snippet and selects the correct overlay per board family.
snippets/i2s-duplex/b1_rtss.overlay Enables I2S on B1 RTSS and sets pinctrl for loopback wiring.
snippets/i2s-duplex/e3_e7_rtss.overlay Enables I2S on E3/E7 RTSS and sets pinctrl for loopback wiring.
snippets/i2s-duplex/e4_e8_rtss.overlay Enables I2S on E4/E8 RTSS for loopback wiring.
samples/drivers/i2s_duplex/src/main.c Implements the full-duplex sample: configure, pre-queue TX, start, read RX blocks, verify pattern.
samples/drivers/i2s_duplex/README.rst Documents purpose, requirements, build commands, and example output.
samples/drivers/i2s_duplex/prj.conf Enables CONFIG_I2S for the sample build.
samples/drivers/i2s_duplex/CMakeLists.txt Adds build integration for the new sample.
Review details

Suppressed comments (1)

samples/drivers/i2s_duplex/src/main.c:70

  • The comment “+ive” is an unclear abbreviation; using “positive” makes the intent clearer.
		expected =
			(int16_t)((expected_sequence + i) & 0x7fff); /*wrap and +ive value */

  • Files reviewed: 9/9 changed files
  • Comments generated: 7
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread samples/drivers/i2s_duplex/src/main.c
Comment thread samples/drivers/i2s_duplex/src/main.c
Comment thread samples/drivers/i2s_duplex/CMakeLists.txt
Comment thread samples/drivers/i2s_duplex/src/main.c
Comment thread snippets/i2s-duplex/b1_rtss.overlay Outdated
Comment thread snippets/i2s-duplex/e3_e7_rtss.overlay Outdated
Comment thread snippets/i2s-duplex/e4_e8_rtss.overlay Outdated
*/

/*
* I2S_3 : Tested in E8 devkit pls short following pins:
Add I2S duplex sample with full-duplex TX/RX loopback verification.

App generates a transmit pattern, captures received blocks, and verifies
the RX data against the expected TX sequence.

Signed-off-by: Ganesh Kumar R <ganesh.ramani@alifsemi.com>

@RupeshKumar-AlifSemi RupeshKumar-AlifSemi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks OK

add snippets support for i2s duplex application.

Signed-off-by: Ganesh Kumar R <ganesh.ramani@alifsemi.com>

@sudhir-alifsemi sudhir-alifsemi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may merge these 2 commits

@@ -0,0 +1,26 @@
/*
* SPDX-FileCopyrightText: Copyright Alif Semiconductor
* SPDX-License-Identifier: Apache-2.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use alif private license

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants