Skip to content

Commit

Permalink
extcon: arizona: Allow pull to be disabled on GPIO5 when used for JACKET
Browse files Browse the repository at this point in the history
In some designs an external pull won't be needed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Mark Brown committed Apr 2, 2013
1 parent 77ff4f9 commit e56a0a5
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
9 changes: 7 additions & 2 deletions drivers/extcon/extcon-arizona.c
Original file line number Diff line number Diff line change
Expand Up @@ -986,6 +986,7 @@ static int arizona_extcon_probe(struct platform_device *pdev)
struct arizona *arizona = dev_get_drvdata(pdev->dev.parent);
struct arizona_pdata *pdata;
struct arizona_extcon_info *info;
unsigned int val;
int jack_irq_fall, jack_irq_rise;
int ret, mode, i, j;

Expand Down Expand Up @@ -1172,9 +1173,13 @@ static int arizona_extcon_probe(struct platform_device *pdev)
*/
if (info->micd_clamp) {
if (arizona->pdata.jd_gpio5) {
/* Put the GPIO into input mode */
/* Put the GPIO into input mode with optional pull */
val = 0xc101;
if (arizona->pdata.jd_gpio5_nopull)
val &= ~ARIZONA_GPN_PU;

regmap_write(arizona->regmap, ARIZONA_GPIO5_CTRL,
0xc101);
val);

regmap_update_bits(arizona->regmap,
ARIZONA_MICD_CLAMP_CONTROL,
Expand Down
3 changes: 3 additions & 0 deletions include/linux/mfd/arizona/pdata.h
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@ struct arizona_pdata {
/** GPIO5 is used for jack detection */
bool jd_gpio5;

/** Internal pull on GPIO5 is disabled when used for jack detection */
bool jd_gpio5_nopull;

/** Use the headphone detect circuit to identify the accessory */
bool hpdet_acc_id;

Expand Down

0 comments on commit e56a0a5

Please sign in to comment.