[PATCH v2 3/9] regulator: mt6380: Add support for MT6380

Yingjoe Chen yingjoe.chen at mediatek.com
Wed Aug 9 02:22:39 PDT 2017


On Tue, 2017-07-18 at 17:49 +0800, sean.wang at mediatek.com wrote:
> From: Chenglin Xu <chenglin.xu at mediatek.com>
> 
> The MT6380 is a regulator found those boards with MediaTek MT7622 SoC
> It is connected as a slave to the SoC using MediaTek PMIC wrapper which
> is the common interface connecting with Mediatek made various PMICs.
> 
> Signed-off-by: Chenglin Xu <chenglin.xu at mediatek.com>
> Signed-off-by: Sean Wang <sean.wang at mediatek.com>
> ---
>  drivers/regulator/Kconfig                  |   9 +
>  drivers/regulator/Makefile                 |   1 +
>  drivers/regulator/mt6380-regulator.c       | 359 +++++++++++++++++++++++++++++
>  include/linux/regulator/mt6380-regulator.h |  32 +++
>  4 files changed, 401 insertions(+)
>  create mode 100644 drivers/regulator/mt6380-regulator.c
>  create mode 100644 include/linux/regulator/mt6380-regulator.h
> 
> diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
> index 48db87d..c46ef9c 100644
> --- a/drivers/regulator/Kconfig
> +++ b/drivers/regulator/Kconfig
> @@ -541,6 +541,15 @@ config REGULATOR_MT6323
>  	  This driver supports the control of different power rails of device
>  	  through regulator interface.
>  
> +config REGULATOR_MT6380
> +	tristate "MediaTek MT6380 PMIC"
> +	depends on MTK_PMIC_WRAP
> +	help
> +	  Say y here to select this option to enable the power regulator of
> +	  MediaTek MT6380 PMIC.
> +	  This driver supports the control of different power rails of device
> +	  through regulator interface.
> +
>  config REGULATOR_MT6397
>  	tristate "MediaTek MT6397 PMIC"
>  	depends on MFD_MT6397
> diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile
> index dc3503f..5148583 100644
> --- a/drivers/regulator/Makefile
> +++ b/drivers/regulator/Makefile
> @@ -70,6 +70,7 @@ obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o
>  obj-$(CONFIG_REGULATOR_MC13XXX_CORE) +=  mc13xxx-regulator-core.o
>  obj-$(CONFIG_REGULATOR_MT6311) += mt6311-regulator.o
>  obj-$(CONFIG_REGULATOR_MT6323)	+= mt6323-regulator.o
> +obj-$(CONFIG_REGULATOR_MT6380)	+= mt6380-regulator.o
>  obj-$(CONFIG_REGULATOR_MT6397)	+= mt6397-regulator.o
>  obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o
>  obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o
> diff --git a/drivers/regulator/mt6380-regulator.c b/drivers/regulator/mt6380-regulator.c
> new file mode 100644
> index 0000000..5fca36f
> --- /dev/null
> +++ b/drivers/regulator/mt6380-regulator.c

<...>

> +static struct regulator_ops mt6380_volt_range_ops = {
> +	.list_voltage = regulator_list_voltage_linear_range,
> +	.map_voltage = regulator_map_voltage_linear_range,
> +	.set_voltage_sel = regulator_set_voltage_sel_regmap,
> +	.get_voltage_sel = regulator_get_voltage_sel_regmap,
> +	.set_voltage_time_sel = regulator_set_voltage_time_sel,
> +	.enable = regulator_enable_regmap,
> +	.disable = regulator_disable_regmap,
> +	.is_enabled = regulator_is_enabled_regmap,
> +	.set_mode = mt6380_regulator_set_mode,
> +	.get_mode = mt6380_regulator_get_mode,
> +};
> +
> +static struct regulator_ops mt6380_volt_table_ops = {
> +	.list_voltage = regulator_list_voltage_table,
> +	.map_voltage = regulator_map_voltage_iterate,
> +	.set_voltage_sel = regulator_set_voltage_sel_regmap,
> +	.get_voltage_sel = regulator_get_voltage_sel_regmap,
> +	.set_voltage_time_sel = regulator_set_voltage_time_sel,
> +	.enable = regulator_enable_regmap,
> +	.disable = regulator_disable_regmap,
> +	.is_enabled = regulator_is_enabled_regmap,
> +	.set_mode = mt6380_regulator_set_mode,
> +	.get_mode = mt6380_regulator_get_mode,
> +};
> +
> +static struct regulator_ops mt6380_volt_fixed_ops = {

this should be const.

Joe.C





More information about the Linux-mediatek mailing list