mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
extcon: arizona: Add support for WM8998 and WM1814
This patch adds support for the WM8998 and WM1814 codecs. These use the same IP version as WM5110 but have different clamp control. Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Acked-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This commit is contained in:
parent
37e57066d5
commit
d8d09564b8
1 changed files with 21 additions and 10 deletions
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* extcon-arizona.c - Extcon driver Wolfson Arizona devices
|
* extcon-arizona.c - Extcon driver Wolfson Arizona devices
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Wolfson Microelectronics plc
|
* Copyright (C) 2012-2014 Wolfson Microelectronics plc
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -154,6 +154,10 @@ static void arizona_extcon_hp_clamp(struct arizona_extcon_info *info,
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
switch (arizona->type) {
|
switch (arizona->type) {
|
||||||
|
case WM8998:
|
||||||
|
case WM1814:
|
||||||
|
mask = 0;
|
||||||
|
break;
|
||||||
case WM5110:
|
case WM5110:
|
||||||
case WM8280:
|
case WM8280:
|
||||||
mask = ARIZONA_HP1L_SHRTO | ARIZONA_HP1L_FLWR |
|
mask = ARIZONA_HP1L_SHRTO | ARIZONA_HP1L_FLWR |
|
||||||
|
@ -197,17 +201,19 @@ static void arizona_extcon_hp_clamp(struct arizona_extcon_info *info,
|
||||||
ret);
|
ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1L,
|
if (mask) {
|
||||||
mask, val);
|
ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1L,
|
||||||
if (ret != 0)
|
mask, val);
|
||||||
dev_warn(arizona->dev, "Failed to do clamp: %d\n",
|
if (ret != 0)
|
||||||
|
dev_warn(arizona->dev, "Failed to do clamp: %d\n",
|
||||||
ret);
|
ret);
|
||||||
|
|
||||||
ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1R,
|
ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1R,
|
||||||
mask, val);
|
mask, val);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
dev_warn(arizona->dev, "Failed to do clamp: %d\n",
|
dev_warn(arizona->dev, "Failed to do clamp: %d\n",
|
||||||
ret);
|
ret);
|
||||||
|
}
|
||||||
|
|
||||||
/* Restore the desired state while not doing the clamp */
|
/* Restore the desired state while not doing the clamp */
|
||||||
if (!clamp) {
|
if (!clamp) {
|
||||||
|
@ -1289,6 +1295,11 @@ static int arizona_extcon_probe(struct platform_device *pdev)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case WM8998:
|
||||||
|
case WM1814:
|
||||||
|
info->micd_clamp = true;
|
||||||
|
info->hpdet_ip_version = 2;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue