Instead of hard coding the flag into led driver, pass it
from board file.
While at it, re-factor the code to separate led upstream
core data with board specific data.
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
Conflicts:
drivers/mfd/pm8921-core.c
DIAG traffic has been supported over USB and SD card. This
change adds capability to route DIAG traffic over UART.
Change-Id: I0d6732fcbb19950700218140d581b5759e676b74
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
Add platform data for the KS8851 SPI Ethernet device to
enable proper GPIO configuration for the reset and
interrupt pins.
Change-Id: I79adae4628f38a2ca5bc17825258c41ab5e1623d
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
These new APIs allow a driver to specify its PWM period,
and raw PWM values separately using chip specific
parameters.
Change-Id: I3e9860f30a50d4f3d9c556133761d51858d2a2e3
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
Pmic 8921, has configurable hot and cold battery thresholds as
percent of VREF_THERM. Provide means to configure these via
platform data.
One has to set the config values in the charger platform data defined
in the board file.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
real_fcc is the remaining capacity in the battery when the charger
driver indicates that the battery is fully charged. This value needs
to be calculated when charging ends with a fully charged battery.
The userspace can read this value via module parameter and preserve it
between restarts.
The real reason for calculating this is to indicate how much the battery
capacity has dropped w.r.t the profiled battery data use this deviation
in calculations.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
kgsl now supports the use of 2 types of MMU. One is
the GPU's internal MMU and the other is IOMMU. Both
MMU cannot be active at the same time. The MMU type
can be selected at compile time via config option.
A boot command line parameter can be used to override
the type of MMU selected at compile time.
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
-Add sysfs interface to read PM8921 HK/XOADC
and thermistor temperature measurements mapped
through MPP's.
-Move PM8921 ADC from directory /drivers/mfd to
/drivers/hwmon for userspace clients to read ADC
through hwmon.
CRs-Fixed: 302365
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Conflicts:
drivers/mfd/Kconfig
This change add usb system clock support to OTG Driver.
System clock is a 60MHZ input clock to the USB ChipIdea core.
This clock is required starting from MDM9615.
This change also removes the enforcement for using a phy_reset_clk
for reseting the PHY. Starting from MDM9615, PHY reset is not implemented.
The core is reset together with the PHY using "usb_hs_clk" signal.
Signed-off-by: Amit Blay <ablay@codeaurora.org>
Add a new IOCTL call to the driver to properly
abort all threads blocked on wait queues. Updated
release call for proper cleanup.
CRs-fixed: 303637, 304152
Signed-off-by: Sachin Shah <sachins@codeaurora.org>
Use device id passed from platform data to register
for sysfs.
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
Conflicts:
drivers/mfd/pm8xxx-irq.c
Support configuring a MPP to pre-defined AMUX6 channel
which is used for dynamic mapping of the MPP-AMUX channel
for clients having multiple MPP's to read ADC.
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
The userspace should be updated periodically to update it with the
charging progress.
Create a delayed_work and schedule it every update_time milliseconds
to notify the userspace that power supply changed. The userspace
is then supposed to read the power supply properties and know about
the charging progress.
CRs-Fixed: 305572
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Since the BMS can calculate FCC based on the charge cycles and age, use it
to report ENERGY_FULL property in the power supply framework.
CRs-Fixed: 304029
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Clock pause message informs all devices on the bus that the active
manager having framer device pause the bus. This allows stopping the
clock to conserve power.
Clock is paused only if there are no active data channels on the bus
and no response is pending for any READ message.
Slimbus framework wakes up the controller using a wakeup function
pointer. Controller should then program the active framer to be out of
clock pause.
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
The reset interrupt in the pmic indicates the pmic will shutdown
the msm in few seconds - it does so by lowering the reset_n line
to the msm.
When this interrupt is triggered it is required that no more ssbi
transactions are initiated and the msm should cleanup and prepare
for the impending shutdown. There is no need to lower ps_hold in
this case as the pmic will shutdown the msm regardless.
Also since we don't want any ssbi transactions, force shutdown
nonboot cpus. This will prevent ssbi transactions to the pmic for
lower/raising nonboot cpu's voltages as they enter/exit idle states.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Currently the battery data is passed via the board file. Instead
read the battery id and choose the appropriate battery data to use.
CRs-Fixed: 304376
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
-Modify the existing PM8921 ADC read api to include
reading ADC mapped to devices on the MPP.
-Modify scaling function to support XOTHERM and PATHERM
on PM8921.
-Remove post scaling functions for external charger
as its not used on PM8921.
CRs-Fixed: 307164
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Create a regulator driver to control all regulators on the Qualcomm
PM8018 PMIC chip. This chip contains several different types of
regulators with a wide range of abilities and voltage ranges.
Five different regulator types are available on the PM8018.
PLDO - PMOS low drop out linear regulator
NLDO - NMOS low drop out linear regulator
NLDO1200 - 1.2A NMOS LDO (different control structure than other LDOs)
SMPS - switched-mode power supply
VS - voltage switch
The driver interfaces with the PMIC using Qualcomm's SSBI bus.
Calls to this bus are abstracted through the pm8xxx_readb/writeb API.
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add support for the Qualcomm PM8018 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
Signed-off-by: David Collins <collinsd@codeaurora.org>
TSENS V2 supports reading from multiple sensors and
notifiying clients when the lower/upper thresholds
are reached. The lower/upper threshold use the last
sensors threshold that are set through the thermal sysfs.
TSENS HW is enabled only when the main sensor is requested.
The TSENS block is disabled if the main senors is disabled
irrespective of any other sensors that are being enabled.
When TSENS receives notification on temperature threshold
being reached, it checks and sends events to the sensors
that are enabled and whose thresholds are above the upper
or below the lower thresholds set in the tsens threshold
register.
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
The delay before the chip can be accessed after reset varies between different
chips in maXTouch family. Waiting for 200ms and then monitoring the CHG (chip
is ready when the line is low) is guaranteed to work with all chips.
v4: Adjust delay depending on the family ID of the chip. Also add a readback
of command register after backup is issued, to make sure we are not
proceeding
too fast there.
v3: Add a check for NULL read_chg() function, and add the read_chg() to platform
files using this driver (currently only mach-goni.c)
v2: At Dmitry's suggestion, add a timeout so we are not stuck looping
endlessly in case the CHG is not going low.
Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com>
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Add the ability to pass flags into the iommu_domain_alloc
function to specify domain attributes.
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Implement thermal mitigation in the charger driver. The userspace
daemon can get the battery temperature from
/sys/class/power_supply/battery/temp
and set the mitigation levels on
/sys/module/pm8921_charger/parameters/thermal_mitigation
The battery driver supports 4 levels [0 through 3]. O being normal
and 3 being extreme thermal mitigation.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Add support for the Qualcomm PM8821 PMIC chip. The core driver
will communicate with the PMIC chip via the MSM SSBI bus.
Initial support is provided for: IRQ, MPP, and Debug
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
A big struct of pm8xxx_pwm_config is not easy to manage. Split it
to smaller structs and make the period struct public.
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
Add explicit support for cached and uncached mappings. Functions
now describe whether mappings will be cached or uncached.
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Add IOMMU ops functions to allow mapping and unmapping
whole ranges of address space based on a scatterlist.
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Allows a caller to detect whether a cpu hotplug operation
is in progress. This is useful for optimizing code paths
based on this condition.
Signed-off-by: Maya Spivak <mspivak@codeaurora.org>
Add infrastructure for supporting ion carveout heaps.
The memory type should be specified in the board file using
mach/ion.h. The ion platform driver will be responsible for
allocating the correct memory.
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
When using CONFIG_MSM_USE_TSIF1 to enable the second tsif instance,
the device initialization failed because of a errant device ID. The
check has been updated to accept the correct device ID range (0..1)
Signed-off-by: Joel Nider <jnider@codeaurora.org>
Add a convenience API to set the voltage on multiple consumers
stored in a struct regulator_bulk_data[] in one API call.
Signed-off-by: Justin Paupore <jpaupore@codeaurora.org>
Add the ioctl IOCTL_KGSL_CFF_USER_EVENT to write data to cff dump.
Define a new CFF packet cff_op_user_event for this generic user
event.
Write the surface parameter data packet and verify mem file
packet to cff dumps
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
Register handler for SMSM_RESET notifications and watchdog
interrupts from the DSPS. And add support for reset via
IOCTL from user-mode application.
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
The pmic charger can take measures such as reducing charing
current if the input charger voltage falls below certain point.
Create api to use this feature.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>