Modify the voltage constraint ranges for PMIC PM8941 regulators
LDO 3, LDO 4, and LDO 11 so that they match hardware
documentation guidelines.
Change-Id: Ic0a292e9e79d9d1562b9df04988daad06d027643
Signed-off-by: David Collins <collinsd@codeaurora.org>
Allow individual clients to register respective
dump regions to capture snapshot of system at the
time of a crash.
Change-Id: I34845f18a08a6dad219aae71bb501ceb91c462c2
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
This change is needed to put the fab clocks in turbo mode
to support 1080p decode + 720P encode use case for
WiFi display.
Change-Id: Iba2644db0052f88da8ac2ad6d137ca1793c2823f
Signed-off-by: Arun Menon <menon@codeaurora.org>
Output of raw events in perf tools can be hard to distinguish
when multiple PMU's have the same event encoding.
Show the PMU name along with the counter output.
e.g.
Performance counter stats for 'ls':
4514688 msm-l2 0x1
Change-Id: I65d4ac03c2fd562519ab78524b37467e7d53dbb3
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
Needed when sensor processor not present. The lis3dh driver is
modified to request regulator
Change-Id: I389d5aa6a7771a9e1fe230ec593ff428e979c236
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
The platform data passed to the driver contains the names of the
source clocks. These names were updated in the clock driver, and
must be updated here to match.
Change-Id: Iaebdd80b4c698564ff2d0e5f2a665e11fe9439c4
Signed-off-by: Joel Nider <jnider@codeaurora.org>
Add Camera Control Interface (CCI) driver based on V4L2
architecture. Add probe sequence, subdevice creation,
hardware registers and configuration through V4L2
subdev call mechanism. This driver is responsible for
communicating with sensors, actuators and EEPROM
connected on I2C bus.
Change-Id: I2f135798e26348740f58da223caafdd8dfbbd098
Signed-off-by: Hody Hung <hhung@codeaurora.org>
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
In secure PIL, PAS_RIVA is passed to scm-pas call as the identification of
wireless connectivity subsystem (wcnss). However, new name has been used on
newer targets. For example, on 8974, the name of wcnss is Pronto. So make
the pas id name generic for wcnss.
Change-Id: I7caa76adc76dd2d20ff7aedabd4935437b012a92
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
Enable all the required config options for NAND controller in
MDM9x25.
Change-Id: Ic4738b12450d114e1b35aeee23fd5bb63499afe7
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Add new register definitions for QCE5.0 Hardware
Add new HAL (qce50.c) for interfacing with CE 5.0 hardware:
-- Implement the new interface to BAM (instead of data mover).
-- Add support for multiple Pipes.
-- Add support for use of HW key.
Change-Id: I69dc3993f607553d4752f9f9fb4fdfe1a09a6345
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
The RPM provides an interface to vote for XO buffers. These
buffers can either be in software control or in pin control
mode. Provide separate RPM clocks per buffer for each mode.
Enabling a pin-control-mode clock will set the buffer in pin
control mode. Enabling a software-mode clock will enable the
buffer. Disabling works the same for both types of clocks -
the buffer is disabled.
On the RPM, the votes for pin-control versus software-enable
are separately aggregated. Software-enable has higher priority
over pin-control, and if the software-mode aggregation results
in a disable, pin-control will still be configured if there is
a pin-control vote in place.
Change-Id: Ia393c4148640e47b8987a9aa6f94d6909433a9c0
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Turn on bus arbitration and clock scaling for copper.
Change-Id: Ic665ea52f5da1e907ac9ffff787b8e9dbec9b224
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
Support for RUMI and simulation are no longer required.
Change-Id: Id73f9f40340062c73f9180c59d3f4a525979ca86
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
On 8974 targets, the sleep code programs the wakeup time directly into
the virtual MPM driver on the RPM. The sleep code passes in the
scheduled wakeup time. The existing msm_mpm_enter_sleep API is
modified to accept the sclk timer value. On earlier targets, the mpm
driver would ignore this parameter.
Change-Id: If3d512f46ac8aadadf3e524a5c0e368afb362dfb
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
When the system goes to sleep, the power management code sends a sleep
set to RPM. The code executes with interrupts disabled so the power
management code polls for ack message from RPM. Since the SMD interrupt
is in a triggered state and irq handler hasn't had a chance to run, the
pending interrupt prevent the Core from entering a low power mode.
To prevent interrupt from waking the system up, disable/enable the RPM to
SMD interrupt while entering/exiting sleep mode, by calling into the SMD
API.
Change-Id: I38faa18e6b1d7f4cc92d72c3da4ac8ca29275444
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
SMD is used for communicating power state with the RPM processor.
During a power-down sequence, sleep information is transferred to the
RPM processor and the system blocks and polls for a response. When the
RPM sends the response, it triggers an interrupt which then causes the
Application processor to abort the power-down sequence.
Add a new function that allows interrupts to be masked/unmasked for an
entire subsystem which allows the power code to mask interrupts while
powering down to prevent aborting the power-down sequence.
Change-Id: I52298f025032d47c7353dced6c1298766060ef0c
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
Hardware profiling has determined that the two step voltage ramp
should be larger for the first step than previously determined.
Instead of stopping at 375mV we should stop at 743.75mV and then
proceed to 1.05V. Update the code accordingly.
Change-Id: I44ffcea4ecc475c1e7f9bfdac44c1a15365a3ea3
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Adding the GPIO configuration and platform data required for running
the TSIF driver on 8064.
Change-Id: Icba4ce041555221e71b050ba303d1ae0a92d73fa
Signed-off-by: Joel Nider <jnider@codeaurora.org>
The default audio sample rate of audioflinger is increased
from 44.1k to 48k.Increase the buffersize to take
advantage of that.
Change-Id: I7ffc6c697cb32b6983c9bb5cc6ea73a7a55b5006
Signed-off-by: Sidipotu Ashok <sashok@codeaurora.org>
- DSP crashes if JPEG and VIDEO modules are enabled
and used simultaneously.
- DSP has limitation in supporting both VIDEOTASK and
JPEGTASK since both use same shared memory.
- Restrict enabling the VIDEOTASK module if JPEGTASK
module is already enabled in adsp driver. Similarly
restrict enabling the JPEGTASK module if VIDEOTASK
is already enabled.
CRs-Fixed: 382295
Change-Id: I609f66880e097b8b71862c79ff5f23e2696b750b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Remove duplicated enum for different VFE version
Change-Id: I386ef874731442ac3deb4ccec36f353f30671f9f
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
LED flash is enabled for OV8825 Camera Sensor.
Change-Id: I47555612bd17f5c750b4e748787d0388076f37fb
Signed-off-by: Lokesh Kumar Aakulu <lkumar@codeaurora.org>
This reverts commit 2db0c0ee0ea46b9a1fe46929439a38861c5098cc.
Enable watchdog causes crash on RUMI. We'll turn it on again after
fix the issue.
Change-Id: I1524bcb9908cf95611bc49d726e7e368417f74a1
Signed-off-by: Jin Hong <jinh@codeaurora.org>
The PLL sources need to have the warned flag set to preclude
the clk_prepare warnings. Set this flag on the mmpll3_clk_src
clock.
Change-Id: Ie04d8e625e03dcbab99779dcff5fcd85c7205de1
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
The MMPLL1 frequency and some downstream clocks have had
their frequency plans updated. Update the relevant frequency
tables.
Change-Id: I7b9d5eeb48c9268254bc3f6f9b4f7fdea34a62c3
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
The following clocks are to be controlled locally by
the apps processor, add support for them:
1. ocmemcx_ocmemnoc_clk
2. gcc_mmss_noc_cfg_ahb_clk
3. gcc_ocmem_noc_cfg_ahb_clk
Temporarily enable the gcc_mmss_noc_cfg_ahb_clk and
gcc_ocmem_noc_cfg_ahb_clk clocks in post_init while
the bus driver adds support for them.
Change-Id: Ic6da845582cb815379e53b87cf34e81c5eb00b4e
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Vote for the FMAX voltage corner required by a frequency setting
using the rpm-regulator-smd API. Also, use the proper corners
for the VDD CX rail on the MSM8974.
Change-Id: I795160478e0e295f10d3dfeb4773a4306967ff27
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Support for RUMI and simulation are no longer required
Change-Id: Id7e5445b146f19bf910a3337854607d2ecfd73f9
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Add audio OCMEM driver support to exercise On-Chip
Memory (OCMEM) for low power audio and voice. The
driver is implemented as standalone and it gets
exercised based on the usecase. Also, this design
reduces the latency associated with OCMEM handshaking
protocol. The audio OCMEM driver is enabled by default
with a Kconfig option using select. Add device tree node
for audio OCMEM to retrieve platform data.
Change-Id: Iba46ce675fc03843d88cd7cf2aa9bc92fe70a955
Signed-off-by: Phani Kumar Uppalapati <phanik@codeaurora.org>
Make thermal monitor performance hit more gradual by stepping down
limit frequency instead of jumping directly to that frequency.
The monitor now steps down to the lowest available cpufreq
frequency, instead of fixing the limit frequency to 918MHz. Also
update the polling frequency to 250ms to improve responsiveness.
Change-Id: I6edb0cfc057284023978de04d7835e9783da5ebd
Signed-off-by: Eugene Seah <eseah@codeaurora.org>
7627a/8625 has outer cache and display and camera uses
outer cache support. So, enable outer_cache_ops for ION
heaps. Enabling ops for individual heaps will be taken
care by msm_ion framework while creating these heaps.
Change-Id: I5c72d5c03853301b879839820ae4caf2c24d2069
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
QSB's rate is tied to the Apps fabric (or BIMC on 8974), which means
that its rate is unpredictable. When the CPU is running at a low
voltage, if the QSB clock source is selected, it's possible that the
CPU clock rate could increase beyond the safe limit for that voltage.
Instead of selecting QSB for power-collapse and hotplug scenarios,
select an always-on source with a predictable rate.
Change-Id: I7c39d443bf49371358d0a618693a6efe2f26fcc4
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
When the system goes into deep sleep modes, RPM wakes up the Krait core
by triggering the MPM interrupt. To be able to wake the system from
sleep the interrupt has to be configured as a wakeup interrupt.
triggering the MPM interrupt. To be able to wake the system from sleep
the interrupt has to be configured as a wakeup interrupt.
Change-Id: Ie64778ac217c27f771fe2cabe140e42291c85b61
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Branch clocks will soon be used for reset-only purposes, in which
case the ctl_reg field will be NULL. Update the branch handoff
and disable code to check for a NULL register address before
reading the register.
Change-Id: I728b2c1ab2ea6a25010b15b3fb553390003175e2
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Ensure the write of the image address in the RMB_MBA_IMAGE RMB
register occurs before the writes to the QDSP6SS that releases
the Q6 processor from reset.
Change-Id: I7efbe4e0b81153cc2dc15d8ec60173008478b826
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Support for RUMI and simulation are no longer required.
Change-Id: I49cdbc463a8484d18696eceae9a2a2d7aa9b2b85
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Register slimbus CPU dai link to support slimbus data path.
Change-Id: I3584306ac1e0ad6561a19cecfe71f2a63aadafa9
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
This is done for consistency with other messages printed by this driver.
Change-Id: I373787c8a4f51f0aeba0f0556103707cf256bd43
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Add support to bump up or down the voltage via sysfs.
# echo 1 > /sys/module/acpuclock_krait/parameters/boost
enables the boost and
# echo 0 > /sys/module/acpuclock_krait/parameters/boost
disables the boost. Boost mode is enabled by default for fast and
nominal devices because those devices could be at the boundaries
of the characterization thresholds and exhibit CPU/L1 errors.
Change-Id: If0dd4ed949188debbb55f82f07004b57548164f6
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
The HFPLL configuration recommended by the hardware designers has been
updated. Update acpuclock to match.
In addition to changes to the static register configuration, runtime
selection of the correct VCO mode is required. For frequencies above
1248MHz, the high-frequency VCO mode is used. The low-frequency mode
is used for frequencies below that.
Change-Id: Ib0585b5262d27791128a54910b75d2dc0c581775
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Updated hardware recommendations have been released. Capture these.
Although the voltage requirements are higher than was previously
specified, this is not expected to affect actual voltage levels
because the vdd_dig requirements of the of the L2 cache (as
enforced by acpuclock) are already higher than the new HFPLL
requirements.
Change-Id: I4087b35f07276d063d09756067ce7166093f65dc
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Part of the CPU HFPLL logic lives in the vdd_dig domain and has
voltage requirements that vary based on the PLL frequency. Capture
this in the code.
Even without this change, vdd_dig levels are sufficiently high due
to the vdd_dig votes already made for the L2. This change improves
robustness, however, and protects us should the CPU->L2 frequency
mappings ever change.
Change-Id: Id54a97a5be5dbe4ba61d6fa8ba5b259b3538a0be
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
The current acpuclock-krait driver asserts a constant regulator
current request when a CPU is initialized or inserted, and
removes it when a CPU is hotplug-removed.
Improve on this by allowing the current requests to scale based
on the speed of the CPUs. This allows acpuclock drivers to
factor dynamic power into its current requests, which will
change based on the frequency.
Only msm8974 regulators support current requests, so the cur_ua
column is omitted from the other frequency tables. The 8974
table is populated with pessimistic placeholder currents for now,
until characterization data is available.
Change-Id: I1ef89406a0de0038d32039c361b755a5eedba847
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Previously, the acpuclock-krait driver changed the rates of these clocks
at boot to match the highest performance levels in acpu_freq_tbl. Instead,
detect and preserve the bootloader configuration until acpuclk_set_rate()
is called. This gets acpuclock-krait out of the business of deciding what
rates the CPUs should be running at, and leaves such policy decisions to
the drivers which call it.
Change-Id: I4feba569c471ca3b08cb5201ab65436503b4455e
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
8930AA support higher cpu frequencies than 8930. Add this
support in this patch.
Change-Id: I6dd40f5f33553c4f13a54df3ed37acf1e32d6546
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
Update mpm bypass list. Add PM8821_SEC_IRQ_N
as the irq controller driver should not be
requesting a wakeup interrupt. This allows
vdd minimization to happen on 8064.
Change-Id: Iabea2219f8d337ae6a7d9821ea9063955781cf74
Signed-off-by: Chandra Ramachandran <cramacha@codeaurora.org>
Some new TSC drivers advertise themselves by using
ABS_MT_POSITION_* bits instead of ABS_*.
This change supports TSC drivers, using
ABS_MT_POSITION_* and/or ABS_* bits.
Change-Id: I1134c0b25cef3d777896ca225b9214929e909d93
Signed-off-by: Baruch Eruchimovitch <baruche@codeaurora.org>