This patch adds bindings for the basic microphone detection platform data. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> --- drivers/extcon/extcon-arizona.c | 30 ++++++++++++++++++++++++++++++ include/linux/mfd/arizona/pdata.h | 3 +++ 2 files changed, 33 insertions(+), 0 deletions(-) diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c index d990495..6826d99 100644 --- a/drivers/extcon/extcon-arizona.c +++ b/drivers/extcon/extcon-arizona.c @@ -1115,6 +1115,7 @@ static int arizona_extcon_device_get_pdata(struct arizona *arizona) { struct arizona_pdata *pdata = &arizona->pdata; unsigned int val = ARIZONA_ACCDET_MODE_HPL; + unsigned int num_debounces; device_property_read_u32(arizona->dev, "wlf,hpdet-channel", &val); switch (val) { @@ -1128,6 +1129,35 @@ static int arizona_extcon_device_get_pdata(struct arizona *arizona) pdata->hpdet_channel = ARIZONA_ACCDET_MODE_HPL; } + device_property_read_u32(arizona->dev, "wlf,micd-detect-debounce", + &pdata->micd_detect_debounce); + + device_property_read_u32(arizona->dev, "wlf,micd-bias-start-time", + &pdata->micd_bias_start_time); + + device_property_read_u32(arizona->dev, "wlf,micd-rate", + &pdata->micd_rate); + + num_debounces = 0; + device_property_read_u32(arizona->dev, "wlf,micd-dbtime", + &num_debounces); + switch (num_debounces) { + case 2: + pdata->micd_dbtime = ARIZONA_MICD_DBTIME_TWO_DEBOUNCES; + break; + case 4: + pdata->micd_dbtime = ARIZONA_MICD_DBTIME_FOUR_DEBOUNCES; + break; + default: + break; + } + + device_property_read_u32(arizona->dev, "wlf,micd-timeout", + &pdata->micd_timeout); + + pdata->micd_force_micbias = device_property_read_bool(arizona->dev, + "wlf,micd-force-micbias"); + return 0; } diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h index aa5c48b..af44081 100644 --- a/include/linux/mfd/arizona/pdata.h +++ b/include/linux/mfd/arizona/pdata.h @@ -53,6 +53,9 @@ #define ARIZONA_MAX_PDM_SPK 2 +#define ARIZONA_MICD_DBTIME_TWO_DEBOUNCES 0x10000 +#define ARIZONA_MICD_DBTIME_FOUR_DEBOUNCES 0x0001 + struct regulator_init_data; struct arizona_micbias { -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in