Skip to content

feat(linux): Add audio-graph-card2 documentation - #759

Open
SenWang125 wants to merge 1 commit into
TexasInstruments:masterfrom
SenWang125:audio-graph-card2_doc
Open

feat(linux): Add audio-graph-card2 documentation#759
SenWang125 wants to merge 1 commit into
TexasInstruments:masterfrom
SenWang125:audio-graph-card2_doc

Conversation

@SenWang125

@SenWang125 SenWang125 commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Adding audio-graph-card2 support documentation as a part of McASP and its machine driver binding specifics.

@github-actions
github-actions Bot requested review from devarsht and r-vignesh July 28, 2026 01:33
@SenWang125
SenWang125 force-pushed the audio-graph-card2_doc branch 3 times, most recently from 686403c to aa6c5b6 Compare July 28, 2026 01:40
@SenWang125 SenWang125 closed this Jul 28, 2026
@SenWang125 SenWang125 reopened this Jul 28, 2026
@SenWang125 SenWang125 closed this Jul 28, 2026
@SenWang125 SenWang125 reopened this Jul 28, 2026
@SenWang125
SenWang125 marked this pull request as draft July 28, 2026 01:57
@SenWang125
SenWang125 marked this pull request as ready for review July 28, 2026 01:58
@SenWang125 SenWang125 closed this Jul 28, 2026
@SenWang125 SenWang125 reopened this Jul 28, 2026
@SenWang125
SenWang125 force-pushed the audio-graph-card2_doc branch 2 times, most recently from 3b86ae0 to f2ce624 Compare July 28, 2026 02:45

In this configuration:

* The two FE ports on the McASP node (``port@0``/``port@1``) use the same flat, non-DPCM ``ports`` binding as the previous example. DPCM fan-out is defined on the **card** side, in the ``dpcm`` sub-node, not on the McASP node itself

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

What do you mean by FE port?


In this configuration:

* One McASP DAI serves both codec links (here, a headphone codec and HDMI), each exposed as its own ``port@N`` endpoint under the McASP node's ``ports`` container

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Good to give execution steps too, ideally an overlay would have been better.

  1. User applies this DT change
  2. User plays using TLV codec path -> steps and cmd
  3. User wants to play HDMI audio -> steps (Jumper change) and cmd to select hdmi dai link


``simple-audio-card`` can already share one McASP instance across multiple independent codec links (see
the ``simple-audio-card`` multi-codec example above), using its ``cpu``/``codec`` phandle pairs.
**audio-graph-card2** describes the same kind of topology through the generic OF-graph ``ports``/``port``

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Highlight when user should switch to audio graph card2 and what are its advantages .

I think it helps avoid a system reboot when switching form tlv to HDMI codec as you had mentioned earlier as user just need to change the jumper right?

@StaticRocket StaticRocket left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There are quite a few acronyms that are never actually defined in this document

- No :sup:`1`
- | A fixed multiplier to sampling rate (𝑓\ :sub:`s`) for a given AUXCLK frequency for TX (and RX if ``auxclk-fs-ratio-rx`` not specified).
| :sup:`1` If not specified, dividers are calculated from ``.set_sysclk`` via the ASoC machine driver. (For common machine driver such as simple-audio-card or audio-graph-card, this is set via the ``system-clock-frequency = <>`` property in the DAI link).
| :sup:`1` If not specified, dividers are calculated from ``.set_sysclk`` via the ASoC machine driver. (For common machine driver such as simple-audio-card, audio-graph-card, or audio-graph-card2, this is set via the ``system-clock-frequency = <>`` property in the DAI link or endpoint).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
| :sup:`1` If not specified, dividers are calculated from ``.set_sysclk`` via the ASoC machine driver. (For common machine driver such as simple-audio-card, audio-graph-card, or audio-graph-card2, this is set via the ``system-clock-frequency = <>`` property in the DAI link or endpoint).
| :sup:`1` If not specified, dividers are calculated from ``.set_sysclk`` via the ASoC machine driver. The ``system-clock-frequency`` property in the DAI link or endpoint sets this value for common machine drivers such as simple-audio-card, audio-graph-card, or audio-graph-card2).

Most TI EVMs use simple-audio-card for its simplicity, though audio-graph-card or custom machine drivers are also supported.
Most TI EVMs use simple-audio-card for its simplicity, though audio-graph-card2 or custom machine drivers are also supported.
audio-graph-card2 describes DAI links through the generic OF-graph ``ports``/``port``/``endpoint`` bindings
on the McASP node instead of ``simple-audio-card``'s ``cpu``/``codec`` phandle pairs (see the example

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hm. The term phandle seems to be a colloquialism in the kernel for device tree references. It's well known enough to be used in the bindings, but not actually described in their documentation. Fun. Guess we should incorporate it in the accept list?

https://github.com/TexasInstruments/processor-sdk-doc/blob/master/CONTRIBUTING.md#vale-grammar-spelling-and-prose-checking

Comment on lines +351 to +352
on the McASP node instead of ``simple-audio-card``'s ``cpu``/``codec`` phandle pairs (see the example
below). It also handles a DPCM (Dynamic PCM) topology, where one front-end stream fans out to, or fans in from, more

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
on the McASP node instead of ``simple-audio-card``'s ``cpu``/``codec`` phandle pairs (see the example
below). It also handles a DPCM (Dynamic PCM) topology, where one front-end stream fans out to, or fans in from, more
on the McASP node instead of ``simple-audio-card``'s ``cpu``/``codec`` phandle pairs (see the following
example). It also handles a DPCM (Dynamic PCM) topology, where one front-end stream fans out to, or fans in from, more

@SenWang125
SenWang125 force-pushed the audio-graph-card2_doc branch from f2ce624 to d0289dd Compare July 28, 2026 21:29
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.

7 participants