linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC
@ 2016-05-31 16:23 Chen-Yu Tsai
  2016-05-31 16:23 ` [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant Chen-Yu Tsai
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-05-31 16:23 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Maxime Ripard
  Cc: Chen-Yu Tsai, linux-arm-kernel, linux-kernel, Lee Jones

Hi everyone,

These are the remaining patches of my AXP809 PMIC support series. The
mfd parts and regulator fixes were merged in v4.7-rc1. What's left are
the AXP809 regulator driver and dts changes.

Patch 1 adds AXP809 support to the axp20x regulator driver. This patch
depends on patch 3, and patches already in regulator/topic/axp20x.

Patch 2 adds a dtsi file for AXP809.

Patch 3 enables AXP809 support on the A80 Optimus board.

Patch 4 enables AXP809 support on the Cubieboard 4.

Patch 5 disables the dummy regulators from sunxi-common-regulators.dtsi
on the A80 Optimus board. These aren't used in the board DTS anymore.

Patch 6 disables the dummy regulators from sunxi-common-regulators.dtsi,
on the Cubieboard4. These aren't used in the board DTS anymore.


Chen-Yu Tsai (6):
  regulator: axp20x: support AXP809 variant
  ARM: dts: sunxi: Add dtsi file for AXP809 PMIC
  ARM: dts: sun9i: a80-optimus: Add AXP809 PMIC device node and
    regulators
  ARM: dts: sun9i: cubieboard4: Add AXP809 PMIC device node and
    regulators
  ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3,
    vcc5v0
  ARM: dts: sun9i: cubieboard4: Disable dummy regulators vcc3v0, vcc3v3,
    vcc5v0

 .../dts/{sun9i-a80-cubieboard4.dts => axp809.dtsi} |  98 ++------------
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts        | 143 ++++++++++++++++++++-
 arch/arm/boot/dts/sun9i-a80-optimus.dts            | 143 ++++++++++++++++++++-
 drivers/regulator/axp20x-regulator.c               | 119 ++++++++++++-----
 4 files changed, 380 insertions(+), 123 deletions(-)
 copy arch/arm/boot/dts/{sun9i-a80-cubieboard4.dts => axp809.dtsi} (52%)

-- 
2.8.1

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant
  2016-05-31 16:23 [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
@ 2016-05-31 16:23 ` Chen-Yu Tsai
  2016-05-31 17:36   ` Mark Brown
  2016-05-31 16:23 ` [PATCH resend v2 2/6] ARM: dts: sunxi: Add dtsi file for AXP809 PMIC Chen-Yu Tsai
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-05-31 16:23 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Maxime Ripard
  Cc: Chen-Yu Tsai, linux-arm-kernel, linux-kernel, Lee Jones

The X-Powers AXP809 PMIC has a similar set of regulators as the AXP221,
though a few LDOs were removed, and a new switch output added. Like the
AXP221, AXP809 also has DC1SW and DC5LDO, which are internally chained
to DCDC1 and DCDC5, respectively.

Add support for this new variant. Also remove the "axp22x_" prefix from
DC1SW/DC5LDO supply handling code, as the AXP809 uses it as well.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 drivers/regulator/axp20x-regulator.c | 119 ++++++++++++++++++++++++++---------
 1 file changed, 90 insertions(+), 29 deletions(-)

diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
index 514a5e8fdbab..728be64e817a 100644
--- a/drivers/regulator/axp20x-regulator.c
+++ b/drivers/regulator/axp20x-regulator.c
@@ -230,6 +230,61 @@ static const struct regulator_desc axp22x_regulators[] = {
 	AXP_DESC_FIXED(AXP22X, RTC_LDO, "rtc_ldo", "ips", 3000),
 };
 
