Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 729e0a1a authored by duckyduckG's avatar duckyduckG Committed by Harshit Jain
Browse files

drivers: power: add SMB1390 charge pump driver



from msm 4.14, as of 'commit <10b4674e>
("power: smb1390: add support to disable smb1390 based on SOC")'

Signed-off-by: default avatarduckyduckG <duckyduckg65@gmail.com>
parent 7537634b
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. SMB1390 Charger Specific Bindings

SMB1390 charge pump is paired with QTI family of standalone chargers to
enable a high current, high efficiency Li+ battery charging system.

=======================
Required Node Structure
=======================

SMB1390 Charger must be described in two levels of device nodes.

==================================
First Level Node - SMB1390 Charger
==================================

Charger specific properties:
- compatible
  Usage:      required
  Value type: <string>
  Definition: "qcom,smb1390-charger".

- qcom,pmic-revid
  Usage:      required
  Value type: phandle
  Definition: Should specify the phandle of SMB's revid module. This is used
	      to identify the SMB subtype.

- io-channels
- io-channel-names
  Usage:      required
  Value type: <phandle>
  Definition: For details about IIO bindings see:
	      Documentation/devicetree/bindings/iio/iio-bindings.txt

================================================
Second Level Nodes - SMB1390 Charger Peripherals
================================================

Peripheral specific properties:
- interrupts
  Usage:      required
  Value type: <prop-encoded-array>
  Definition: Peripheral interrupt specifier.

- interrupt-names
  Usage:      required
  Value type: <stringlist>
  Definition: Interrupt names.  This list must match up 1-to-1 with the
	      interrupts specified in the 'interrupts' property.

=======
Example
=======

smb1390_charger: qcom,charge_pump {
	compatible = "qcom,smb1390-charger";
	qcom,pmic-revid = <&smb1390_revid>;
	interrupt-parent = <&smb1390>;
	status = "disabled";

	io-channels = <&pm855b_vadc ADC_AMUX_THM2>;
	io-channel-names = "cp_die_temp";

	qcom,core {
		interrupts = <0x10 0x0 IRQ_TYPE_EDGE_RISING>,
			     <0x10 0x1 IRQ_TYPE_EDGE_RISING>,
			     <0x10 0x2 IRQ_TYPE_EDGE_RISING>,
			     <0x10 0x3 IRQ_TYPE_EDGE_RISING>,
			     <0x10 0x4 IRQ_TYPE_EDGE_RISING>;
		interrupt-names = "switcher-off-window",
				  "switcher-off-fault",
				  "vph-ov-soft",
				  "ilim",
				  "temp-alarm";
	};
};
+8 −0
Original line number Diff line number Diff line
@@ -70,6 +70,14 @@ config SMB138X_CHARGER
	  The driver reports the charger status via the power supply framework.
	  A charger status change triggers an IRQ via the device STAT pin.

config SMB1390_CHARGE_PUMP
	tristate "SMB1390 Charge Pump"
	depends on MFD_I2C_PMIC
	help
	  Say Y to include support for SMB1390 Charge Pump.
	  SMB1390 is a div2 charge pump capable of delivering 6A charge current
	  with very high efficiency.

config SMB1390_CHARGE_PUMP_PSY
	tristate "SMB1390 power supply framework based driver"
	depends on MFD_I2C_PMIC
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
obj-$(CONFIG_SMB1360_CHARGER_FG)	+= smb1360-charger-fg.o
obj-$(CONFIG_QPNP_SMB5)			+= step-chg-jeita.o battery.o qpnp-smb5.o smb5-lib.o pmic-voter.o storm-watch.o schgm-flash.o
obj-$(CONFIG_SMB1390_CHARGE_PUMP)	+= smb1390-charger.o pmic-voter.o
obj-$(CONFIG_SMB1390_CHARGE_PUMP_PSY)	+= smb1390-charger-psy.o pmic-voter.o
obj-$(CONFIG_SMB1355_SLAVE_CHARGER)	+= smb1355-charger.o pmic-voter.o
obj-$(CONFIG_SMB1351_USB_CHARGER)	+= smb1351-charger.o pmic-voter.o battery.o