SSM driver is not enabled and hence needs deprecation.
Remove all the SSM driver references.
CRs-Fixed: 2268386
Change-Id: I02f82817023d2fcc6d05a2f0d7eb3aec8f60a7d5
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
During video playback, L2 power collapse is occurring far too often to
actually save power. As such, apply a vote to prevent L2 PC from
occurring.
Change-Id: I1d86b47a1ed9dffb02d099d3158892bf99ed955e
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Signed-off-by: Vasantha Balla <vballa@codeaurora.org>
commit 2e575cbc930901718cc18e084566ecbb9a4b5ebb upstream.
The type of AVIC interrupt controller found on i.MX31 is one-cell,
namely 31 for CCM DVFS and 53 for CCM, however for clock control
module its interrupts are specified as 3-cells, fix it.
Fixes: ef0e4a606f ("ARM: mx31: Replace clk_register_clkdev with clock DT lookup")
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Add cnss sdio platform driver support to vote for bus bandwidth
as per throughput requirement from wlan driver. The cnss sdio
platform driver export bus bandwidth api for wlan host driver.
CRs-Fixed: 990173
Change-Id: Ied2e5a78487b6f6076cd19f32c959a69050e055c
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Register subsystem device for SSR recovery. Create
ramdump device for cnss fw dump collection. Implement
cnss SSR API to wlan sdio driver.
CRs-Fixed: 944010
Change-Id: If81fd84bb6080df73b12f235a2aa0eff6f717ce1
Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
rome_vreg_dsrc regulator is a fixed regulator and this regulator
is control by PMIC gpio4. This is being used as vdd supply for
the wlan DSRC module based on sdio interface. Enable rome_vreg_dsrc
voltage regulators to enable the power up support in CNSS SDIO
platform driver.
Change-Id: I7c6032b706d468cc57b5304a3627f526935fb3a3
Signed-off-by: Govind Singh <govinds@codeaurora.org>
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
CRs-Fixed: 944601
To power up the Wi-Fi card GPIO and voltage regulator
need to be configured properly with a certain sequence,
so configure GPIO and enable voltage regulators to enable
the power up support in CNSS SDIO platform driver.
CRs-Fixed: 944601
Change-Id: I41ced578f0aec1339a9f626352d4225ed901bb76
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
This platform driver adds support for the CNSS connectivity
subsystem used for SDIO based WiFi devices.
CRs-Fixed: 944601
Change-Id: I8193b73815a8667c9ef4b7d2a87f61f7f3c090fe
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Specifies if SDIO host and card requires complete
power_restore (mmc_sdio_power_restore) while resuming.
This is in cases where card cannot go through complete
pwr_cycle in suspend/resume like in case of
QCA9377 & QCA6574.
Change-Id: I41976752aff28d1e86746d16298c9de5bf071519
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
For auto resonance detection to work properly, sufficient
back-emf has to be generated. In general, back-emf takes
some time to build up. When the auto resonance mode is chosen
as QWD, high-z will be applied for every LRA cycle and hence
there won't be enough back-emf at the start-up. Hence, the
motor needs to vibrate for few LRA cycles after the PLAY bit
is asserted. So disable the auto resonance and enable it back
after some delay. Add a DT property to configure this delay value.
CRs-Fixed: 833062
Change-Id: I688329f642ca9d506e203f448da5d874b91b77ff
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Add PON regulator support in order to set the spare
register bit of the PON peripheral. Haptics enables
the regulator when the module is in use and then
disables it when it is done.
Change-Id: I3ecfe3cbb12799089d4fdd4b07c7c84afb80e173
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
Haptic auto resonance mode QWD (Quarter Wave Drive) requires
auto resonance to be disabled before getting played. And it has
be enabled back after waiting for 20ms to provide correct
resonance to the motor.
Change-Id: Iacd1ab311500cc4d87ff76de2d74dda45c18997d
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Implement platform drivers to support shared memory based
pcm playback and capture
Change-Id: I882c67ae1c3d950b98bd002ac384cc3a7e77874a
CRs-Fixed: 992798
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
For auto resonance detection to work properly, sufficient
back-emf has to be generated. In general, back-emf takes
some time to build up. When the auto resonance mode is chosen
as QWD, high-z will be applied for every LRA cycle and hence
there won't be enough back-emf at the start-up. Hence, the
motor needs to vibrate for few LRA cycles after the PLAY bit
is asserted. So disable the auto resonance and enable it back
after some delay. Add a DT property to configure this delay value.
CRs-Fixed: 833062
Change-Id: I688329f642ca9d506e203f448da5d874b91b77ff
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Add PON regulator support in order to set the spare
register bit of the PON peripheral. Haptics enables
the regulator when the module is in use and then
disables it when it is done.
Change-Id: I3ecfe3cbb12799089d4fdd4b07c7c84afb80e173
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
Haptic auto resonance mode QWD (Quarter Wave Drive) requires
auto resonance to be disabled before getting played. And it has
be enabled back after waiting for 20ms to provide correct
resonance to the motor.
Change-Id: Iacd1ab311500cc4d87ff76de2d74dda45c18997d
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Currently VDD MX restriction feature monitors all tsens for low
temperature condition. Some targets which has higher MX restriction
thresholds shows frequent interrupts from multiple sensors causing
power impact.
Add support to monitor only one sensor for VDD MX restriction feature.
Add an optional device tree property "qcom,mx-restriction-sensor_id"
to specify sensor id for monitor. If not defined, monitor all tsens
for VDD MX restriction.
Change-Id: Ib709b00c27f43c2603ac8a08b75f2fbd5800983b
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
Add support to configure high ICL for SDP chargers, this is useful in case
of SDP or floating chargers which supports high current.
If 'qcom,override-usb-current' property is present override and set ICL
based on current reported by the USB driver otherwise set to USB500 mode.
CRs-Fixed: 963417
Change-Id: I31304cd2a4e710f4e450e6ec5a4da90c50fdfc88
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Add PON regulator support to torch LED, in order to set the spare
register bits of PON peripheral to avoid torch blinking in suspend.
Flash LED enables PON regulator when torch LED is in use, in order
to set the spare bits, and disables regulator when torch LED is
disabled.
Change-Id: I01901bec013047963fc72ec1928f0aceaac00e86
Signed-off-by: Jigarkumar Kishorkumar Zala <j_zala@codeaurora.org>
QSEE OS level scm_call operations will fail if there is any blocked
TZ app due to waiting on a listener. Driver needs to first check if
no app is blocked before sending QSEE OS level scm call, if there
are any then wait until all apps are unblocked.
Change-Id: Ie7fb4a9fb78adedcb223308cd11335bf6a48296e
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
There is a requirement for configuring certain spare register
bits of PON peripheral. Since there is a chance for multiple
clients to configure these bits, a regulator device can handle
such configuration easily. Add support for it.
Regulator configuration requires an address inside PON peripheral
and a bit position which needs to be controlled to be specified
in the device tree subnode.
CRs-Fixed: 840571
Change-Id: I62d0c3f49e777103e102229353faaf2e8ee1fad6
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Add TTW configuration for PMI8950. Also, add a DT property
(qcom,labibb-ttw-force-lab-on) to keep LAB always-on in TTW mode.
Presently, this property is only required for PMI8950.
CRs-Fixed: 958285 962662
Change-Id: Iec79a6f752067d96fc62a8e9d629c39f4db5ab9f
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Codec reset gpio configuration needs to be updated
before slimbus master component is initialized otherwise
codec cannot be enumerated on the bus. Add a new platform
device driver to update the codec reset gpio configuration
to valid state (output, drive-strength) before slimbus
is initialized.
CRs-Fixed: 968161
Change-Id: I7227212e6b846d58196718255aa4b0923352d120
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
Add support for configuring short circuit debounce cycles in
both LCD mode and AMOLED mode. Also, when configuring the
WLED SHORT_PROTECT register, the bits corresponding to DBNC_SHORT
bit fields are incorrectly written, so correct the corresponding
bitmask and the associated code logic to avoid this. Add an
explicit SPMI write to WLED1_CTRL_SOFTSTART_RAMP_DELAY register
as well for LCD mode.
Change-Id: Ibae8926262c52c8db3d04ab355651e5df44ec090
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Certain AMOLED panels may require voltage value to be configured
which is not within the voltage values allowable in WLED_OVP register.
In such cases, we may need to add/subtract the voltage value to obtain
the desired voltage value. Add support using TRIM register for the same.
Change-Id: I608a646233024b6b254df23d379ec9c8be277304
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
If any of the Graphics rendering threads are running
on masked CPUs, avoid L2PC for some duration on that
CPU. This reduces latency on CPU (latency mainly
because of L2 cache flush) and helps on performance.
This change uses pm_qos_update_request_timeout() API.
Add l2pc-cpu-mask property in device tree to enable
this.
CRs-Fixed: 962598
Change-Id: If90090cd2c68ea7c07e269723931fef7201ef136
Signed-off-by: Prakash Kamliya <pkamliya@codeaurora.org>
Add support for SR PLLs to be voted ON at low temperature threshold and
voted OFF once high threshold is reached. Register with thermal framework
to receive notifications for temperature thresholds and vote for PLLs
accordingly.
Change-Id: Icd689e479899757d821d19853e1600cdf4a84d63
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add support to make scm_calls to TZ to inform modem start
address and size so that TZ can unmap this range to avoid
speculative access.
Change-Id: I4640ddab56991522870e9879d17fe5732dc40223
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
As SDIO spec doesn't allow advertisement of 1.8v support, some SDIO
devices advertise support of only 3.0v even though they support 1.8v
as well.
sdhc3 host controller only supports 1.8v and rejects the initialization
of SDIO devices that advertise 3.0v support.
This change adds fake support for 3.0v to sdhc host controller.
This will allow initialization of SDIO devices that supports 1.8v but
advertise 3.0v support.
CRs-Fixed: 948742
Change-Id: I5a98c54ad4998e6439f83081628c9c083e95bbf0
[riteshh@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Pavan Anamula <pavana@codeaurora.org>
SCHG_LITE supports additional aicl-restart values, update the table
accordingly. While at it, use the right mask to update the AICL_WL_SEL
register.
CRs-Fixed: 954243
Change-Id: Icf18c1556c4598896c5ae6d0e9ed55bbd46fa41e
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
During device resume, the touch resume function is called after display's
resume. In this case, the ft5x06's resume function needs to wait for
200ms because of reset requirement. Defer the touch resume to a workqueue
to reduce the total device resume time. For this an optional DT property
is added to enable this on targets that need this feature.
Change-Id: Ib0677ca792aea83ece1caf8a0afff341302747fb
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
Current the smbcharger is splitting the ICL and charge current fairly
naively. This can cause problems where one charger is FCC limited and
another charger is ICL limited, causing a lot of wasted charge current.
Do a better current distribution to maximize the amount of charge
current going into the battery. By default, raise the ICL ratio of the
primary charger up to 60% to avoid issues with system load prematurely
causing the charger to current limit. Lower the FCC ratio back to 50% to
accommodate this.
Also, make both of these properties configurable through module
parameters and device tree in order to accommodate differences in pcb
and battery limitation.
CRs-Fixed: 930588
Change-Id: I77ec8483232e4297936baaad1e9bb4399474d444
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
Add the dtsi property qcom,aicl-rerun-period-s in order to allow for the
configuration of how often AICL is reran in hardware.
CRs-Fixed: 920791
Change-Id: Id262f26b409d75f7c82ee79b25c4258baed43840
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
The parallel charger's VSYS is not connected on parallel charging
designs. All of the charge current flows through the CHGOUT to the
battery. However, if the primary charger is input current limited and
there is a large system load, then the parallel charger's current will
flow into the primary charger's CHGOUT. This will supplement the system
load instead of charging the battery.
This is a problem because all the current provided by the secondary
charger is fed through the batfet, and is sensed as charge current. The
amount of current provided to the battery is actually less than that
because the current is partially supplied to the system instead. This
results in the parallel charger not drawing enough current to charge the
battery even though there is plenty of current left before the input
current limit is hit.
Work around this issue by increasing the fast charge current on the
secondary charger and lowering it on the primary charger. This way, the
primary charger has more current to feed the system and the secondary
charger is less likely to be limited by the false charge current limit.
CRs-Fixed: 895883
Change-Id: I792ed9450bdac87d96b24707c1fb63fe93925b70
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
Some hardware configurations allow the USB driver to detect presence
and type without charger's APSD. This is true especially when the external
muxes are used to multiplex an USB port and a docking station on the usbin
input line.
The USB port when active, ends up notifying the USB driver via a gpio.
When docking station is active, USB side need not know about it.
Note that this change also removes the null checks for usb_psy. It is
initialized at probe and probe's success is dependent on proper usb_psy
detection and initialization.
Change-Id: I7e300ce19d82861f34ccf37545f3317221f727a9
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>