summaryrefslogtreecommitdiff
path: root/drivers/mfd/madera-i2c.c
diff options
context:
space:
mode:
authorRichard Fitzgerald <rf@opensource.cirrus.com>2019-05-30 15:39:53 +0100
committerLee Jones <lee.jones@linaro.org>2019-07-02 12:11:31 +0100
commit297939901f382f16ab78a8073cdfb2a6279bb654 (patch)
tree5dfcf6a62d97eaab8e062cd2c7b4645f4ad53138 /drivers/mfd/madera-i2c.c
parent1ef921b6d1b68887be22f02dabc6ae73c112dce4 (diff)
mfd: madera: Add Madera core support for CS47L92
This patch adds all the core support and defines for the Cirrus Logic CS42L92, CS47L92 and CS47L93 smart audio CODECs. Registers or fields are named MADERA_* if it is part of the common hardware platform and does not conflict with any other Madera codecs. It is named CS47L15_* if it is unique to CS47L15 and conflicts with definitions on other codecs. Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com> Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd/madera-i2c.c')
-rw-r--r--drivers/mfd/madera-i2c.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/mfd/madera-i2c.c b/drivers/mfd/madera-i2c.c
index bd868459cedb..3f4ab5dcf5c3 100644
--- a/drivers/mfd/madera-i2c.c
+++ b/drivers/mfd/madera-i2c.c
@@ -65,6 +65,14 @@ static int madera_i2c_probe(struct i2c_client *i2c,
regmap_32bit_config = &cs47l90_32bit_i2c_regmap;
}
break;
+ case CS42L92:
+ case CS47L92:
+ case CS47L93:
+ if (IS_ENABLED(CONFIG_MFD_CS47L92)) {
+ regmap_16bit_config = &cs47l92_16bit_i2c_regmap;
+ regmap_32bit_config = &cs47l92_32bit_i2c_regmap;
+ }
+ break;
default:
dev_err(&i2c->dev,
"Unknown Madera I2C device type %ld\n", type);
@@ -124,6 +132,9 @@ static const struct i2c_device_id madera_i2c_id[] = {
{ "cs47l85", CS47L85 },
{ "cs47l90", CS47L90 },
{ "cs47l91", CS47L91 },
+ { "cs42l92", CS42L92 },
+ { "cs47l92", CS47L92 },
+ { "cs47l93", CS47L93 },
{ "wm1840", WM1840 },
{ }
};