Read instance type from device tree node to know the storage type
for ICE configuration, which is used to program the corresponding
ICE register during ICE reset.
Change-Id: I0eb423fb84dc89115227abc7c5688df7ae9a4a3c
Signed-off-by: AnilKumar Chimata <anilc@codeaurora.org>
Commit b76105e359 ("usb: pd: Read sink capabilities from device
tree") added support in usbpd driver to pass sink capablities from
device tree. But it introduced bug in case of no sink capablities
passed from device tree as in this case, device_property_read_u32_array()
returns -EINVAL. Due to this, usbpd driver probe fails as usbpd_create()
returns errors. Fix this issue by checking if return value > 0 and then
only try to read sink capablities from device tree. If not, use default
sink capabliites defined in usbpd driver.
Change-Id: I51beeba282c6e067881c664d38c2657843a1c716
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Add support to configure battery thermal coefficients so that different
battery thermistors can be supported. These coefficients can be
configured via "qcom,battery-thermal-coefficients" device tree property.
CRs-Fixed: 2004461
Change-Id: Iff25acd397a68c31057dff4db1896d46e396adc6
Signed-off-by: Yingwei Zhao <cyizhao@codeaurora.org>
Set the device node associated with the session while creating
the context to allow for dma operations.
Change-Id: I7937a7bd533a9be09453144e20f7ecca3f3cc0ef
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Slope limit coefficient is used to define the maximum change in
battery SOC. There is a requirement to configure slope limit
coefficient based on charging status and battery temperature
threshold. Add support for it through the following properties.
- qcom,slope-limit-temp-threshold
- qcom,slope-limit-coeffs
Possibe values allowed for slope limit coefficient is 0 to 31.
Change-Id: I41eacb13734f1692a16c1b011c58a488e46515ec
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Ensure that a few of the parameters (SELECTED_PDO, REQUESTED_PDO,
RDO) are properly cleared out during hard reset and a uevent
update is sent to notify userspace clients.
Also, don't reset src_cap_id upon disconnect. This makes it a
a monotonically increasing value upon every connection so that
clients can distinguish when a new PD session is established.
Demote it to a u16 in order to have a smaller wraparound (65535).
Change-Id: I622ad1155b3680d3f616d5e9a835d4c6cbca3636
Signed-off-by: Jack Pham <jackp@codeaurora.org>
When sending a request through the 'select_pdo' sysfs file,
make sure the request has gone through and is acknowledged
by the source before returning. This allows for checking if
the request was rejected so that an error can be returned.
Rename the 'swap_complete' completion variable to 'is_ready'
so it can be reused in this context. Also add a mutex so that
select_pdo will not contend with a dual_role swap.
Change-Id: Ie8b088faa15c67915e3bd96972b4f59f0cc66afe
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Currently when 3 switcher_power_ok interrupts are seen within a
second, the driver thinks that the switcher is reverse boosting
and suspends USB input path.
However, switcher_power_ok could happen 3 times within a second
while AICL is run from a charger collapse, a valid usecase which
ends up in an USB suspended state.
Note that AICL run caused switcher_power_ok is accompanied by an
USBIN_UV interrupt. Use that to distinguish reverse boost Vs AICL
runs. In particular, reset the switcher_power_ok interrupt count
updated by storm_watch when an USBIN_UV interrupt is seen.
Change-Id: I6817c66319f9af03ac28324a8d863876fdadafb3
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Since the interrupt information for both smb2 and smb138x charger
devices are almost common, abstract it to a single smb_irq_info
struct. Also, keep an interrupt index for every interrupt which
can be used when necessary.
Change-Id: I4e42dd15a46b59c1a9c27412ca6fdff281fa71ec
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
There are some circumstances where we have to reset the storm
watch interrupt count. Add support for it.
Change-Id: Iacbeb3258d53010aab8ba881d10de773fe54dd93
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
IPC logging long mechanism was added to capture reset logic
register access log to be captured into a separate buffer so that
those logs wont obscure with main driver logs. Now that reset
sequence is moved to WLAN FW so there is no need for the IPC
logging mechanism.
CRs-fixed: 2005481
Change-Id: I1d983a5f5aa0293598303bda23f9adbc04303458
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
To force qnovo FCC and FV through parallel framework
more conveniently, batt psy is bridged to replace votable
in qnovo driver. The two properties are -
POWER_SUPPLY_PROP_CURRENT_QNOVO and
POWER_SUPPLY_PROP_VOLTAGE_QNOVO.
CRs-Fixed: 2004173
Change-Id: I40b179fe5535e0209fcdbc1cb7e64cbfdf45a14b
Signed-off-by: Harry Yang <harryy@codeaurora.org>
CURRENT_QNOVO and VOLTAGE_QNOVO allow "forcing" fast charge
current and float voltage value, implemented around votable
such that one can have previlige in FCC and FV voting.
CRs-Fixed: 2004173
Change-Id: I2df30220aa89e15c4bace9980990f227218a5bdd
Signed-off-by: Harry Yang <harryy@codeaurora.org>