From: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
To: <broonie@kernel.org>
Cc: <alsa-devel@alsa-project.org>, <lgirdwood@gmail.com>,
<perex@perex.cz>, <tiwai@suse.com>,
<yung-chuan.liao@linux.intel.com>, <Basavaraj.Hiregoudar@amd.com>,
<Sunil-kumar.Dommati@amd.com>, <venkataprasad.potturu@amd.com>,
<Syed.SabaKareem@amd.com>, <Mario.Limonciello@amd.com>,
<Richard.Gong@amd.com>, <Vijendar.Mukunda@amd.com>,
<Poojitha.N@amd.com>, <linux-sound@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<sound-open-firmware@alsa-project.org>
Subject: [PATCH v2 00/10] ASoC: SOF/amd: ACP7.B support and ASP carveout firmware loading
Date: Wed, 14 Oct 2026 15:29:08 +0530 [thread overview]
Message-ID: <20261014100902.1215212-1-Vijendar.Mukunda@amd.com> (raw)
This series adds ACP7.B platform support to the AMD SOF driver stack
and implements the ASP-authenticated firmware load path required by
both ACP7.B and ACP7.F.
Patches 1-2 are preparatory renames and restructuring. The existing
acp7x machine table and chip descriptor are renamed to acp7f to
accurately reflect the hardware they target (ACP7.F). The probe
callback is restructured to select the per-revision descriptor via a
dedicated static pci_device_id entry rather than encoding it in
driver_data of the shared ID table.
Patches 3-4 add ACP7.B hardware support. Patch 3 adds the ACP7.B I2S
machine table with its driver name, firmware image, and topology file.
Patch 4 adds the acp7b chip descriptor and extends acp7x_pci_probe()
to select it for ACP7B_PCI_ID revisions alongside the existing
acp7f_desc path.
Patch 5 propagates the PCI subsystem Vendor and Device IDs from the
AMD SOF machine driver into mach_params, enabling downstream SDW
machine drivers to use them as an SSID.
Patch 6 is a cleanup: register variable declarations in the ACP7.x
SDW wake and PME handlers are consolidated to u32.
Patches 7-9 address PDM controller selection for ACP7.B/7.F. Patch 7
introduces acp-mach-common.h as a minimal shared header for types used
across all AMD ACP machine driver variants (I2S, SoundWire, and SOF),
and moves struct amd_pdm_pdata there from the SoundWire-specific
soc_amd_sdw_common.h. Patch 8 moves the ACP7X_PDM_DMIC0/1 constants
to acp-mach-common.h so there is a single shared location for all PDM
types and values, removing the duplicate definition from
sound/soc/sof/amd/acp.h. Patch 9 fixes a gap in the SDW machine select
path where pdm_sel was not propagated to the machine driver, preventing
acp-sdw-sof-mach.c from configuring the correct DMIC DAI link on
ACP7.B/7.F platforms.
Patch 10 implements the two-stage ASP carveout firmware load path for
ACP7.B and ACP7.F. At probe time the driver queries ASP for the
physical base address and ATU group of a pre-allocated 32 MB MALL
carveout region; probe fails immediately if ASP does not support
carveout. At load time the signed firmware image is sent to ASP via
the MPASP mailbox VALIDATE_IMAGE command. ASP authenticates the image
and deposits the raw binary into the carveout; the driver then
SHA-DMAs from the carveout into DSP IRAM. On D3->D0 resume the
carveout content is preserved, so the ASP authentication step is
skipped and the driver restores directly from the saved carveout
address.
Changes in v2:
- Add patch 8: move ACP7X_PDM_DMIC0/1 to acp-mach-common.h as the
canonical single definition, removing the duplicate from
sound/soc/sof/amd/acp.h
- Fix patch 10 (v1 patch 9): remove trailing blank line at EOF in
sound/soc/sof/amd/acp_asp_mailbox.c
Vijendar Mukunda (10):
ASoC: SOF: amd: rename acp7x machine table and descriptor to acp7f
ASoC: SOF: amd: select descriptor per PCI revision in acp7x probe
ASoC: amd: add I2S machine table for ACP7.B
ASoC: SOF: amd: add ACP7.B chip descriptor and wire per-revision probe
ASoC: SOF: amd: Propagate PCI subsystem Vendor and Device IDs
ASoC: SOF: amd: consolidate local variable declarations
ASoC: amd: acp: add acp-mach-common.h for shared machine driver types
ASoC: amd: acp: move ACP7X_PDM_DMIC0/1 to acp-mach-common.h
ASoC: SOF: amd: propagate pdm_sel to SDW machine driver via
mach->pdata
ASoC: SOF: amd: add ASP carveout firmware loading for ACP7.B/7.F
sound/soc/amd/acp-config.c | 22 +-
sound/soc/amd/acp/acp-mach-common.h | 29 ++
sound/soc/amd/acp/soc_amd_sdw_common.h | 14 +-
sound/soc/amd/mach-config.h | 3 +-
sound/soc/sof/amd/Makefile | 2 +-
sound/soc/sof/amd/acp-common.c | 17 +
sound/soc/sof/amd/acp-dsp-offset.h | 58 +++
sound/soc/sof/amd/acp-loader.c | 64 +++
sound/soc/sof/amd/acp-stream.c | 9 -
sound/soc/sof/amd/acp.c | 91 +++-
sound/soc/sof/amd/acp.h | 110 ++++-
sound/soc/sof/amd/acp7x.c | 11 +-
sound/soc/sof/amd/acp_asp_mailbox.c | 558 +++++++++++++++++++++++++
sound/soc/sof/amd/pci-acp7x.c | 80 +++-
14 files changed, 1008 insertions(+), 60 deletions(-)
create mode 100644 sound/soc/amd/acp/acp-mach-common.h
create mode 100644 sound/soc/sof/amd/acp_asp_mailbox.c
--
2.48.1
next reply other threads:[~2026-10-14 10:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-14 9:59 Vijendar Mukunda [this message]
2026-10-14 9:59 ` [PATCH v2 01/10] ASoC: SOF: amd: rename acp7x machine table and descriptor to acp7f Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 02/10] ASoC: SOF: amd: select descriptor per PCI revision in acp7x probe Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 03/10] ASoC: amd: add I2S machine table for ACP7.B Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 04/10] ASoC: SOF: amd: add ACP7.B chip descriptor and wire per-revision probe Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 05/10] ASoC: SOF: amd: Propagate PCI subsystem Vendor and Device IDs Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 06/10] ASoC: SOF: amd: consolidate local variable declarations Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 07/10] ASoC: amd: acp: add acp-mach-common.h for shared machine driver types Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 08/10] ASoC: amd: acp: move ACP7X_PDM_DMIC0/1 to acp-mach-common.h Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 09/10] ASoC: SOF: amd: propagate pdm_sel to SDW machine driver via mach->pdata Vijendar Mukunda
2026-10-14 9:59 ` [PATCH v2 10/10] ASoC: SOF: amd: add ASP carveout firmware loading for ACP7.B/7.F Vijendar Mukunda
2026-10-14 10:44 ` [PATCH v2 00/10] ASoC: SOF/amd: ACP7.B support and ASP carveout firmware loading Mark Brown
2026-10-14 11:51 ` Mukunda,Vijendar
2026-10-14 11:55 ` Mark Brown
2026-10-14 12:10 ` Mukunda,Vijendar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261014100902.1215212-1-Vijendar.Mukunda@amd.com \
--to=vijendar.mukunda@amd.com \
--cc=Basavaraj.Hiregoudar@amd.com \
--cc=Mario.Limonciello@amd.com \
--cc=Poojitha.N@amd.com \
--cc=Richard.Gong@amd.com \
--cc=Sunil-kumar.Dommati@amd.com \
--cc=Syed.SabaKareem@amd.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=sound-open-firmware@alsa-project.org \
--cc=tiwai@suse.com \
--cc=venkataprasad.potturu@amd.com \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®