From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754894AbbFSKiu (ORCPT ); Fri, 19 Jun 2015 06:38:50 -0400 Received: from opensource.wolfsonmicro.com ([80.75.67.52]:56212 "EHLO opensource.wolfsonmicro.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751311AbbFSKiT (ORCPT ); Fri, 19 Jun 2015 06:38:19 -0400 From: Charles Keepax To: cw00.choi@samsung.com Cc: myungjoo.ham@samsung.com, linux-kernel@vger.kernel.org, patches@opensource.wolfsonmicro.com Subject: [PATCH v3 3/7] extcon: arizona: Add basic microphone detection DT/ACPI bindings Date: Fri, 19 Jun 2015 11:24:23 +0100 Message-Id: <1434709467-28147-4-git-send-email-ckeepax@opensource.wolfsonmicro.com> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1434709467-28147-1-git-send-email-ckeepax@opensource.wolfsonmicro.com> References: <1434709467-28147-1-git-send-email-ckeepax@opensource.wolfsonmicro.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds bindings for the basic microphone detection platform data. Signed-off-by: Charles Keepax --- 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