Execute pinctrl operations at correct place in
suspend/resume procedure of gpio_keys driver.
Change-Id: Ic393778e35f52859512bd32ccbf6c4d1079a7e37
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Update the dtsi property to limit the maximum pixel clock frequency
supported on Display Port for SDM660 to 300 MHz.
Change-Id: Iaacb08a310debd0d470d2f16c794fe70b09af2f5
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
The fractional divider values for DP pixel clock RCG needs to be
determined dynamically. Add the recalc_rate operation for the DP
PLL mux clock dp_vco_divided_clk_src_mux which is the parent of
DP pixel clock RCG. This enables the RCG clock to calculate the
fractional dividers correctly. Modify the determine rate op for the
mux clock to also set the new parent after performing the determine
rate operation.
Change-Id: Id931a60677380ecee28eb9aec6468548898b812b
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Add MDSS version info along with other capabilities
for sdm630.
Change-Id: Ia34831b56c1ca32d17b56e6030c847b629a13a0b
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Add mdss node for sdm630 which is used by
display driver.
Change-Id: Ie5b6448a9a6da59ea1a134db3c700e35f89da50b
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
MSM GPIO 64 is connected to camera focus button and MSM GPIO 113 is
connected to camera snapshot button. Add the device nodes for these
buttons for SDM630 devices.
Change-Id: I7f58f3ed6e7cfa49f03ebea23cff4eae417a071b
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
GPU subsystem in sdm630 is supplied by either LDO300(VDD_GFX)
in LDO mode or VDD_CX in BHS mode. This LDO300 is CPR managed
and supports CPR closed-loop operation.
CRs-Fixed: 2000929
Change-Id: I94d6739f9abbdba3918b118eaa29fc0bc5cbd6e7
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
This is needed as there are issues in DPB management
in firmware.
Change-Id: I15591e85185e1ba29cf0caace61a252464fb193f
Signed-off-by: Surajit Podder <spodder@codeaurora.org>
CTM needs to vote for USB ICL. Add support for it.
Change-Id: I88b146000f7327cf5dc7310fb721309f08dc3035
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
POWER_SUPPLY_PROP_CTM_CURRENT_MAX is needed by CTM to limit USB input
current. Add it.
Change-Id: I8aac65a91959300676cf7e1c2685a557f322c509
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
The die and connector health properties expose the comparator output of
the thermal regulation. If both die and skin temperature regulation is
enabled then the output of the comparator will be the higher of the two.
The property values can be one of: Unknown, Cool, Warm, Hot, Overheat.
Change-Id: Ic92c9cb08ec42fd2c2f26a54687a17e3b05b388f
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
The DIE_HEALTH and CONNECTOR_HEALTH properties are used to show the
output of the thermal regulation TEMP_RANGE.
Change-Id: Ice3f159b7775084bdd0099047d4660a1e5edce98
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
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>