[PATCH v2 0/2] mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver

STALE3923d SUPERSEDED

Revision v2 of 10 in this series.

9 messages, 3 authors, 2016-01-14 · open the first message on its own page

[PATCH v2 0/2] mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver

From: Wenyou Yang <hidden>
Date: 2016-01-12 08:07:21

This patch set adds support for the Active-semi ACT8945A PMIC
MFD driver. It is a Multi Function Device with the following
subdevices:
 - Regulator
 - Charger

It is interfaced to the host controller using I2C interface,
ACT8945A is a child device of the I2C.

Changes in v2:
 - add more help information in Kconfig.
 - update the file header with short version license and author line.
 - remove unused structure members (dev, i2c_client) of stuct act8945a_dev.
 - use define "PLATFORM_DEVID_NONE" for mfd_add_devices(), instead of '-1'.
 - use more explicit info to indicate the failure to add sub devices.
 - remove the unnecessary print out.
 - substitute MODULE_LICENSE("GPL") for MODULE_LICENSE("GPL v2").
 - use more specific label in Example.
 - add pmic and charger nodes in Example.

Wenyou Yang (2):
  mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver
  mfd: add documentation for ACT8945A DT bindings

 Documentation/devicetree/bindings/mfd/act8945a.txt |   82 +++++++++++++++
 drivers/mfd/Kconfig                                |   11 ++
 drivers/mfd/Makefile                               |    1 +
 drivers/mfd/act8945a.c                             |  109 ++++++++++++++++++++
 include/linux/mfd/act8945a.h                       |   21 ++++
 5 files changed, 224 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/act8945a.txt
 create mode 100644 drivers/mfd/act8945a.c
 create mode 100644 include/linux/mfd/act8945a.h

-- 
1.7.9.5

[PATCH v2 1/2] mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver

From: Wenyou Yang <hidden>
Date: 2016-01-12 08:08:25

This patch adds support for the Active-semi ACT8945A PMIC.
It is a Multi Function Device with the following subdevices:
 - Regulator
 - Charger

It is interfaced to the host controller using I2C interface,
ACT8945A is a child device of the I2C.

Signed-off-by: Wenyou Yang <redacted>
---

Changes in v2:
 - add more help information in Kconfig.
 - update the file header with short version license and author line.
 - remove unused structure members (dev, i2c_client) of stuct act8945a_dev.
 - use define "PLATFORM_DEVID_NONE" for mfd_add_devices(), instead of '-1'.
 - use more explicit info to indicate the failure to add sub devices.
 - remove the unnecessary print out.
 - substitute MODULE_LICENSE("GPL") for MODULE_LICENSE("GPL v2").

 drivers/mfd/Kconfig          |   11 +++++
 drivers/mfd/Makefile         |    1 +
 drivers/mfd/act8945a.c       |  109 ++++++++++++++++++++++++++++++++++++++++++
 include/linux/mfd/act8945a.h |   21 ++++++++
 4 files changed, 142 insertions(+)
 create mode 100644 drivers/mfd/act8945a.c
 create mode 100644 include/linux/mfd/act8945a.h
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 9ca66de..34375a9 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -18,6 +18,17 @@ config MFD_CS5535
 	  This is the core driver for CS5535/CS5536 MFD functions.  This is
           necessary for using the board's GPIO and MFGPT functionality.
 
+config MFD_ACT8945A
+	bool "Active-semi ACT8945A"
+	select MFD_CORE
+	select REGMAP_I2C
+	depends on I2C && OF
+	help
+	  Support for the ACT8945A PMIC from Active-semi. This device
+	  features three step-down DC/DC converters and four low-dropout
+	  linear regulators, along with a complete ActivePath battery
+	  charger.
+
 config MFD_AS3711
 	bool "AMS AS3711"
 	select MFD_CORE
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index 0f230a6..2f1ca82 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -6,6 +6,7 @@
 obj-$(CONFIG_MFD_88PM860X)	+= 88pm860x.o
 obj-$(CONFIG_MFD_88PM800)	+= 88pm800.o 88pm80x.o
 obj-$(CONFIG_MFD_88PM805)	+= 88pm805.o 88pm80x.o
+obj-$(CONFIG_MFD_ACT8945A)	+= act8945a.o
 obj-$(CONFIG_MFD_SM501)		+= sm501.o
 obj-$(CONFIG_MFD_ASIC3)		+= asic3.o tmio_core.o
 obj-$(CONFIG_MFD_BCM590XX)	+= bcm590xx.o
diff --git a/drivers/mfd/act8945a.c b/drivers/mfd/act8945a.c
new file mode 100644
index 0000000..7f8c50a
--- /dev/null
+++ b/drivers/mfd/act8945a.c
@@ -0,0 +1,109 @@
+/*
+ * MFD driver for Active-semi ACT8945a PMIC
+ *
+ * Copyright (C) 2015 Atmel Corporation.
+ *
+ * Author: Wenyou Yang <wenyou.yang@atmel.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.
+ */
+
+#include <linux/i2c.h>
+#include <linux/mfd/act8945a.h>
+#include <linux/mfd/core.h>
+#include <linux/module.h>
+#include <linux/of_device.h>
+#include <linux/regmap.h>
+
+static const struct mfd_cell act8945a_devs[] = {
+	{
+		.name = "act8945a-pmic",
+		.of_compatible = "active-semi,act8945a-regulator",
+	},
+	{
+		.name = "act8945a-charger",
+		.of_compatible = "active-semi,act8945a-charger",
+	},
+};
+
+static const struct regmap_config act8945a_regmap_config = {
+	.reg_bits = 8,
+	.val_bits = 8,
+};
+
+static int act8945a_i2c_probe(struct i2c_client *i2c,
+			      const struct i2c_device_id *id)
+{
+	struct act8945a_dev *act8945a;
+	int ret;
+
+	act8945a = devm_kzalloc(&i2c->dev, sizeof(*act8945a), GFP_KERNEL);
+	if (!act8945a)
+		return -ENOMEM;
+
+	i2c_set_clientdata(i2c, act8945a);
+
+	act8945a->regmap = devm_regmap_init_i2c(i2c, &act8945a_regmap_config);
+	if (IS_ERR(act8945a->regmap)) {
+		ret = PTR_ERR(act8945a->regmap);
+		dev_err(&i2c->dev, "regmap init failed: %d\n", ret);
+		return ret;
+	}
+
+	ret = mfd_add_devices(&i2c->dev, PLATFORM_DEVID_NONE, act8945a_devs,
+			      ARRAY_SIZE(act8945a_devs), NULL, 0, NULL);
+	if (ret) {
+		dev_err(&i2c->dev, "Failed to add sub devices\n");
+		return ret;
+	}
+
+	return 0;
+}
+
+static int act8945a_i2c_remove(struct i2c_client *i2c)
+{
+	mfd_remove_devices(&i2c->dev);
+
+	return 0;
+}
+
+static const struct i2c_device_id act8945a_i2c_id[] = {
+	{ "act8945a", 0 },
+	{}
+};
+MODULE_DEVICE_TABLE(i2c, act8945a_i2c_id);
+
+static const struct of_device_id act8945a_of_match[] = {
+	{.compatible = "active-semi,act8945a", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, act8945a_of_match);
+
+static struct i2c_driver act8945a_i2c_driver = {
+	.driver = {
+		   .name = "act8945a",
+		   .of_match_table = of_match_ptr(act8945a_of_match),
+	},
+	.probe = act8945a_i2c_probe,
+	.remove = act8945a_i2c_remove,
+	.id_table = act8945a_i2c_id,
+};
+
+static int __init act8945a_i2c_init(void)
+{
+	return i2c_add_driver(&act8945a_i2c_driver);
+}
+subsys_initcall(act8945a_i2c_init);
+
+static void __exit act8945a_i2c_exit(void)
+{
+	i2c_del_driver(&act8945a_i2c_driver);
+}
+module_exit(act8945a_i2c_exit);
+
+MODULE_DESCRIPTION("ACT8945A PMIC multi-function driver");
+MODULE_AUTHOR("Wenyou Yang <wenyou.yang@atmel.com>");
+MODULE_LICENSE("GPL");
diff --git a/include/linux/mfd/act8945a.h b/include/linux/mfd/act8945a.h
new file mode 100644
index 0000000..5f67009
--- /dev/null
+++ b/include/linux/mfd/act8945a.h
@@ -0,0 +1,21 @@
+/*
+ * MFD driver for Active-semi ACT8945a PMIC
+ *
+ * Copyright (C) 2015 Atmel Corporation.
+ *
+ * Author: Wenyou Yang <wenyou.yang@atmel.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.
+ */
+
+#ifndef _LINUX_MFD_ACT8945A_H
+#define _LINUX_MFD_ACT8945A_H
+
+struct act8945a_dev {
+	struct regmap *regmap;
+};
+
+#endif
-- 
1.7.9.5

[PATCH v2 2/2] mfd: add documentation for ACT8945A DT bindings

From: Wenyou Yang <hidden>
Date: 2016-01-12 08:08:52

The Active-semi ACT8945A PMIC is a Multi-Function Device, it has
two subdevices:
 - Regulator
 - Charger

This patch adds documentation for ACT8945A DT bindings.

Signed-off-by: Wenyou Yang <redacted>
---

Changes in v2:
 - use more specific label in Example.
 - add pmic and charger nodes in Example.

 Documentation/devicetree/bindings/mfd/act8945a.txt |   82 ++++++++++++++++++++
 1 file changed, 82 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/act8945a.txt
diff --git a/Documentation/devicetree/bindings/mfd/act8945a.txt b/Documentation/devicetree/bindings/mfd/act8945a.txt
new file mode 100644
index 0000000..e4a8aaf
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/act8945a.txt
@@ -0,0 +1,82 @@
+Device-Tree bindings for Active-semi ACT8945A MFD driver
+
+Required properties:
+ - compatible: "active-semi,act8945a".
+ - reg: the I2C slave address for the ACT8945A chip
+
+The chip exposes two subdevices:
+ - a regulators: see ../regulator/act8945a-regulator.txt
+ - a charger: see ../power/act8945a-charger.txt
+
+Example:
+	act8945a at 5b {
+		compatible = "active-semi,act8945a";
+		reg = <0x5b>;
+		status = "okay";
+
+		pmic {
+			compatible = "active-semi,act8945a-regulator";
+			active-semi,vsel-high;
+
+				regulators {
+					vdd_1v35_reg: DCDC_REG1 {
+						regulator-name = "VDD_1V35";
+						regulator-min-microvolt = <1350000>;
+						regulator-max-microvolt = <1350000>;
+						regulator-always-on;
+					};
+
+					vdd_1v2_reg: DCDC_REG2 {
+						regulator-name = "VDD_1V2";
+						regulator-min-microvolt = <1100000>;
+						regulator-max-microvolt = <1300000>;
+						regulator-always-on;
+					};
+
+					vdd_3v3_reg: DCDC_REG3 {
+						regulator-name = "VDD_3V3";
+						regulator-min-microvolt = <3300000>;
+						regulator-max-microvolt = <3300000>;
+						regulator-always-on;
+					};
+
+					vdd_fuse_reg: LDO_REG1 {
+						regulator-name = "VDD_FUSE";
+						regulator-min-microvolt = <2500000>;
+						regulator-max-microvolt = <2500000>;
+						regulator-always-on;
+					};
+
+					vdd_3v3_lp_reg: LDO_REG2 {
+						regulator-name = "VDD_3V3_LP";
+						regulator-min-microvolt = <3300000>;
+						regulator-max-microvolt = <3300000>;
+						regulator-always-on;
+					};
+
+					vdd_led_reg: LDO_REG3 {
+						regulator-name = "VDD_LED";
+						regulator-min-microvolt = <3300000>;
+						regulator-max-microvolt = <3300000>;
+						regulator-always-on;
+					};
+
+					vdd_sdhc_1v8_reg: LDO_REG4 {
+						regulator-name = "VDD_SDHC_1V8";
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+						regulator-always-on;
+					};
+				};
+			};
+
+		charger {
+			compatible = "active-semi,act8945a-charger";
+			pinctrl-names = "default";
+			pinctrl-0 = <&pinctrl_charger_chglev>;
+			active-semi,chglev-gpio = <&pioA 12 GPIO_ACTIVE_HIGH>;
+			active-semi,input_voltage_threshold = <6600>;
+			active-semi,precondition_timeout = <40>;
+			active-semi,total_timeout = <3>;
+		};
+	};
-- 
1.7.9.5

Re: [PATCH v2 0/2] mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver

From: Lee Jones <hidden>
Date: 2016-01-12 08:45:50

On Tue, 12 Jan 2016, Wenyou Yang wrote:
This patch set adds support for the Active-semi ACT8945A PMIC
MFD driver. It is a Multi Function Device with the following
subdevices:
 - Regulator
 - Charger

It is interfaced to the host controller using I2C interface,
ACT8945A is a child device of the I2C.

Changes in v2:
 - add more help information in Kconfig.
 - update the file header with short version license and author line.
 - remove unused structure members (dev, i2c_client) of stuct act8945a_dev.
 - use define "PLATFORM_DEVID_NONE" for mfd_add_devices(), instead of '-1'.
 - use more explicit info to indicate the failure to add sub devices.
 - remove the unnecessary print out.
 - substitute MODULE_LICENSE("GPL") for MODULE_LICENSE("GPL v2").
 - use more specific label in Example.
 - add pmic and charger nodes in Example.

Wenyou Yang (2):
  mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver
  mfd: add documentation for ACT8945A DT bindings
Sending out 3 patch-sets for related changes is a pretty
unconventional way of doing things.  In future could you place them
all in the same place, that way all of the patches stay together whist
hopping around our inboxes.
 Documentation/devicetree/bindings/mfd/act8945a.txt |   82 +++++++++++++++
 drivers/mfd/Kconfig                                |   11 ++
 drivers/mfd/Makefile                               |    1 +
 drivers/mfd/act8945a.c                             |  109 ++++++++++++++++++++
 include/linux/mfd/act8945a.h                       |   21 ++++
 5 files changed, 224 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/act8945a.txt
 create mode 100644 drivers/mfd/act8945a.c
 create mode 100644 include/linux/mfd/act8945a.h
-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

Re: [PATCH v2 2/2] mfd: add documentation for ACT8945A DT bindings

From: Lee Jones <hidden>
Date: 2016-01-12 08:52:15

On Tue, 12 Jan 2016, Wenyou Yang wrote:
quoted hunk
The Active-semi ACT8945A PMIC is a Multi-Function Device, it has
two subdevices:
 - Regulator
 - Charger

This patch adds documentation for ACT8945A DT bindings.

Signed-off-by: Wenyou Yang <redacted>
---

Changes in v2:
 - use more specific label in Example.
 - add pmic and charger nodes in Example.

 Documentation/devicetree/bindings/mfd/act8945a.txt |   82 ++++++++++++++++++++
 1 file changed, 82 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/act8945a.txt
diff --git a/Documentation/devicetree/bindings/mfd/act8945a.txt b/Documentation/devicetree/bindings/mfd/act8945a.txt
new file mode 100644
index 0000000..e4a8aaf
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/act8945a.txt
@@ -0,0 +1,82 @@
+Device-Tree bindings for Active-semi ACT8945A MFD driver
+
+Required properties:
+ - compatible: "active-semi,act8945a".
+ - reg: the I2C slave address for the ACT8945A chip
+
+The chip exposes two subdevices:
+ - a regulators: see ../regulator/act8945a-regulator.txt
+ - a charger: see ../power/act8945a-charger.txt
+
+Example:
+	act8945a at 5b {
+		compatible = "active-semi,act8945a";
+		reg = <0x5b>;
+		status = "okay";
+
+		pmic {
+			compatible = "active-semi,act8945a-regulator";
+			active-semi,vsel-high;
+
+				regulators {
Your tabbing here is not correct.
quoted hunk
+					vdd_1v35_reg: DCDC_REG1 {
+						regulator-name = "VDD_1V35";
+						regulator-min-microvolt = <1350000>;
+						regulator-max-microvolt = <1350000>;
+						regulator-always-on;
+					};
+
+					vdd_1v2_reg: DCDC_REG2 {
+						regulator-name = "VDD_1V2";
+						regulator-min-microvolt = <1100000>;
+						regulator-max-microvolt = <1300000>;
+						regulator-always-on;
+					};
+
+					vdd_3v3_reg: DCDC_REG3 {
+						regulator-name = "VDD_3V3";
+						regulator-min-microvolt = <3300000>;
+						regulator-max-microvolt = <3300000>;
+						regulator-always-on;
+					};
+
+					vdd_fuse_reg: LDO_REG1 {
+						regulator-name = "VDD_FUSE";
+						regulator-min-microvolt = <2500000>;
+						regulator-max-microvolt = <2500000>;
+						regulator-always-on;
+					};
+
+					vdd_3v3_lp_reg: LDO_REG2 {
+						regulator-name = "VDD_3V3_LP";
+						regulator-min-microvolt = <3300000>;
+						regulator-max-microvolt = <3300000>;
+						regulator-always-on;
+					};
+
+					vdd_led_reg: LDO_REG3 {
+						regulator-name = "VDD_LED";
+						regulator-min-microvolt = <3300000>;
+						regulator-max-microvolt = <3300000>;
+						regulator-always-on;
+					};
+
+					vdd_sdhc_1v8_reg: LDO_REG4 {
+						regulator-name = "VDD_SDHC_1V8";
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+						regulator-always-on;
+					};
+				};
+			};
+
+		charger {
+			compatible = "active-semi,act8945a-charger";
+			pinctrl-names = "default";
+			pinctrl-0 = <&pinctrl_charger_chglev>;
+			active-semi,chglev-gpio = <&pioA 12 GPIO_ACTIVE_HIGH>;
+			active-semi,input_voltage_threshold = <6600>;
+			active-semi,precondition_timeout = <40>;
+			active-semi,total_timeout = <3>;
+		};
+	};
-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

RE: [PATCH v2 0/2] mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver

From: Yang, Wenyou <hidden>
Date: 2016-01-12 08:52:25

Hi Lee,
-----Original Message-----
From: Lee Jones [mailto:lee.jones at linaro.org]
Sent: 2016?1?12? 16:46
To: Yang, Wenyou <redacted>
Cc: Rob Herring <robh+dt@kernel.org>; Pawel Moll <redacted>;
Mark Rutland [off-list ref]; Ian Campbell
[off-list ref]; Kumar Gala [off-list ref]; Javier
Martinez Canillas [off-list ref]; Krzysztof Kozlowski
[off-list ref]; Ferre, Nicolas [off-list ref];
linux-arm-kernel at lists.infradead.org; linux-kernel at vger.kernel.org;
devicetree at vger.kernel.org
Subject: Re: [PATCH v2 0/2] mfd: act8945a: add Active-semi ACT8945A PMIC
MFD driver

On Tue, 12 Jan 2016, Wenyou Yang wrote:
quoted
This patch set adds support for the Active-semi ACT8945A PMIC MFD
driver. It is a Multi Function Device with the following
subdevices:
 - Regulator
 - Charger

It is interfaced to the host controller using I2C interface, ACT8945A
is a child device of the I2C.

Changes in v2:
 - add more help information in Kconfig.
 - update the file header with short version license and author line.
 - remove unused structure members (dev, i2c_client) of stuct act8945a_dev.
 - use define "PLATFORM_DEVID_NONE" for mfd_add_devices(), instead of '-1'.
 - use more explicit info to indicate the failure to add sub devices.
 - remove the unnecessary print out.
 - substitute MODULE_LICENSE("GPL") for MODULE_LICENSE("GPL v2").
 - use more specific label in Example.
 - add pmic and charger nodes in Example.

Wenyou Yang (2):
  mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver
  mfd: add documentation for ACT8945A DT bindings
Sending out 3 patch-sets for related changes is a pretty unconventional way of
doing things.  In future could you place them all in the same place, that way all of
the patches stay together whist hopping around our inboxes.
Thank you for your advice, I will keep in mind next time.
quoted
 Documentation/devicetree/bindings/mfd/act8945a.txt |   82 +++++++++++++++
 drivers/mfd/Kconfig                                |   11 ++
 drivers/mfd/Makefile                               |    1 +
 drivers/mfd/act8945a.c                             |  109 ++++++++++++++++++++
 include/linux/mfd/act8945a.h                       |   21 ++++
 5 files changed, 224 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/act8945a.txt
 create mode 100644 drivers/mfd/act8945a.c  create mode 100644
include/linux/mfd/act8945a.h
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source
software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog

Best Regards,
Wenyou Yang

RE: [PATCH v2 2/2] mfd: add documentation for ACT8945A DT bindings

From: Yang, Wenyou <hidden>
Date: 2016-01-12 09:26:24

Hi Lee,

-----Original Message-----
From: Lee Jones [mailto:lee.jones at linaro.org]
Sent: 2016?1?12? 16:52
To: Yang, Wenyou <redacted>
Cc: Rob Herring <robh+dt@kernel.org>; Pawel Moll <redacted>;
Mark Rutland [off-list ref]; Ian Campbell
[off-list ref]; Kumar Gala [off-list ref]; Javier
Martinez Canillas [off-list ref]; Krzysztof Kozlowski
[off-list ref]; Ferre, Nicolas [off-list ref];
linux-arm-kernel at lists.infradead.org; linux-kernel at vger.kernel.org;
devicetree at vger.kernel.org
Subject: Re: [PATCH v2 2/2] mfd: add documentation for ACT8945A DT bindings

On Tue, 12 Jan 2016, Wenyou Yang wrote:
quoted
The Active-semi ACT8945A PMIC is a Multi-Function Device, it has two
subdevices:
 - Regulator
 - Charger

This patch adds documentation for ACT8945A DT bindings.

Signed-off-by: Wenyou Yang <redacted>
---

Changes in v2:
 - use more specific label in Example.
 - add pmic and charger nodes in Example.

 Documentation/devicetree/bindings/mfd/act8945a.txt |   82
++++++++++++++++++++
quoted
 1 file changed, 82 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/act8945a.txt
diff --git a/Documentation/devicetree/bindings/mfd/act8945a.txt
b/Documentation/devicetree/bindings/mfd/act8945a.txt
new file mode 100644
index 0000000..e4a8aaf
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/act8945a.txt
@@ -0,0 +1,82 @@
+Device-Tree bindings for Active-semi ACT8945A MFD driver
+
+Required properties:
+ - compatible: "active-semi,act8945a".
+ - reg: the I2C slave address for the ACT8945A chip
+
+The chip exposes two subdevices:
+ - a regulators: see ../regulator/act8945a-regulator.txt
+ - a charger: see ../power/act8945a-charger.txt
+
+Example:
+	act8945a at 5b {
+		compatible = "active-semi,act8945a";
+		reg = <0x5b>;
+		status = "okay";
+
+		pmic {
+			compatible = "active-semi,act8945a-regulator";
+			active-semi,vsel-high;
+
+				regulators {
Your tabbing here is not correct.
Oh, Yes, it is not correct, I will correct it.

Thanks.
quoted
+					vdd_1v35_reg: DCDC_REG1 {
+						regulator-name = "VDD_1V35";
+						regulator-min-microvolt =
<1350000>;
quoted
+						regulator-max-microvolt =
<1350000>;
quoted
+						regulator-always-on;
+					};
+
+					vdd_1v2_reg: DCDC_REG2 {
+						regulator-name = "VDD_1V2";
+						regulator-min-microvolt =
<1100000>;
quoted
+						regulator-max-microvolt =
<1300000>;
quoted
+						regulator-always-on;
+					};
+
+					vdd_3v3_reg: DCDC_REG3 {
+						regulator-name = "VDD_3V3";
+						regulator-min-microvolt =
<3300000>;
quoted
+						regulator-max-microvolt =
<3300000>;
quoted
+						regulator-always-on;
+					};
+
+					vdd_fuse_reg: LDO_REG1 {
+						regulator-name = "VDD_FUSE";
+						regulator-min-microvolt =
<2500000>;
quoted
+						regulator-max-microvolt =
<2500000>;
quoted
+						regulator-always-on;
+					};
+
+					vdd_3v3_lp_reg: LDO_REG2 {
+						regulator-name = "VDD_3V3_LP";
+						regulator-min-microvolt =
<3300000>;
quoted
+						regulator-max-microvolt =
<3300000>;
quoted
+						regulator-always-on;
+					};
+
+					vdd_led_reg: LDO_REG3 {
+						regulator-name = "VDD_LED";
+						regulator-min-microvolt =
<3300000>;
quoted
+						regulator-max-microvolt =
<3300000>;
quoted
+						regulator-always-on;
+					};
+
+					vdd_sdhc_1v8_reg: LDO_REG4 {
+						regulator-name =
"VDD_SDHC_1V8";
quoted
+						regulator-min-microvolt =
<1800000>;
quoted
+						regulator-max-microvolt =
<1800000>;
quoted
+						regulator-always-on;
+					};
+				};
+			};
+
+		charger {
+			compatible = "active-semi,act8945a-charger";
+			pinctrl-names = "default";
+			pinctrl-0 = <&pinctrl_charger_chglev>;
+			active-semi,chglev-gpio = <&pioA 12
GPIO_ACTIVE_HIGH>;
quoted
+			active-semi,input_voltage_threshold = <6600>;
+			active-semi,precondition_timeout = <40>;
+			active-semi,total_timeout = <3>;
+		};
+	};
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source
software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog

Best Regards,
Wenyou Yang

Re: [PATCH v2 2/2] mfd: add documentation for ACT8945A DT bindings

From: kbuild test robot <hidden>
Date: 2016-01-12 12:53:05

Hi Wenyou,

[auto build test ERROR on ljones-mfd/for-mfd-next]
[also build test ERROR on v4.4 next-20160111]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Wenyou-Yang/mfd-act8945a-add-Active-semi-ACT8945A-PMIC-MFD-driver/20160112-161159
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: x86_64-allmodconfig (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/built-in.o: In function `act8945a_i2c_probe':
quoted
act8945a.c:(.text+0x229476): undefined reference to `__devm_regmap_init_i2c'
   drivers/built-in.o: In function `act8945a_i2c_init':
quoted
act8945a.c:(.init.text+0x1a536): undefined reference to `i2c_register_driver'
   drivers/built-in.o: In function `act8945a_i2c_exit':
quoted
act8945a.c:(.exit.text+0x66f): undefined reference to `i2c_del_driver'
---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 51062 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160112/6b7364c9/attachment-0001.obj>

RE: [PATCH v2 2/2] mfd: add documentation for ACT8945A DT bindings

From: Yang, Wenyou <hidden>
Date: 2016-01-14 05:01:47

Hi 
-----Original Message-----
From: kbuild test robot [mailto:lkp at intel.com]
Sent: 2016?1?12? 20:55
To: Yang, Wenyou <redacted>
Cc: kbuild-all at 01.org; Lee Jones <redacted>; Rob Herring
[off-list ref]; Pawel Moll [off-list ref]; Mark Rutland
[off-list ref]; Ian Campbell [off-list ref]; Kumar
Gala [off-list ref]; Javier Martinez Canillas [off-list ref];
Krzysztof Kozlowski [off-list ref]; Ferre, Nicolas
[off-list ref]; linux-arm-kernel at lists.infradead.org; linux-
kernel at vger.kernel.org; devicetree at vger.kernel.org; Yang, Wenyou
[off-list ref]
Subject: Re: [PATCH v2 2/2] mfd: add documentation for ACT8945A DT bindings

Hi Wenyou,

[auto build test ERROR on ljones-mfd/for-mfd-next] [also build test ERROR on
v4.4 next-20160111] [if your patch is applied to the wrong git tree, please drop us
a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Wenyou-Yang/mfd-act8945a-add-
Active-semi-ACT8945A-PMIC-MFD-driver/20160112-161159
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: x86_64-allmodconfig (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64

All errors (new ones prefixed by >>):

   drivers/built-in.o: In function `act8945a_i2c_probe':
quoted
quoted
act8945a.c:(.text+0x229476): undefined reference to `__devm_regmap_init_i2c'
   drivers/built-in.o: In function `act8945a_i2c_init':
quoted
quoted
act8945a.c:(.init.text+0x1a536): undefined reference to `i2c_register_driver'
   drivers/built-in.o: In function `act8945a_i2c_exit':
quoted
quoted
act8945a.c:(.exit.text+0x66f): undefined reference to `i2c_del_driver'
Thank you for your test, I will fix it.


Best Regards,
Wenyou Yang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help