power: supply: charger: add cps5601x charger driver

Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I83378ef4952a7f946e517cf34b0a91b3c79b8ffd
This commit is contained in:
Chen Shunqing
2025-02-27 09:29:16 +08:00
committed by Tao Huang
parent e0bd8b680d
commit a39ea4c1bc
4 changed files with 1297 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
Binding for cps5601x battery charger
Required properties:
- compatible: "cps,cps5601x" for cps5601x Charger Power Supply
- monitored-battery: phandle of battery characteristics devicetree node
- input-voltage-limit-microvolt: integer, input voltage level in uV, used to
decrease voltage level when the over current
of the input power source occurs.
- input-current-limit-microamp: integer, input current value in uA drained by the
charger from the power source.Default: 500000 uA (500mA)
child nodes:
- vbus5v0_typec:
Usage: optional
Description: Regulator that is used to control the VBUS voltage direction for
either USB host mode or for charging on the OTG port.
Example:
cps5601x: cps5601x@60 {
compatible = "cps,cps5601x";
reg = <0x60>;
input-voltage-limit-microvolt = <4500000>;
input-current-limit-microamp = <3000000>;
monitored-battery = <&bat>;
regulators {
vbus5v0_typec: vbus5v0-typec {
regulator-compatible = "otg-vbus";
regulator-name = "vbus5v0_typec";
};
};
};

View File

@@ -490,6 +490,14 @@ config CHARGER_CPCAP
Say Y to enable support for CPCAP PMIC charger driver for Motorola
mobile devices such as Droid 4.
config CHARGER_CPS5601X
tristate "CPS5601X charger driver"
depends on I2C
depends on GPIOLIB || COMPILE_TEST
select REGMAP_I2C
help
Say Y to enable support for the CPS5601X battery charger.
config CHARGER_ISP1704
tristate "ISP1704 USB Charger Detection"
depends on USB_PHY

View File

@@ -66,6 +66,7 @@ obj-$(CONFIG_CHARGER_PCF50633) += pcf50633-charger.o
obj-$(CONFIG_BATTERY_RX51) += rx51_battery.o
obj-$(CONFIG_AB8500_BM) += ab8500_bmdata.o ab8500_charger.o ab8500_fg.o ab8500_btemp.o ab8500_chargalg.o
obj-$(CONFIG_CHARGER_CPCAP) += cpcap-charger.o
obj-$(CONFIG_CHARGER_CPS5601X) += cps5601x_charger.o
obj-$(CONFIG_CHARGER_ISP1704) += isp1704_charger.o
obj-$(CONFIG_CHARGER_MAX8903) += max8903_charger.o
obj-$(CONFIG_CHARGER_TWL4030) += twl4030_charger.o

File diff suppressed because it is too large Load Diff