Skip to content
Snippets Groups Projects
Commit 07cf7cba authored by Bard Liao's avatar Bard Liao Committed by Mark Brown
Browse files

ASoC: add RT286 CODEC driver


This patch adds Realtek ALC286 codec driver.

ALC286 is a dual mode codec, which can run as HD-A or I2S mode.
It is controlled by HD-A verb commands via I2C protocol.
The following is the I/O difference between ALC286 and general I2S codecs.
1. A HD-A verb command contains three parts, NID, VID, and PID.
   And an I2S command contains only two parts: address and data.
2. Not only the register address is written, but the read command also
   includes the entire write command.
3. rt286 uses different registers for read and write the same bits.

We map verb command to regmap structure. However, we read most registers from
cache to prevent the asymmetry read/write issue in rt286.

Signed-off-by: default avatarBard Liao <bardliao@realtek.com>
Signed-off-by: default avatarGustaw Lewandowski <gustaw.lewandowski@intel.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 7171511e
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment