* [PATCH v2 1/3] clk: s2mps11: Add support for S2MPS14 clocks
2014-03-13 9:37 [PATCH v2 0/3] clk: s2mps11: Add support for S2MPS14 clocks Krzysztof Kozlowski
@ 2014-03-13 9:37 ` Krzysztof Kozlowski
2014-03-13 14:33 ` Tomasz Figa
2014-03-13 9:37 ` [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells Krzysztof Kozlowski
2014-03-13 9:37 ` [PATCH v2 3/3] Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks Krzysztof Kozlowski
2 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2014-03-13 9:37 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds support for S2MPS14 PMIC clocks (BT and AP) to the
s2mps11 clock driver.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
---
drivers/clk/Kconfig | 8 +++---
drivers/clk/clk-s2mps11.c | 61 ++++++++++++++++++++++++++++++++++-----------
2 files changed, 50 insertions(+), 19 deletions(-)
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 6f56d3a4f010..8f9ce8ba036d 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -65,12 +65,12 @@ config COMMON_CLK_SI570
clock generators.
config COMMON_CLK_S2MPS11
- tristate "Clock driver for S2MPS11/S5M8767 MFD"
+ tristate "Clock driver for S2MPS1X/S5M8767 MFD"
depends on MFD_SEC_CORE
---help---
- This driver supports S2MPS11/S5M8767 crystal oscillator clock. These
- multi-function devices have 3 fixed-rate oscillators, clocked at
- 32KHz each.
+ This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator
+ clock. These multi-function devices have two (S2MPS14) or three
+ (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each.
config CLK_TWL6040
tristate "External McPDM functional clock from twl6040"
diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
index 508875535e1e..8dafb552274f 100644
--- a/drivers/clk/clk-s2mps11.c
+++ b/drivers/clk/clk-s2mps11.c
@@ -1,7 +1,7 @@
/*
* clk-s2mps11.c - Clock driver for S2MPS11.
*
- * Copyright (C) 2013 Samsung Electornics
+ * Copyright (C) 2013,2014 Samsung Electornics
*
* 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
@@ -13,10 +13,6 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
*/
#include <linux/module.h>
@@ -27,6 +23,7 @@
#include <linux/clk-provider.h>
#include <linux/platform_device.h>
#include <linux/mfd/samsung/s2mps11.h>
+#include <linux/mfd/samsung/s2mps14.h>
#include <linux/mfd/samsung/s5m8767.h>
#include <linux/mfd/samsung/core.h>
@@ -125,7 +122,21 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = {
},
};
-static struct device_node *s2mps11_clk_parse_dt(struct platform_device *pdev)
+static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = {
+ [S2MPS11_CLK_AP] = {
+ .name = "s2mps14_ap",
+ .ops = &s2mps11_clk_ops,
+ .flags = CLK_IS_ROOT,
+ },
+ [S2MPS11_CLK_BT] = {
+ .name = "s2mps14_bt",
+ .ops = &s2mps11_clk_ops,
+ .flags = CLK_IS_ROOT,
+ },
+};
+
+static struct device_node *s2mps11_clk_parse_dt(struct platform_device *pdev,
+ struct clk_init_data *clks_init)
{
struct sec_pmic_dev *iodev = dev_get_drvdata(pdev->dev.parent);
struct device_node *clk_np;
@@ -145,9 +156,12 @@ static struct device_node *s2mps11_clk_parse_dt(struct platform_device *pdev)
if (!clk_table)
return ERR_PTR(-ENOMEM);
- for (i = 0; i < S2MPS11_CLKS_NUM; i++)
+ for (i = 0; i < S2MPS11_CLKS_NUM; i++) {
+ if (!clks_init[i].name)
+ continue; /* Skip clocks not present in some devices */
of_property_read_string_index(clk_np, "clock-output-names", i,
- &s2mps11_clks_init[i].name);
+ &clks_init[i].name);
+ }
return clk_np;
}
@@ -158,6 +172,7 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
struct s2mps11_clk *s2mps11_clks, *s2mps11_clk;
struct device_node *clk_np = NULL;
unsigned int s2mps11_reg;
+ struct clk_init_data *clks_init;
int i, ret = 0;
u32 val;
@@ -168,25 +183,33 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
s2mps11_clk = s2mps11_clks;
- clk_np = s2mps11_clk_parse_dt(pdev);
- if (IS_ERR(clk_np))
- return PTR_ERR(clk_np);
-
switch (platform_get_device_id(pdev)->driver_data) {
case S2MPS11X:
s2mps11_reg = S2MPS11_REG_RTC_CTRL;
+ clks_init = s2mps11_clks_init;
+ break;
+ case S2MPS14X:
+ s2mps11_reg = S2MPS14_REG_RTCCTRL;
+ clks_init = s2mps14_clks_init;
break;
case S5M8767X:
s2mps11_reg = S5M8767_REG_CTRL1;
+ clks_init = s2mps11_clks_init;
break;
default:
dev_err(&pdev->dev, "Invalid device type\n");
return -EINVAL;
};
+ clk_np = s2mps11_clk_parse_dt(pdev, clks_init);
+ if (IS_ERR(clk_np))
+ return PTR_ERR(clk_np);
+
for (i = 0; i < S2MPS11_CLKS_NUM; i++, s2mps11_clk++) {
+ if (!clks_init[i].name)
+ continue; /* Skip clocks not present in some devices */
s2mps11_clk->iodev = iodev;
- s2mps11_clk->hw.init = &s2mps11_clks_init[i];
+ s2mps11_clk->hw.init = &clks_init[i];
s2mps11_clk->mask = 1 << i;
s2mps11_clk->reg = s2mps11_reg;
@@ -220,8 +243,12 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
}
if (clk_table) {
- for (i = 0; i < S2MPS11_CLKS_NUM; i++)
+ for (i = 0; i < S2MPS11_CLKS_NUM; i++) {
+ /* Skip clocks not present on S2MPS14 */
+ if (!clks_init[i].name)
+ continue;
clk_table[i] = s2mps11_clks[i].clk;
+ }
clk_data.clks = clk_table;
clk_data.clk_num = S2MPS11_CLKS_NUM;
@@ -250,14 +277,18 @@ static int s2mps11_clk_remove(struct platform_device *pdev)
struct s2mps11_clk *s2mps11_clks = platform_get_drvdata(pdev);
int i;
- for (i = 0; i < S2MPS11_CLKS_NUM; i++)
+ for (i = 0; i < S2MPS11_CLKS_NUM; i++) {
+ if (!s2mps11_clks[i].lookup)
+ continue; /* Skip clocks not present in some devices */
clkdev_drop(s2mps11_clks[i].lookup);
+ }
return 0;
}
static const struct platform_device_id s2mps11_clk_id[] = {
{ "s2mps11-clk", S2MPS11X},
+ { "s2mps14-clk", S2MPS14X},
{ "s5m8767-clk", S5M8767X},
{ },
};
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH v2 1/3] clk: s2mps11: Add support for S2MPS14 clocks
2014-03-13 9:37 ` [PATCH v2 1/3] " Krzysztof Kozlowski
@ 2014-03-13 14:33 ` Tomasz Figa
0 siblings, 0 replies; 11+ messages in thread
From: Tomasz Figa @ 2014-03-13 14:33 UTC (permalink / raw)
To: linux-arm-kernel
Hi Krzysztof,
On 13.03.2014 10:37, Krzysztof Kozlowski wrote:
> This patch adds support for S2MPS14 PMIC clocks (BT and AP) to the
> s2mps11 clock driver.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Reviewed-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
> ---
> drivers/clk/Kconfig | 8 +++---
> drivers/clk/clk-s2mps11.c | 61 ++++++++++++++++++++++++++++++++++-----------
> 2 files changed, 50 insertions(+), 19 deletions(-)
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells
2014-03-13 9:37 [PATCH v2 0/3] clk: s2mps11: Add support for S2MPS14 clocks Krzysztof Kozlowski
2014-03-13 9:37 ` [PATCH v2 1/3] " Krzysztof Kozlowski
@ 2014-03-13 9:37 ` Krzysztof Kozlowski
2014-03-13 12:07 ` Tomasz Figa
2014-03-13 9:37 ` [PATCH v2 3/3] Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks Krzysztof Kozlowski
2 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2014-03-13 9:37 UTC (permalink / raw)
To: linux-arm-kernel
Add of_compatible strings for MFD cells for regulator, clock and RTC
drivers in S5M8767, S2MPS11 and S2MPS14 PMIC-s.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
drivers/mfd/sec-core.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
index d163c66edebb..c5b9b95b2099 100644
--- a/drivers/mfd/sec-core.c
+++ b/drivers/mfd/sec-core.c
@@ -55,28 +55,36 @@ static const struct mfd_cell s5m8763_devs[] = {
static const struct mfd_cell s5m8767_devs[] = {
{
.name = "s5m8767-pmic",
+ .of_compatible = "samsung,s5m8767-regulators",
}, {
.name = "s5m-rtc",
+ .of_compatible = "samsung,s5m8767-rtc",
}, {
.name = "s5m8767-clk",
+ .of_compatible = "samsung,s5m8767-clk",
}
};
static const struct mfd_cell s2mps11_devs[] = {
{
.name = "s2mps11-pmic",
+ .of_compatible = "samsung,s2mps11-regulators",
}, {
.name = "s2mps11-clk",
+ .of_compatible = "samsung,s2mps11-clk",
}
};
static const struct mfd_cell s2mps14_devs[] = {
{
.name = "s2mps14-pmic",
+ .of_compatible = "samsung,s2mps14-regulators",
}, {
.name = "s2mps14-rtc",
+ .of_compatible = "samsung,s2mps14-rtc",
}, {
.name = "s2mps14-clk",
+ .of_compatible = "samsung,s2mps14-clk",
}
};
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells
2014-03-13 9:37 ` [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells Krzysztof Kozlowski
@ 2014-03-13 12:07 ` Tomasz Figa
2014-03-13 12:16 ` Krzysztof Kozlowski
0 siblings, 1 reply; 11+ messages in thread
From: Tomasz Figa @ 2014-03-13 12:07 UTC (permalink / raw)
To: linux-arm-kernel
Hi Krzysztof,
On 13.03.2014 10:37, Krzysztof Kozlowski wrote:
> Add of_compatible strings for MFD cells for regulator, clock and RTC
> drivers in S5M8767, S2MPS11 and S2MPS14 PMIC-s.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
> drivers/mfd/sec-core.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
> index d163c66edebb..c5b9b95b2099 100644
> --- a/drivers/mfd/sec-core.c
> +++ b/drivers/mfd/sec-core.c
> @@ -55,28 +55,36 @@ static const struct mfd_cell s5m8763_devs[] = {
> static const struct mfd_cell s5m8767_devs[] = {
> {
> .name = "s5m8767-pmic",
> + .of_compatible = "samsung,s5m8767-regulators",
> }, {
> .name = "s5m-rtc",
> + .of_compatible = "samsung,s5m8767-rtc",
> }, {
> .name = "s5m8767-clk",
> + .of_compatible = "samsung,s5m8767-clk",
> }
> };
>
> static const struct mfd_cell s2mps11_devs[] = {
> {
> .name = "s2mps11-pmic",
> + .of_compatible = "samsung,s2mps11-regulators",
> }, {
> .name = "s2mps11-clk",
> + .of_compatible = "samsung,s2mps11-clk",
> }
> };
>
> static const struct mfd_cell s2mps14_devs[] = {
> {
> .name = "s2mps14-pmic",
> + .of_compatible = "samsung,s2mps14-regulators",
> }, {
> .name = "s2mps14-rtc",
> + .of_compatible = "samsung,s2mps14-rtc",
> }, {
> .name = "s2mps14-clk",
> + .of_compatible = "samsung,s2mps14-clk",
> }
> };
Are these compatible strings documented anywhere?
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells
2014-03-13 12:07 ` Tomasz Figa
@ 2014-03-13 12:16 ` Krzysztof Kozlowski
2014-03-13 12:37 ` Tomasz Figa
0 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2014-03-13 12:16 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 2014-03-13 at 13:07 +0100, Tomasz Figa wrote:
> Hi Krzysztof,
>
> On 13.03.2014 10:37, Krzysztof Kozlowski wrote:
> > Add of_compatible strings for MFD cells for regulator, clock and RTC
> > drivers in S5M8767, S2MPS11 and S2MPS14 PMIC-s.
> >
> > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> > ---
> > drivers/mfd/sec-core.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
> > index d163c66edebb..c5b9b95b2099 100644
> > --- a/drivers/mfd/sec-core.c
> > +++ b/drivers/mfd/sec-core.c
> > @@ -55,28 +55,36 @@ static const struct mfd_cell s5m8763_devs[] = {
> > static const struct mfd_cell s5m8767_devs[] = {
> > {
> > .name = "s5m8767-pmic",
> > + .of_compatible = "samsung,s5m8767-regulators",
> > }, {
> > .name = "s5m-rtc",
> > + .of_compatible = "samsung,s5m8767-rtc",
> > }, {
> > .name = "s5m8767-clk",
> > + .of_compatible = "samsung,s5m8767-clk",
> > }
> > };
> >
> > static const struct mfd_cell s2mps11_devs[] = {
> > {
> > .name = "s2mps11-pmic",
> > + .of_compatible = "samsung,s2mps11-regulators",
> > }, {
> > .name = "s2mps11-clk",
> > + .of_compatible = "samsung,s2mps11-clk",
> > }
> > };
> >
> > static const struct mfd_cell s2mps14_devs[] = {
> > {
> > .name = "s2mps14-pmic",
> > + .of_compatible = "samsung,s2mps14-regulators",
> > }, {
> > .name = "s2mps14-rtc",
> > + .of_compatible = "samsung,s2mps14-rtc",
> > }, {
> > .name = "s2mps14-clk",
> > + .of_compatible = "samsung,s2mps14-clk",
> > }
> > };
>
> Are these compatible strings documented anywhere?
The "-clk" compatible strings are (in next patch). The "-rtc" and
"-regulators" are not.
Actually they aren't also used by child driver (each child driver parses
from parent of_node).
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells
2014-03-13 12:16 ` Krzysztof Kozlowski
@ 2014-03-13 12:37 ` Tomasz Figa
2014-03-13 12:49 ` Krzysztof Kozlowski
0 siblings, 1 reply; 11+ messages in thread
From: Tomasz Figa @ 2014-03-13 12:37 UTC (permalink / raw)
To: linux-arm-kernel
On 13.03.2014 13:16, Krzysztof Kozlowski wrote:
> On Thu, 2014-03-13 at 13:07 +0100, Tomasz Figa wrote:
>> Hi Krzysztof,
>>
>> On 13.03.2014 10:37, Krzysztof Kozlowski wrote:
>>> Add of_compatible strings for MFD cells for regulator, clock and RTC
>>> drivers in S5M8767, S2MPS11 and S2MPS14 PMIC-s.
>>>
>>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>> ---
>>> drivers/mfd/sec-core.c | 8 ++++++++
>>> 1 file changed, 8 insertions(+)
>>>
>>> diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
>>> index d163c66edebb..c5b9b95b2099 100644
>>> --- a/drivers/mfd/sec-core.c
>>> +++ b/drivers/mfd/sec-core.c
>>> @@ -55,28 +55,36 @@ static const struct mfd_cell s5m8763_devs[] = {
>>> static const struct mfd_cell s5m8767_devs[] = {
>>> {
>>> .name = "s5m8767-pmic",
>>> + .of_compatible = "samsung,s5m8767-regulators",
>>> }, {
>>> .name = "s5m-rtc",
>>> + .of_compatible = "samsung,s5m8767-rtc",
>>> }, {
>>> .name = "s5m8767-clk",
>>> + .of_compatible = "samsung,s5m8767-clk",
>>> }
>>> };
>>>
>>> static const struct mfd_cell s2mps11_devs[] = {
>>> {
>>> .name = "s2mps11-pmic",
>>> + .of_compatible = "samsung,s2mps11-regulators",
>>> }, {
>>> .name = "s2mps11-clk",
>>> + .of_compatible = "samsung,s2mps11-clk",
>>> }
>>> };
>>>
>>> static const struct mfd_cell s2mps14_devs[] = {
>>> {
>>> .name = "s2mps14-pmic",
>>> + .of_compatible = "samsung,s2mps14-regulators",
>>> }, {
>>> .name = "s2mps14-rtc",
>>> + .of_compatible = "samsung,s2mps14-rtc",
>>> }, {
>>> .name = "s2mps14-clk",
>>> + .of_compatible = "samsung,s2mps14-clk",
>>> }
>>> };
>>
>> Are these compatible strings documented anywhere?
>
> The "-clk" compatible strings are (in next patch). The "-rtc" and
> "-regulators" are not.
Hmm, this doesn't sound good.
> Actually they aren't also used by child driver (each child driver parses
> from parent of_node).
Do you need to add compatible strings to mfd_cell entries of such cells
then?
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells
2014-03-13 12:37 ` Tomasz Figa
@ 2014-03-13 12:49 ` Krzysztof Kozlowski
2014-03-13 13:09 ` Lee Jones
0 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2014-03-13 12:49 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 2014-03-13 at 13:37 +0100, Tomasz Figa wrote:
> On 13.03.2014 13:16, Krzysztof Kozlowski wrote:
> > On Thu, 2014-03-13 at 13:07 +0100, Tomasz Figa wrote:
> >> Hi Krzysztof,
> >>
> >> On 13.03.2014 10:37, Krzysztof Kozlowski wrote:
> >>> Add of_compatible strings for MFD cells for regulator, clock and RTC
> >>> drivers in S5M8767, S2MPS11 and S2MPS14 PMIC-s.
> >>>
> >>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> >>> ---
> >>> drivers/mfd/sec-core.c | 8 ++++++++
> >>> 1 file changed, 8 insertions(+)
> >>>
> >>> diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
> >>> index d163c66edebb..c5b9b95b2099 100644
> >>> --- a/drivers/mfd/sec-core.c
> >>> +++ b/drivers/mfd/sec-core.c
> >>> @@ -55,28 +55,36 @@ static const struct mfd_cell s5m8763_devs[] = {
> >>> static const struct mfd_cell s5m8767_devs[] = {
> >>> {
> >>> .name = "s5m8767-pmic",
> >>> + .of_compatible = "samsung,s5m8767-regulators",
> >>> }, {
> >>> .name = "s5m-rtc",
> >>> + .of_compatible = "samsung,s5m8767-rtc",
> >>> }, {
> >>> .name = "s5m8767-clk",
> >>> + .of_compatible = "samsung,s5m8767-clk",
> >>> }
> >>> };
> >>>
> >>> static const struct mfd_cell s2mps11_devs[] = {
> >>> {
> >>> .name = "s2mps11-pmic",
> >>> + .of_compatible = "samsung,s2mps11-regulators",
> >>> }, {
> >>> .name = "s2mps11-clk",
> >>> + .of_compatible = "samsung,s2mps11-clk",
> >>> }
> >>> };
> >>>
> >>> static const struct mfd_cell s2mps14_devs[] = {
> >>> {
> >>> .name = "s2mps14-pmic",
> >>> + .of_compatible = "samsung,s2mps14-regulators",
> >>> }, {
> >>> .name = "s2mps14-rtc",
> >>> + .of_compatible = "samsung,s2mps14-rtc",
> >>> }, {
> >>> .name = "s2mps14-clk",
> >>> + .of_compatible = "samsung,s2mps14-clk",
> >>> }
> >>> };
> >>
> >> Are these compatible strings documented anywhere?
> >
> > The "-clk" compatible strings are (in next patch). The "-rtc" and
> > "-regulators" are not.
>
> Hmm, this doesn't sound good.
>
> > Actually they aren't also used by child driver (each child driver parses
> > from parent of_node).
>
> Do you need to add compatible strings to mfd_cell entries of such cells
> then?
>From my point of view there isn't any special need for them (except for
clk).
Dear Lee,
Do you wish to have these compatibles for all of child drivers even when
they aren't used directly by them? If yes then probably I should
document them.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells
2014-03-13 12:49 ` Krzysztof Kozlowski
@ 2014-03-13 13:09 ` Lee Jones
0 siblings, 0 replies; 11+ messages in thread
From: Lee Jones @ 2014-03-13 13:09 UTC (permalink / raw)
To: linux-arm-kernel
<snip>
> > >> Are these compatible strings documented anywhere?
> > >
> > > The "-clk" compatible strings are (in next patch). The "-rtc" and
> > > "-regulators" are not.
> >
> > Hmm, this doesn't sound good.
> >
> > > Actually they aren't also used by child driver (each child driver parses
> > > from parent of_node).
> >
> > Do you need to add compatible strings to mfd_cell entries of such cells
> > then?
>
> From my point of view there isn't any special need for them (except for
> clk).
>
> Dear Lee,
>
> Do you wish to have these compatibles for all of child drivers even when
> they aren't used directly by them? If yes then probably I should
> document them.
It's your call, either remove the unused ones or document them all.
I don't really mind either way. In the previous version I asked if
there was any reason why you weren't applying compatible strings to
the other cells; "subordinate drivers don't use them" is a perfectly
reasonable reason.
--
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] 11+ messages in thread
* [PATCH v2 3/3] Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks
2014-03-13 9:37 [PATCH v2 0/3] clk: s2mps11: Add support for S2MPS14 clocks Krzysztof Kozlowski
2014-03-13 9:37 ` [PATCH v2 1/3] " Krzysztof Kozlowski
2014-03-13 9:37 ` [PATCH v2 2/3] mfd: sec-core: Add of_compatible strings for MFD cells Krzysztof Kozlowski
@ 2014-03-13 9:37 ` Krzysztof Kozlowski
2014-03-13 12:51 ` Tomasz Figa
2 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2014-03-13 9:37 UTC (permalink / raw)
To: linux-arm-kernel
Add bindings documentation for clocks on S5M8767 and S2MPS14 devices.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Tomasz Figa <t.figa@samsung.com>
Cc: devicetree at vger.kernel.org
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
---
Documentation/devicetree/bindings/mfd/s2mps11.txt | 24 +++++++++++++--------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt
index 15ee89c3cc7b..67ea05ca8050 100644
--- a/Documentation/devicetree/bindings/mfd/s2mps11.txt
+++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt
@@ -16,20 +16,25 @@ Optional properties:
- interrupts: Interrupt specifiers for interrupt sources.
Optional nodes:
-- clocks: s2mps11 provides 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 :
+- clocks: s2mps11 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]
+ The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
- #clock-cells: should be 1.
- The following is the list of clocks generated by the controller. Each clock
is assigned an identifier and client nodes use this identifier to specify
the clock which they consume.
- Clock ID
- ----------------------
- 32KhzAP 0
- 32KhzCP 1
- 32KhzBT 2
+ Clock ID Devices
+ ----------------------------------------------------------
+ 32KhzAP 0 S2MPS11, S2MPS14, S5M8767
+ 32KhzCP 1 S2MPS11, S5M8767
+ 32KhzBT 2 S2MPS11, S2MPS14, S5M8767
+
+ - compatible: Should be one of: "samsung,s2mps11-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
@@ -71,7 +76,8 @@ Example:
compatible = "samsung,s2mps11-pmic";
reg = <0x66>;
- s2m_osc: clocks{
+ s2m_osc: clocks {
+ compatible = "samsung,s2mps11-clk";
#clock-cells = 1;
clock-output-names = "xx", "yy", "zz";
};
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH v2 3/3] Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks
2014-03-13 9:37 ` [PATCH v2 3/3] Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks Krzysztof Kozlowski
@ 2014-03-13 12:51 ` Tomasz Figa
0 siblings, 0 replies; 11+ messages in thread
From: Tomasz Figa @ 2014-03-13 12:51 UTC (permalink / raw)
To: linux-arm-kernel
Hi Krzysztof,
On 13.03.2014 10:37, Krzysztof Kozlowski wrote:
> Add bindings documentation for clocks on S5M8767 and S2MPS14 devices.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Cc: Tomasz Figa <t.figa@samsung.com>
> Cc: devicetree at vger.kernel.org
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Pawel Moll <pawel.moll@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
> Cc: Kumar Gala <galak@codeaurora.org>
> ---
> Documentation/devicetree/bindings/mfd/s2mps11.txt | 24 +++++++++++++--------
> 1 file changed, 15 insertions(+), 9 deletions(-)
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 11+ messages in thread