+static const struct regulator_linear_range axp809_dcdc4_ranges[] = {
+	REGULATOR_LINEAR_RANGE(600000, 0x0, 0x2f, 20000),
+	REGULATOR_LINEAR_RANGE(1800000, 0x30, 0x38, 100000),
+};
+
+static const struct regulator_linear_range axp809_dldo1_ranges[] = {
+	REGULATOR_LINEAR_RANGE(700000, 0x0, 0x1a, 100000),
+	REGULATOR_LINEAR_RANGE(3400000, 0x1b, 0x1f, 200000),
+};
+
+static const struct regulator_desc axp809_regulators[] = {
+	AXP_DESC(AXP809, DCDC1, "dcdc1", "vin1", 1600, 3400, 100,
+		 AXP22X_DCDC1_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL1, BIT(1)),
+	AXP_DESC(AXP809, DCDC2, "dcdc2", "vin2", 600, 1540, 20,
+		 AXP22X_DCDC2_V_OUT, 0x3f, AXP22X_PWR_OUT_CTRL1, BIT(2)),
+	AXP_DESC(AXP809, DCDC3, "dcdc3", "vin3", 600, 1860, 20,
+		 AXP22X_DCDC3_V_OUT, 0x3f, AXP22X_PWR_OUT_CTRL1, BIT(3)),
+	AXP_DESC_RANGES(AXP809, DCDC4, "dcdc4", "vin4", axp809_dcdc4_ranges,
+			57, AXP22X_DCDC4_V_OUT, 0x3f, AXP22X_PWR_OUT_CTRL1,
+			BIT(4)),
+	AXP_DESC(AXP809, DCDC5, "dcdc5", "vin5", 1000, 2550, 50,
+		 AXP22X_DCDC5_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL1, BIT(5)),
+	/* secondary switchable output of DCDC1 */
+	AXP_DESC_SW(AXP809, DC1SW, "dc1sw", NULL, AXP22X_PWR_OUT_CTRL2,
+		    BIT(7)),
+	/* LDO regulator internally chained to DCDC5 */
+	AXP_DESC(AXP809, DC5LDO, "dc5ldo", NULL, 700, 1400, 100,
+		 AXP22X_DC5LDO_V_OUT, 0x7, AXP22X_PWR_OUT_CTRL1, BIT(0)),
+	AXP_DESC(AXP809, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
+		 AXP22X_ALDO1_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL1, BIT(6)),
+	AXP_DESC(AXP809, ALDO2, "aldo2", "aldoin", 700, 3300, 100,
+		 AXP22X_ALDO2_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL1, BIT(7)),
+	AXP_DESC(AXP809, ALDO3, "aldo3", "aldoin", 700, 3300, 100,
+		 AXP22X_ALDO3_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(5)),
+	AXP_DESC_RANGES(AXP809, DLDO1, "dldo1", "dldoin", axp809_dldo1_ranges,
+			32, AXP22X_DLDO1_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2,
+			BIT(3)),
+	AXP_DESC(AXP809, DLDO2, "dldo2", "dldoin", 700, 3300, 100,
+		 AXP22X_DLDO2_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(4)),
+	AXP_DESC(AXP809, ELDO1, "eldo1", "eldoin", 700, 3300, 100,
+		 AXP22X_ELDO1_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(0)),
+	AXP_DESC(AXP809, ELDO2, "eldo2", "eldoin", 700, 3300, 100,
+		 AXP22X_ELDO2_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(1)),
+	AXP_DESC(AXP809, ELDO3, "eldo3", "eldoin", 700, 3300, 100,
+		 AXP22X_ELDO3_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(2)),
+	AXP_DESC_IO(AXP809, LDO_IO0, "ldo_io0", "ips", 700, 3300, 100,
+		    AXP22X_LDO_IO0_V_OUT, 0x1f, AXP20X_GPIO0_CTRL, 0x07,
+		    AXP22X_IO_ENABLED, AXP22X_IO_DISABLED),
+	AXP_DESC_IO(AXP809, LDO_IO1, "ldo_io1", "ips", 700, 3300, 100,
+		    AXP22X_LDO_IO1_V_OUT, 0x1f, AXP20X_GPIO1_CTRL, 0x07,
+		    AXP22X_IO_ENABLED, AXP22X_IO_DISABLED),
+	AXP_DESC_FIXED(AXP809, RTC_LDO, "rtc_ldo", "ips", 1800),
+	AXP_DESC_SW(AXP809, SW, "sw", "swin", AXP22X_PWR_OUT_CTRL2, BIT(6)),
+};
+
 static int axp20x_set_dcdc_freq(struct platform_device *pdev, u32 dcdcfreq)
 {
 	struct axp20x_dev *axp20x = dev_get_drvdata(pdev->dev.parent);
@@ -245,6 +300,7 @@ static int axp20x_set_dcdc_freq(struct platform_device *pdev, u32 dcdcfreq)
 		break;
 	case AXP221_ID:
 	case AXP223_ID:
+	case AXP809_ID:
 		min = 1800;
 		max = 4050;
 		def = 3000;
@@ -324,6 +380,7 @@ static int axp20x_set_dcdc_workmode(struct regulator_dev *rdev, int id, u32 work
 
 	case AXP221_ID:
 	case AXP223_ID:
+	case AXP809_ID:
 		if (id < AXP22X_DCDC1 || id > AXP22X_DCDC5)
 			return -EINVAL;
 
@@ -352,8 +409,8 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
 	};
 	int ret, i, nregulators;
 	u32 workmode;
-	const char *axp22x_dc1_name = axp22x_regulators[AXP22X_DCDC1].name;
-	const char *axp22x_dc5_name = axp22x_regulators[AXP22X_DCDC5].name;
+	const char *dcdc1_name = axp22x_regulators[AXP22X_DCDC1].name;
+	const char *dcdc5_name = axp22x_regulators[AXP22X_DCDC5].name;
 
 	switch (axp20x->variant) {
 	case AXP202_ID:
@@ -366,6 +423,10 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
 		regulators = axp22x_regulators;
 		nregulators = AXP22X_REG_ID_MAX;
 		break;
+	case AXP809_ID:
+		regulators = axp809_regulators;
+		nregulators = AXP809_REG_ID_MAX;
+		break;
 	default:
 		dev_err(&pdev->dev, "Unsupported AXP variant: %ld\n",
 			axp20x->variant);
@@ -388,22 +449,22 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
 		 * part of this loop to see where we save the DT defined
 		 * name.
 		 */
-		if (regulators == axp22x_regulators) {
-			if (i == AXP22X_DC1SW) {
-				new_desc = devm_kzalloc(&pdev->dev,
-							sizeof(*desc),
-							GFP_KERNEL);
-				*new_desc = regulators[i];
-				new_desc->supply_name = axp22x_dc1_name;
-				desc = new_desc;
-			} else if (i == AXP22X_DC5LDO) {
-				new_desc = devm_kzalloc(&pdev->dev,
-							sizeof(*desc),
-							GFP_KERNEL);
-				*new_desc = regulators[i];
-				new_desc->supply_name = axp22x_dc5_name;
-				desc = new_desc;
-			}
+		if ((regulators == axp22x_regulators && i == AXP22X_DC1SW) ||
+		    (regulators == axp809_regulators && i == AXP809_DC1SW)) {
+			new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc),
+						GFP_KERNEL);
+			*new_desc = regulators[i];
+			new_desc->supply_name = dcdc1_name;
+			desc = new_desc;
+		}
+
+		if ((regulators == axp22x_regulators && i == AXP22X_DC5LDO) ||
+		    (regulators == axp809_regulators && i == AXP809_DC5LDO)) {
+			new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc),
+						GFP_KERNEL);
+			*new_desc = regulators[i];
+			new_desc->supply_name = dcdc5_name;
+			desc = new_desc;
 		}
 
 		rdev = devm_regulator_register(&pdev->dev, desc, &config);
