diff options
| author | Sudheer Papothi <spapothi@codeaurora.org> | 2016-04-15 03:28:38 +0530 |
|---|---|---|
| committer | Jeevan Shriram <jshriram@codeaurora.org> | 2016-04-22 14:59:05 -0700 |
| commit | c22099b3c0d2b7df6f0bc156c786dabd59c2fb4c (patch) | |
| tree | 5b8abf5d52157098bb49be1a2bfdb2933fd4e5cd /include/linux | |
| parent | 5fa08107106fc18a5a2fe7ed5738fecc2938cd6b (diff) | |
drivers: mfd: Move codec reset gpio config to early boot
WCD and WSA codecs uses MSM gpios that are accessed through pinctrl
mechanism. Codec reset gpios need to be configured before master
controller is initialized otherwise codec cannot be enumerated
on the bus. Add a new platform device driver to update reset gpio
configuration to valid state before bus initialization.
Change-Id: I1e36f4a85334704652c6b50950f50b90224a472e
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/mfd/msm-cdc-pinctrl.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/linux/mfd/msm-cdc-pinctrl.h b/include/linux/mfd/msm-cdc-pinctrl.h new file mode 100644 index 000000000000..a4a34c125581 --- /dev/null +++ b/include/linux/mfd/msm-cdc-pinctrl.h @@ -0,0 +1,34 @@ +/* Copyright (c) 2016, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __MFD_CDC_PINCTRL_H_ +#define __MFD_CDC_PINCTRL_H_ + +#include <linux/types.h> +#include <linux/of.h> + +#ifdef CONFIG_MSM_CDC_PINCTRL +extern int msm_cdc_pinctrl_select_sleep_state(struct device_node *); +extern int msm_cdc_pinctrl_select_active_state(struct device_node *); + +#else +int msm_cdc_pinctrl_select_sleep_state(struct device_node *np) +{ + return 0; +} +int msm_cdc_pinctrl_select_active_state(struct device_node *np) +{ + return 0; +} +#endif + +#endif |
