Add support to vote for ICL based on charger type.
Following are the current limit for chargers:
Legacy adapters:
CDP: 1500mA, DCP: 1800mA, HVDCP: 3000mA
TypeC Adapters:
Based on the current advertised by the adapter.
Change-Id: Ia5dbf73c29949a94e096ca6233a33c40da744140
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
The tz_log driver is responsible for allocating the memory for the
'qsee_log' buffer. If tz_log driver is disabled and some part of the
bootchain has set the qsee_log address before Linux booted, then that
previous address will continue being used. If that address overlaps
with memory used for some other purpose, logging to qsee_log may
scribble on memory and cause a crash.
Change-Id: I10d69355beeb252115a0d91cfabfa8b9e729c969
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Use NOM ACC settings up to TURBO voltage corner for APC0/1 for
sdm630.
CRs-Fixed: 2005083
Change-Id: Ifa50b62c5b8ae46a691d260f3517a4bc410d19c3
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Add the sdm630 compatible string to MDSS PLL driver
of_device_id table list, so that initialization of
MDSS PLL driver takes place for sdm630 platform.
Change-Id: I284ff9c07a4a971260ade399a2f7a605003ccf1d
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Add support for USBIN-USBIN configuration based parallel charging. This
involves splitting Input Current Limit(ICL) between the main and the
parallel charger, ICL re-split is done when the settled AICL of the main
charger changes by 300mA.
Change-Id: I5b916f1503a2267ca1e73b24096cb60a304e3c19
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Re-organize SMB1351 charger driver to support new parallel charger
architecture.
- New property "POWER_SUPPLY_PROP_PARALLEL_MODE" exposes the parallel
charger configuration, in this case it is USBIN-USBIN configuration.
- Property "POWER_SUPPLY_CHARGE_TYPE" is added to report the current
charge type and is also used for parallel charger chip detection.
Change-Id: I05692b34daef244f89a365e03043ae2ffe42d9da
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Add support to detect presence of parallel charger chip by
requesting a register read via power_supply framework.
If parallel chip is absent then disable parallel charger.
Change-Id: Icfa4a774d344fde4c7d1f4ced772a707be85020d
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Add support to delay parallel enable until HVDCP detection
and authentication completes. This involves adding a new voter
which enables parallel charger under following condition:
For DCP: enable parallel path after HVDCP detection
times out.
For HVDCP: enable parallel path after HVDCP authentication
completes.
Change-Id: Ib1c740eee5c721a0c267f6a9bc924c58af4b2c1e
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Currently we have only one path - the pd active setting path - where
ICL_OVERRIDE gets set.
With the upcoming changes to manage connector temperature
mitigation and usbin-usbin parallel charger, the ICL_OVERRIDE is needed
to be set from these usecases.
So instead of creating a voter for ICL_OVERRIDE and putting the onus
on callsites to set it before calling their icl settings, it is best
to handle it in icl_callback.
Update the icl_callback to manage override and suspend in this way.
- Presence of voter signifies that the driver wants to enforce a
value different than the hw default. Force an icl override.
- No voters signifies that the hw defaults are good, undo an override.
- For USB types that command a limit aka SDP and CDP, never override.
- never suspend if there are no clients.
Change-Id: I3ed01237b0bb2c028bec572d2905cabb03ce50a3
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Cleanup the code such that when PD is activated, DCP_VOTER
and USB_PSY_VOTER (the voter for SDP and CDP types) are disabled.
While at it DCP_VOTER is intended to enforce a different value
from the hw defaults. Set it only when type is confirmed DCP.
Also to handle the situation when the PD profile allows to suspend
based on the phy, use a different voter PD_SUSPEND_SUPPORTED_VOTER
to activate that situation.
Change-Id: I0cb1a0aad9c94fdd233ec3103779e1a13449472e
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
sdm630 CPU CPR controllers support full hardware closed-loop CPR
operation also known as CPR hardening. Extend the cprh-kbss-regulator
driver to handle CPU subsystem specific power requirements of
the sdm630 chip.
CRs-Fixed: 1117353
Change-Id: Id2aa0674b0d9737907defd4b305ee70b74f65142
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Enable CONFIG_MMC_RING_BUFFER to support ring buffer
logging of legacy and CQ events for sdm660.
Change-Id: I91e7dc68b929c0bf03d76510a084ee89ca4cd030
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
As per the hardware documentation, specify the following device
tree properties for pmi8998 and pm660.
- qcom,correct-lra-drive-freq
- qcom,misc-trim-error-rc19p2-clk-reg-present
These properties will ensure that LRA is driven at constant
resonant frequency under different operating conditions and
correct the frequency error (if any) in 19.2 MHz RC clock.
CRs-Fixed: 2003564
Change-Id: I91cd303557faf51211b86b61ec3e208f3e6efa8e
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
We no longer support isolating a core using the isolate node. Remove
write-access to this node.
Change-Id: Ib51cf12066819ad295ce57f6ae8edf52b0a4e558
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
When there is Modem WDOG bite, Q6 will not get chance to reset
the hardware and if shutdown is called as part of PD down
notification then freeing buffers already submitted to hardware
may cause exceptions as hardware may try to access DDR location
which is already freed.
Fix the issue by delaying the shutdown till FW ready happens and
hardware is reset to clean state this way buffers are freed after
hardware is in reset state.
CRs-fixed: 2000709
Change-Id: Iacea5e8b712dd4ca310e5b502e43f4beb99f6981
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
Add more refined states with service notifier notification for clients
to be able to distinguish between different error scenarios.
CRs-Fixed: 2004229
Change-Id: Ibae1f2b0ba03f8cdcb14398d7d35b007fac1a150
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
The unmap operation of a dma bounce buffer is performed using an incorrect
device compared to the map operation. This leads to a leaked bounce buffer
dma map.
Fix the device usage during the unmap operation.
CRs-Fixed: 1104864
Change-Id: I7da2484ce1f070a4545b9110e3602b4f39d7afdc
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
With the conversion of the master device to use the arm iommu
ops we lose the benefit of a cache flush using the dma_map_sg
trick. Plus we end up mapping all the GPU buffers into the master
DMA device which is admittedly sub optimal.
However it did end up mapping all the display buffers which
unintentionally worked. Put the map_sg() functions back into msm_gem.c
to make it intentionally work from now on.
Change-Id: Ic0dedbada1a8723fb47311189a6b7e11969427ee
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Enable BALANCE_ANON_FILE_RECLAIM for msmcortex debug
config as it is already enabled for msmcortex perf
config.
Change-Id: Ic77e297ecea2e7dda14c0b24b6e7a1856726843d
Signed-off-by: Liam Mark <lmark@codeaurora.org>