* [PATCHv2 0/5] mfd: sec-core: Add support S2MPS13 PMIC device @ 2014-11-18 8:59 Chanwoo Choi [not found] ` <1416301183-10478-1-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> ` (4 more replies) 0 siblings, 5 replies; 18+ messages in thread From: Chanwoo Choi @ 2014-11-18 8:59 UTC (permalink / raw) To: lee.jones, broonie, mturquette, a.zummo Cc: lgirdwood, sbkim73, sameo, geunsik.lim, inki.dae, kyungmin.park, k.kozlowski, linux-kernel, devicetree, Chanwoo Choi This patchset adds Samsung S2MPS13 PMIC device driver in existing S2MPS11 PMIC driver. The S2MPS13 has just the differnet number of regulator from existing S2MPS14 PMIC and RTC/CLOCK IP of S2MPS13 is the same with S2MPS14. S2MPS13 PMIC has LDO[1-40] and BUCK[1-10] regulators. Changes from v1: - Fix minor issue about coding style and wrong description - Fix wrong from of third patch(3/5) related to clk driver - Add acked tag by Mark Brown, Sangbeom Kim, Lee Jones - Add reviewed tag by Krzysztof Kozlowski Chanwoo Choi (5): mfd: sec-core: Add support for S2MPS13 device regulator: s2mps11: Add support S2MPS13 regulator device clk: s2mps11: Add the support for S2MPS13 PMIC clock rtc: s5m: Add the support for S2MPS13 RTC mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC Documentation/devicetree/bindings/mfd/s2mps11.txt | 22 +-- drivers/clk/clk-s2mps11.c | 24 +++ drivers/mfd/sec-core.c | 29 ++++ drivers/mfd/sec-irq.c | 23 ++- drivers/regulator/Kconfig | 10 +- drivers/regulator/s2mps11.c | 102 +++++++++++- drivers/rtc/rtc-s5m.c | 15 +- include/linux/mfd/samsung/core.h | 2 + include/linux/mfd/samsung/s2mps13.h | 186 ++++++++++++++++++++++ 9 files changed, 388 insertions(+), 25 deletions(-) create mode 100644 include/linux/mfd/samsung/s2mps13.h -- 1.8.5.5 ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <1416301183-10478-1-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>]
* [PATCHv2 1/5] mfd: sec-core: Add support for S2MPS13 device [not found] ` <1416301183-10478-1-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> @ 2014-11-18 8:59 ` Chanwoo Choi [not found] ` <1416301183-10478-2-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-25 15:59 ` [GIT PULL] Immutable branch between MFD, Regulator and Clk, due for v3.19 Lee Jones 1 sibling, 1 reply; 18+ messages in thread From: Chanwoo Choi @ 2014-11-18 8:59 UTC (permalink / raw) To: lee.jones-QSEj5FYQhm4dnm+yROfE0A, broonie-DgEjT+Ai2ygdnm+yROfE0A, mturquette-QSEj5FYQhm4dnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ Cc: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Chanwoo Choi This patch adds the support for Samsung S2MPS13 PMIC device to the sec-core MFD driver. The S2MPS13 is very similar with existing S2MPS14 and includes PMIC/ RTC/CLOCK devices. Cc: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> Acked-by: Sangbeom Kim <sbkim73-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> Acked-by: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> --- drivers/mfd/sec-core.c | 16 ++++++++++++++++ drivers/mfd/sec-irq.c | 23 +++++++++++++++++------ include/linux/mfd/samsung/core.h | 1 + 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 5993608..868f03d 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -73,6 +73,15 @@ static const struct mfd_cell s2mps11_devs[] = { } }; +static const struct mfd_cell s2mps13_devs[] = { + { .name = "s2mps13-pmic", }, + { .name = "s2mps13-rtc", }, + { + .name = "s2mps13-clk", + .of_compatible = "samsung,s2mps13-clk", + }, +}; + static const struct mfd_cell s2mps14_devs[] = { { .name = "s2mps14-pmic", @@ -107,6 +116,9 @@ static const struct of_device_id sec_dt_match[] = { .compatible = "samsung,s2mps11-pmic", .data = (void *)S2MPS11X, }, { + .compatible = "samsung,s2mps13-pmic", + .data = (void *)S2MPS13X, + }, { .compatible = "samsung,s2mps14-pmic", .data = (void *)S2MPS14X, }, { @@ -377,6 +389,10 @@ static int sec_pmic_probe(struct i2c_client *i2c, sec_devs = s2mps11_devs; num_sec_devs = ARRAY_SIZE(s2mps11_devs); break; + case S2MPS13X: + sec_devs = s2mps13_devs; + num_sec_devs = ARRAY_SIZE(s2mps13_devs); + break; case S2MPS14X: sec_devs = s2mps14_devs; num_sec_devs = ARRAY_SIZE(s2mps14_devs); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index f9a5786..ba86a91 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -389,14 +389,22 @@ static const struct regmap_irq_chip s2mps11_irq_chip = { .ack_base = S2MPS11_REG_INT1, }; +#define S2MPS1X_IRQ_CHIP_COMMON_DATA \ + .irqs = s2mps14_irqs, \ + .num_irqs = ARRAY_SIZE(s2mps14_irqs), \ + .num_regs = 3, \ + .status_base = S2MPS14_REG_INT1, \ + .mask_base = S2MPS14_REG_INT1M, \ + .ack_base = S2MPS14_REG_INT1 \ + +static const struct regmap_irq_chip s2mps13_irq_chip = { + .name = "s2mps13", + S2MPS1X_IRQ_CHIP_COMMON_DATA, +}; + static const struct regmap_irq_chip s2mps14_irq_chip = { .name = "s2mps14", - .irqs = s2mps14_irqs, - .num_irqs = ARRAY_SIZE(s2mps14_irqs), - .num_regs = 3, - .status_base = S2MPS14_REG_INT1, - .mask_base = S2MPS14_REG_INT1M, - .ack_base = S2MPS14_REG_INT1, + S2MPS1X_IRQ_CHIP_COMMON_DATA, }; static const struct regmap_irq_chip s2mpu02_irq_chip = { @@ -452,6 +460,9 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) case S2MPS11X: sec_irq_chip = &s2mps11_irq_chip; break; + case S2MPS13X: + sec_irq_chip = &s2mps13_irq_chip; + break; case S2MPS14X: sec_irq_chip = &s2mps14_irq_chip; break; diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index 1825eda..0c0343e 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -41,6 +41,7 @@ enum sec_device_type { S5M8767X, S2MPA01, S2MPS11X, + S2MPS13X, S2MPS14X, S2MPU02, }; -- 1.8.5.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 related [flat|nested] 18+ messages in thread
[parent not found: <1416301183-10478-2-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCHv2 1/5] mfd: sec-core: Add support for S2MPS13 device [not found] ` <1416301183-10478-2-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> @ 2014-11-25 15:50 ` Lee Jones 0 siblings, 0 replies; 18+ messages in thread From: Lee Jones @ 2014-11-25 15:50 UTC (permalink / raw) To: Chanwoo Choi Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A, mturquette-QSEj5FYQhm4dnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA On Tue, 18 Nov 2014, Chanwoo Choi wrote: > This patch adds the support for Samsung S2MPS13 PMIC device to the sec-core MFD > driver. The S2MPS13 is very similar with existing S2MPS14 and includes PMIC/ > RTC/CLOCK devices. > > Cc: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > Acked-by: Sangbeom Kim <sbkim73-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > Acked-by: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > --- > drivers/mfd/sec-core.c | 16 ++++++++++++++++ > drivers/mfd/sec-irq.c | 23 +++++++++++++++++------ > include/linux/mfd/samsung/core.h | 1 + > 3 files changed, 34 insertions(+), 6 deletions(-) Applied, thanks. > diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c > index 5993608..868f03d 100644 > --- a/drivers/mfd/sec-core.c > +++ b/drivers/mfd/sec-core.c > @@ -73,6 +73,15 @@ static const struct mfd_cell s2mps11_devs[] = { > } > }; > > +static const struct mfd_cell s2mps13_devs[] = { > + { .name = "s2mps13-pmic", }, > + { .name = "s2mps13-rtc", }, > + { > + .name = "s2mps13-clk", > + .of_compatible = "samsung,s2mps13-clk", > + }, > +}; > + > static const struct mfd_cell s2mps14_devs[] = { > { > .name = "s2mps14-pmic", > @@ -107,6 +116,9 @@ static const struct of_device_id sec_dt_match[] = { > .compatible = "samsung,s2mps11-pmic", > .data = (void *)S2MPS11X, > }, { > + .compatible = "samsung,s2mps13-pmic", > + .data = (void *)S2MPS13X, > + }, { > .compatible = "samsung,s2mps14-pmic", > .data = (void *)S2MPS14X, > }, { > @@ -377,6 +389,10 @@ static int sec_pmic_probe(struct i2c_client *i2c, > sec_devs = s2mps11_devs; > num_sec_devs = ARRAY_SIZE(s2mps11_devs); > break; > + case S2MPS13X: > + sec_devs = s2mps13_devs; > + num_sec_devs = ARRAY_SIZE(s2mps13_devs); > + break; > case S2MPS14X: > sec_devs = s2mps14_devs; > num_sec_devs = ARRAY_SIZE(s2mps14_devs); > diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c > index f9a5786..ba86a91 100644 > --- a/drivers/mfd/sec-irq.c > +++ b/drivers/mfd/sec-irq.c > @@ -389,14 +389,22 @@ static const struct regmap_irq_chip s2mps11_irq_chip = { > .ack_base = S2MPS11_REG_INT1, > }; > > +#define S2MPS1X_IRQ_CHIP_COMMON_DATA \ > + .irqs = s2mps14_irqs, \ > + .num_irqs = ARRAY_SIZE(s2mps14_irqs), \ > + .num_regs = 3, \ > + .status_base = S2MPS14_REG_INT1, \ > + .mask_base = S2MPS14_REG_INT1M, \ > + .ack_base = S2MPS14_REG_INT1 \ > + > +static const struct regmap_irq_chip s2mps13_irq_chip = { > + .name = "s2mps13", > + S2MPS1X_IRQ_CHIP_COMMON_DATA, > +}; > + > static const struct regmap_irq_chip s2mps14_irq_chip = { > .name = "s2mps14", > - .irqs = s2mps14_irqs, > - .num_irqs = ARRAY_SIZE(s2mps14_irqs), > - .num_regs = 3, > - .status_base = S2MPS14_REG_INT1, > - .mask_base = S2MPS14_REG_INT1M, > - .ack_base = S2MPS14_REG_INT1, > + S2MPS1X_IRQ_CHIP_COMMON_DATA, > }; > > static const struct regmap_irq_chip s2mpu02_irq_chip = { > @@ -452,6 +460,9 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) > case S2MPS11X: > sec_irq_chip = &s2mps11_irq_chip; > break; > + case S2MPS13X: > + sec_irq_chip = &s2mps13_irq_chip; > + break; > case S2MPS14X: > sec_irq_chip = &s2mps14_irq_chip; > break; > diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h > index 1825eda..0c0343e 100644 > --- a/include/linux/mfd/samsung/core.h > +++ b/include/linux/mfd/samsung/core.h > @@ -41,6 +41,7 @@ enum sec_device_type { > S5M8767X, > S2MPA01, > S2MPS11X, > + S2MPS13X, > S2MPS14X, > S2MPU02, > }; -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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] 18+ messages in thread
* [GIT PULL] Immutable branch between MFD, Regulator and Clk, due for v3.19 [not found] ` <1416301183-10478-1-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-18 8:59 ` [PATCHv2 1/5] mfd: sec-core: Add support for S2MPS13 device Chanwoo Choi @ 2014-11-25 15:59 ` Lee Jones 2014-11-29 5:13 ` Mike Turquette 1 sibling, 1 reply; 18+ messages in thread From: Lee Jones @ 2014-11-25 15:59 UTC (permalink / raw) To: Chanwoo Choi Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A, mturquette-QSEj5FYQhm4dnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA Mark, Mike, Please merge this into your trees for v3.19. The following changes since commit f114040e3ea6e07372334ade75d1ee0775c355e1: Linux 3.18-rc1 (2014-10-19 18:08:38 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-regulator-clk-v3.19 for you to fetch changes up to 159a5e920446aed12fe373ecc3c7b3dc667091ae: mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC (2014-11-25 15:55:12 +0000) ---------------------------------------------------------------- Immutable branch between MFD, Regulator and Clk, due for v3.19 ---------------------------------------------------------------- Chanwoo Choi (4): mfd: sec-core: Add support for S2MPS13 device regulator: s2mps11: Add support S2MPS13 regulator device clk: s2mps11: Add the support for S2MPS13 PMIC clock mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC Documentation/devicetree/bindings/mfd/s2mps11.txt | 22 +-- drivers/clk/clk-s2mps11.c | 24 +++ drivers/mfd/sec-core.c | 29 ++++ drivers/mfd/sec-irq.c | 23 ++- drivers/regulator/Kconfig | 10 +- drivers/regulator/s2mps11.c | 102 +++++++++++- include/linux/mfd/samsung/core.h | 2 + include/linux/mfd/samsung/s2mps13.h | 186 ++++++++++++++++++++++ 8 files changed, 374 insertions(+), 24 deletions(-) create mode 100644 include/linux/mfd/samsung/s2mps13.h -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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] 18+ messages in thread
* Re: [GIT PULL] Immutable branch between MFD, Regulator and Clk, due for v3.19 2014-11-25 15:59 ` [GIT PULL] Immutable branch between MFD, Regulator and Clk, due for v3.19 Lee Jones @ 2014-11-29 5:13 ` Mike Turquette 0 siblings, 0 replies; 18+ messages in thread From: Mike Turquette @ 2014-11-29 5:13 UTC (permalink / raw) To: Lee Jones, Chanwoo Choi Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA Quoting Lee Jones (2014-11-25 07:59:18) > Mark, Mike, > > Please merge this into your trees for v3.19. > > The following changes since commit f114040e3ea6e07372334ade75d1ee0775c355e1: > > Linux 3.18-rc1 (2014-10-19 18:08:38 -0700) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-regulator-clk-v3.19 > > for you to fetch changes up to 159a5e920446aed12fe373ecc3c7b3dc667091ae: > > mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC (2014-11-25 15:55:12 +0000) Pulled. Thanks, Mike > > ---------------------------------------------------------------- > Immutable branch between MFD, Regulator and Clk, due for v3.19 > > ---------------------------------------------------------------- > Chanwoo Choi (4): > mfd: sec-core: Add support for S2MPS13 device > regulator: s2mps11: Add support S2MPS13 regulator device > clk: s2mps11: Add the support for S2MPS13 PMIC clock > mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC > > Documentation/devicetree/bindings/mfd/s2mps11.txt | 22 +-- > drivers/clk/clk-s2mps11.c | 24 +++ > drivers/mfd/sec-core.c | 29 ++++ > drivers/mfd/sec-irq.c | 23 ++- > drivers/regulator/Kconfig | 10 +- > drivers/regulator/s2mps11.c | 102 +++++++++++- > include/linux/mfd/samsung/core.h | 2 + > include/linux/mfd/samsung/s2mps13.h | 186 ++++++++++++++++++++++ > 8 files changed, 374 insertions(+), 24 deletions(-) > create mode 100644 include/linux/mfd/samsung/s2mps13.h > > -- > Lee Jones > Linaro STMicroelectronics Landing Team Lead > Linaro.org │ Open source software for ARM SoCs > Follow Linaro: Facebook | Twitter | Blog -- 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] 18+ messages in thread
* [PATCHv2 2/5] regulator: s2mps11: Add support S2MPS13 regulator device 2014-11-18 8:59 [PATCHv2 0/5] mfd: sec-core: Add support S2MPS13 PMIC device Chanwoo Choi [not found] ` <1416301183-10478-1-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> @ 2014-11-18 8:59 ` Chanwoo Choi [not found] ` <1416301183-10478-3-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-18 8:59 ` [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock Chanwoo Choi ` (2 subsequent siblings) 4 siblings, 1 reply; 18+ messages in thread From: Chanwoo Choi @ 2014-11-18 8:59 UTC (permalink / raw) To: lee.jones, broonie, mturquette, a.zummo Cc: lgirdwood, sbkim73, sameo, geunsik.lim, inki.dae, kyungmin.park, k.kozlowski, linux-kernel, devicetree, Chanwoo Choi This patch adds S2MPS13 regulator device to existing S2MPS11 device driver. The S2MPS13 has just different number of regulators from S2MPS14. The S2MPS13 regulator device includes LDO[1-40] and BUCK[1-10]. Cc: Mark Brown <broonie@kernel.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Sangbeom Kim <sbkim73@samsung.com> Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Lee Jones <lee.jones@linaro.org> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> --- drivers/mfd/sec-core.c | 13 +++ drivers/regulator/Kconfig | 10 +- drivers/regulator/s2mps11.c | 102 +++++++++++++++++++- include/linux/mfd/samsung/core.h | 1 + include/linux/mfd/samsung/s2mps13.h | 186 ++++++++++++++++++++++++++++++++++++ 5 files changed, 304 insertions(+), 8 deletions(-) create mode 100644 include/linux/mfd/samsung/s2mps13.h diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 868f03d..0a7bc43 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -27,6 +27,7 @@ #include <linux/mfd/samsung/irq.h> #include <linux/mfd/samsung/s2mpa01.h> #include <linux/mfd/samsung/s2mps11.h> +#include <linux/mfd/samsung/s2mps13.h> #include <linux/mfd/samsung/s2mps14.h> #include <linux/mfd/samsung/s2mpu02.h> #include <linux/mfd/samsung/s5m8763.h> @@ -205,6 +206,15 @@ static const struct regmap_config s2mps11_regmap_config = { .cache_type = REGCACHE_FLAT, }; +static const struct regmap_config s2mps13_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS13_REG_LDODSCH5, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + static const struct regmap_config s2mps14_regmap_config = { .reg_bits = 8, .val_bits = 8, @@ -336,6 +346,9 @@ static int sec_pmic_probe(struct i2c_client *i2c, case S2MPS11X: regmap = &s2mps11_regmap_config; break; + case S2MPS13X: + regmap = &s2mps13_regmap_config; + break; case S2MPS14X: regmap = &s2mps14_regmap_config; break; diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index 55d7b7b..5e06134 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -529,13 +529,13 @@ config REGULATOR_S2MPA01 via I2C bus. S2MPA01 has 10 Bucks and 26 LDO outputs. config REGULATOR_S2MPS11 - tristate "Samsung S2MPS11/S2MPS14/S2MPU02 voltage regulator" + tristate "Samsung S2MPS11/S2MPS13/S2MPS14/S2MPU02 voltage regulator" depends on MFD_SEC_CORE help - This driver supports a Samsung S2MPS11/S2MPS14/S2MPU02 voltage output - regulator via I2C bus. The chip is comprised of high efficient Buck - converters including Dual-Phase Buck converter, Buck-Boost converter, - various LDOs. + This driver supports a Samsung S2MPS11/S2MPS13/S2MPS14/S2MPU02 voltage + output regulator via I2C bus. The chip is comprised of high efficient + Buck converters including Dual-Phase Buck converter, Buck-Boost + converter, various LDOs. config REGULATOR_S5M8767 tristate "Samsung S5M8767A voltage regulator" diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c index adab82d..738dc77 100644 --- a/drivers/regulator/s2mps11.c +++ b/drivers/regulator/s2mps11.c @@ -30,6 +30,7 @@ #include <linux/of_gpio.h> #include <linux/mfd/samsung/core.h> #include <linux/mfd/samsung/s2mps11.h> +#include <linux/mfd/samsung/s2mps13.h> #include <linux/mfd/samsung/s2mps14.h> #include <linux/mfd/samsung/s2mpu02.h> @@ -45,10 +46,10 @@ struct s2mps11_info { enum sec_device_type dev_type; /* - * One bit for each S2MPS14/S2MPU02 regulator whether the suspend mode - * was enabled. + * One bit for each S2MPS13/S2MPS14/S2MPU02 regulator whether + * the suspend mode was enabled. */ - unsigned long long s2mps14_suspend_state:35; + unsigned long long s2mps14_suspend_state:50; /* Array of size rdev_num with GPIO-s for external sleep control */ int *ext_control_gpio; @@ -369,12 +370,101 @@ static const struct regulator_desc s2mps11_regulators[] = { regulator_desc_s2mps11_buck6_10(10, MIN_750_MV, STEP_12_5_MV), }; +static struct regulator_ops s2mps14_reg_ops; + +#define regulator_desc_s2mps13_ldo(num, min, step, min_sel) { \ + .name = "LDO"#num, \ + .id = S2MPS13_LDO##num, \ + .ops = &s2mps14_reg_ops, \ + .type = REGULATOR_VOLTAGE, \ + .owner = THIS_MODULE, \ + .min_uV = min, \ + .uV_step = step, \ + .linear_min_sel = min_sel, \ + .n_voltages = S2MPS14_LDO_N_VOLTAGES, \ + .vsel_reg = S2MPS13_REG_L1CTRL + num - 1, \ + .vsel_mask = S2MPS14_LDO_VSEL_MASK, \ + .enable_reg = S2MPS13_REG_L1CTRL + num - 1, \ + .enable_mask = S2MPS14_ENABLE_MASK \ +} + +#define regulator_desc_s2mps13_buck(num, min, step, min_sel) { \ + .name = "BUCK"#num, \ + .id = S2MPS13_BUCK##num, \ + .ops = &s2mps14_reg_ops, \ + .type = REGULATOR_VOLTAGE, \ + .owner = THIS_MODULE, \ + .min_uV = min, \ + .uV_step = step, \ + .linear_min_sel = min_sel, \ + .n_voltages = S2MPS14_BUCK_N_VOLTAGES, \ + .ramp_delay = S2MPS13_BUCK_RAMP_DELAY, \ + .vsel_reg = S2MPS13_REG_B1OUT + (num - 1) * 2, \ + .vsel_mask = S2MPS14_BUCK_VSEL_MASK, \ + .enable_reg = S2MPS13_REG_B1CTRL + (num - 1) * 2, \ + .enable_mask = S2MPS14_ENABLE_MASK \ +} + +static const struct regulator_desc s2mps13_regulators[] = { + regulator_desc_s2mps13_ldo(1, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(2, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(3, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(4, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(5, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(6, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(7, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(8, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(9, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(10, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(11, MIN_800_MV, STEP_25_MV, 0x10), + regulator_desc_s2mps13_ldo(12, MIN_800_MV, STEP_25_MV, 0x10), + regulator_desc_s2mps13_ldo(13, MIN_800_MV, STEP_25_MV, 0x10), + regulator_desc_s2mps13_ldo(14, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(15, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(16, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(17, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(18, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(19, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(20, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(21, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(22, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(23, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(24, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(25, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(26, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(27, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(28, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(29, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(30, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(31, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(32, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(33, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(34, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(35, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(36, MIN_800_MV, STEP_12_5_MV, 0x00), + regulator_desc_s2mps13_ldo(37, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(38, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_ldo(39, MIN_1000_MV, STEP_25_MV, 0x08), + regulator_desc_s2mps13_ldo(40, MIN_1400_MV, STEP_50_MV, 0x0C), + regulator_desc_s2mps13_buck(1, MIN_500_MV, STEP_6_25_MV, 0x10), + regulator_desc_s2mps13_buck(2, MIN_500_MV, STEP_6_25_MV, 0x10), + regulator_desc_s2mps13_buck(3, MIN_500_MV, STEP_6_25_MV, 0x10), + regulator_desc_s2mps13_buck(4, MIN_500_MV, STEP_6_25_MV, 0x10), + regulator_desc_s2mps13_buck(5, MIN_500_MV, STEP_6_25_MV, 0x10), + regulator_desc_s2mps13_buck(6, MIN_500_MV, STEP_6_25_MV, 0x10), + regulator_desc_s2mps13_buck(7, MIN_500_MV, STEP_6_25_MV, 0x10), + regulator_desc_s2mps13_buck(8, MIN_1000_MV, STEP_12_5_MV, 0x20), + regulator_desc_s2mps13_buck(9, MIN_1000_MV, STEP_12_5_MV, 0x20), + regulator_desc_s2mps13_buck(10, MIN_500_MV, STEP_6_25_MV, 0x10), +}; + static int s2mps14_regulator_enable(struct regulator_dev *rdev) { struct s2mps11_info *s2mps11 = rdev_get_drvdata(rdev); unsigned int val; switch (s2mps11->dev_type) { + case S2MPS13X: case S2MPS14X: if (s2mps11->s2mps14_suspend_state & (1 << rdev_get_id(rdev))) val = S2MPS14_ENABLE_SUSPEND; @@ -406,6 +496,7 @@ static int s2mps14_regulator_set_suspend_disable(struct regulator_dev *rdev) /* Below LDO should be always on or does not support suspend mode. */ switch (s2mps11->dev_type) { + case S2MPS13X: case S2MPS14X: switch (rdev_id) { case S2MPS14_LDO3: @@ -831,6 +922,10 @@ static int s2mps11_pmic_probe(struct platform_device *pdev) s2mps11->rdev_num = ARRAY_SIZE(s2mps11_regulators); regulators = s2mps11_regulators; break; + case S2MPS13X: + s2mps11->rdev_num = ARRAY_SIZE(s2mps13_regulators); + regulators = s2mps13_regulators; + break; case S2MPS14X: s2mps11->rdev_num = ARRAY_SIZE(s2mps14_regulators); regulators = s2mps14_regulators; @@ -927,6 +1022,7 @@ out: static const struct platform_device_id s2mps11_pmic_id[] = { { "s2mps11-pmic", S2MPS11X}, + { "s2mps13-pmic", S2MPS13X}, { "s2mps14-pmic", S2MPS14X}, { "s2mpu02-pmic", S2MPU02}, { }, diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index 0c0343e..3fdb7cf 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -28,6 +28,7 @@ #define MIN_800_MV 800000 #define MIN_750_MV 750000 #define MIN_600_MV 600000 +#define MIN_500_MV 500000 /* Macros to represent steps for LDO/BUCK */ #define STEP_50_MV 50000 diff --git a/include/linux/mfd/samsung/s2mps13.h b/include/linux/mfd/samsung/s2mps13.h new file mode 100644 index 0000000..ce5dda8 --- /dev/null +++ b/include/linux/mfd/samsung/s2mps13.h @@ -0,0 +1,186 @@ +/* + * s2mps13.h + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd + * http://www.samsung.com + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * 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 __LINUX_MFD_S2MPS13_H +#define __LINUX_MFD_S2MPS13_H + +/* S2MPS13 registers */ +enum s2mps13_reg { + S2MPS13_REG_ID, + S2MPS13_REG_INT1, + S2MPS13_REG_INT2, + S2MPS13_REG_INT3, + S2MPS13_REG_INT1M, + S2MPS13_REG_INT2M, + S2MPS13_REG_INT3M, + S2MPS13_REG_ST1, + S2MPS13_REG_ST2, + S2MPS13_REG_PWRONSRC, + S2MPS13_REG_OFFSRC, + S2MPS13_REG_BU_CHG, + S2MPS13_REG_RTCCTRL, + S2MPS13_REG_CTRL1, + S2MPS13_REG_CTRL2, + S2MPS13_REG_RSVD1, + S2MPS13_REG_RSVD2, + S2MPS13_REG_RSVD3, + S2MPS13_REG_RSVD4, + S2MPS13_REG_RSVD5, + S2MPS13_REG_RSVD6, + S2MPS13_REG_CTRL3, + S2MPS13_REG_RSVD7, + S2MPS13_REG_RSVD8, + S2MPS13_REG_WRSTBI, + S2MPS13_REG_B1CTRL, + S2MPS13_REG_B1OUT, + S2MPS13_REG_B2CTRL, + S2MPS13_REG_B2OUT, + S2MPS13_REG_B3CTRL, + S2MPS13_REG_B3OUT, + S2MPS13_REG_B4CTRL, + S2MPS13_REG_B4OUT, + S2MPS13_REG_B5CTRL, + S2MPS13_REG_B5OUT, + S2MPS13_REG_B6CTRL, + S2MPS13_REG_B6OUT, + S2MPS13_REG_B7CTRL, + S2MPS13_REG_B7OUT, + S2MPS13_REG_B8CTRL, + S2MPS13_REG_B8OUT, + S2MPS13_REG_B9CTRL, + S2MPS13_REG_B9OUT, + S2MPS13_REG_B10CTRL, + S2MPS13_REG_B10OUT, + S2MPS13_REG_BB1CTRL, + S2MPS13_REG_BB1OUT, + S2MPS13_REG_BUCK_RAMP1, + S2MPS13_REG_BUCK_RAMP2, + S2MPS13_REG_LDO_DVS1, + S2MPS13_REG_LDO_DVS2, + S2MPS13_REG_LDO_DVS3, + S2MPS13_REG_B6OUT2, + S2MPS13_REG_L1CTRL, + S2MPS13_REG_L2CTRL, + S2MPS13_REG_L3CTRL, + S2MPS13_REG_L4CTRL, + S2MPS13_REG_L5CTRL, + S2MPS13_REG_L6CTRL, + S2MPS13_REG_L7CTRL, + S2MPS13_REG_L8CTRL, + S2MPS13_REG_L9CTRL, + S2MPS13_REG_L10CTRL, + S2MPS13_REG_L11CTRL, + S2MPS13_REG_L12CTRL, + S2MPS13_REG_L13CTRL, + S2MPS13_REG_L14CTRL, + S2MPS13_REG_L15CTRL, + S2MPS13_REG_L16CTRL, + S2MPS13_REG_L17CTRL, + S2MPS13_REG_L18CTRL, + S2MPS13_REG_L19CTRL, + S2MPS13_REG_L20CTRL, + S2MPS13_REG_L21CTRL, + S2MPS13_REG_L22CTRL, + S2MPS13_REG_L23CTRL, + S2MPS13_REG_L24CTRL, + S2MPS13_REG_L25CTRL, + S2MPS13_REG_L26CTRL, + S2MPS13_REG_L27CTRL, + S2MPS13_REG_L28CTRL, + S2MPS13_REG_L30CTRL, + S2MPS13_REG_L31CTRL, + S2MPS13_REG_L32CTRL, + S2MPS13_REG_L33CTRL, + S2MPS13_REG_L34CTRL, + S2MPS13_REG_L35CTRL, + S2MPS13_REG_L36CTRL, + S2MPS13_REG_L37CTRL, + S2MPS13_REG_L38CTRL, + S2MPS13_REG_L39CTRL, + S2MPS13_REG_L40CTRL, + S2MPS13_REG_LDODSCH1, + S2MPS13_REG_LDODSCH2, + S2MPS13_REG_LDODSCH3, + S2MPS13_REG_LDODSCH4, + S2MPS13_REG_LDODSCH5, +}; + +/* regulator ids */ +enum s2mps13_regulators { + S2MPS13_LDO1, + S2MPS13_LDO2, + S2MPS13_LDO3, + S2MPS13_LDO4, + S2MPS13_LDO5, + S2MPS13_LDO6, + S2MPS13_LDO7, + S2MPS13_LDO8, + S2MPS13_LDO9, + S2MPS13_LDO10, + S2MPS13_LDO11, + S2MPS13_LDO12, + S2MPS13_LDO13, + S2MPS13_LDO14, + S2MPS13_LDO15, + S2MPS13_LDO16, + S2MPS13_LDO17, + S2MPS13_LDO18, + S2MPS13_LDO19, + S2MPS13_LDO20, + S2MPS13_LDO21, + S2MPS13_LDO22, + S2MPS13_LDO23, + S2MPS13_LDO24, + S2MPS13_LDO25, + S2MPS13_LDO26, + S2MPS13_LDO27, + S2MPS13_LDO28, + S2MPS13_LDO29, + S2MPS13_LDO30, + S2MPS13_LDO31, + S2MPS13_LDO32, + S2MPS13_LDO33, + S2MPS13_LDO34, + S2MPS13_LDO35, + S2MPS13_LDO36, + S2MPS13_LDO37, + S2MPS13_LDO38, + S2MPS13_LDO39, + S2MPS13_LDO40, + S2MPS13_BUCK1, + S2MPS13_BUCK2, + S2MPS13_BUCK3, + S2MPS13_BUCK4, + S2MPS13_BUCK5, + S2MPS13_BUCK6, + S2MPS13_BUCK7, + S2MPS13_BUCK8, + S2MPS13_BUCK9, + S2MPS13_BUCK10, + + S2MPS13_REGULATOR_MAX, +}; + +/* + * Default ramp delay in uv/us. Datasheet says that ramp delay can be + * controlled however it does not specify which register is used for that. + * Let's assume that default value will be set. + */ +#define S2MPS13_BUCK_RAMP_DELAY 12500 + +#endif /* __LINUX_MFD_S2MPS13_H */ -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <1416301183-10478-3-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCHv2 2/5] regulator: s2mps11: Add support S2MPS13 regulator device [not found] ` <1416301183-10478-3-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> @ 2014-11-25 15:51 ` Lee Jones 0 siblings, 0 replies; 18+ messages in thread From: Lee Jones @ 2014-11-25 15:51 UTC (permalink / raw) To: Chanwoo Choi Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A, mturquette-QSEj5FYQhm4dnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA On Tue, 18 Nov 2014, Chanwoo Choi wrote: > This patch adds S2MPS13 regulator device to existing S2MPS11 device driver. > The S2MPS13 has just different number of regulators from S2MPS14. > The S2MPS13 regulator device includes LDO[1-40] and BUCK[1-10]. > > Cc: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > Acked-by: Sangbeom Kim <sbkim73-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > Acked-by: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Acked-by: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > --- > drivers/mfd/sec-core.c | 13 +++ > drivers/regulator/Kconfig | 10 +- > drivers/regulator/s2mps11.c | 102 +++++++++++++++++++- > include/linux/mfd/samsung/core.h | 1 + > include/linux/mfd/samsung/s2mps13.h | 186 ++++++++++++++++++++++++++++++++++++ > 5 files changed, 304 insertions(+), 8 deletions(-) > create mode 100644 include/linux/mfd/samsung/s2mps13.h Applied, thanks. > diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c > index 868f03d..0a7bc43 100644 > --- a/drivers/mfd/sec-core.c > +++ b/drivers/mfd/sec-core.c > @@ -27,6 +27,7 @@ > #include <linux/mfd/samsung/irq.h> > #include <linux/mfd/samsung/s2mpa01.h> > #include <linux/mfd/samsung/s2mps11.h> > +#include <linux/mfd/samsung/s2mps13.h> > #include <linux/mfd/samsung/s2mps14.h> > #include <linux/mfd/samsung/s2mpu02.h> > #include <linux/mfd/samsung/s5m8763.h> > @@ -205,6 +206,15 @@ static const struct regmap_config s2mps11_regmap_config = { > .cache_type = REGCACHE_FLAT, > }; > > +static const struct regmap_config s2mps13_regmap_config = { > + .reg_bits = 8, > + .val_bits = 8, > + > + .max_register = S2MPS13_REG_LDODSCH5, > + .volatile_reg = s2mps11_volatile, > + .cache_type = REGCACHE_FLAT, > +}; > + > static const struct regmap_config s2mps14_regmap_config = { > .reg_bits = 8, > .val_bits = 8, > @@ -336,6 +346,9 @@ static int sec_pmic_probe(struct i2c_client *i2c, > case S2MPS11X: > regmap = &s2mps11_regmap_config; > break; > + case S2MPS13X: > + regmap = &s2mps13_regmap_config; > + break; > case S2MPS14X: > regmap = &s2mps14_regmap_config; > break; > diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig > index 55d7b7b..5e06134 100644 > --- a/drivers/regulator/Kconfig > +++ b/drivers/regulator/Kconfig > @@ -529,13 +529,13 @@ config REGULATOR_S2MPA01 > via I2C bus. S2MPA01 has 10 Bucks and 26 LDO outputs. > > config REGULATOR_S2MPS11 > - tristate "Samsung S2MPS11/S2MPS14/S2MPU02 voltage regulator" > + tristate "Samsung S2MPS11/S2MPS13/S2MPS14/S2MPU02 voltage regulator" > depends on MFD_SEC_CORE > help > - This driver supports a Samsung S2MPS11/S2MPS14/S2MPU02 voltage output > - regulator via I2C bus. The chip is comprised of high efficient Buck > - converters including Dual-Phase Buck converter, Buck-Boost converter, > - various LDOs. > + This driver supports a Samsung S2MPS11/S2MPS13/S2MPS14/S2MPU02 voltage > + output regulator via I2C bus. The chip is comprised of high efficient > + Buck converters including Dual-Phase Buck converter, Buck-Boost > + converter, various LDOs. > > config REGULATOR_S5M8767 > tristate "Samsung S5M8767A voltage regulator" > diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c > index adab82d..738dc77 100644 > --- a/drivers/regulator/s2mps11.c > +++ b/drivers/regulator/s2mps11.c > @@ -30,6 +30,7 @@ > #include <linux/of_gpio.h> > #include <linux/mfd/samsung/core.h> > #include <linux/mfd/samsung/s2mps11.h> > +#include <linux/mfd/samsung/s2mps13.h> > #include <linux/mfd/samsung/s2mps14.h> > #include <linux/mfd/samsung/s2mpu02.h> > > @@ -45,10 +46,10 @@ struct s2mps11_info { > enum sec_device_type dev_type; > > /* > - * One bit for each S2MPS14/S2MPU02 regulator whether the suspend mode > - * was enabled. > + * One bit for each S2MPS13/S2MPS14/S2MPU02 regulator whether > + * the suspend mode was enabled. > */ > - unsigned long long s2mps14_suspend_state:35; > + unsigned long long s2mps14_suspend_state:50; > > /* Array of size rdev_num with GPIO-s for external sleep control */ > int *ext_control_gpio; > @@ -369,12 +370,101 @@ static const struct regulator_desc s2mps11_regulators[] = { > regulator_desc_s2mps11_buck6_10(10, MIN_750_MV, STEP_12_5_MV), > }; > > +static struct regulator_ops s2mps14_reg_ops; > + > +#define regulator_desc_s2mps13_ldo(num, min, step, min_sel) { \ > + .name = "LDO"#num, \ > + .id = S2MPS13_LDO##num, \ > + .ops = &s2mps14_reg_ops, \ > + .type = REGULATOR_VOLTAGE, \ > + .owner = THIS_MODULE, \ > + .min_uV = min, \ > + .uV_step = step, \ > + .linear_min_sel = min_sel, \ > + .n_voltages = S2MPS14_LDO_N_VOLTAGES, \ > + .vsel_reg = S2MPS13_REG_L1CTRL + num - 1, \ > + .vsel_mask = S2MPS14_LDO_VSEL_MASK, \ > + .enable_reg = S2MPS13_REG_L1CTRL + num - 1, \ > + .enable_mask = S2MPS14_ENABLE_MASK \ > +} > + > +#define regulator_desc_s2mps13_buck(num, min, step, min_sel) { \ > + .name = "BUCK"#num, \ > + .id = S2MPS13_BUCK##num, \ > + .ops = &s2mps14_reg_ops, \ > + .type = REGULATOR_VOLTAGE, \ > + .owner = THIS_MODULE, \ > + .min_uV = min, \ > + .uV_step = step, \ > + .linear_min_sel = min_sel, \ > + .n_voltages = S2MPS14_BUCK_N_VOLTAGES, \ > + .ramp_delay = S2MPS13_BUCK_RAMP_DELAY, \ > + .vsel_reg = S2MPS13_REG_B1OUT + (num - 1) * 2, \ > + .vsel_mask = S2MPS14_BUCK_VSEL_MASK, \ > + .enable_reg = S2MPS13_REG_B1CTRL + (num - 1) * 2, \ > + .enable_mask = S2MPS14_ENABLE_MASK \ > +} > + > +static const struct regulator_desc s2mps13_regulators[] = { > + regulator_desc_s2mps13_ldo(1, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(2, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(3, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(4, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(5, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(6, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(7, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(8, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(9, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(10, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(11, MIN_800_MV, STEP_25_MV, 0x10), > + regulator_desc_s2mps13_ldo(12, MIN_800_MV, STEP_25_MV, 0x10), > + regulator_desc_s2mps13_ldo(13, MIN_800_MV, STEP_25_MV, 0x10), > + regulator_desc_s2mps13_ldo(14, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(15, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(16, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(17, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(18, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(19, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(20, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(21, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(22, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(23, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(24, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(25, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(26, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(27, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(28, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(29, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(30, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(31, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(32, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(33, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(34, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(35, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(36, MIN_800_MV, STEP_12_5_MV, 0x00), > + regulator_desc_s2mps13_ldo(37, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(38, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_ldo(39, MIN_1000_MV, STEP_25_MV, 0x08), > + regulator_desc_s2mps13_ldo(40, MIN_1400_MV, STEP_50_MV, 0x0C), > + regulator_desc_s2mps13_buck(1, MIN_500_MV, STEP_6_25_MV, 0x10), > + regulator_desc_s2mps13_buck(2, MIN_500_MV, STEP_6_25_MV, 0x10), > + regulator_desc_s2mps13_buck(3, MIN_500_MV, STEP_6_25_MV, 0x10), > + regulator_desc_s2mps13_buck(4, MIN_500_MV, STEP_6_25_MV, 0x10), > + regulator_desc_s2mps13_buck(5, MIN_500_MV, STEP_6_25_MV, 0x10), > + regulator_desc_s2mps13_buck(6, MIN_500_MV, STEP_6_25_MV, 0x10), > + regulator_desc_s2mps13_buck(7, MIN_500_MV, STEP_6_25_MV, 0x10), > + regulator_desc_s2mps13_buck(8, MIN_1000_MV, STEP_12_5_MV, 0x20), > + regulator_desc_s2mps13_buck(9, MIN_1000_MV, STEP_12_5_MV, 0x20), > + regulator_desc_s2mps13_buck(10, MIN_500_MV, STEP_6_25_MV, 0x10), > +}; > + > static int s2mps14_regulator_enable(struct regulator_dev *rdev) > { > struct s2mps11_info *s2mps11 = rdev_get_drvdata(rdev); > unsigned int val; > > switch (s2mps11->dev_type) { > + case S2MPS13X: > case S2MPS14X: > if (s2mps11->s2mps14_suspend_state & (1 << rdev_get_id(rdev))) > val = S2MPS14_ENABLE_SUSPEND; > @@ -406,6 +496,7 @@ static int s2mps14_regulator_set_suspend_disable(struct regulator_dev *rdev) > > /* Below LDO should be always on or does not support suspend mode. */ > switch (s2mps11->dev_type) { > + case S2MPS13X: > case S2MPS14X: > switch (rdev_id) { > case S2MPS14_LDO3: > @@ -831,6 +922,10 @@ static int s2mps11_pmic_probe(struct platform_device *pdev) > s2mps11->rdev_num = ARRAY_SIZE(s2mps11_regulators); > regulators = s2mps11_regulators; > break; > + case S2MPS13X: > + s2mps11->rdev_num = ARRAY_SIZE(s2mps13_regulators); > + regulators = s2mps13_regulators; > + break; > case S2MPS14X: > s2mps11->rdev_num = ARRAY_SIZE(s2mps14_regulators); > regulators = s2mps14_regulators; > @@ -927,6 +1022,7 @@ out: > > static const struct platform_device_id s2mps11_pmic_id[] = { > { "s2mps11-pmic", S2MPS11X}, > + { "s2mps13-pmic", S2MPS13X}, > { "s2mps14-pmic", S2MPS14X}, > { "s2mpu02-pmic", S2MPU02}, > { }, > diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h > index 0c0343e..3fdb7cf 100644 > --- a/include/linux/mfd/samsung/core.h > +++ b/include/linux/mfd/samsung/core.h > @@ -28,6 +28,7 @@ > #define MIN_800_MV 800000 > #define MIN_750_MV 750000 > #define MIN_600_MV 600000 > +#define MIN_500_MV 500000 > > /* Macros to represent steps for LDO/BUCK */ > #define STEP_50_MV 50000 > diff --git a/include/linux/mfd/samsung/s2mps13.h b/include/linux/mfd/samsung/s2mps13.h > new file mode 100644 > index 0000000..ce5dda8 > --- /dev/null > +++ b/include/linux/mfd/samsung/s2mps13.h > @@ -0,0 +1,186 @@ > +/* > + * s2mps13.h > + * > + * Copyright (c) 2014 Samsung Electronics Co., Ltd > + * http://www.samsung.com > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2 of the License, or (at your > + * option) any later version. > + * > + * 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 __LINUX_MFD_S2MPS13_H > +#define __LINUX_MFD_S2MPS13_H > + > +/* S2MPS13 registers */ > +enum s2mps13_reg { > + S2MPS13_REG_ID, > + S2MPS13_REG_INT1, > + S2MPS13_REG_INT2, > + S2MPS13_REG_INT3, > + S2MPS13_REG_INT1M, > + S2MPS13_REG_INT2M, > + S2MPS13_REG_INT3M, > + S2MPS13_REG_ST1, > + S2MPS13_REG_ST2, > + S2MPS13_REG_PWRONSRC, > + S2MPS13_REG_OFFSRC, > + S2MPS13_REG_BU_CHG, > + S2MPS13_REG_RTCCTRL, > + S2MPS13_REG_CTRL1, > + S2MPS13_REG_CTRL2, > + S2MPS13_REG_RSVD1, > + S2MPS13_REG_RSVD2, > + S2MPS13_REG_RSVD3, > + S2MPS13_REG_RSVD4, > + S2MPS13_REG_RSVD5, > + S2MPS13_REG_RSVD6, > + S2MPS13_REG_CTRL3, > + S2MPS13_REG_RSVD7, > + S2MPS13_REG_RSVD8, > + S2MPS13_REG_WRSTBI, > + S2MPS13_REG_B1CTRL, > + S2MPS13_REG_B1OUT, > + S2MPS13_REG_B2CTRL, > + S2MPS13_REG_B2OUT, > + S2MPS13_REG_B3CTRL, > + S2MPS13_REG_B3OUT, > + S2MPS13_REG_B4CTRL, > + S2MPS13_REG_B4OUT, > + S2MPS13_REG_B5CTRL, > + S2MPS13_REG_B5OUT, > + S2MPS13_REG_B6CTRL, > + S2MPS13_REG_B6OUT, > + S2MPS13_REG_B7CTRL, > + S2MPS13_REG_B7OUT, > + S2MPS13_REG_B8CTRL, > + S2MPS13_REG_B8OUT, > + S2MPS13_REG_B9CTRL, > + S2MPS13_REG_B9OUT, > + S2MPS13_REG_B10CTRL, > + S2MPS13_REG_B10OUT, > + S2MPS13_REG_BB1CTRL, > + S2MPS13_REG_BB1OUT, > + S2MPS13_REG_BUCK_RAMP1, > + S2MPS13_REG_BUCK_RAMP2, > + S2MPS13_REG_LDO_DVS1, > + S2MPS13_REG_LDO_DVS2, > + S2MPS13_REG_LDO_DVS3, > + S2MPS13_REG_B6OUT2, > + S2MPS13_REG_L1CTRL, > + S2MPS13_REG_L2CTRL, > + S2MPS13_REG_L3CTRL, > + S2MPS13_REG_L4CTRL, > + S2MPS13_REG_L5CTRL, > + S2MPS13_REG_L6CTRL, > + S2MPS13_REG_L7CTRL, > + S2MPS13_REG_L8CTRL, > + S2MPS13_REG_L9CTRL, > + S2MPS13_REG_L10CTRL, > + S2MPS13_REG_L11CTRL, > + S2MPS13_REG_L12CTRL, > + S2MPS13_REG_L13CTRL, > + S2MPS13_REG_L14CTRL, > + S2MPS13_REG_L15CTRL, > + S2MPS13_REG_L16CTRL, > + S2MPS13_REG_L17CTRL, > + S2MPS13_REG_L18CTRL, > + S2MPS13_REG_L19CTRL, > + S2MPS13_REG_L20CTRL, > + S2MPS13_REG_L21CTRL, > + S2MPS13_REG_L22CTRL, > + S2MPS13_REG_L23CTRL, > + S2MPS13_REG_L24CTRL, > + S2MPS13_REG_L25CTRL, > + S2MPS13_REG_L26CTRL, > + S2MPS13_REG_L27CTRL, > + S2MPS13_REG_L28CTRL, > + S2MPS13_REG_L30CTRL, > + S2MPS13_REG_L31CTRL, > + S2MPS13_REG_L32CTRL, > + S2MPS13_REG_L33CTRL, > + S2MPS13_REG_L34CTRL, > + S2MPS13_REG_L35CTRL, > + S2MPS13_REG_L36CTRL, > + S2MPS13_REG_L37CTRL, > + S2MPS13_REG_L38CTRL, > + S2MPS13_REG_L39CTRL, > + S2MPS13_REG_L40CTRL, > + S2MPS13_REG_LDODSCH1, > + S2MPS13_REG_LDODSCH2, > + S2MPS13_REG_LDODSCH3, > + S2MPS13_REG_LDODSCH4, > + S2MPS13_REG_LDODSCH5, > +}; > + > +/* regulator ids */ > +enum s2mps13_regulators { > + S2MPS13_LDO1, > + S2MPS13_LDO2, > + S2MPS13_LDO3, > + S2MPS13_LDO4, > + S2MPS13_LDO5, > + S2MPS13_LDO6, > + S2MPS13_LDO7, > + S2MPS13_LDO8, > + S2MPS13_LDO9, > + S2MPS13_LDO10, > + S2MPS13_LDO11, > + S2MPS13_LDO12, > + S2MPS13_LDO13, > + S2MPS13_LDO14, > + S2MPS13_LDO15, > + S2MPS13_LDO16, > + S2MPS13_LDO17, > + S2MPS13_LDO18, > + S2MPS13_LDO19, > + S2MPS13_LDO20, > + S2MPS13_LDO21, > + S2MPS13_LDO22, > + S2MPS13_LDO23, > + S2MPS13_LDO24, > + S2MPS13_LDO25, > + S2MPS13_LDO26, > + S2MPS13_LDO27, > + S2MPS13_LDO28, > + S2MPS13_LDO29, > + S2MPS13_LDO30, > + S2MPS13_LDO31, > + S2MPS13_LDO32, > + S2MPS13_LDO33, > + S2MPS13_LDO34, > + S2MPS13_LDO35, > + S2MPS13_LDO36, > + S2MPS13_LDO37, > + S2MPS13_LDO38, > + S2MPS13_LDO39, > + S2MPS13_LDO40, > + S2MPS13_BUCK1, > + S2MPS13_BUCK2, > + S2MPS13_BUCK3, > + S2MPS13_BUCK4, > + S2MPS13_BUCK5, > + S2MPS13_BUCK6, > + S2MPS13_BUCK7, > + S2MPS13_BUCK8, > + S2MPS13_BUCK9, > + S2MPS13_BUCK10, > + > + S2MPS13_REGULATOR_MAX, > +}; > + > +/* > + * Default ramp delay in uv/us. Datasheet says that ramp delay can be > + * controlled however it does not specify which register is used for that. > + * Let's assume that default value will be set. > + */ > +#define S2MPS13_BUCK_RAMP_DELAY 12500 > + > +#endif /* __LINUX_MFD_S2MPS13_H */ -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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] 18+ messages in thread
* [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock 2014-11-18 8:59 [PATCHv2 0/5] mfd: sec-core: Add support S2MPS13 PMIC device Chanwoo Choi [not found] ` <1416301183-10478-1-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-18 8:59 ` [PATCHv2 2/5] regulator: s2mps11: Add support S2MPS13 regulator device Chanwoo Choi @ 2014-11-18 8:59 ` Chanwoo Choi [not found] ` <1416301183-10478-4-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-18 8:59 ` [PATCHv2 4/5] rtc: s5m: Add the support for S2MPS13 RTC Chanwoo Choi 2014-11-18 8:59 ` [PATCHv2 5/5] mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC Chanwoo Choi 4 siblings, 1 reply; 18+ messages in thread From: Chanwoo Choi @ 2014-11-18 8:59 UTC (permalink / raw) To: lee.jones, broonie, mturquette, a.zummo Cc: lgirdwood, sbkim73, sameo, geunsik.lim, inki.dae, kyungmin.park, k.kozlowski, linux-kernel, devicetree, Chanwoo Choi This patch adds the support for S2MPS13 PMIC clock which is same with existing S2MPS14 RTC IP. But, S2MPS13 uses all of clocks (32khz_{ap|bt|cp}). Cc: Mike Turquette <mturquette@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> --- drivers/clk/clk-s2mps11.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c index b7797fb..7bb13af 100644 --- a/drivers/clk/clk-s2mps11.c +++ b/drivers/clk/clk-s2mps11.c @@ -23,6 +23,7 @@ #include <linux/clk-provider.h> #include <linux/platform_device.h> #include <linux/mfd/samsung/s2mps11.h> +#include <linux/mfd/samsung/s2mps13.h> #include <linux/mfd/samsung/s2mps14.h> #include <linux/mfd/samsung/s5m8767.h> #include <linux/mfd/samsung/core.h> @@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = { }, }; +static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = { + [S2MPS11_CLK_AP] = { + .name = "s2mps13_ap", + .ops = &s2mps11_clk_ops, + .flags = CLK_IS_ROOT, + }, + [S2MPS11_CLK_CP] = { + .name = "s2mps13_cp", + .ops = &s2mps11_clk_ops, + .flags = CLK_IS_ROOT, + }, + [S2MPS11_CLK_BT] = { + .name = "s2mps13_bt", + .ops = &s2mps11_clk_ops, + .flags = CLK_IS_ROOT, + }, +}; + static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = { [S2MPS11_CLK_AP] = { .name = "s2mps14_ap", @@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) s2mps11_reg = S2MPS11_REG_RTC_CTRL; clks_init = s2mps11_clks_init; break; + case S2MPS13X: + s2mps11_reg = S2MPS13_REG_RTCCTRL; + clks_init = s2mps13_clks_init; + break; case S2MPS14X: s2mps11_reg = S2MPS14_REG_RTCCTRL; clks_init = s2mps14_clks_init; @@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev) static const struct platform_device_id s2mps11_clk_id[] = { { "s2mps11-clk", S2MPS11X}, + { "s2mps13-clk", S2MPS13X}, { "s2mps14-clk", S2MPS14X}, { "s5m8767-clk", S5M8767X}, { }, -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <1416301183-10478-4-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock [not found] ` <1416301183-10478-4-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> @ 2014-11-18 21:59 ` Mike Turquette 2014-11-19 16:43 ` Lee Jones 2014-11-25 15:51 ` Lee Jones 1 sibling, 1 reply; 18+ messages in thread From: Mike Turquette @ 2014-11-18 21:59 UTC (permalink / raw) To: lee.jones-QSEj5FYQhm4dnm+yROfE0A, broonie-DgEjT+Ai2ygdnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ Cc: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Chanwoo Choi Quoting Chanwoo Choi (2014-11-18 00:59:41) > This patch adds the support for S2MPS13 PMIC clock which is same with existing > S2MPS14 RTC IP. But, S2MPS13 uses all of clocks (32khz_{ap|bt|cp}). > > Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> Applied to clk-next. Regards, Mike > --- > drivers/clk/clk-s2mps11.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c > index b7797fb..7bb13af 100644 > --- a/drivers/clk/clk-s2mps11.c > +++ b/drivers/clk/clk-s2mps11.c > @@ -23,6 +23,7 @@ > #include <linux/clk-provider.h> > #include <linux/platform_device.h> > #include <linux/mfd/samsung/s2mps11.h> > +#include <linux/mfd/samsung/s2mps13.h> > #include <linux/mfd/samsung/s2mps14.h> > #include <linux/mfd/samsung/s5m8767.h> > #include <linux/mfd/samsung/core.h> > @@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = { > }, > }; > > +static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = { > + [S2MPS11_CLK_AP] = { > + .name = "s2mps13_ap", > + .ops = &s2mps11_clk_ops, > + .flags = CLK_IS_ROOT, > + }, > + [S2MPS11_CLK_CP] = { > + .name = "s2mps13_cp", > + .ops = &s2mps11_clk_ops, > + .flags = CLK_IS_ROOT, > + }, > + [S2MPS11_CLK_BT] = { > + .name = "s2mps13_bt", > + .ops = &s2mps11_clk_ops, > + .flags = CLK_IS_ROOT, > + }, > +}; > + > static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = { > [S2MPS11_CLK_AP] = { > .name = "s2mps14_ap", > @@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) > s2mps11_reg = S2MPS11_REG_RTC_CTRL; > clks_init = s2mps11_clks_init; > break; > + case S2MPS13X: > + s2mps11_reg = S2MPS13_REG_RTCCTRL; > + clks_init = s2mps13_clks_init; > + break; > case S2MPS14X: > s2mps11_reg = S2MPS14_REG_RTCCTRL; > clks_init = s2mps14_clks_init; > @@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev) > > static const struct platform_device_id s2mps11_clk_id[] = { > { "s2mps11-clk", S2MPS11X}, > + { "s2mps13-clk", S2MPS13X}, > { "s2mps14-clk", S2MPS14X}, > { "s5m8767-clk", S5M8767X}, > { }, > -- > 1.8.5.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] 18+ messages in thread
* Re: [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock 2014-11-18 21:59 ` Mike Turquette @ 2014-11-19 16:43 ` Lee Jones 2014-11-24 9:00 ` Chanwoo Choi 0 siblings, 1 reply; 18+ messages in thread From: Lee Jones @ 2014-11-19 16:43 UTC (permalink / raw) To: Mike Turquette Cc: Chanwoo Choi, broonie-DgEjT+Ai2ygdnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA On Tue, 18 Nov 2014, Mike Turquette wrote: > Quoting Chanwoo Choi (2014-11-18 00:59:41) > > This patch adds the support for S2MPS13 PMIC clock which is same with existing > > S2MPS14 RTC IP. But, S2MPS13 uses all of clocks (32khz_{ap|bt|cp}). > > > > Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > > Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > > Reviewed-by: Krzysztof Kozlowski <k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > > Applied to clk-next. I'm pretty sure you can't do that. You have a dependency on linux/mfd/samsung/s2mps13.h, which is satisfied in one of the earlier patches in the set. If you'd care to just provide an Ack for this patch, I can send you a pull-request with the decencies met. > > --- > > drivers/clk/clk-s2mps11.c | 24 ++++++++++++++++++++++++ > > 1 file changed, 24 insertions(+) > > > > diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c > > index b7797fb..7bb13af 100644 > > --- a/drivers/clk/clk-s2mps11.c > > +++ b/drivers/clk/clk-s2mps11.c > > @@ -23,6 +23,7 @@ > > #include <linux/clk-provider.h> > > #include <linux/platform_device.h> > > #include <linux/mfd/samsung/s2mps11.h> > > +#include <linux/mfd/samsung/s2mps13.h> > > #include <linux/mfd/samsung/s2mps14.h> > > #include <linux/mfd/samsung/s5m8767.h> > > #include <linux/mfd/samsung/core.h> > > @@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = { > > }, > > }; > > > > +static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = { > > + [S2MPS11_CLK_AP] = { > > + .name = "s2mps13_ap", > > + .ops = &s2mps11_clk_ops, > > + .flags = CLK_IS_ROOT, > > + }, > > + [S2MPS11_CLK_CP] = { > > + .name = "s2mps13_cp", > > + .ops = &s2mps11_clk_ops, > > + .flags = CLK_IS_ROOT, > > + }, > > + [S2MPS11_CLK_BT] = { > > + .name = "s2mps13_bt", > > + .ops = &s2mps11_clk_ops, > > + .flags = CLK_IS_ROOT, > > + }, > > +}; > > + > > static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = { > > [S2MPS11_CLK_AP] = { > > .name = "s2mps14_ap", > > @@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) > > s2mps11_reg = S2MPS11_REG_RTC_CTRL; > > clks_init = s2mps11_clks_init; > > break; > > + case S2MPS13X: > > + s2mps11_reg = S2MPS13_REG_RTCCTRL; > > + clks_init = s2mps13_clks_init; > > + break; > > case S2MPS14X: > > s2mps11_reg = S2MPS14_REG_RTCCTRL; > > clks_init = s2mps14_clks_init; > > @@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev) > > > > static const struct platform_device_id s2mps11_clk_id[] = { > > { "s2mps11-clk", S2MPS11X}, > > + { "s2mps13-clk", S2MPS13X}, > > { "s2mps14-clk", S2MPS14X}, > > { "s5m8767-clk", S5M8767X}, > > { }, -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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] 18+ messages in thread
* Re: [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock 2014-11-19 16:43 ` Lee Jones @ 2014-11-24 9:00 ` Chanwoo Choi 2014-11-24 10:04 ` Lee Jones 0 siblings, 1 reply; 18+ messages in thread From: Chanwoo Choi @ 2014-11-24 9:00 UTC (permalink / raw) To: Lee Jones Cc: Mike Turquette, broonie-DgEjT+Ai2ygdnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA Dear Lee, Could you please apply this patchset on your tree or Do we wait the Ack from RTC mainatiner for patch 4? Best Regards, Chanwoo Choi On 11/20/2014 01:43 AM, Lee Jones wrote: > On Tue, 18 Nov 2014, Mike Turquette wrote: > >> Quoting Chanwoo Choi (2014-11-18 00:59:41) >>> This patch adds the support for S2MPS13 PMIC clock which is same with existing >>> S2MPS14 RTC IP. But, S2MPS13 uses all of clocks (32khz_{ap|bt|cp}). >>> >>> Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> >>> Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> >>> Reviewed-by: Krzysztof Kozlowski <k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> >> >> Applied to clk-next. > > I'm pretty sure you can't do that. You have a dependency on > linux/mfd/samsung/s2mps13.h, which is satisfied in one of the earlier > patches in the set. If you'd care to just provide an Ack for this > patch, I can send you a pull-request with the decencies met. > >>> --- >>> drivers/clk/clk-s2mps11.c | 24 ++++++++++++++++++++++++ >>> 1 file changed, 24 insertions(+) >>> >>> diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c >>> index b7797fb..7bb13af 100644 >>> --- a/drivers/clk/clk-s2mps11.c >>> +++ b/drivers/clk/clk-s2mps11.c >>> @@ -23,6 +23,7 @@ >>> #include <linux/clk-provider.h> >>> #include <linux/platform_device.h> >>> #include <linux/mfd/samsung/s2mps11.h> >>> +#include <linux/mfd/samsung/s2mps13.h> >>> #include <linux/mfd/samsung/s2mps14.h> >>> #include <linux/mfd/samsung/s5m8767.h> >>> #include <linux/mfd/samsung/core.h> >>> @@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = { >>> }, >>> }; >>> >>> +static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = { >>> + [S2MPS11_CLK_AP] = { >>> + .name = "s2mps13_ap", >>> + .ops = &s2mps11_clk_ops, >>> + .flags = CLK_IS_ROOT, >>> + }, >>> + [S2MPS11_CLK_CP] = { >>> + .name = "s2mps13_cp", >>> + .ops = &s2mps11_clk_ops, >>> + .flags = CLK_IS_ROOT, >>> + }, >>> + [S2MPS11_CLK_BT] = { >>> + .name = "s2mps13_bt", >>> + .ops = &s2mps11_clk_ops, >>> + .flags = CLK_IS_ROOT, >>> + }, >>> +}; >>> + >>> static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = { >>> [S2MPS11_CLK_AP] = { >>> .name = "s2mps14_ap", >>> @@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) >>> s2mps11_reg = S2MPS11_REG_RTC_CTRL; >>> clks_init = s2mps11_clks_init; >>> break; >>> + case S2MPS13X: >>> + s2mps11_reg = S2MPS13_REG_RTCCTRL; >>> + clks_init = s2mps13_clks_init; >>> + break; >>> case S2MPS14X: >>> s2mps11_reg = S2MPS14_REG_RTCCTRL; >>> clks_init = s2mps14_clks_init; >>> @@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev) >>> >>> static const struct platform_device_id s2mps11_clk_id[] = { >>> { "s2mps11-clk", S2MPS11X}, >>> + { "s2mps13-clk", S2MPS13X}, >>> { "s2mps14-clk", S2MPS14X}, >>> { "s5m8767-clk", S5M8767X}, >>> { }, > -- 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] 18+ messages in thread
* Re: [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock 2014-11-24 9:00 ` Chanwoo Choi @ 2014-11-24 10:04 ` Lee Jones 2014-11-25 15:06 ` Chanwoo Choi 0 siblings, 1 reply; 18+ messages in thread From: Lee Jones @ 2014-11-24 10:04 UTC (permalink / raw) To: Chanwoo Choi Cc: Mike Turquette, broonie, a.zummo, lgirdwood, sbkim73, sameo, geunsik.lim, inki.dae, kyungmin.park, k.kozlowski, linux-kernel, devicetree > Could you please apply this patchset on your tree > or Do we wait the Ack from RTC mainatiner for patch 4? We still need an Ack from Alessandro. > On 11/20/2014 01:43 AM, Lee Jones wrote: > > On Tue, 18 Nov 2014, Mike Turquette wrote: > > > >> Quoting Chanwoo Choi (2014-11-18 00:59:41) > >>> This patch adds the support for S2MPS13 PMIC clock which is same with existing > >>> S2MPS14 RTC IP. But, S2MPS13 uses all of clocks (32khz_{ap|bt|cp}). > >>> > >>> Cc: Mike Turquette <mturquette@linaro.org> > >>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> > >>> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > >> > >> Applied to clk-next. > > > > I'm pretty sure you can't do that. You have a dependency on > > linux/mfd/samsung/s2mps13.h, which is satisfied in one of the earlier > > patches in the set. If you'd care to just provide an Ack for this > > patch, I can send you a pull-request with the decencies met. > > > >>> --- > >>> drivers/clk/clk-s2mps11.c | 24 ++++++++++++++++++++++++ > >>> 1 file changed, 24 insertions(+) > >>> > >>> diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c > >>> index b7797fb..7bb13af 100644 > >>> --- a/drivers/clk/clk-s2mps11.c > >>> +++ b/drivers/clk/clk-s2mps11.c > >>> @@ -23,6 +23,7 @@ > >>> #include <linux/clk-provider.h> > >>> #include <linux/platform_device.h> > >>> #include <linux/mfd/samsung/s2mps11.h> > >>> +#include <linux/mfd/samsung/s2mps13.h> > >>> #include <linux/mfd/samsung/s2mps14.h> > >>> #include <linux/mfd/samsung/s5m8767.h> > >>> #include <linux/mfd/samsung/core.h> > >>> @@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = { > >>> }, > >>> }; > >>> > >>> +static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = { > >>> + [S2MPS11_CLK_AP] = { > >>> + .name = "s2mps13_ap", > >>> + .ops = &s2mps11_clk_ops, > >>> + .flags = CLK_IS_ROOT, > >>> + }, > >>> + [S2MPS11_CLK_CP] = { > >>> + .name = "s2mps13_cp", > >>> + .ops = &s2mps11_clk_ops, > >>> + .flags = CLK_IS_ROOT, > >>> + }, > >>> + [S2MPS11_CLK_BT] = { > >>> + .name = "s2mps13_bt", > >>> + .ops = &s2mps11_clk_ops, > >>> + .flags = CLK_IS_ROOT, > >>> + }, > >>> +}; > >>> + > >>> static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = { > >>> [S2MPS11_CLK_AP] = { > >>> .name = "s2mps14_ap", > >>> @@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) > >>> s2mps11_reg = S2MPS11_REG_RTC_CTRL; > >>> clks_init = s2mps11_clks_init; > >>> break; > >>> + case S2MPS13X: > >>> + s2mps11_reg = S2MPS13_REG_RTCCTRL; > >>> + clks_init = s2mps13_clks_init; > >>> + break; > >>> case S2MPS14X: > >>> s2mps11_reg = S2MPS14_REG_RTCCTRL; > >>> clks_init = s2mps14_clks_init; > >>> @@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev) > >>> > >>> static const struct platform_device_id s2mps11_clk_id[] = { > >>> { "s2mps11-clk", S2MPS11X}, > >>> + { "s2mps13-clk", S2MPS13X}, > >>> { "s2mps14-clk", S2MPS14X}, > >>> { "s5m8767-clk", S5M8767X}, > >>> { }, > > > -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock 2014-11-24 10:04 ` Lee Jones @ 2014-11-25 15:06 ` Chanwoo Choi 0 siblings, 0 replies; 18+ messages in thread From: Chanwoo Choi @ 2014-11-25 15:06 UTC (permalink / raw) To: Lee Jones Cc: Mike Turquette, Mark Brown, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, Liam Girdwood, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, Samuel Ortiz, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, Kyungmin Park, Krzysztof Kozłowski, linux-kernel, devicetree Dear Lee, Could you pick these patchset without RTC patch? I'll re-send etc patch separately. Best Regards, Chanwoo Choi On Mon, Nov 24, 2014 at 7:04 PM, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: >> Could you please apply this patchset on your tree >> or Do we wait the Ack from RTC mainatiner for patch 4? > > We still need an Ack from Alessandro. > >> On 11/20/2014 01:43 AM, Lee Jones wrote: >> > On Tue, 18 Nov 2014, Mike Turquette wrote: >> > >> >> Quoting Chanwoo Choi (2014-11-18 00:59:41) >> >>> This patch adds the support for S2MPS13 PMIC clock which is same with existing >> >>> S2MPS14 RTC IP. But, S2MPS13 uses all of clocks (32khz_{ap|bt|cp}). >> >>> >> >>> Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> >> >>> Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> >> >>> Reviewed-by: Krzysztof Kozlowski <k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> >> >> >> >> Applied to clk-next. >> > >> > I'm pretty sure you can't do that. You have a dependency on >> > linux/mfd/samsung/s2mps13.h, which is satisfied in one of the earlier >> > patches in the set. If you'd care to just provide an Ack for this >> > patch, I can send you a pull-request with the decencies met. >> > >> >>> --- >> >>> drivers/clk/clk-s2mps11.c | 24 ++++++++++++++++++++++++ >> >>> 1 file changed, 24 insertions(+) >> >>> >> >>> diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c >> >>> index b7797fb..7bb13af 100644 >> >>> --- a/drivers/clk/clk-s2mps11.c >> >>> +++ b/drivers/clk/clk-s2mps11.c >> >>> @@ -23,6 +23,7 @@ >> >>> #include <linux/clk-provider.h> >> >>> #include <linux/platform_device.h> >> >>> #include <linux/mfd/samsung/s2mps11.h> >> >>> +#include <linux/mfd/samsung/s2mps13.h> >> >>> #include <linux/mfd/samsung/s2mps14.h> >> >>> #include <linux/mfd/samsung/s5m8767.h> >> >>> #include <linux/mfd/samsung/core.h> >> >>> @@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = { >> >>> }, >> >>> }; >> >>> >> >>> +static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = { >> >>> + [S2MPS11_CLK_AP] = { >> >>> + .name = "s2mps13_ap", >> >>> + .ops = &s2mps11_clk_ops, >> >>> + .flags = CLK_IS_ROOT, >> >>> + }, >> >>> + [S2MPS11_CLK_CP] = { >> >>> + .name = "s2mps13_cp", >> >>> + .ops = &s2mps11_clk_ops, >> >>> + .flags = CLK_IS_ROOT, >> >>> + }, >> >>> + [S2MPS11_CLK_BT] = { >> >>> + .name = "s2mps13_bt", >> >>> + .ops = &s2mps11_clk_ops, >> >>> + .flags = CLK_IS_ROOT, >> >>> + }, >> >>> +}; >> >>> + >> >>> static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = { >> >>> [S2MPS11_CLK_AP] = { >> >>> .name = "s2mps14_ap", >> >>> @@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) >> >>> s2mps11_reg = S2MPS11_REG_RTC_CTRL; >> >>> clks_init = s2mps11_clks_init; >> >>> break; >> >>> + case S2MPS13X: >> >>> + s2mps11_reg = S2MPS13_REG_RTCCTRL; >> >>> + clks_init = s2mps13_clks_init; >> >>> + break; >> >>> case S2MPS14X: >> >>> s2mps11_reg = S2MPS14_REG_RTCCTRL; >> >>> clks_init = s2mps14_clks_init; >> >>> @@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev) >> >>> >> >>> static const struct platform_device_id s2mps11_clk_id[] = { >> >>> { "s2mps11-clk", S2MPS11X}, >> >>> + { "s2mps13-clk", S2MPS13X}, >> >>> { "s2mps14-clk", S2MPS14X}, >> >>> { "s5m8767-clk", S5M8767X}, >> >>> { }, >> > >> > > -- > Lee Jones > Linaro STMicroelectronics Landing Team Lead > Linaro.org │ Open source software for ARM SoCs > Follow Linaro: Facebook | Twitter | Blog > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- 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] 18+ messages in thread
* Re: [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock [not found] ` <1416301183-10478-4-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-18 21:59 ` Mike Turquette @ 2014-11-25 15:51 ` Lee Jones 1 sibling, 0 replies; 18+ messages in thread From: Lee Jones @ 2014-11-25 15:51 UTC (permalink / raw) To: Chanwoo Choi Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A, mturquette-QSEj5FYQhm4dnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA On Tue, 18 Nov 2014, Chanwoo Choi wrote: > This patch adds the support for S2MPS13 PMIC clock which is same with existing > S2MPS14 RTC IP. But, S2MPS13 uses all of clocks (32khz_{ap|bt|cp}). > > Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > --- > drivers/clk/clk-s2mps11.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) Applied with Mike's Ack, thanks. > diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c > index b7797fb..7bb13af 100644 > --- a/drivers/clk/clk-s2mps11.c > +++ b/drivers/clk/clk-s2mps11.c > @@ -23,6 +23,7 @@ > #include <linux/clk-provider.h> > #include <linux/platform_device.h> > #include <linux/mfd/samsung/s2mps11.h> > +#include <linux/mfd/samsung/s2mps13.h> > #include <linux/mfd/samsung/s2mps14.h> > #include <linux/mfd/samsung/s5m8767.h> > #include <linux/mfd/samsung/core.h> > @@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = { > }, > }; > > +static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = { > + [S2MPS11_CLK_AP] = { > + .name = "s2mps13_ap", > + .ops = &s2mps11_clk_ops, > + .flags = CLK_IS_ROOT, > + }, > + [S2MPS11_CLK_CP] = { > + .name = "s2mps13_cp", > + .ops = &s2mps11_clk_ops, > + .flags = CLK_IS_ROOT, > + }, > + [S2MPS11_CLK_BT] = { > + .name = "s2mps13_bt", > + .ops = &s2mps11_clk_ops, > + .flags = CLK_IS_ROOT, > + }, > +}; > + > static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = { > [S2MPS11_CLK_AP] = { > .name = "s2mps14_ap", > @@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev) > s2mps11_reg = S2MPS11_REG_RTC_CTRL; > clks_init = s2mps11_clks_init; > break; > + case S2MPS13X: > + s2mps11_reg = S2MPS13_REG_RTCCTRL; > + clks_init = s2mps13_clks_init; > + break; > case S2MPS14X: > s2mps11_reg = S2MPS14_REG_RTCCTRL; > clks_init = s2mps14_clks_init; > @@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev) > > static const struct platform_device_id s2mps11_clk_id[] = { > { "s2mps11-clk", S2MPS11X}, > + { "s2mps13-clk", S2MPS13X}, > { "s2mps14-clk", S2MPS14X}, > { "s5m8767-clk", S5M8767X}, > { }, -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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] 18+ messages in thread
* [PATCHv2 4/5] rtc: s5m: Add the support for S2MPS13 RTC 2014-11-18 8:59 [PATCHv2 0/5] mfd: sec-core: Add support S2MPS13 PMIC device Chanwoo Choi ` (2 preceding siblings ...) 2014-11-18 8:59 ` [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock Chanwoo Choi @ 2014-11-18 8:59 ` Chanwoo Choi [not found] ` <1416301183-10478-5-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-18 8:59 ` [PATCHv2 5/5] mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC Chanwoo Choi 4 siblings, 1 reply; 18+ messages in thread From: Chanwoo Choi @ 2014-11-18 8:59 UTC (permalink / raw) To: lee.jones, broonie, mturquette, a.zummo Cc: lgirdwood, sbkim73, sameo, geunsik.lim, inki.dae, kyungmin.park, k.kozlowski, linux-kernel, devicetree, Chanwoo Choi This patch adds only the compatible string for S2MPS13 RTC which is identical with S2MPS14 RTC driver. Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> --- drivers/rtc/rtc-s5m.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 8754c33..e5fdfd3 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -191,6 +191,7 @@ static inline int s5m_check_peding_alarm_interrupt(struct s5m_rtc_info *info, ret = regmap_read(info->regmap, S5M_RTC_STATUS, &val); val &= S5M_ALARM0_STATUS; break; + case S2MPS13X: case S2MPS14X: ret = regmap_read(info->s5m87xx->regmap_pmic, S2MPS14_REG_ST2, &val); @@ -254,6 +255,7 @@ static inline int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) case S5M8767X: data &= ~S5M_RTC_TIME_EN_MASK; break; + case S2MPS13X: case S2MPS14X: data |= S2MPS_RTC_RUDR_MASK; break; @@ -311,7 +313,9 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) u8 data[info->regs->regs_count]; int ret; - if (info->device_type == S2MPS14X) { + switch (info->device_type) { + case S2MPS13X: + case S2MPS14X: ret = regmap_update_bits(info->regmap, info->regs->rtc_udr_update, S2MPS_RTC_RUDR_MASK, S2MPS_RTC_RUDR_MASK); @@ -333,6 +337,7 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) break; case S5M8767X: + case S2MPS13X: case S2MPS14X: s5m8767_data_to_tm(data, tm, info->rtc_24hr_mode); break; @@ -359,6 +364,7 @@ static int s5m_rtc_set_time(struct device *dev, struct rtc_time *tm) s5m8763_tm_to_data(tm, data); break; case S5M8767X: + case S2MPS13X: case S2MPS14X: ret = s5m8767_tm_to_data(tm, data); break; @@ -406,6 +412,7 @@ static int s5m_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) break; case S5M8767X: + case S2MPS13X: case S2MPS14X: s5m8767_data_to_tm(data, &alrm->time, info->rtc_24hr_mode); alrm->enabled = 0; @@ -454,6 +461,7 @@ static int s5m_rtc_stop_alarm(struct s5m_rtc_info *info) break; case S5M8767X: + case S2MPS13X: case S2MPS14X: for (i = 0; i < info->regs->regs_count; i++) data[i] &= ~ALARM_ENABLE_MASK; @@ -498,6 +506,7 @@ static int s5m_rtc_start_alarm(struct s5m_rtc_info *info) break; case S5M8767X: + case S2MPS13X: case S2MPS14X: data[RTC_SEC] |= ALARM_ENABLE_MASK; data[RTC_MIN] |= ALARM_ENABLE_MASK; @@ -537,6 +546,7 @@ static int s5m_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) break; case S5M8767X: + case S2MPS13X: case S2MPS14X: s5m8767_tm_to_data(&alrm->time, data); break; @@ -641,6 +651,7 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) ret = regmap_raw_write(info->regmap, S5M_ALARM0_CONF, data, 2); break; + case S2MPS13X: case S2MPS14X: data[0] = (0 << BCD_EN_SHIFT) | (1 << MODEL24_SHIFT); ret = regmap_write(info->regmap, info->regs->ctrl, data[0]); @@ -678,6 +689,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) return -ENOMEM; switch (pdata->device_type) { + case S2MPS13X: case S2MPS14X: regmap_cfg = &s2mps14_rtc_regmap_config; info->regs = &s2mps_rtc_regs; @@ -831,6 +843,7 @@ static SIMPLE_DEV_PM_OPS(s5m_rtc_pm_ops, s5m_rtc_suspend, s5m_rtc_resume); static const struct platform_device_id s5m_rtc_id[] = { { "s5m-rtc", S5M8767X }, + { "s2mps13-rtc", S2MPS13X }, { "s2mps14-rtc", S2MPS14X }, }; -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <1416301183-10478-5-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCHv2 4/5] rtc: s5m: Add the support for S2MPS13 RTC [not found] ` <1416301183-10478-5-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> @ 2014-11-24 10:46 ` Chanwoo Choi 0 siblings, 0 replies; 18+ messages in thread From: Chanwoo Choi @ 2014-11-24 10:46 UTC (permalink / raw) To: a.zummo-BfzFCNDTiLLj+vYz1yj4TQ Cc: Chanwoo Choi, lee.jones-QSEj5FYQhm4dnm+yROfE0A, broonie-DgEjT+Ai2ygdnm+yROfE0A, mturquette-QSEj5FYQhm4dnm+yROfE0A, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA Dear Alessandro, Could you please review these patchset? Other patches of these patchset ended up getting Ack message from each Maintainer. Best Regards, Chanwoo Choi On 11/18/2014 05:59 PM, Chanwoo Choi wrote: > This patch adds only the compatible string for S2MPS13 RTC which is identical > with S2MPS14 RTC driver. > > Cc: Alessandro Zummo <a.zummo-BfzFCNDTiLLj+vYz1yj4TQ@public.gmane.org> > Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > --- > drivers/rtc/rtc-s5m.c | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c > index 8754c33..e5fdfd3 100644 > --- a/drivers/rtc/rtc-s5m.c > +++ b/drivers/rtc/rtc-s5m.c > @@ -191,6 +191,7 @@ static inline int s5m_check_peding_alarm_interrupt(struct s5m_rtc_info *info, > ret = regmap_read(info->regmap, S5M_RTC_STATUS, &val); > val &= S5M_ALARM0_STATUS; > break; > + case S2MPS13X: > case S2MPS14X: > ret = regmap_read(info->s5m87xx->regmap_pmic, S2MPS14_REG_ST2, > &val); > @@ -254,6 +255,7 @@ static inline int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) > case S5M8767X: > data &= ~S5M_RTC_TIME_EN_MASK; > break; > + case S2MPS13X: > case S2MPS14X: > data |= S2MPS_RTC_RUDR_MASK; > break; > @@ -311,7 +313,9 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) > u8 data[info->regs->regs_count]; > int ret; > > - if (info->device_type == S2MPS14X) { > + switch (info->device_type) { > + case S2MPS13X: > + case S2MPS14X: > ret = regmap_update_bits(info->regmap, > info->regs->rtc_udr_update, > S2MPS_RTC_RUDR_MASK, S2MPS_RTC_RUDR_MASK); > @@ -333,6 +337,7 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) > break; > > case S5M8767X: > + case S2MPS13X: > case S2MPS14X: > s5m8767_data_to_tm(data, tm, info->rtc_24hr_mode); > break; > @@ -359,6 +364,7 @@ static int s5m_rtc_set_time(struct device *dev, struct rtc_time *tm) > s5m8763_tm_to_data(tm, data); > break; > case S5M8767X: > + case S2MPS13X: > case S2MPS14X: > ret = s5m8767_tm_to_data(tm, data); > break; > @@ -406,6 +412,7 @@ static int s5m_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) > break; > > case S5M8767X: > + case S2MPS13X: > case S2MPS14X: > s5m8767_data_to_tm(data, &alrm->time, info->rtc_24hr_mode); > alrm->enabled = 0; > @@ -454,6 +461,7 @@ static int s5m_rtc_stop_alarm(struct s5m_rtc_info *info) > break; > > case S5M8767X: > + case S2MPS13X: > case S2MPS14X: > for (i = 0; i < info->regs->regs_count; i++) > data[i] &= ~ALARM_ENABLE_MASK; > @@ -498,6 +506,7 @@ static int s5m_rtc_start_alarm(struct s5m_rtc_info *info) > break; > > case S5M8767X: > + case S2MPS13X: > case S2MPS14X: > data[RTC_SEC] |= ALARM_ENABLE_MASK; > data[RTC_MIN] |= ALARM_ENABLE_MASK; > @@ -537,6 +546,7 @@ static int s5m_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) > break; > > case S5M8767X: > + case S2MPS13X: > case S2MPS14X: > s5m8767_tm_to_data(&alrm->time, data); > break; > @@ -641,6 +651,7 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) > ret = regmap_raw_write(info->regmap, S5M_ALARM0_CONF, data, 2); > break; > > + case S2MPS13X: > case S2MPS14X: > data[0] = (0 << BCD_EN_SHIFT) | (1 << MODEL24_SHIFT); > ret = regmap_write(info->regmap, info->regs->ctrl, data[0]); > @@ -678,6 +689,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) > return -ENOMEM; > > switch (pdata->device_type) { > + case S2MPS13X: > case S2MPS14X: > regmap_cfg = &s2mps14_rtc_regmap_config; > info->regs = &s2mps_rtc_regs; > @@ -831,6 +843,7 @@ static SIMPLE_DEV_PM_OPS(s5m_rtc_pm_ops, s5m_rtc_suspend, s5m_rtc_resume); > > static const struct platform_device_id s5m_rtc_id[] = { > { "s5m-rtc", S5M8767X }, > + { "s2mps13-rtc", S2MPS13X }, > { "s2mps14-rtc", S2MPS14X }, > }; > > -- 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] 18+ messages in thread
* [PATCHv2 5/5] mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC 2014-11-18 8:59 [PATCHv2 0/5] mfd: sec-core: Add support S2MPS13 PMIC device Chanwoo Choi ` (3 preceding siblings ...) 2014-11-18 8:59 ` [PATCHv2 4/5] rtc: s5m: Add the support for S2MPS13 RTC Chanwoo Choi @ 2014-11-18 8:59 ` Chanwoo Choi [not found] ` <1416301183-10478-6-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 4 siblings, 1 reply; 18+ messages in thread From: Chanwoo Choi @ 2014-11-18 8:59 UTC (permalink / raw) To: lee.jones, broonie, mturquette, a.zummo Cc: lgirdwood, sbkim73, sameo, geunsik.lim, inki.dae, kyungmin.park, k.kozlowski, linux-kernel, devicetree, Chanwoo Choi This patch adds the binding documentation for Samsung S2MPS13 PMIC which is similiar with existing S2MPS14 PMIC. S2MPS13 has the different number of regulators from S2MPS14 and RTC/Clock is the same with the S2MPS14. Cc: Lee Jones <lee.jones@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Sangbeom Kim <sbkim73@samsung.com> Acked-by: Lee Jones <lee.jones@linaro.org> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> --- Documentation/devicetree/bindings/mfd/s2mps11.txt | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt index 0e4026a..57a0450 100644 --- a/Documentation/devicetree/bindings/mfd/s2mps11.txt +++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt @@ -1,5 +1,5 @@ -* Samsung S2MPS11, S2MPS14 and S2MPU02 Voltage and Current Regulator +* Samsung S2MPS11, S2MPS13, S2MPS14 and S2MPU02 Voltage and Current Regulator The Samsung S2MPS11 is a multi-function device which includes voltage and current regulators, RTC, charger controller and other sub-blocks. It is @@ -7,8 +7,8 @@ interfaced to the host controller using an I2C interface. Each sub-block is addressed by the host system using different I2C slave addresses. Required properties: -- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic" - or "samsung,s2mpu02-pmic". +- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps13-pmic" + or "samsung,s2mps14-pmic" or "samsung,s2mpu02-pmic". - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. Optional properties: @@ -17,8 +17,8 @@ Optional properties: - interrupts: Interrupt specifiers for interrupt sources. Optional nodes: -- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz - outputs, so to register these as clocks with common clock framework +- clocks: s2mps11, s2mps13 and s5m8767 provide three(AP/CP/BT) buffered 32.768 + KHz outputs, so to register these as clocks with common clock framework instantiate a sub-node named "clocks". It uses the common clock binding documented in : [Documentation/devicetree/bindings/clock/clock-bindings.txt] @@ -30,12 +30,12 @@ Optional nodes: the clock which they consume. Clock ID Devices ---------------------------------------------------------- - 32KhzAP 0 S2MPS11, S2MPS14, S5M8767 - 32KhzCP 1 S2MPS11, S5M8767 - 32KhzBT 2 S2MPS11, S2MPS14, S5M8767 + 32KhzAP 0 S2MPS11, S2MPS13, S2MPS14, S5M8767 + 32KhzCP 1 S2MPS11, S2MPS13, S5M8767 + 32KhzBT 2 S2MPS11, S2MPS13, S2MPS14, S5M8767 - - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk", - "samsung,s5m8767-clk" + - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk", + "samsung,s2mps14-clk", "samsung,s5m8767-clk" - regulators: The regulators of s2mps11 that have to be instantiated should be included in a sub-node named 'regulators'. Regulator nodes included in this @@ -81,12 +81,14 @@ as per the datasheet of s2mps11. - LDOn - valid values for n are: - S2MPS11: 1 to 38 + - S2MPS13: 1 to 40 - S2MPS14: 1 to 25 - S2MPU02: 1 to 28 - Example: LDO1, LDO2, LDO28 - BUCKn - valid values for n are: - S2MPS11: 1 to 10 + - S2MPS13: 1 to 10 - S2MPS14: 1 to 5 - S2MPU02: 1 to 7 - Example: BUCK1, BUCK2, BUCK9 -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <1416301183-10478-6-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCHv2 5/5] mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC [not found] ` <1416301183-10478-6-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> @ 2014-11-25 15:51 ` Lee Jones 0 siblings, 0 replies; 18+ messages in thread From: Lee Jones @ 2014-11-25 15:51 UTC (permalink / raw) To: Chanwoo Choi Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A, mturquette-QSEj5FYQhm4dnm+yROfE0A, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, sbkim73-Sze3O3UU22JBDgjK7y7TUQ, sameo-VuQAYsv1563Yd54FQh9/CA, geunsik.lim-Sze3O3UU22JBDgjK7y7TUQ, inki.dae-Sze3O3UU22JBDgjK7y7TUQ, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA On Tue, 18 Nov 2014, Chanwoo Choi wrote: > This patch adds the binding documentation for Samsung S2MPS13 PMIC > which is similiar with existing S2MPS14 PMIC. S2MPS13 has the different number > of regulators from S2MPS14 and RTC/Clock is the same with the S2MPS14. > > Cc: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > Acked-by: Sangbeom Kim <sbkim73-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > Acked-by: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> > --- > Documentation/devicetree/bindings/mfd/s2mps11.txt | 22 ++++++++++++---------- > 1 file changed, 12 insertions(+), 10 deletions(-) Applied, thanks. > diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt > index 0e4026a..57a0450 100644 > --- a/Documentation/devicetree/bindings/mfd/s2mps11.txt > +++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt > @@ -1,5 +1,5 @@ > > -* Samsung S2MPS11, S2MPS14 and S2MPU02 Voltage and Current Regulator > +* Samsung S2MPS11, S2MPS13, S2MPS14 and S2MPU02 Voltage and Current Regulator > > The Samsung S2MPS11 is a multi-function device which includes voltage and > current regulators, RTC, charger controller and other sub-blocks. It is > @@ -7,8 +7,8 @@ interfaced to the host controller using an I2C interface. Each sub-block is > addressed by the host system using different I2C slave addresses. > > Required properties: > -- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic" > - or "samsung,s2mpu02-pmic". > +- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps13-pmic" > + or "samsung,s2mps14-pmic" or "samsung,s2mpu02-pmic". > - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. > > Optional properties: > @@ -17,8 +17,8 @@ Optional properties: > - interrupts: Interrupt specifiers for interrupt sources. > > Optional nodes: > -- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz > - outputs, so to register these as clocks with common clock framework > +- clocks: s2mps11, s2mps13 and s5m8767 provide three(AP/CP/BT) buffered 32.768 > + KHz outputs, so to register these as clocks with common clock framework > instantiate a sub-node named "clocks". It uses the common clock binding > documented in : > [Documentation/devicetree/bindings/clock/clock-bindings.txt] > @@ -30,12 +30,12 @@ Optional nodes: > the clock which they consume. > Clock ID Devices > ---------------------------------------------------------- > - 32KhzAP 0 S2MPS11, S2MPS14, S5M8767 > - 32KhzCP 1 S2MPS11, S5M8767 > - 32KhzBT 2 S2MPS11, S2MPS14, S5M8767 > + 32KhzAP 0 S2MPS11, S2MPS13, S2MPS14, S5M8767 > + 32KhzCP 1 S2MPS11, S2MPS13, S5M8767 > + 32KhzBT 2 S2MPS11, S2MPS13, S2MPS14, S5M8767 > > - - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk", > - "samsung,s5m8767-clk" > + - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk", > + "samsung,s2mps14-clk", "samsung,s5m8767-clk" > > - regulators: The regulators of s2mps11 that have to be instantiated should be > included in a sub-node named 'regulators'. Regulator nodes included in this > @@ -81,12 +81,14 @@ as per the datasheet of s2mps11. > - LDOn > - valid values for n are: > - S2MPS11: 1 to 38 > + - S2MPS13: 1 to 40 > - S2MPS14: 1 to 25 > - S2MPU02: 1 to 28 > - Example: LDO1, LDO2, LDO28 > - BUCKn > - valid values for n are: > - S2MPS11: 1 to 10 > + - S2MPS13: 1 to 10 > - S2MPS14: 1 to 5 > - S2MPU02: 1 to 7 > - Example: BUCK1, BUCK2, BUCK9 -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- 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] 18+ messages in thread
end of thread, other threads:[~2014-11-29 5:13 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-11-18 8:59 [PATCHv2 0/5] mfd: sec-core: Add support S2MPS13 PMIC device Chanwoo Choi [not found] ` <1416301183-10478-1-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-18 8:59 ` [PATCHv2 1/5] mfd: sec-core: Add support for S2MPS13 device Chanwoo Choi [not found] ` <1416301183-10478-2-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-25 15:50 ` Lee Jones 2014-11-25 15:59 ` [GIT PULL] Immutable branch between MFD, Regulator and Clk, due for v3.19 Lee Jones 2014-11-29 5:13 ` Mike Turquette 2014-11-18 8:59 ` [PATCHv2 2/5] regulator: s2mps11: Add support S2MPS13 regulator device Chanwoo Choi [not found] ` <1416301183-10478-3-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-25 15:51 ` Lee Jones 2014-11-18 8:59 ` [PATCHv2 3/5] clk: s2mps11: Add the support for S2MPS13 PMIC clock Chanwoo Choi [not found] ` <1416301183-10478-4-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-18 21:59 ` Mike Turquette 2014-11-19 16:43 ` Lee Jones 2014-11-24 9:00 ` Chanwoo Choi 2014-11-24 10:04 ` Lee Jones 2014-11-25 15:06 ` Chanwoo Choi 2014-11-25 15:51 ` Lee Jones 2014-11-18 8:59 ` [PATCHv2 4/5] rtc: s5m: Add the support for S2MPS13 RTC Chanwoo Choi [not found] ` <1416301183-10478-5-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-24 10:46 ` Chanwoo Choi 2014-11-18 8:59 ` [PATCHv2 5/5] mfd: s2mps11: Add binding documentation for Samsung S2MPS13 PMIC Chanwoo Choi [not found] ` <1416301183-10478-6-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 2014-11-25 15:51 ` Lee Jones
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).