浏览代码

regulator: axp20x: add drivevbus support for axp803

Like axp221, axp223, axp813 the axp803 is also supporting external
regulator to drive the  OTG VBus through N_VBUSEN PMIC pin.

Add support for it.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jagan Teki 7 年之前
父节点
当前提交
1f5d6462b5
共有 2 个文件被更改,包括 4 次插入1 次删除
  1. 2 1
      Documentation/devicetree/bindings/mfd/axp20x.txt
  2. 2 0
      drivers/regulator/axp20x-regulator.c

+ 2 - 1
Documentation/devicetree/bindings/mfd/axp20x.txt

@@ -43,7 +43,7 @@ Optional properties:
 			  regulator to drive the OTG VBus, rather then
 			  regulator to drive the OTG VBus, rather then
 			  as an input pin which signals whether the
 			  as an input pin which signals whether the
 			  board is driving OTG VBus or not.
 			  board is driving OTG VBus or not.
-			  (axp221 / axp223 / axp813 only)
+			  (axp221 / axp223 / axp803/ axp813 only)
 
 
 - x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is
 - x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is
 			wired for master mode. The default is slave mode.
 			wired for master mode. The default is slave mode.
@@ -132,6 +132,7 @@ FLDO2		: LDO		: fldoin-supply		: shared supply
 LDO_IO0		: LDO		: ips-supply		: GPIO 0
 LDO_IO0		: LDO		: ips-supply		: GPIO 0
 LDO_IO1		: LDO		: ips-supply		: GPIO 1
 LDO_IO1		: LDO		: ips-supply		: GPIO 1
 RTC_LDO		: LDO		: ips-supply		: always on
 RTC_LDO		: LDO		: ips-supply		: always on
+DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
 
 
 AXP806 regulators, type, and corresponding input supply names:
 AXP806 regulators, type, and corresponding input supply names:
 
 

+ 2 - 0
drivers/regulator/axp20x-regulator.c

@@ -721,6 +721,8 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
 	case AXP803_ID:
 	case AXP803_ID:
 		regulators = axp803_regulators;
 		regulators = axp803_regulators;
 		nregulators = AXP803_REG_ID_MAX;
 		nregulators = AXP803_REG_ID_MAX;
+		drivevbus = of_property_read_bool(pdev->dev.parent->of_node,
+						  "x-powers,drive-vbus-en");
 		break;
 		break;
 	case AXP806_ID:
 	case AXP806_ID:
 		regulators = axp806_regulators;
 		regulators = axp806_regulators;