Commit graph

13 commits

Author SHA1 Message Date
James Roy
17bf487da5 dts: bindings: dai: Change the property names in the DTS
Rename the following properties in bindings and DTS
to implement RFC-53506:

-- dai_id =>dai-id
-- afe_name => afe-name
-- agent_disable => agent-disable
-- ch_num => ch-num
-- mono_invert => mono-invert
-- quad_ch => quad-ch
-- int_odd => int-odd

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-17 19:58:53 +01:00
James Roy
36f6cafdb0 dts: bindings: clock: Change the property names in the DTS
Rename the following properties in bindings and DTS:
-- freqs_mhz => freqs-mhz
-- cg_reg => cg-reg
-- pll_ctrl_reg => pll-ctrl-reg

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-02-12 02:22:51 +01:00
Andy Ross
2363b6b595 soc/mediatek: Add DTS binding and definitions for AFE
Add a DTS binding for the MediaTek Audio Front End device, and
definitions for the in-tree devices.

These .dts files were auto-generated from pre-existing SOF code (that
defined the devices as C structs) using a tool currently being
submitted in the SOF tree, thus are included here as separate files.
The expectation is that future variants will be authored in this
format directly.  Longer term we can move them directly into the core
board DTS.

Signed-off-by: Andy Ross <andyross@google.com>
2025-01-16 22:38:04 +01:00
Andy Ross
eb7ab85fd8 boards/mediatek: Fix DTS mistakes
The two interrupt controller registers on 818x got spoonerized, oops.
Hilariously it actually worked (mostly) becuase the interrupt would
still be delivered, the controller isn't involved in the ACK/clear
process on thsi device, the and the set of pending interrupts was
masked against enabled ones.  Found it by accident when I moved things
around and caught a "spurious" interrupt.

Also the 8195 DRAM region was all packed in a single block that doesn't
honor the two regions defined in the host devicetree.  That's benign
from Zephyr (the memory in the hole actually is usable) but dangerous
for SOF as the second region is used by the host driver to allocate
DMA buffers and we can't touch it except as directed.  Honor the
scheme used by the other devices.

Signed-off-by: Andy Ross <andyross@google.com>
2025-01-06 20:33:04 +01:00
Andy Ross
481e2f2c97 soc/mediatek: Fix typo in mt8196 DMA region
Off-by-one-megabyte bug.

Signed-off-by: Andy Ross <andyross@google.com>
2025-01-06 20:33:04 +01:00
Andy Ross
cba7faedf9 boards/mediatek/mt8196: Fix mailbox addressses
Slipped an offset when transcribing these.

Signed-off-by: Andy Ross <andyross@google.com>
2025-01-06 20:33:04 +01:00
Andy Ross
fe5c11db05 boards/mediatek: Add mt8196_adsp
Add Zephyr support for the Audio DSP on the MT8196 SOC.  This is a
very similar device to previous designs.  Most of this patch is just
DTS.

The biggest delta is the more complicated second level interrupt
controller, though it is still able to be represented using some
vaguely clever DTS config over the older intc_mtk_adsp driver.

Also the memory layout is slightly different, requiring a little
indirection to set the initial boot stack address and log output
buffer.  And the timer "irq_ack" register bits moved.

Signed-off-by: Andy Ross <andyross@google.com>
2024-11-28 20:51:50 +01:00
Andy Ross
4b3874b9ea boards/mediated: Add twister.yaml
Add a twister YAML file for these devices.  Right now they're flagged
as xt-clang only, though xcc and SOF-derived gcc toolchains are known
to work too.  We'll enable the zephyr SDK once sdk-ng support lands.

Signed-off-by: Andy Ross <andyross@google.com>
2024-11-28 20:51:50 +01:00
Andy Ross
2b8d542815 boards/mtk_adsp: Add a doc page
Simple docs for this board family.  Not a lot of complexity currently.

Signed-off-by: Andy Ross <andyross@google.com>
2024-11-28 20:51:50 +01:00
Andy Ross
5364783ba1 soc: boards: Add Mediatek MT8186 and MT8188 audio DSPs
These are very similar devices to mt8195, minimal changes needed
beyond boilerplate configuration.

In the process, this reworks the board/soc layout to be HWMv2
compliant, with "adsp" becoming a CPU cluster beneath the SOC.  So the
name of the boards to west become e.g. "mt8195/mt8195/adsp" (which can
be shortened to "mt8195//adsp" if desired).

Note that the cpuclk driver is not yet ported, it works only with 8195
(the clocking/power architecture seems similar between the parts, but
the graph of wells and clocks is different and historically these have
been three separate drivers in SOF).  The biggest changes are in the
image/loader scripts, which needed some rework for cross-device
portability.

Signed-off-by: Andy Ross <andyross@google.com>
2024-11-28 20:51:50 +01:00
Benjamin Cabé
05d59f7207 boards: Set full_name for all boards
Full name was set based on the information available either in board
documentation or in Twister files.
Whenever applicable, vendor name was dropped from the full name so that
all boards have a consistent naming scheme.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-10-10 20:22:21 -04:00
Daniel Leung
bebff3fb35 soc: mt8195: remove prompts for SoC kconfigs
This removes the prompts for the mt8195 and related kconfigs,
so these cannot be overridden from command line (though
technically they cannot be disabled as they are being selected).
This also prevents them from appearing in the build .config
file as not being set even when we are being for other SoCs.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-07-08 15:53:08 +02:00
Andy Ross
df8395e3d8 soc: boards: Add MediaTek MT8195 Audio DSP
This is a soc/board integration for the MediaTek Audio DSP device on
the MT8195 SOC, along with a Zephyr mtk_adsp soc integration that will
work to support similar 8186 and 8188 device shortly.

A python loader (similar to cavsload.py) is included that will run in
developer mode on current chromebooks (an HP x360 13b-ca000 was
tested) with an unmodified kernel.

Signed-off-by: Andy Ross <andyross@google.com>
2024-06-01 05:40:05 -07:00