Add support for the Qualcomm PM8038 PMIC chip. The core driver
will communicate with the PMIC chip via the MSM SSBI bus.
Initial support is provided for: IRQ, GPIO, MPP, RTC, Power Key,
Misc, and Debug.
Change-Id: I83f995cc238699100a05e82d04b45ea2a63eb667
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
As discussed previously, there's the need on some platforms to run some
parts of clk_enable() in contexts which can schedule. The solution
which was agreed upon was to provide clk_prepare() and clk_unprepare()
to contain this parts, while clk_enable() and clk_disable() perform
the atomic part.
This patch provides a common definition for clk_prepare() and
clk_unprepare() in linux/clk.h, and provides an upgrade path for
existing implementation and drivers: drivers can start using
clk_prepare() and clk_unprepare() once this patch is merged without
having to wait for platform support. Platforms can then start to
provide these additional functions.
Eventually, HAVE_CLK_PREPARE will be removed from the kernel, and
everyone will have to provide these new APIs.
Change-Id: Ib9d24a7a0fdb571d392b970b1c159acabb07b365
Acked-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Enable border color fill feature on external display. This avoids usage
of RGB pipe for background border fill and can now be used as overlay
layer for UI display.
Change-Id: I652ab3ffe2c43260590e4e5a2ffc986340c4a8c0
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
USB PHY takes TCXO clock as input and using the PHY internal PLL,
gets the 480MHz clock for USB operations. While USB PHY is suspended,
the TCXO clock can be turned off.
On 8960 target, mandating that TCXO clock users must need to vote for
TCXO and if all the users vote for TCXO clock-off, then MSM can switch to
lower power clock and can run.
Change-Id: Ia9a91bca52a1003439a3a38bbd8eb835dbf349e1
Signed-off-by: Anji jonnala <anjir@codeaurora.org>
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
LTC4088 is high efficiency USB powerpath controller
and Li-Ion/Polymer battery charger. This driver
enables the charger, allows to set current limits,
and detection.
Change-Id: I844431210cfd6e71d02fa7ffb730ee56d8417273
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
Add two APIs, 1) set_current_limit API and 2) set_charging_by.
set_current_limit api is used for external control, such as for USB
driver to tell a charger driver the maximum current to draw.
set_charging_by is used to change the state of the charger.
Change-Id: I147eab37836b54627ca1458167eb117ba3eacd7a
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
Vmalloc will exit if the amount it needs to allocate is
greater than totalram_pages. Vmalloc cannot allocate
from the movable zone, so pages in the movable zone should
not be counted.
This change adds a new global variable: total_unmovable_pages.
It is calculated in init.c, based on totalram_pages minus
the pages in the movable zone. Vmalloc now looks at this new
global instead of totalram_pages.
total_unmovable_pages can be modified during memory_hotplug.
If the zone you are offlining/onlining is unmovable, then
you modify it similar to totalram_pages. If the zone is
movable, then no change is needed.
Change-Id: Ie55c41051e9ad4b921eb04ecbb4798a8bd2344d6
Signed-off-by: Jack Cheung <jackc@codeaurora.org>
The previous algorithm requires that kpd_trigger_delay_us be set to
1/32 of the preferred trigger delay. The new algorithm allows setting
kpd_trigger_delay_us to the preferred trigger delay directly.
The actual delay can only be one of the eight levels: 2 sec, 1 sec,
1/2 sec, 1/4 sec, 1/8 sec, 1/16 sec, 1/32 sec, and 1/64 sec. The valid
range of kpd_trigger_delay_us is 1/64 second to 2 seconds. A value
within the valid range will be rounded down to the closest level. Any
value outside the valid range will be rejected.
Update board files for targets that use this driver accordingly.
CRs-Fixed: 307203
Change-Id: If98b9cd32e03ab85cd078024b2adee02212cf030
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
Adding the L2 cycle counter in the default list of events
has the advantage that the user can do a :
perf stat -e l2-cycles -e cycles ls
and see the outputs for the L2 cycle counter and L1 cycle
counter separately. Previously, it was only accessible via
the raw code "rsfe".
This method also allows us to program the L2 cycle counter
only from one CPU.
The changes in this patch are used by the userspace perf
tool.
Change-Id: I61b85b48f5474fe9f6ffb1a405b60b4332ab60c7
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
Some use cases require higher input currents which are out of range
of USB specification.
Fix this by adding a call to disable the input current limit and
warn the user with an adequate message that input current limiting
is disabled when the function is called
CRs-Fixed: 318511
Change-Id: I7e2baa0378c94b0b9af22c00d8605b9df8d4f826
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Add infrastructure to support mapping allocations
into iommus.
Change-Id: Ia5eafebee408e297013bf55284abf67d9eb8d78b
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
When CONFIG_PM is disabled we see cpu_pm_register_notifier error at
link time.
in function init_hw_perf_events:perf_event.c(.init.text+0x14a8): error:
undefined reference to 'cpu_pm_register_notifier'
Change-Id: I97525a3f8938543b2d2c9cafeee83367b8ffe702
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add config macros for RFKILL_PM to fix compilation when
CONFIG_PM is disabled
Change-Id: I9fba48fb02d671885665354091101f3813426f57
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
If PM is disabled, WAKELOCK will also get disabled.
That gives compilation error at kgsl driver.
drivers/gpu/msm/kgsl_pwrctrl.c:755: error:
'struct wake_lock' has no member named 'name'
So, ifdef check whithin struct wake_lock will not give
more advantages but break builds. So, remove
CONFIG_HAS_WAKELOCK check in struct wake_lock.
Change-Id: I9f808f3b6ff14af6fa7f91dee7fe279ddab09add
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
The PMIC PM8922 chip is very similar to the PM8921 chip. Modify
the pm8921-core driver so that it can also handle PM8922 chips.
Change-Id: Ibae402ff65d1af4e0f18e4a66304f7ac609065b4
Signed-off-by: David Collins <collinsd@codeaurora.org>
This USB CCID function driver will be a transport layer between
userspace CCID component and the Windows Host. Data and control
commands from the Windows Host will be sent to the userspace component
and vice-versa.
Change-Id: I5f00f9802a57329d2c932bba740b286b98cb8e27
Signed-off-by: Chiranjeevi Velempati <cvelempa@codeaurora.org>
This change is part of the move from PMEM to ION. ION needs an SMI
voting interface smiliar to PMEM's.
Change-Id: I18888f46198848694fb7e1e0d2671074bf51d7c9
Signed-off-by: Alex Bird <alexbird@codeaurora.org>
* changes:
Perf: Use CPU PM notifiers to save and restore PMU regs
ARM: cpu_pm: Add cpu power management notifiers
ARM: Perfevents: Add mode exclusion support for Krait P2
Perf: Fix detection of Krait implementation events
Current driver supports the single instance of control and data
transport. Add support to use multiple control and data transport
pairs per port (interface) basis. Control and data transport pair is
passed by user space from
/sys/class/android_usb/android0/f_rmnet/transports
Also moved and renamed common function str_to_xport and xport_to_str
to header file and updated respecitve callers of the function.
Change-Id: Ib0ceff85a1224336f7f4929235b6a40b8f13e849
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
During some CPU power modes entered during idle, hotplug and
suspend, peripherals located in the CPU power domain, such as
the GIC, localtimers, and VFP, may be powered down. Add a
notifier chain that allows drivers for those peripherals to
be notified before and after they may be reset.
Signed-off-by: Colin Cross <ccross <at> android.com>
[santosh.shilimkar <at> ti.com: Rebased against 3.1-rc3]
Signed-off-by: Santosh Shilimkar <santosh.shilimkar <at> ti.com>
Tested-by: Kevin Hilman <khilman <at> ti.com>
Change-Id: I6e076344b268869d12033f57321f3e7cf23b05e8
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
Add the revision mask for PMIC8921 revision 3.0 to avoid
printing unknown PMIC revision in kernel log.
Change-Id: Ied28321866551aecbb1658dda5f17018256254a3
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Still allow the clocks a per-platform map for clock error checking,
but use a const array of their identical names.
Change-Id: If83654b4cf68b34f0cbde68021c267aceb423db8
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
Opensource driver atmel_mxt_ts has the platform data
structure name as atmel_maxtouch. Avoid name conflict
by renaming atmel_maxtouch driver's platform data to
maxtouch_platform_data.
Change-Id: I4bf3ed83e3eab55c4464de365c6009965da73744
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>