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:
Родитель
37e57066d5
Коммит
d8d09564b8
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* 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
|
||||
* 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;
|
||||
|
||||
switch (arizona->type) {
|
||||
case WM8998:
|
||||
case WM1814:
|
||||
mask = 0;
|
||||
break;
|
||||
case WM5110:
|
||||
case WM8280:
|
||||
mask = ARIZONA_HP1L_SHRTO | ARIZONA_HP1L_FLWR |
|
||||
|
@ -197,17 +201,19 @@ static void arizona_extcon_hp_clamp(struct arizona_extcon_info *info,
|
|||
ret);
|
||||
}
|
||||
|
||||
ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1L,
|
||||
mask, val);
|
||||
if (ret != 0)
|
||||
dev_warn(arizona->dev, "Failed to do clamp: %d\n",
|
||||
if (mask) {
|
||||
ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1L,
|
||||
mask, val);
|
||||
if (ret != 0)
|
||||
dev_warn(arizona->dev, "Failed to do clamp: %d\n",
|
||||
ret);
|
||||
|
||||
ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1R,
|
||||
mask, val);
|
||||
if (ret != 0)
|
||||
dev_warn(arizona->dev, "Failed to do clamp: %d\n",
|
||||
ret);
|
||||
ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1R,
|
||||
mask, val);
|
||||
if (ret != 0)
|
||||
dev_warn(arizona->dev, "Failed to do clamp: %d\n",
|
||||
ret);
|
||||
}
|
||||
|
||||
/* Restore the desired state while not doing the clamp */
|
||||
if (!clamp) {
|
||||
|
@ -1289,6 +1295,11 @@ static int arizona_extcon_probe(struct platform_device *pdev)
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case WM8998:
|
||||
case WM1814:
|
||||
info->micd_clamp = true;
|
||||
info->hpdet_ip_version = 2;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче