* [PATCH v4 0/2] regulator: get voltage & duty table from dts for st-pwm @ 2014-09-22 2:52 ` Chris Zhong 0 siblings, 0 replies; 8+ messages in thread From: Chris Zhong @ 2014-09-22 2:52 UTC (permalink / raw) To: dianders-F7+t8E8rja9g9hUCZPvPmw, heiko-4mtYJXux2i+zQB+pC5nmwQ Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, lee.jones-QSEj5FYQhm4dnm+yROfE0A, broonie-DgEjT+Ai2ygdnm+yROfE0A, Chris Zhong, devicetree-u79uwXL29TY76Z2rM5mHXA, Liam Girdwood, Kumar Gala, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Grant Likely, Ian Campbell, Rob Herring, Pawel Moll, Mark Rutland get voltage & duty table from device tree might be better, other platforms can also use this driver without any modify. Tested on a rk3288 sdk board as logic voltage regulator. Changes in v4: Adviced by Doug Anderson - improve kconfig - add const for desc structure Changes in v3: Adviced by Doug Anderson - Make Kconfig & Makefile alphabetical - remove pwm_reg_period from pwm_regulator_data - modify the calculation in pwm_regulator_set_voltage_sel - add length validity check Adviced by Doug Anderson - update the Example Changes in v2: Adviced by Lee Jones - rename the file - remove all the prefix st_ - add depend on PWM in Kconfig Adviced by Lee Jones - rename the documentation Adviced by Doug Anderson - update the example Adviced by Mark Rutland - remove pwm-reg-period Chris Zhong (2): regulator: st-pwm: get voltage and duty table from dts dt-bindings: add devicetree bindings for st-pwm regulator .../bindings/regulator/pwm-regulator.txt | 27 +++ drivers/regulator/Kconfig | 13 +- drivers/regulator/Makefile | 2 +- drivers/regulator/pwm-regulator.c | 197 ++++++++++++++++++++ drivers/regulator/st-pwm.c | 190 ------------------- 5 files changed, 232 insertions(+), 197 deletions(-) create mode 100644 Documentation/devicetree/bindings/regulator/pwm-regulator.txt create mode 100644 drivers/regulator/pwm-regulator.c delete mode 100644 drivers/regulator/st-pwm.c -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 0/2] regulator: get voltage & duty table from dts for st-pwm @ 2014-09-22 2:52 ` Chris Zhong 0 siblings, 0 replies; 8+ messages in thread From: Chris Zhong @ 2014-09-22 2:52 UTC (permalink / raw) To: dianders, heiko Cc: linux-rockchip, lee.jones, broonie, Chris Zhong, devicetree, Liam Girdwood, Kumar Gala, linux-kernel, Grant Likely, Ian Campbell, Rob Herring, Pawel Moll, Mark Rutland get voltage & duty table from device tree might be better, other platforms can also use this driver without any modify. Tested on a rk3288 sdk board as logic voltage regulator. Changes in v4: Adviced by Doug Anderson - improve kconfig - add const for desc structure Changes in v3: Adviced by Doug Anderson - Make Kconfig & Makefile alphabetical - remove pwm_reg_period from pwm_regulator_data - modify the calculation in pwm_regulator_set_voltage_sel - add length validity check Adviced by Doug Anderson - update the Example Changes in v2: Adviced by Lee Jones - rename the file - remove all the prefix st_ - add depend on PWM in Kconfig Adviced by Lee Jones - rename the documentation Adviced by Doug Anderson - update the example Adviced by Mark Rutland - remove pwm-reg-period Chris Zhong (2): regulator: st-pwm: get voltage and duty table from dts dt-bindings: add devicetree bindings for st-pwm regulator .../bindings/regulator/pwm-regulator.txt | 27 +++ drivers/regulator/Kconfig | 13 +- drivers/regulator/Makefile | 2 +- drivers/regulator/pwm-regulator.c | 197 ++++++++++++++++++++ drivers/regulator/st-pwm.c | 190 ------------------- 5 files changed, 232 insertions(+), 197 deletions(-) create mode 100644 Documentation/devicetree/bindings/regulator/pwm-regulator.txt create mode 100644 drivers/regulator/pwm-regulator.c delete mode 100644 drivers/regulator/st-pwm.c -- 1.7.9.5 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 1/2] regulator: st-pwm: get voltage and duty table from dts 2014-09-22 2:52 ` Chris Zhong (?) @ 2014-09-22 2:52 ` Chris Zhong 2014-09-22 4:18 ` Doug Anderson -1 siblings, 1 reply; 8+ messages in thread From: Chris Zhong @ 2014-09-22 2:52 UTC (permalink / raw) To: dianders, heiko Cc: linux-rockchip, lee.jones, broonie, Chris Zhong, Liam Girdwood, Grant Likely, Rob Herring, linux-kernel, devicetree Get voltage & duty table from device tree might be better, other platforms can also use this driver without any modify. Signed-off-by: Chris Zhong <zyw@rock-chips.com> Reviewed-by: Doug Anderson <dianders@chromium.org> --- Changes in v4: Adviced by Doug Anderson - improve kconfig - add const for desc structure Changes in v3: Adviced by Doug Anderson - Make Kconfig & Makefile alphabetical - remove pwm_reg_period from pwm_regulator_data - modify the calculation in pwm_regulator_set_voltage_sel - add length validity check Changes in v2: Adviced by Lee Jones - rename the file - remove all the prefix st_ - add depend on PWM in Kconfig drivers/regulator/Kconfig | 13 +-- drivers/regulator/Makefile | 2 +- drivers/regulator/pwm-regulator.c | 197 +++++++++++++++++++++++++++++++++++++ drivers/regulator/st-pwm.c | 190 ----------------------------------- 4 files changed, 205 insertions(+), 197 deletions(-) create mode 100644 drivers/regulator/pwm-regulator.c delete mode 100644 drivers/regulator/st-pwm.c diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index fb32bab..b927cab 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -449,6 +449,13 @@ config REGULATOR_PFUZE100 Say y here to support the regulators found on the Freescale PFUZE100/PFUZE200 PMIC. +config REGULATOR_PWM + tristate "PWM voltage regulator" + depends on PWM + help + This driver supports PWM controlled voltage regulators. PWM + duty cycle can increase or decrease the voltage. + config REGULATOR_RC5T583 tristate "RICOH RC5T583 Power regulators" depends on MFD_RC5T583 @@ -493,12 +500,6 @@ config REGULATOR_S5M8767 via I2C bus. S5M8767A have 9 Bucks and 28 LDOs output and supports DVS mode with 8bits of output voltage control. -config REGULATOR_ST_PWM - tristate "STMicroelectronics PWM voltage regulator" - depends on ARCH_STI - help - This driver supports ST's PWM controlled voltage regulators. - config REGULATOR_TI_ABB tristate "TI Adaptive Body Bias on-chip LDO" depends on ARCH_OMAP diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile index 236fdbb..f3cf5a5 100644 --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile @@ -57,6 +57,7 @@ obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o obj-$(CONFIG_REGULATOR_MC13XXX_CORE) += mc13xxx-regulator-core.o obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o +obj-$(CONFIG_REGULATOR_PWM) += pwm-regulator.o obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o obj-$(CONFIG_REGULATOR_PBIAS) += pbias-regulator.o obj-$(CONFIG_REGULATOR_PCAP) += pcap-regulator.o @@ -66,7 +67,6 @@ obj-$(CONFIG_REGULATOR_RK808) += rk808-regulator.o obj-$(CONFIG_REGULATOR_S2MPA01) += s2mpa01.o obj-$(CONFIG_REGULATOR_S2MPS11) += s2mps11.o obj-$(CONFIG_REGULATOR_S5M8767) += s5m8767.o -obj-$(CONFIG_REGULATOR_ST_PWM) += st-pwm.o obj-$(CONFIG_REGULATOR_STW481X_VMMC) += stw481x-vmmc.o obj-$(CONFIG_REGULATOR_TI_ABB) += ti-abb-regulator.o obj-$(CONFIG_REGULATOR_TPS6105X) += tps6105x-regulator.o diff --git a/drivers/regulator/pwm-regulator.c b/drivers/regulator/pwm-regulator.c new file mode 100644 index 0000000..d3f55ea --- /dev/null +++ b/drivers/regulator/pwm-regulator.c @@ -0,0 +1,197 @@ +/* + * Regulator driver for PWM Regulators + * + * Copyright (C) 2014 - STMicroelectronics Inc. + * + * Author: Lee Jones <lee.jones@linaro.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include <linux/module.h> +#include <linux/init.h> +#include <linux/err.h> +#include <linux/regulator/driver.h> +#include <linux/regulator/machine.h> +#include <linux/regulator/of_regulator.h> +#include <linux/of.h> +#include <linux/of_device.h> +#include <linux/pwm.h> + +struct pwm_regulator_data { + struct regulator_desc desc; + struct pwm_voltages *duty_cycle_table; + struct pwm_device *pwm; + bool enabled; + int state; +}; + +struct pwm_voltages { + unsigned int uV; + unsigned int dutycycle; +}; + +static int pwm_regulator_get_voltage_sel(struct regulator_dev *dev) +{ + struct pwm_regulator_data *drvdata = rdev_get_drvdata(dev); + + return drvdata->state; +} + +static int pwm_regulator_set_voltage_sel(struct regulator_dev *dev, + unsigned selector) +{ + struct pwm_regulator_data *drvdata = rdev_get_drvdata(dev); + unsigned int pwm_reg_period; + int dutycycle; + int ret; + + pwm_reg_period = pwm_get_period(drvdata->pwm); + + dutycycle = (pwm_reg_period * + drvdata->duty_cycle_table[selector].dutycycle) / 100; + + ret = pwm_config(drvdata->pwm, dutycycle, pwm_reg_period); + if (ret) { + dev_err(&dev->dev, "Failed to configure PWM\n"); + return ret; + } + + drvdata->state = selector; + + if (!drvdata->enabled) { + ret = pwm_enable(drvdata->pwm); + if (ret) { + dev_err(&dev->dev, "Failed to enable PWM\n"); + return ret; + } + drvdata->enabled = true; + } + + return 0; +} + +static int pwm_regulator_list_voltage(struct regulator_dev *dev, + unsigned selector) +{ + struct pwm_regulator_data *drvdata = rdev_get_drvdata(dev); + + if (selector >= drvdata->desc.n_voltages) + return -EINVAL; + + return drvdata->duty_cycle_table[selector].uV; +} + +static struct regulator_ops pwm_regulator_voltage_ops = { + .set_voltage_sel = pwm_regulator_set_voltage_sel, + .get_voltage_sel = pwm_regulator_get_voltage_sel, + .list_voltage = pwm_regulator_list_voltage, + .map_voltage = regulator_map_voltage_iterate, +}; + +static const struct regulator_desc pwm_regulator_desc = { + .name = "pwm-regulator", + .ops = &pwm_regulator_voltage_ops, + .type = REGULATOR_VOLTAGE, + .owner = THIS_MODULE, + .supply_name = "pwm", +}; + +static int pwm_regulator_probe(struct platform_device *pdev) +{ + struct pwm_regulator_data *drvdata; + struct property *prop; + struct regulator_dev *regulator; + struct regulator_config config = { }; + struct device_node *np = pdev->dev.of_node; + int length, ret; + + if (!np) { + dev_err(&pdev->dev, "Device Tree node missing\n"); + return -EINVAL; + } + + drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL); + if (!drvdata) + return -ENOMEM; + + memcpy(&drvdata->desc, &pwm_regulator_desc, sizeof(pwm_regulator_desc)); + + /* determine the number of voltage-table */ + prop = of_find_property(np, "voltage-table", &length); + if (!prop) { + dev_err(&pdev->dev, "No voltage-table\n"); + return -EINVAL; + } + + if ((length < sizeof(*drvdata->duty_cycle_table)) || + (length % sizeof(*drvdata->duty_cycle_table))) { + dev_err(&pdev->dev, "voltage-table length(%d) is invalid\n", + length); + return -EINVAL; + } + + drvdata->desc.n_voltages = length / sizeof(*drvdata->duty_cycle_table); + + drvdata->duty_cycle_table = devm_kzalloc(&pdev->dev, + length, GFP_KERNEL); + if (!drvdata->duty_cycle_table) + return -ENOMEM; + + /* read voltage table from DT property */ + ret = of_property_read_u32_array(np, "voltage-table", + (u32 *)drvdata->duty_cycle_table, + length / sizeof(u32)); + if (ret < 0) { + dev_err(&pdev->dev, "read voltage-table failed\n"); + return ret; + } + + config.init_data = of_get_regulator_init_data(&pdev->dev, np); + if (!config.init_data) + return -ENOMEM; + + config.of_node = np; + config.dev = &pdev->dev; + config.driver_data = drvdata; + + drvdata->pwm = devm_pwm_get(&pdev->dev, NULL); + if (IS_ERR(drvdata->pwm)) { + dev_err(&pdev->dev, "Failed to get PWM\n"); + return PTR_ERR(drvdata->pwm); + } + + regulator = devm_regulator_register(&pdev->dev, + &drvdata->desc, &config); + if (IS_ERR(regulator)) { + dev_err(&pdev->dev, "Failed to register regulator %s\n", + drvdata->desc.name); + return PTR_ERR(regulator); + } + + return 0; +} + +static const struct of_device_id pwm_of_match[] = { + { .compatible = "pwm-regulator" }, + { }, +}; +MODULE_DEVICE_TABLE(of, pwm_of_match); + +static struct platform_driver pwm_regulator_driver = { + .driver = { + .name = "pwm-regulator", + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(pwm_of_match), + }, + .probe = pwm_regulator_probe, +}; + +module_platform_driver(pwm_regulator_driver); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Lee Jones <lee.jones@linaro.org>"); +MODULE_DESCRIPTION("PWM Regulator Driver"); +MODULE_ALIAS("platform:pwm-regulator"); diff --git a/drivers/regulator/st-pwm.c b/drivers/regulator/st-pwm.c deleted file mode 100644 index 5ea78df..0000000 --- a/drivers/regulator/st-pwm.c +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Regulator driver for ST's PWM Regulators - * - * Copyright (C) 2014 - STMicroelectronics Inc. - * - * Author: Lee Jones <lee.jones@linaro.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include <linux/module.h> -#include <linux/init.h> -#include <linux/err.h> -#include <linux/regulator/driver.h> -#include <linux/regulator/machine.h> -#include <linux/regulator/of_regulator.h> -#include <linux/of.h> -#include <linux/of_device.h> -#include <linux/pwm.h> - -#define ST_PWM_REG_PERIOD 8448 - -struct st_pwm_regulator_pdata { - const struct regulator_desc *desc; - struct st_pwm_voltages *duty_cycle_table; -}; - -struct st_pwm_regulator_data { - const struct st_pwm_regulator_pdata *pdata; - struct pwm_device *pwm; - bool enabled; - int state; -}; - -struct st_pwm_voltages { - unsigned int uV; - unsigned int dutycycle; -}; - -static int st_pwm_regulator_get_voltage_sel(struct regulator_dev *dev) -{ - struct st_pwm_regulator_data *drvdata = rdev_get_drvdata(dev); - - return drvdata->state; -} - -static int st_pwm_regulator_set_voltage_sel(struct regulator_dev *dev, - unsigned selector) -{ - struct st_pwm_regulator_data *drvdata = rdev_get_drvdata(dev); - int dutycycle; - int ret; - - dutycycle = (ST_PWM_REG_PERIOD / 100) * - drvdata->pdata->duty_cycle_table[selector].dutycycle; - - ret = pwm_config(drvdata->pwm, dutycycle, ST_PWM_REG_PERIOD); - if (ret) { - dev_err(&dev->dev, "Failed to configure PWM\n"); - return ret; - } - - drvdata->state = selector; - - if (!drvdata->enabled) { - ret = pwm_enable(drvdata->pwm); - if (ret) { - dev_err(&dev->dev, "Failed to enable PWM\n"); - return ret; - } - drvdata->enabled = true; - } - - return 0; -} - -static int st_pwm_regulator_list_voltage(struct regulator_dev *dev, - unsigned selector) -{ - struct st_pwm_regulator_data *drvdata = rdev_get_drvdata(dev); - - if (selector >= dev->desc->n_voltages) - return -EINVAL; - - return drvdata->pdata->duty_cycle_table[selector].uV; -} - -static struct regulator_ops st_pwm_regulator_voltage_ops = { - .set_voltage_sel = st_pwm_regulator_set_voltage_sel, - .get_voltage_sel = st_pwm_regulator_get_voltage_sel, - .list_voltage = st_pwm_regulator_list_voltage, - .map_voltage = regulator_map_voltage_iterate, -}; - -static struct st_pwm_voltages b2105_duty_cycle_table[] = { - { .uV = 1114000, .dutycycle = 0, }, - { .uV = 1095000, .dutycycle = 10, }, - { .uV = 1076000, .dutycycle = 20, }, - { .uV = 1056000, .dutycycle = 30, }, - { .uV = 1036000, .dutycycle = 40, }, - { .uV = 1016000, .dutycycle = 50, }, - /* WARNING: Values above 50% duty-cycle cause boot failures. */ -}; - -static const struct regulator_desc b2105_desc = { - .name = "b2105-pwm-regulator", - .ops = &st_pwm_regulator_voltage_ops, - .type = REGULATOR_VOLTAGE, - .owner = THIS_MODULE, - .n_voltages = ARRAY_SIZE(b2105_duty_cycle_table), - .supply_name = "pwm", -}; - -static const struct st_pwm_regulator_pdata b2105_info = { - .desc = &b2105_desc, - .duty_cycle_table = b2105_duty_cycle_table, -}; - -static const struct of_device_id st_pwm_of_match[] = { - { .compatible = "st,b2105-pwm-regulator", .data = &b2105_info, }, - { }, -}; -MODULE_DEVICE_TABLE(of, st_pwm_of_match); - -static int st_pwm_regulator_probe(struct platform_device *pdev) -{ - struct st_pwm_regulator_data *drvdata; - struct regulator_dev *regulator; - struct regulator_config config = { }; - struct device_node *np = pdev->dev.of_node; - const struct of_device_id *of_match; - - if (!np) { - dev_err(&pdev->dev, "Device Tree node missing\n"); - return -EINVAL; - } - - drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL); - if (!drvdata) - return -ENOMEM; - - of_match = of_match_device(st_pwm_of_match, &pdev->dev); - if (!of_match) { - dev_err(&pdev->dev, "failed to match of device\n"); - return -ENODEV; - } - drvdata->pdata = of_match->data; - - config.init_data = of_get_regulator_init_data(&pdev->dev, np); - if (!config.init_data) - return -ENOMEM; - - config.of_node = np; - config.dev = &pdev->dev; - config.driver_data = drvdata; - - drvdata->pwm = devm_pwm_get(&pdev->dev, NULL); - if (IS_ERR(drvdata->pwm)) { - dev_err(&pdev->dev, "Failed to get PWM\n"); - return PTR_ERR(drvdata->pwm); - } - - regulator = devm_regulator_register(&pdev->dev, - drvdata->pdata->desc, &config); - if (IS_ERR(regulator)) { - dev_err(&pdev->dev, "Failed to register regulator %s\n", - drvdata->pdata->desc->name); - return PTR_ERR(regulator); - } - - return 0; -} - -static struct platform_driver st_pwm_regulator_driver = { - .driver = { - .name = "st-pwm-regulator", - .owner = THIS_MODULE, - .of_match_table = of_match_ptr(st_pwm_of_match), - }, - .probe = st_pwm_regulator_probe, -}; - -module_platform_driver(st_pwm_regulator_driver); - -MODULE_LICENSE("GPL"); -MODULE_AUTHOR("Lee Jones <lee.jones@linaro.org>"); -MODULE_DESCRIPTION("ST PWM Regulator Driver"); -MODULE_ALIAS("platform:st_pwm-regulator"); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v4 1/2] regulator: st-pwm: get voltage and duty table from dts 2014-09-22 2:52 ` [PATCH v4 1/2] regulator: st-pwm: get voltage and duty table from dts Chris Zhong @ 2014-09-22 4:18 ` Doug Anderson [not found] ` <CAD=FV=VxqQhp8A_yGMe8U+_Z1DNzLvMp-Bsj_iEx=5mumeHpvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Doug Anderson @ 2014-09-22 4:18 UTC (permalink / raw) To: Chris Zhong Cc: Heiko Stübner, linux-rockchip, Lee Jones, broonie@kernel.org, Liam Girdwood, Grant Likely, Rob Herring, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Chris, On Sun, Sep 21, 2014 at 7:52 PM, Chris Zhong <zyw@rock-chips.com> wrote: > Get voltage & duty table from device tree might be better, other platforms can also use this > driver without any modify. > > Signed-off-by: Chris Zhong <zyw@rock-chips.com> > > Reviewed-by: Doug Anderson <dianders@chromium.org> No need to re-spin, but please remember that all tags should be bunched together (no blank lines). In other words, YES: > Signed-off-by: Chris Zhong <zyw@rock-chips.com> > Reviewed-by: Doug Anderson <dianders@chromium.org> NO: > Signed-off-by: Chris Zhong <zyw@rock-chips.com> > > Reviewed-by: Doug Anderson <dianders@chromium.org> ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CAD=FV=VxqQhp8A_yGMe8U+_Z1DNzLvMp-Bsj_iEx=5mumeHpvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH v4 1/2] regulator: st-pwm: get voltage and duty table from dts 2014-09-22 4:18 ` Doug Anderson @ 2014-09-22 4:47 ` Chris Zhong 0 siblings, 0 replies; 8+ messages in thread From: Chris Zhong @ 2014-09-22 4:47 UTC (permalink / raw) To: Doug Anderson Cc: Heiko Stübner, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Lee Jones, broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Liam Girdwood, Grant Likely, Rob Herring, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org On 09/22/2014 12:18 PM, Doug Anderson wrote: > Chris, > > On Sun, Sep 21, 2014 at 7:52 PM, Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org> wrote: >> Get voltage & duty table from device tree might be better, other platforms can also use this >> driver without any modify. >> >> Signed-off-by: Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org> >> >> Reviewed-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> > No need to re-spin, but please remember that all tags should be > bunched together (no blank lines). In other words, > > YES: > >> Signed-off-by: Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org> >> Reviewed-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> > NO: > >> Signed-off-by: Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org> >> >> Reviewed-by: Doug Anderson <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> Thanks. It seems the patman add the blank line, I will manually modify it next time. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 1/2] regulator: st-pwm: get voltage and duty table from dts @ 2014-09-22 4:47 ` Chris Zhong 0 siblings, 0 replies; 8+ messages in thread From: Chris Zhong @ 2014-09-22 4:47 UTC (permalink / raw) To: Doug Anderson Cc: Heiko Stübner, linux-rockchip, Lee Jones, broonie@kernel.org, Liam Girdwood, Grant Likely, Rob Herring, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org On 09/22/2014 12:18 PM, Doug Anderson wrote: > Chris, > > On Sun, Sep 21, 2014 at 7:52 PM, Chris Zhong <zyw@rock-chips.com> wrote: >> Get voltage & duty table from device tree might be better, other platforms can also use this >> driver without any modify. >> >> Signed-off-by: Chris Zhong <zyw@rock-chips.com> >> >> Reviewed-by: Doug Anderson <dianders@chromium.org> > No need to re-spin, but please remember that all tags should be > bunched together (no blank lines). In other words, > > YES: > >> Signed-off-by: Chris Zhong <zyw@rock-chips.com> >> Reviewed-by: Doug Anderson <dianders@chromium.org> > NO: > >> Signed-off-by: Chris Zhong <zyw@rock-chips.com> >> >> Reviewed-by: Doug Anderson <dianders@chromium.org> Thanks. It seems the patman add the blank line, I will manually modify it next time. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 2/2] dt-bindings: add devicetree bindings for st-pwm regulator 2014-09-22 2:52 ` Chris Zhong (?) (?) @ 2014-09-22 2:53 ` Chris Zhong 2014-09-22 10:40 ` Mark Rutland -1 siblings, 1 reply; 8+ messages in thread From: Chris Zhong @ 2014-09-22 2:53 UTC (permalink / raw) To: dianders, heiko Cc: linux-rockchip, lee.jones, broonie, Chris Zhong, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, devicetree, linux-kernel Document the st-pwm regulator Signed-off-by: Chris Zhong <zyw@rock-chips.com> Adviced by Doug Anderson - remove regulator-always-on and regulator-boot-on from the Example Reviewed-by: Doug Anderson <dianders@chromium.org> --- Changes in v4: None Changes in v3: Adviced by Doug Anderson - update the Example Changes in v2: Adviced by Lee Jones - rename the documentation Adviced by Doug Anderson - update the example Adviced by Mark Rutland - remove pwm-reg-period .../bindings/regulator/pwm-regulator.txt | 27 ++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/pwm-regulator.txt diff --git a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt new file mode 100644 index 0000000..c6756a9 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt @@ -0,0 +1,27 @@ +pwm regulator bindings + +Required properties: +- compatible: Should be "pwm-regulator" +- pwms: OF device-tree PWM specification (see PWM binding pwm.txt) +- voltage-table: voltage and duty table, include 2 merbers in each set of + brackets, first one is voltage(unit: uv), the next is duty(unit: percent) + +Any property defined as part of the core regulator binding defined in +regulator.txt can also be used. + +Example: + pwm_regulator { + compatible = "pwm-regulator; + pwms = <&pwm1 0 8448 0>; + + voltage-table = <1114000 0>, + <1095000 10>, + <1076000 20>, + <1056000 30>, + <1036000 40>, + <1016000 50>; + + regulator-min-microvolt = <1016000>; + regulator-max-microvolt = <1114000>; + regulator-name = "vdd_logic"; + }; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v4 2/2] dt-bindings: add devicetree bindings for st-pwm regulator 2014-09-22 2:53 ` [PATCH v4 2/2] dt-bindings: add devicetree bindings for st-pwm regulator Chris Zhong @ 2014-09-22 10:40 ` Mark Rutland 0 siblings, 0 replies; 8+ messages in thread From: Mark Rutland @ 2014-09-22 10:40 UTC (permalink / raw) To: Chris Zhong Cc: dianders@chromium.org, heiko@sntech.de, linux-rockchip@lists.infradead.org, lee.jones@linaro.org, broonie@kernel.org, Rob Herring, Pawel Moll, Ian Campbell, Kumar Gala, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org On Mon, Sep 22, 2014 at 03:53:00AM +0100, Chris Zhong wrote: > Document the st-pwm regulator > > Signed-off-by: Chris Zhong <zyw@rock-chips.com> > > Adviced by Doug Anderson > - remove regulator-always-on and regulator-boot-on from the Example > > Reviewed-by: Doug Anderson <dianders@chromium.org> > --- > > Changes in v4: None > Changes in v3: > Adviced by Doug Anderson > - update the Example > > Changes in v2: > Adviced by Lee Jones > - rename the documentation > Adviced by Doug Anderson > - update the example > Adviced by Mark Rutland > - remove pwm-reg-period > > .../bindings/regulator/pwm-regulator.txt | 27 ++++++++++++++++++++ > 1 file changed, 27 insertions(+) > create mode 100644 Documentation/devicetree/bindings/regulator/pwm-regulator.txt > > diff --git a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt > new file mode 100644 > index 0000000..c6756a9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt > @@ -0,0 +1,27 @@ > +pwm regulator bindings > + > +Required properties: > +- compatible: Should be "pwm-regulator" > +- pwms: OF device-tree PWM specification (see PWM binding pwm.txt) > +- voltage-table: voltage and duty table, include 2 merbers in each set of Typo: s/merbers/members/ (I guess) Otherwise this looks fine. Mark. > + brackets, first one is voltage(unit: uv), the next is duty(unit: percent) > + > +Any property defined as part of the core regulator binding defined in > +regulator.txt can also be used. > + > +Example: > + pwm_regulator { > + compatible = "pwm-regulator; > + pwms = <&pwm1 0 8448 0>; > + > + voltage-table = <1114000 0>, > + <1095000 10>, > + <1076000 20>, > + <1056000 30>, > + <1036000 40>, > + <1016000 50>; > + > + regulator-min-microvolt = <1016000>; > + regulator-max-microvolt = <1114000>; > + regulator-name = "vdd_logic"; > + }; > -- > 1.7.9.5 > > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-09-22 10:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-22 2:52 [PATCH v4 0/2] regulator: get voltage & duty table from dts for st-pwm Chris Zhong
2014-09-22 2:52 ` Chris Zhong
2014-09-22 2:52 ` [PATCH v4 1/2] regulator: st-pwm: get voltage and duty table from dts Chris Zhong
2014-09-22 4:18 ` Doug Anderson
[not found] ` <CAD=FV=VxqQhp8A_yGMe8U+_Z1DNzLvMp-Bsj_iEx=5mumeHpvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-22 4:47 ` Chris Zhong
2014-09-22 4:47 ` Chris Zhong
2014-09-22 2:53 ` [PATCH v4 2/2] dt-bindings: add devicetree bindings for st-pwm regulator Chris Zhong
2014-09-22 10:40 ` Mark Rutland
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.