@@ -426,17 +487,17 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
 		/*
 		 * Save AXP22X DCDC1 / DCDC5 regulator names for later.
 		 */
-		if (regulators == axp22x_regulators) {
-			/* Can we use rdev->constraints->name instead? */
-			if (i == AXP22X_DCDC1)
-				of_property_read_string(rdev->dev.of_node,
-							"regulator-name",
-							&axp22x_dc1_name);
-			else if (i == AXP22X_DCDC5)
-				of_property_read_string(rdev->dev.of_node,
-							"regulator-name",
-							&axp22x_dc5_name);
-		}
+		if ((regulators == axp22x_regulators && i == AXP22X_DCDC1) ||
+		    (regulators == axp809_regulators && i == AXP809_DCDC1))
+			of_property_read_string(rdev->dev.of_node,
+						"regulator-name",
+						&dcdc1_name);
+
+		if ((regulators == axp22x_regulators && i == AXP22X_DCDC5) ||
+		    (regulators == axp809_regulators && i == AXP809_DCDC5))
+			of_property_read_string(rdev->dev.of_node,
+						"regulator-name",
+						&dcdc5_name);
 	}
 
 	return 0;
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH resend v2 2/6] ARM: dts: sunxi: Add dtsi file for AXP809 PMIC
  2016-05-31 16:23 [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
  2016-05-31 16:23 ` [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant Chen-Yu Tsai
@ 2016-05-31 16:23 ` Chen-Yu Tsai
  2016-05-31 16:23 ` [PATCH resend v2 3/6] ARM: dts: sun9i: a80-optimus: Add AXP809 PMIC device node and regulators Chen-Yu Tsai
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-05-31 16:23 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Maxime Ripard
  Cc: Chen-Yu Tsai, linux-arm-kernel, linux-kernel, Lee Jones

The AXP809 PMIC is used with the Allwinner A80 SoC, along with
an AXP806 PMIC as a slave.

This patch adds a dtsi file for all the common bindings and default
values unrelated to board design. Currently this is just listing all
the regulator nodes. The regulators are initialized based on their
device node names.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/axp809.dtsi | 53 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 arch/arm/boot/dts/axp809.dtsi

diff --git a/arch/arm/boot/dts/axp809.dtsi b/arch/arm/boot/dts/axp809.dtsi
new file mode 100644
index 000000000000..ab8e5f2d9246
--- /dev/null
+++ b/arch/arm/boot/dts/axp809.dtsi
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2015 Chen-Yu Tsai
+ *
+ * Chen-Yu Tsai <wens@csie.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file 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 file 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.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * AXP809 Integrated Power Management Chip
+ */
+
+&axp809 {
+	compatible = "x-powers,axp809";
+	interrupt-controller;
+	#interrupt-cells = <1>;
+};
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH resend v2 3/6] ARM: dts: sun9i: a80-optimus: Add AXP809 PMIC device node and regulators
  2016-05-31 16:23 [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
  2016-05-31 16:23 ` [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant Chen-Yu Tsai
  2016-05-31 16:23 ` [PATCH resend v2 2/6] ARM: dts: sunxi: Add dtsi file for AXP809 PMIC Chen-Yu Tsai
@ 2016-05-31 16:23 ` Chen-Yu Tsai
  2016-05-31 16:23 ` [PATCH resend v2 4/6] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-05-31 16:23 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Maxime Ripard
  Cc: Chen-Yu Tsai, linux-arm-kernel, linux-kernel, Lee Jones

The AXP809 PMIC is the primary PMIC. It provides various supply voltages
for the SoC and other peripherals. The PMIC's interrupt line is
connected to NMI pin of the SoC.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun9i-a80-optimus.dts | 131 +++++++++++++++++++++++++++++++-
 1 file changed, 129 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts
index d7a20d92b114..6cfc02194035 100644
--- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
+++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
@@ -150,7 +150,7 @@
 &mmc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_optimus>;
-	vmmc-supply = <&reg_vcc3v0>;
+	vmmc-supply = <&reg_dcdc1>;
 	bus-width = <4>;
 	cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH8 */
 	cd-inverted;
@@ -160,7 +160,7 @@
 &mmc2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc2_8bit_pins>;
-	vmmc-supply = <&reg_vcc3v0>;
+	vmmc-supply = <&reg_dcdc1>;
 	bus-width = <8>;
 	non-removable;
 	cap-mmc-hw-reset;
@@ -193,8 +193,135 @@
 
 &r_rsb {
 	status = "okay";
+
+	axp809: pmic@3a3 {
+		reg = <0x3a3>;
+		interrupt-parent = <&nmi_intc>;
+		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+
+		regulators {
+			reg_aldo1: aldo1 {
+				/*
+				 * TODO: This should be handled by the
+				 * USB PHY driver.
+				 */
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc33-usbh";
+			};
+
+			reg_aldo2: aldo2 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-name = "vcc-pb-io-cam";
+			};
+
+			aldo3 {
+				/* unused */
+			};
+
+			reg_dc5ldo: dc5ldo {
+				regulator-always-on;
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-name = "vdd-cpus-09-usbh";
+			};
+
+			reg_dcdc1: dcdc1 {
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc-3v";
+			};
+
+			reg_dcdc2: dcdc2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-name = "vdd-gpu";
+			};
+
+			reg_dcdc3: dcdc3 {
+				regulator-always-on;
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-name = "vdd-cpua";
+			};
+
+			reg_dcdc4: dcdc4 {
+				regulator-always-on;
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-name = "vdd-sys-usb0-hdmi";
+			};
+
+			reg_dcdc5: dcdc5 {
+				regulator-always-on;
+				regulator-min-microvolt = <1425000>;
+				regulator-max-microvolt = <1575000>;
+				regulator-name = "vcc-dram";
+			};
+
+			reg_dldo1: dldo1 {
+				/*
+				 * The WiFi chip supports a wide range
+				 * (3.0 ~ 4.8V) of voltages, and so does
+				 * this regulator (3.0 ~ 4.2V), but
+				 * Allwinner SDK always sets it to 3.3V.
+				 */
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-name = "vcc-wifi";
+			};
+
+			reg_dldo2: dldo2 {
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc-pl";
+			};
+
+			reg_eldo1: eldo1 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <1200000>;
+				regulator-name = "vcc-dvdd-cam";
+			};
+
+			reg_eldo2: eldo2 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-name = "vcc-pe";
+			};
+
+			reg_eldo3: eldo3 {
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc-pm-codec-io1";
+			};
+
+			reg_ldo_io0: ldo_io0 {
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc-pg";
+			};
+
+			reg_ldo_io1: ldo_io1 {
+				regulator-min-microvolt = <2500000>;
+				regulator-max-microvolt = <2500000>;
+				regulator-name = "vcc-pa-gmac-2v5";
+			};
+
+			reg_rtc_ldo: rtc_ldo {
+				regulator-name = "vcc-rtc-vdd1v8-io";
+			};
+		};
+	};
 };
 
+#include "axp809.dtsi"
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH resend v2 4/6] ARM: dts: sun9i: cubieboard4: Add AXP809 PMIC device node and regulators
  2016-05-31 16:23 [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
                   ` (2 preceding siblings ...)
  2016-05-31 16:23 ` [PATCH resend v2 3/6] ARM: dts: sun9i: a80-optimus: Add AXP809 PMIC device node and regulators Chen-Yu Tsai
@ 2016-05-31 16:23 ` Chen-Yu Tsai
  2016-05-31 16:23 ` [PATCH resend v2 5/6] ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0 Chen-Yu Tsai
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-05-31 16:23 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Maxime Ripard
  Cc: Chen-Yu Tsai, linux-arm-kernel, linux-kernel, Lee Jones

The AXP809 PMIC is the primary PMIC. It provides various supply voltages
for the SoC and other peripherals. The PMIC's interrupt line is connected
to NMI pin of the SoC.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 131 +++++++++++++++++++++++++++-
 1 file changed, 129 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
index eb2ccd0a3bd5..8d8af1189d87 100644
--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
@@ -98,7 +98,7 @@
 &mmc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_cubieboard4>;
-	vmmc-supply = <&reg_vcc3v0>;
+	vmmc-supply = <&reg_dcdc1>;
 	bus-width = <4>;
 	cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */
 	cd-inverted;
@@ -108,7 +108,7 @@
 &mmc2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc2_8bit_pins>;
-	vmmc-supply = <&reg_vcc3v0>;
+	vmmc-supply = <&reg_dcdc1>;
 	bus-width = <8>;
 	non-removable;
 	cap-mmc-hw-reset;
@@ -126,8 +126,135 @@
 
 &r_rsb {
 	status = "okay";
+
+	axp809: pmic@3a3 {
+		reg = <0x3a3>;
+		interrupt-parent = <&nmi_intc>;
+		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+
+		regulators {
+			reg_aldo1: aldo1 {
+				/*
+				 * TODO: This should be handled by the
+				 * USB PHY driver.
+				 */
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc33-usbh";
+			};
+
+			reg_aldo2: aldo2 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-name = "vcc-pb-io-cam";
+			};
+
+			aldo3 {
+				/* unused */
+			};
+
+			reg_dc5ldo: dc5ldo {
+				regulator-always-on;
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-name = "vdd-cpus-09-usbh";
+			};
+
+			reg_dcdc1: dcdc1 {
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc-3v";
+			};
+
+			reg_dcdc2: dcdc2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-name = "vdd-gpu";
+			};
+
+			reg_dcdc3: dcdc3 {
+				regulator-always-on;
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-name = "vdd-cpua";
+			};
+
+			reg_dcdc4: dcdc4 {
+				regulator-always-on;
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-name = "vdd-sys-usb0-hdmi";
+			};
+
+			reg_dcdc5: dcdc5 {
+				regulator-always-on;
+				regulator-min-microvolt = <1425000>;
+				regulator-max-microvolt = <1575000>;
+				regulator-name = "vcc-dram";
+			};
+
+			reg_dldo1: dldo1 {
+				/*
+				 * The WiFi chip supports a wide range
+				 * (3.0 ~ 4.8V) of voltages, and so does
+				 * this regulator (3.0 ~ 4.2V), but
+				 * Allwinner SDK always sets it to 3.3V.
+				 */
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-name = "vcc-wifi";
+			};
+
+			reg_dldo2: dldo2 {
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc-pl";
+			};
+
+			reg_eldo1: eldo1 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <1200000>;
+				regulator-name = "vcc-dvdd-cam";
+			};
+
+			reg_eldo2: eldo2 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-name = "vcc-pe";
+			};
+
+			reg_eldo3: eldo3 {
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc-pm-codec-io1";
+			};
+
+			reg_ldo_io0: ldo_io0 {
+				regulator-always-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-name = "vcc-pg";
+			};
+
+			reg_ldo_io1: ldo_io1 {
+				regulator-min-microvolt = <2500000>;
+				regulator-max-microvolt = <2500000>;
+				regulator-name = "vcc-pa-gmac-2v5";
+			};
+
+			reg_rtc_ldo: rtc_ldo {
+				regulator-name = "vcc-rtc-vdd1v8-io";
+			};
+		};
+	};
 };
 
+#include "axp809.dtsi"
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH resend v2 5/6] ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0
  2016-05-31 16:23 [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
                   ` (3 preceding siblings ...)
  2016-05-31 16:23 ` [PATCH resend v2 4/6] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
@ 2016-05-31 16:23 ` Chen-Yu Tsai
  2016-05-31 19:01   ` Maxime Ripard
  2016-05-31 16:23 ` [PATCH resend v2 6/6] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
  2016-05-31 19:02 ` [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Maxime Ripard
  6 siblings, 1 reply; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-05-31 16:23 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Maxime Ripard
  Cc: Chen-Yu Tsai, linux-arm-kernel, linux-kernel, Lee Jones

These 3 regulators are provided in sunxi-common-regulators.dtsi.
3.0V/3.3V and 5.0V are commonly used voltages in Allwinner devices.
These dummy regulators provide a stand-in when bindings that require
one, but the real regulator is not supported yet.

Since these are no longer needed, we can disable them.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun9i-a80-optimus.dts | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts
index 6cfc02194035..991337d1d6f1 100644
--- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
+++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
@@ -322,6 +322,18 @@
 
 #include "axp809.dtsi"
 
+&reg_vcc3v0 {
+	status = "disabled";
+};
+
+&reg_vcc3v3 {
+	status = "disabled";
+};
+
+&reg_vcc5v0 {
+	status = "disabled";
+};
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH resend v2 6/6] ARM: dts: sun9i: cubieboard4: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0
  2016-05-31 16:23 [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
                   ` (4 preceding siblings ...)
  2016-05-31 16:23 ` [PATCH resend v2 5/6] ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0 Chen-Yu Tsai
@ 2016-05-31 16:23 ` Chen-Yu Tsai
  2016-05-31 19:02 ` [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Maxime Ripard
  6 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-05-31 16:23 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Maxime Ripard
  Cc: Chen-Yu Tsai, linux-arm-kernel, linux-kernel, Lee Jones

These 3 regulators are provided in sunxi-common-regulators.dtsi.
3.0V/3.3V and 5.0V are commonly used voltages in Allwinner devices.
These dummy regulators provide a stand-in when bindings that require
one, but the real regulator is not supported yet.

Since these are no longer needed, we can disable them.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
index 8d8af1189d87..84a12fef5768 100644
--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
@@ -255,6 +255,18 @@
 
 #include "axp809.dtsi"
 
+&reg_vcc3v0 {
+	status = "disabled";
+};
+
+&reg_vcc3v3 {
+	status = "disabled";
+};
+
+&reg_vcc5v0 {
+	status = "disabled";
+};
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant
  2016-05-31 16:23 ` [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant Chen-Yu Tsai
@ 2016-05-31 17:36   ` Mark Brown
  2016-06-01  2:03     ` Chen-Yu Tsai
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2016-05-31 17:36 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Liam Girdwood, Maxime Ripard, linux-arm-kernel, linux-kernel, Lee Jones

[-- Attachment #1: Type: text/plain, Size: 638 bytes --]

On Wed, Jun 01, 2016 at 12:23:19AM +0800, Chen-Yu Tsai wrote:
> The X-Powers AXP809 PMIC has a similar set of regulators as the AXP221,
> though a few LDOs were removed, and a new switch output added. Like the
> AXP221, AXP809 also has DC1SW and DC5LDO, which are internally chained
> to DCDC1 and DCDC5, respectively.
> 
> Add support for this new variant. Also remove the "axp22x_" prefix from
> DC1SW/DC5LDO supply handling code, as the AXP809 uses it as well.
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---

Please preserve tags when people review things.  Why wasn't this applied
when I originally reviewed it?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 5/6] ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0
  2016-05-31 16:23 ` [PATCH resend v2 5/6] ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0 Chen-Yu Tsai
@ 2016-05-31 19:01   ` Maxime Ripard
  2016-06-01  2:45     ` Chen-Yu Tsai
  0 siblings, 1 reply; 17+ messages in thread
From: Maxime Ripard @ 2016-05-31 19:01 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Mark Brown, Liam Girdwood, linux-arm-kernel, linux-kernel, Lee Jones

[-- Attachment #1: Type: text/plain, Size: 1188 bytes --]

Hi,

On Wed, Jun 01, 2016 at 12:23:23AM +0800, Chen-Yu Tsai wrote:
> These 3 regulators are provided in sunxi-common-regulators.dtsi.
> 3.0V/3.3V and 5.0V are commonly used voltages in Allwinner devices.
> These dummy regulators provide a stand-in when bindings that require
> one, but the real regulator is not supported yet.
> 
> Since these are no longer needed, we can disable them.
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
>  arch/arm/boot/dts/sun9i-a80-optimus.dts | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts
> index 6cfc02194035..991337d1d6f1 100644
> --- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
> +++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
> @@ -322,6 +322,18 @@
>  
>  #include "axp809.dtsi"
>  
> +&reg_vcc3v0 {
> +	status = "disabled";
> +};
> +
> +&reg_vcc3v3 {
> +	status = "disabled";
> +};
> +
> +&reg_vcc5v0 {
> +	status = "disabled";
> +};
> +

Why not remove the include entirely?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC
  2016-05-31 16:23 [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
                   ` (5 preceding siblings ...)
  2016-05-31 16:23 ` [PATCH resend v2 6/6] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
@ 2016-05-31 19:02 ` Maxime Ripard
  6 siblings, 0 replies; 17+ messages in thread
From: Maxime Ripard @ 2016-05-31 19:02 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Mark Brown, Liam Girdwood, linux-arm-kernel, linux-kernel, Lee Jones

[-- Attachment #1: Type: text/plain, Size: 1091 bytes --]

On Wed, Jun 01, 2016 at 12:23:18AM +0800, Chen-Yu Tsai wrote:
> Hi everyone,
> 
> These are the remaining patches of my AXP809 PMIC support series. The
> mfd parts and regulator fixes were merged in v4.7-rc1. What's left are
> the AXP809 regulator driver and dts changes.
> 
> Patch 1 adds AXP809 support to the axp20x regulator driver. This patch
> depends on patch 3, and patches already in regulator/topic/axp20x.
> 
> Patch 2 adds a dtsi file for AXP809.
> 
> Patch 3 enables AXP809 support on the A80 Optimus board.
> 
> Patch 4 enables AXP809 support on the Cubieboard 4.

Merged the last 3

> 
> Patch 5 disables the dummy regulators from sunxi-common-regulators.dtsi
> on the A80 Optimus board. These aren't used in the board DTS anymore.
> 
> Patch 6 disables the dummy regulators from sunxi-common-regulators.dtsi,
> on the Cubieboard4. These aren't used in the board DTS anymore.

And we should just remove the include on his one.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant
  2016-05-31 17:36   ` Mark Brown
@ 2016-06-01  2:03     ` Chen-Yu Tsai
  2016-06-02 10:27       ` Mark Brown
  0 siblings, 1 reply; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-06-01  2:03 UTC (permalink / raw)
  To: Mark Brown
  Cc: Chen-Yu Tsai, Liam Girdwood, Maxime Ripard, linux-arm-kernel,
	linux-kernel, Lee Jones

On Wed, Jun 1, 2016 at 1:36 AM, Mark Brown <broonie@kernel.org> wrote:
> On Wed, Jun 01, 2016 at 12:23:19AM +0800, Chen-Yu Tsai wrote:
>> The X-Powers AXP809 PMIC has a similar set of regulators as the AXP221,
>> though a few LDOs were removed, and a new switch output added. Like the
>> AXP221, AXP809 also has DC1SW and DC5LDO, which are internally chained
>> to DCDC1 and DCDC5, respectively.
>>
>> Add support for this new variant. Also remove the "axp22x_" prefix from
>> DC1SW/DC5LDO supply handling code, as the AXP809 uses it as well.
>>
>> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>> ---
>
> Please preserve tags when people review things.  Why wasn't this applied
> when I originally reviewed it?

The mfd patches this one depended on were pushed around a week before
the merge window, about a month after you reviewed, merged, then backed
out this patch. There was no immutable branch either.

I thought it best to wait a cycle instead of rushing in a patch at the
last minute.

Regards
ChenYu

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 5/6] ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0
  2016-05-31 19:01   ` Maxime Ripard
@ 2016-06-01  2:45     ` Chen-Yu Tsai
  2016-06-01  7:01       ` Maxime Ripard
  0 siblings, 1 reply; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-06-01  2:45 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Mark Brown, Liam Girdwood, linux-arm-kernel,
	linux-kernel, Lee Jones

On Wed, Jun 1, 2016 at 3:01 AM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> Hi,
>
> On Wed, Jun 01, 2016 at 12:23:23AM +0800, Chen-Yu Tsai wrote:
>> These 3 regulators are provided in sunxi-common-regulators.dtsi.
>> 3.0V/3.3V and 5.0V are commonly used voltages in Allwinner devices.
>> These dummy regulators provide a stand-in when bindings that require
>> one, but the real regulator is not supported yet.
>>
>> Since these are no longer needed, we can disable them.
>>
>> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>> ---
>>  arch/arm/boot/dts/sun9i-a80-optimus.dts | 12 ++++++++++++
>>  1 file changed, 12 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts
>> index 6cfc02194035..991337d1d6f1 100644
>> --- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
>> +++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
>> @@ -322,6 +322,18 @@
>>
>>  #include "axp809.dtsi"
>>
>> +&reg_vcc3v0 {
>> +     status = "disabled";
>> +};
>> +
>> +&reg_vcc3v3 {
>> +     status = "disabled";
>> +};
>> +
>> +&reg_vcc5v0 {
>> +     status = "disabled";
>> +};
>> +
>
> Why not remove the include entirely?

reg_usb1_vbus is still used. Or I could just copy it and
get rid of the include.

ChenYu

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 5/6] ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0
  2016-06-01  2:45     ` Chen-Yu Tsai
@ 2016-06-01  7:01       ` Maxime Ripard
  0 siblings, 0 replies; 17+ messages in thread
From: Maxime Ripard @ 2016-06-01  7:01 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Mark Brown, Liam Girdwood, linux-arm-kernel, linux-kernel, Lee Jones

[-- Attachment #1: Type: text/plain, Size: 1716 bytes --]

On Wed, Jun 01, 2016 at 10:45:51AM +0800, Chen-Yu Tsai wrote:
> On Wed, Jun 1, 2016 at 3:01 AM, Maxime Ripard
> <maxime.ripard@free-electrons.com> wrote:
> > Hi,
> >
> > On Wed, Jun 01, 2016 at 12:23:23AM +0800, Chen-Yu Tsai wrote:
> >> These 3 regulators are provided in sunxi-common-regulators.dtsi.
> >> 3.0V/3.3V and 5.0V are commonly used voltages in Allwinner devices.
> >> These dummy regulators provide a stand-in when bindings that require
> >> one, but the real regulator is not supported yet.
> >>
> >> Since these are no longer needed, we can disable them.
> >>
> >> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> >> ---
> >>  arch/arm/boot/dts/sun9i-a80-optimus.dts | 12 ++++++++++++
> >>  1 file changed, 12 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts
> >> index 6cfc02194035..991337d1d6f1 100644
> >> --- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
> >> +++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
> >> @@ -322,6 +322,18 @@
> >>
> >>  #include "axp809.dtsi"
> >>
> >> +&reg_vcc3v0 {
> >> +     status = "disabled";
> >> +};
> >> +
> >> +&reg_vcc3v3 {
> >> +     status = "disabled";
> >> +};
> >> +
> >> +&reg_vcc5v0 {
> >> +     status = "disabled";
> >> +};
> >> +
> >
> > Why not remove the include entirely?
> 
> reg_usb1_vbus is still used. Or I could just copy it and
> get rid of the include.

Ah yes, it is on the Optimus (but not the cubieboard I initially
looked at).

Since we have that other regulator usb3 regulator, we can simply
remove it.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant
  2016-06-01  2:03     ` Chen-Yu Tsai
@ 2016-06-02 10:27       ` Mark Brown
  2016-06-02 11:05         ` Chen-Yu Tsai
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2016-06-02 10:27 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Liam Girdwood, Maxime Ripard, linux-arm-kernel, linux-kernel, Lee Jones

[-- Attachment #1: Type: text/plain, Size: 293 bytes --]

On Wed, Jun 01, 2016 at 10:03:42AM +0800, Chen-Yu Tsai wrote:

> The mfd patches this one depended on were pushed around a week before
> the merge window, about a month after you reviewed, merged, then backed
> out this patch. There was no immutable branch either.

Why did it get backed out?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant
  2016-06-02 10:27       ` Mark Brown
@ 2016-06-02 11:05         ` Chen-Yu Tsai
  2016-06-02 13:25           ` Mark Brown
  0 siblings, 1 reply; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-06-02 11:05 UTC (permalink / raw)
  To: Mark Brown
  Cc: Chen-Yu Tsai, Liam Girdwood, Maxime Ripard, linux-arm-kernel,
	linux-kernel, Lee Jones

On Thu, Jun 2, 2016 at 6:27 PM, Mark Brown <broonie@kernel.org> wrote:
> On Wed, Jun 01, 2016 at 10:03:42AM +0800, Chen-Yu Tsai wrote:
>
>> The mfd patches this one depended on were pushed around a week before
>> the merge window, about a month after you reviewed, merged, then backed
>> out this patch. There was no immutable branch either.
>
> Why did it get backed out?

Because of missing compile dependencies on the mfd bits, which weren't
merged yet.

ChenYu

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant
  2016-06-02 11:05         ` Chen-Yu Tsai
@ 2016-06-02 13:25           ` Mark Brown
  2016-06-02 14:14             ` Chen-Yu Tsai
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2016-06-02 13:25 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Liam Girdwood, Maxime Ripard, linux-arm-kernel, linux-kernel, Lee Jones

[-- Attachment #1: Type: text/plain, Size: 540 bytes --]

On Thu, Jun 02, 2016 at 07:05:22PM +0800, Chen-Yu Tsai wrote:
> On Thu, Jun 2, 2016 at 6:27 PM, Mark Brown <broonie@kernel.org> wrote:

> >> The mfd patches this one depended on were pushed around a week before
> >> the merge window, about a month after you reviewed, merged, then backed
> >> out this patch. There was no immutable branch either.

> > Why did it get backed out?

> Because of missing compile dependencies on the mfd bits, which weren't
> merged yet.

No, what I'm asking is why didn't it get merge along with the MFD bits?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant
  2016-06-02 13:25           ` Mark Brown
@ 2016-06-02 14:14             ` Chen-Yu Tsai
  0 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2016-06-02 14:14 UTC (permalink / raw)
  To: Mark Brown
  Cc: Chen-Yu Tsai, Liam Girdwood, Maxime Ripard, linux-arm-kernel,
	linux-kernel, Lee Jones

On Thu, Jun 2, 2016 at 9:25 PM, Mark Brown <broonie@kernel.org> wrote:
> On Thu, Jun 02, 2016 at 07:05:22PM +0800, Chen-Yu Tsai wrote:
>> On Thu, Jun 2, 2016 at 6:27 PM, Mark Brown <broonie@kernel.org> wrote:
>
>> >> The mfd patches this one depended on were pushed around a week before
>> >> the merge window, about a month after you reviewed, merged, then backed
>> >> out this patch. There was no immutable branch either.
>
>> > Why did it get backed out?
>
>> Because of missing compile dependencies on the mfd bits, which weren't
>> merged yet.
>
> No, what I'm asking is why didn't it get merge along with the MFD bits?

I had asked Lee to push an immutable branch for you to merge this patch
on top of. Obviously that did not come through. Lee did not merge this
patch with the mfd bits either.

So unfortunately I do not have a proper answer for you. Sorry.


Regards
ChenYu

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2016-06-02 14:15 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-31 16:23 [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
2016-05-31 16:23 ` [PATCH resend v2 1/6] regulator: axp20x: support AXP809 variant Chen-Yu Tsai
2016-05-31 17:36   ` Mark Brown
2016-06-01  2:03     ` Chen-Yu Tsai
2016-06-02 10:27       ` Mark Brown
2016-06-02 11:05         ` Chen-Yu Tsai
2016-06-02 13:25           ` Mark Brown
2016-06-02 14:14             ` Chen-Yu Tsai
2016-05-31 16:23 ` [PATCH resend v2 2/6] ARM: dts: sunxi: Add dtsi file for AXP809 PMIC Chen-Yu Tsai
2016-05-31 16:23 ` [PATCH resend v2 3/6] ARM: dts: sun9i: a80-optimus: Add AXP809 PMIC device node and regulators Chen-Yu Tsai
2016-05-31 16:23 ` [PATCH resend v2 4/6] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
2016-05-31 16:23 ` [PATCH resend v2 5/6] ARM: dts: sun9i: a80-optimus: Disable dummy regulators vcc3v0, vcc3v3, vcc5v0 Chen-Yu Tsai
2016-05-31 19:01   ` Maxime Ripard
2016-06-01  2:45     ` Chen-Yu Tsai
2016-06-01  7:01       ` Maxime Ripard
2016-05-31 16:23 ` [PATCH resend v2 6/6] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
2016-05-31 19:02 ` [PATCH resend v2 0/6] regulator: axp20x: Add support for AXP809 PMIC Maxime Ripard

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).