power: qcom: introduce QPNP SMB5 charger driver

The QPNP SMB5 charger driver supports the charger peripherals present
in the PMIC PM855B. PM855B incorporates a dual-input high-efficiency
switch-mode battery charger for single-cell Lithium batteries.

Register access is provided by the parent device via regmap. Interrupts
are controlled by the parent device, and handlers are registered by the
QPNP SMB5 charger driver.

The power supply framework is used to communicate battery and usb
properties to userspace and other driver consumers such as fuel gauge,
USB, and USB-PD.

VBUS and VCONN regulators are registered for supporting OTG, and powered
Type-C cables respectively.

As a primary charger, it can also be paired with parallel SMB1355, and/or
SMB1390 for highest charge currents and lowest thermals.

Change-Id: I0f46b876e97c3a476b3793d74f33861d59e6fd38
Signed-off-by: Harry Yang <harryy@codeaurora.org>
7 files changed