2014-02-13 10:48:03

by Adam Thomson

[permalink] [raw]
Subject: [PATCH 0/2] mfd: da9055: Add DT support & documentation for PMIC

This patch set adds DT support for the MFD core of the da9055 PMIC, and adds
the accompanying DT binding documentation for the device.

Adam Thomson (2):
mfd: da9055: Add DT support for PMIC
mfd: da9055: Add DT binding documentation for PMIC

Documentation/devicetree/bindings/mfd/da9055.txt | 73 ++++++++++++++++++++++
drivers/mfd/da9055-i2c.c | 8 +++
2 files changed, 81 insertions(+), 0 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/da9055.txt


2014-02-13 10:46:47

by Adam Thomson

[permalink] [raw]
Subject: [PATCH 1/2] mfd: da9055: Add DT support for PMIC

Signed-off-by: Adam Thomson <[email protected]>
---
drivers/mfd/da9055-i2c.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/mfd/da9055-i2c.c b/drivers/mfd/da9055-i2c.c
index 8103e43..d4d4c16 100644
--- a/drivers/mfd/da9055-i2c.c
+++ b/drivers/mfd/da9055-i2c.c
@@ -15,6 +15,8 @@
#include <linux/device.h>
#include <linux/i2c.h>
#include <linux/err.h>
+#include <linux/of.h>
+#include <linux/of_device.h>

#include <linux/mfd/da9055/core.h>

@@ -66,6 +68,11 @@ static struct i2c_device_id da9055_i2c_id[] = {
};
MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);

+static const struct of_device_id da9055_of_match[] = {
+ { .compatible = "dlg,da9055-pmic", },
+ { }
+};
+
static struct i2c_driver da9055_i2c_driver = {
.probe = da9055_i2c_probe,
.remove = da9055_i2c_remove,
@@ -73,6 +80,7 @@ static struct i2c_driver da9055_i2c_driver = {
.driver = {
.name = "da9055-pmic",
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(da9055_of_match),
},
};

--
1.7.0.4

Legal Disclaimer: This e-mail communication (and any attachment/s) is confidential and contains proprietary information, some or all of which may be legally privileged. It is intended solely for the use of the individual or entity to which it is addressed. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful.

Please consider the environment before printing this e-mail

2014-02-13 10:49:07

by Adam Thomson

[permalink] [raw]
Subject: [PATCH 2/2] mfd: da9055: Add DT binding documentation for PMIC

Signed-off-by: Adam Thomson <[email protected]>
---
Documentation/devicetree/bindings/mfd/da9055.txt | 73 ++++++++++++++++++++++
1 files changed, 73 insertions(+), 0 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/da9055.txt

diff --git a/Documentation/devicetree/bindings/mfd/da9055.txt b/Documentation/devicetree/bindings/mfd/da9055.txt
new file mode 100644
index 0000000..f903c3f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/da9055.txt
@@ -0,0 +1,73 @@
+* Dialog DA9055 Power Management Integrated Circuit (PMIC)
+
+DA9055 consists of a large and varied group of sub-devices (I2C Only):
+
+Device Supply Names Description
+------ ------------ -----------
+da9055-gpio : : GPIOs
+da9055-regulator : : Regulators
+da9055-onkey : : On key
+da9055-rtc : : RTC
+da9055-hwmon : : ADC
+da9055-watchdog : : Watchdog
+
+The CODEC device in DA9055 has a separate, configurable I2C address and so
+is instantiated separately from the PMIC.
+
+For details on accompanying CODEC I2C device, see the following:
+Documentation/devicetree/bindings/sound/da9055.txt
+
+======
+
+Required properties:
+- compatible : Should be "dlg,da9055-pmic"
+- reg: Specifies the I2C slave address (defaults to 0x5a but can be modified)
+- interrupt-parent: Specifies the phandle of the interrupt controller to which
+ the IRQs from da9055 are delivered to.
+- interrupts: IRQ line info for da9055 chip.
+- interrupt-controller: da9055 has internal IRQs (has own IRQ domain).
+- #interrupt-cells: Should be 1, is the local IRQ number for da9055.
+
+Sub-nodes:
+- regulators : Contain the regulator nodes. The DA9055 regulators are
+ bound using their names as listed below:
+
+ buck1 : regulator BUCK1
+ buck2 : regulator BUCK2
+ ldo1 : regulator LDO1
+ ldo2 : regulator LDO2
+ ldo3 : regulator LDO3
+ ldo4 : regulator LDO4
+ ldo5 : regulator LDO5
+ ldo6 : regulator LDO6
+
+ The bindings details of individual regulator device can be found in:
+ Documentation/devicetree/bindings/regulator/regulator.txt
+
+
+Example:
+
+ pmic: da9055-pmic@5a {
+ compatible = "dlg,da9055-pmic";
+ reg = <0x5a>;
+ interrupt-parent = <&intc>;
+ interrupts = <5 0x8>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ regulators {
+ buck1: BUCK1 {
+ regulator-min-microvolt = <725000>;
+ regulator-max-microvolt = <2075000>;
+ };
+
+ buck2: BUCK2 {
+ regulator-min-microvolt = <925000>;
+ regulator-max-microvolt = <2500000>;
+ };
+ ldo1: LDO1 {
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <3300000>;
+ };
+ };
+ };
--
1.7.0.4

2014-02-13 11:18:08

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 2/2] mfd: da9055: Add DT binding documentation for PMIC

On Thu, Feb 13, 2014 at 10:45:52AM +0000, Adam Thomson wrote:
> Signed-off-by: Adam Thomson <[email protected]>

Acked-by: Mark Brown <[email protected]>


Attachments:
(No filename) (173.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments

2014-02-13 11:36:53

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH 1/2] mfd: da9055: Add DT support for PMIC

> Signed-off-by: Adam Thomson <[email protected]>
> ---
> drivers/mfd/da9055-i2c.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mfd/da9055-i2c.c b/drivers/mfd/da9055-i2c.c
> index 8103e43..d4d4c16 100644
> --- a/drivers/mfd/da9055-i2c.c
> +++ b/drivers/mfd/da9055-i2c.c
> @@ -15,6 +15,8 @@
> #include <linux/device.h>
> #include <linux/i2c.h>
> #include <linux/err.h>
> +#include <linux/of.h>
> +#include <linux/of_device.h>
>
> #include <linux/mfd/da9055/core.h>
>
> @@ -66,6 +68,11 @@ static struct i2c_device_id da9055_i2c_id[] = {
> };
> MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
>
> +static const struct of_device_id da9055_of_match[] = {
> + { .compatible = "dlg,da9055-pmic", },
> + { }
> +};
> +
> static struct i2c_driver da9055_i2c_driver = {
> .probe = da9055_i2c_probe,
> .remove = da9055_i2c_remove,
> @@ -73,6 +80,7 @@ static struct i2c_driver da9055_i2c_driver = {
> .driver = {
> .name = "da9055-pmic",
> .owner = THIS_MODULE,
> + .of_match_table = of_match_ptr(da9055_of_match),
> },
> };

Patch looks okay to me, but needs an Ack from the DT guys.

Acked-by: Lee Jones <[email protected]>

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog