Age | Commit message (Collapse) | Author |
|
According to measurement done, LDOs take a maximum of
100us to reach it max desired value.Thus this patch adjusts
the default enable time for as3722 regulators
Bug 1481647
Change-Id: Ia610e0a11f1001fdf76b2860b6e2b3d6ed0a1b1a
Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-on: http://git-master/r/422152
(cherry picked from commit 21e2115f4021ec02a37e6ce03e14232306c633a9)
Reviewed-on: http://git-master/r/423674
GVS: Gerrit_Virtual_Submit
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
into promotion_build
Change-Id: I9418a05ad5c56b2e902249218bac2fa594d99f56
|
|
Add support for disabling pull down of the LDOs. this is configurable
from platforms.
bug 1494740
Change-Id: I8c3e02f36b3045fa25a8c881a10c686ab9c63967
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/418246
(cherry picked from commit 0894c40230017f0fbb0f463a0c5027738b1d2b1f)
Reviewed-on: http://git-master/r/419339
Tested-by: Venkat Reddy Talla <vreddytalla@nvidia.com>
|
|
Add support on core driver of regulator to disable parent once the
regulator enable. This is needed for some specific purpose to handle
overcurrent on parent rail due to enabling the rail.
bug 1494740
Change-Id: I95084243975ca5298abbaa23a31007413bdca7a9
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/418143
(cherry picked from commit a65d4377c02067d8b6105c7fcd1931e20d9e8995)
Reviewed-on: http://git-master/r/419335
Tested-by: Venkat Reddy Talla <vreddytalla@nvidia.com>
|
|
Bug 200004122
Conflicts:
drivers/cpufreq/cpufreq.c
drivers/regulator/core.c
sound/soc/codecs/max98090.c
Change-Id: I9418a05ad5c56b2e902249218bac2fa594d99f56
Signed-off-by: Ishan Mittal <imittal@nvidia.com>
|
|
Add enable time of sd2/3,sd4,sd5 regulator
Bug 1481642
Change-Id: I73e8ff5c34e9db9f13a181e01a268c740ccfb410
Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-on: http://git-master/r/409334
(cherry picked from commit 747aca06bdf06ea746cbf20fc39ff8f8204e6558)
Reviewed-on: http://git-master/r/417651
Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com>
Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
|
|
- Once shutdown has been called against pmic, i2c bus
is shutdown, so pmic cannot enable or disable
regulators
- As such, once shutdown has been called, reject
regulator enable/disable calls
Bug 1510778
Change-Id: I6eb26d4846ed5c51f882761568c1f9152a0ebb24
Signed-off-by: Sang-Hun Lee <sanlee@nvidia.com>
Reviewed-on: http://git-master/r/411684
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
Add support for disable active discharge configuration on idle state
from platfrom configuration.
The active disachrge will be active on suspend and shutdown.
bug 1454238
Change-Id: Id22c446ef2ba4ac7db0daf5973bb56cad5e9c94c
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/406340
GVS: Gerrit_Virtual_Submit
|
|
Updated SMPS ramp delay calculation.
Bug 1446910
Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
Reviewed-on: http://git-master/r/398133
(cherry picked from commit b38d41b8dfbb0f2a5c12b361466c19b15ac5f595)
Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
Reviewed-on: http://git-master/r/401294
(cherry picked from commit 47ffaea712692bc37d72a286e3fb0b0f6042ef45)
Change-Id: If0b132724b6afe3986252bf886d1f15dbf1bb18f
Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
Reviewed-on: http://git-master/r/403572
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
The pwm voltage ramp for each level is not linear in nature sometimes
and it can be exponential. In this case, the voltage ramp time which is
independent of amount of voltage levels need to be provided to calculate
the proper ramp time.
Change-Id: Idfa17b3bc0a565e66104091090f4fcdb32882be5
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/393889
|
|
Print ramp delay when printing constraints of the regulator to provide
more information on log.
Change-Id: Iaef993a33754b7579598adb04209ab9bd6426cac
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/394049
|
|
Prints the ramp delay applied for rails voltage switching to
help on debugging/analysing the issue.
Change-Id: I1d6ac52d1c4c3712c5655df55f7b2253459a188d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/394048
|
|
There is possibilty on a given platform where the ramp delay
for rail can difer from datsheet due to baord design and it need
to scale for more delay like 2x or 1.5x or 1.25x etc.
Add support for scaling the ramp delay in core.
Change-Id: I3e0d6f89225f5bb4ffc387f87087688d15f29907
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/393504
GVS: Gerrit_Virtual_Submit
|
|
commit 66fda75f47dc583f1c187556e9a2c082dd64f8c6 upstream.
There are many places where ops->disable is called directly. Instead we
should use _regulator_do_disable() which also handles gpio regulators.
To be able to use the wrapper function from _regulator_force_disable(),
I moved the _notifier_call_chain() call from _regulator_do_disable() to
_regulator_disable(). This way, _regulator_force_disable() can use
different flags for _notifier_call_chain() without calling it twice.
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Increase max ov current limit to 4A.Actual limit will
come from Device tree based on the configuration of
PMIC on board
Bug 1488211
Change-Id: I9dac0d4c83c077684b1eed23089d986ddc2484e2
Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-on: http://git-master/r/387636
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
commit 30c219710358c5cca2f8bd2e9e547c6aadf7cf8b upstream.
There are some direct ops->enable in the regulator core driver. This is
a potential issue as the function _regulator_do_enable() handles gpio
regulators and the normal ops->enable calls. These gpio regulators are
simply ignored when ops->enable is called directly.
One possible bug is that boot-on and always-on gpio regulators are not
enabled on registration.
This patch replaces all ops->enable calls by _regulator_do_enable.
[Handle missing enable operations -- broonie]
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Sometimes it is require to disable consumer list for some of the board
configuration from top level DTS file when using the common power tree
file across different boards/configuration.
Add support to have status property in the condumer node to ignore the
consumer supply from DT.
Change-Id: I1a42a1feaf0ae816833d43dffd1b1da29eb09d33
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/385002
|
|
Bug 1466403
Change-Id: If9f1ea244989b82c042fa05f21587635cf457530
Signed-off-by: Mallikarjun Kasoju <mkasoju@nvidia.com>
Reviewed-on: http://git-master/r/382007
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
Add support to get initial voltage from DT as part of regulator
constraints.
Change-Id: Idc4593efbd7b2fe2fb01289687e92ba38f1067e6
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/382070
GVS: Gerrit_Virtual_Submit
|
|
Support the AS3722 otp version 1V2 and later. Set the SD0 minimum
voltage based on OTP version as 610mV for 1V0 and 1V1 else 410mV.
bug 1435338
Change-Id: Ieb9c21cb5b6f0126ac27325a5b14403445c94ccb
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/379902
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Tested-by: Bibek Basu <bbasu@nvidia.com>
|
|
Added DFLL bypass driver compatibility with DFLL PWM in Tegra132 SoC.
Bug 1442709
Change-Id: I4b2b4a2c6e969051b0aa695446205d6fbc2eab5c
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/373258
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
- Added an option to mark VSEL registers as volatile by default.
This option should be set either in board platform data, or in device
tree node of the regulator controlled by hardware mechanism underneath
s/w driver.
- Replaced volatile registers table with callback that checks access
attribute at run-time. Added another callback to switch VSEL registers
attributes between volatile and cached.
- Set persistent property for VSEL of all SD regulators (persistent
value is zero). This would allow to use direct write for setting the
voltage selector instead of read-modify-write.
Bug 1454969
Change-Id: I9a434fa8568dc2717a81ae6ecf3891abb903befa
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/367357
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
Added callback to set voltage selector registers access attribute as
volatile or cached.
Bug 1454969
Change-Id: If246f7fe8d35cb99f28f1c07f4653646a141287b
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/367562
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
Added callback to set DFLL bypass voltage selector registers access
attribute as volatile (cached access is not supported).
Bug 1454969
Change-Id: I3800f72bd6196a54bc3b34b71a274fa344c2f0f5
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/367356
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Defined regulator device driver callback to specify access attribute
for the voltage selector register as either volatile or cached.
Implemented the respective public interface that uses the callback if
it is present, or updates regmap cache layer if the VSEL access is
based on regmap framework.
Bug 1454969
Change-Id: I2bb955d1c67d480ec20fdd783e37fd576fb88313
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/365705
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
Populated vsel_persist fields for Palmas VSEL register if it is marked
as volatile on the particular platform. This would allow to use direct
write for setting the register instead of read-modify-write.
Bug 1454969
Change-Id: I07f973b3d79f452be8280e0ee0e7ea170f80435f
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/364698
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
If regulator voltage selection register includes bits other than
selector itself, it is pretty common to program those bits once,
and keep them unchanged after initialization. In this case value of
the entire VSEL register can be constructed by combining persistent
and variable selector bits, and then directly written to the register
without extra read access required for read-modify-write update.
This commit has added persistency fields to the regulator descriptor.
If VSEL is persistent, regulator_set_voltage_sel_regmap() interface
calls regmap_write() instead of regmap_update_bits(). As a result for
volatile VSEL register number of bytes transferred over the regmap bus
is reduced at least by 50% (commonly read transaction is longer than
its write counterpart). No significant saving for cached VSEL register.
If any non-selector bit is not persistent, VSEL persistency fields
must be cleared.
Bug 1454969
Change-Id: Ib37d661f8929984ea642b8983c1fad84f61360b4
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/364697
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
Currently all Palmas SMPS regulators voltage selection registers are
always cached. Added a regulator configuration flag to mark volatile
VSEL register. This flag can be set either in board platform data or
in device tree node for the regulator that is controlled by hardware
mechanism underneath s/w driver.
Change-Id: I733de6e2e9d42bbcc2359f033bfb8ddccdaf7202
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/363635
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit
|
|
Added a regulator_can_set_mode() interface so that the drivers are
able to differentiate between no support for mode control and set mode
interface failures.
Change-Id: I4c1715ad2580ac97fb4d8eff964cda8edfec21de
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/362272
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Added parsing of pwm regulator data in DFLL bypass driver probe.
Implementation is backward compatible with the specification of DFLL
bypass platform data in board files - if the latter is present, DT
data is ignored.
Bug 1442709
Change-Id: I8127d5804ad3b10d9ae529885babf85e4d3ee2c1
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/361880
GVS: Gerrit_Virtual_Submit
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
If min/max voltage of rail is not provided through constraints
then set this with the already configured voltage.
The motivation is that, if PMIC default is require rail voltage
and do not want to change this voltage then it is not require to
pass the min/max through constraints to avoid mis-configuration
of rail voltage. In this case, update the min/max voltage on
constraints by reading the rail voltage from device directly.
Change-Id: I82befa7ee1fc466569512ad4382246444d0bbb29
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/362009
|
|
Change-Id: I52c3b694d787318677bb250a607eb2aebd99ba6b
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/361857
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Add supports for:
- enable gpio which enable/disable the regulator.
- idle gpio which is require to set the regulator mode.
Change-Id: I9b31514542462bf2a3dd024cf799fbbe18ef86f4
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/361549
|
|
DFLL bypass regulator suppplies fixed volatge initially, until DFLL
is up. For consistency with other fixed regulators initialized DFLL
bypass driver in subsys_initcall_sync (instead of postcore_initcall).
Bug 1442709
Change-Id: I9a3004b52bd82fe381259757d235f813af983e09
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/358585
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Moved checking for bypass callbacks initialization from DFLL bypass
regulator probe to the get/set voltage interfaces entry. If callbacks
are not installed get_voltage interface returns initial fixed voltage,
and set_voltage succeeds only when requested voltage is the same as
initial one.
Bug 1442709
Change-Id: Ia5239a3e19d7dc34d68394b3717fc7ff28860248
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/358584
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Switched DFLL bypass regulator from set_voltage_sel/get_voltage_sel
interfaces to set_voltage/get_voltage. This is done to avoid usage of
stale selector value by regulator framework in set_voltage interface,
since DFLL in closed loop mode changes voltage underneath regulator
driver.
Bug 1442709
Change-Id: I56f119399aeedfc794ebdbae65c91812179b74d4
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/358583
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
Add regulator driver which is controlled by the PWM
signals.
Change-Id: I6ecfda60747556eb10b1ab0740d940a3a1ba11ae
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/360434
GVS: Gerrit_Virtual_Submit
|
|
If any regulator is enabled for tracking then it is not
require to disable tracking before sleep as HW already
take care of properly controlling the output voltage.
Change-Id: Id3d45cabd1ae0f49eebe3f6b577bd39fdd5a7b7b
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/358754
GVS: Gerrit_Virtual_Submit
|
|
Add support to enable/disable from sysfs for gpio based fixed regulators.
bug 1436543
Change-Id: Ic7d1d9fa73b40b1db8f7f824d4bb53624fae00dc
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/358749
GVS: Gerrit_Virtual_Submit
Reviewed-by: Pankaj Dabade <pdabade@nvidia.com>
Tested-by: Pankaj Dabade <pdabade@nvidia.com>
|
|
Add provision to ignore the current constraint conifguration during
regulator registration. This will provide opion to avoid configuration
of maximum current when it is not require like from charger regulators.
Change-Id: I7ec70db2c0660fbe8e57892d5474bafbb8c022ef
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/358766
GVS: Gerrit_Virtual_Submit
|
|
Make warning as info for consumer device
name not present message
Bug 1423355
Change-Id: Ib31d0f10102c3e88f99d4b105ca3a77a55db73b1
Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-on: http://git-master/r/357116
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
add dt entry for disabling_tracking_suspend
Bug 1423355
Change-Id: Ib9e253ba70b1ad8b652366dc517fe0c7f5a5fa06
Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-on: http://git-master/r/356309
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
Set base voltage only if it is passed for the board, else let the
regulator be set at whatever voltage it was before.
Bug 1410210
Change-Id: I09730afad4b11e99e60f45138e78871bf22746d1
Signed-off-by: Ashwin Joshi <asjoshi@nvidia.com>
Reviewed-on: http://git-master/r/352689
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
|
|
To help on debugging, prints the device name and id with error when
regulator get failed.
Change-Id: I4afa5ab4120c058fc77f7baf229866d6b3fbceed
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/347502
|
|
Decide the PMIC version based on board id as
AMS PMIC rev id is not correct in silicon.
Add DT support also.
Bug 1425474
Change-Id: Ia51462980da582c958a26e156b48a1e5d655559f
Signed-off-by: Prabhu Kuttiyam <pkuttiyam@nvidia.com>
Reviewed-on: http://git-master/r/347241
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Tested-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
|
|
- Do not sent pre-/post- change notification in case selector is equal
to old_selector, and regulator control interface is not called
- Pass voltage value (not selector) to post-change notification to be
consistent with pre-change notification.
Change-Id: I8fe6ee149f8f34f1818abf0b1cbcbd9c437cab7f
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/345608
GVS: Gerrit_Virtual_Submit
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
|
|
[Resubmitting as it was reverted due to intermittent issue on GVS]
Change-Id: I324d8b6a0c68a1d58458a0ce3a819453a6c86343
Signed-off-by: Vince Hsu <vinceh@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/340288
GVS: Gerrit_Virtual_Submit
|
|
This reverts commit 3dee4d31723e7ecf44014ef4f96294b1ff3b4600.
|
|
Change-Id: I443987c8fc7c840d16bebf3bd24783bc51bab5be
Signed-off-by: Vince Hsu <vinceh@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/336651
|
|
Enable time of 275us is not enough for all cases. Bump it to 600us.
Bug 1404859
Change-Id: I786e7c80b2fce123346c2c88a01de3ca54728ca9
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/336129
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
|