diff options
| author | Mark Brown <broonie@kernel.org> | 2026-09-18 23:15:35 +0200 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-09-18 23:15:35 +0200 |
| commit | 00e208e9edc0656594b86b65a9073dec7f5cde3f (patch) | |
| tree | d1ef643a151f10e3a5409e4b58fa0070246a653c /tools/perf/scripts/python | |
| parent | f25d142baa23a94a16e3da20715f69f1166826ea (diff) | |
| parent | 10d321c76b1e6605031b604bf89833d7ff2f8385 (diff) | |
ASoC: add ESS Technology ES9039Q2M codec driver
Karl Asseily <karl@asseily.com> says:
This series adds support for the ESS Technology ES9039Q2M, a 32-bit
two-channel audio DAC with an asynchronous sample rate converter,
controlled over I2C. The part also has a hardware mode strapped by
HW0/HW1/HW2 with no control bus at all; this driver implements the
software mode that MODE = GND selects.
Two things about the part shape the driver:
- Selecting an input format takes two registers, not one. INPUT_SEL
chooses the port; SYS MODE CONFIG enables the matching decoder, and at
reset only ENABLE_TDM_DECODE is set. Selecting DoP without also
enabling ENABLE_DOP_DECODE leaves the part hunting for a marker with
the marker decoder switched off, so it finds nothing and mutes. The
driver writes both.
- Several registers have non-zero reserved defaults - register 88 reads
0xb8 at reset - so every write is read-modify-write.
The programmable FIR coefficient controls are write-only by design.
PROG_COEFF_OUT is documented as a coefficient readback but is not a RAM
read port: it returns the last coefficient written, whatever address is
selected in PROG_COEFF_ADDR. Measured with the driver out of the path,
five sequences, ten reads, all returning the same value. A get() built on
that register would return something with the shape of data and none of
its meaning, so there is none.
Every control has been verified against the silicon rather than against
the driver's own read-back - written through ALSA, then read over raw I2C
- and DSD, DoP and S/PDIF input are all implemented and tested on
hardware.
ESS Technology has no bindings in the tree today, so the series also adds
the vendor prefix, taken from the company's domain esstech.com.
Link: https://patch.msgid.link/20260918182317.143223-1-karl@asseily.com
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
