summaryrefslogtreecommitdiff
path: root/drivers/regulator (follow)
Commit message (Collapse)AuthorAge
...
* | regulator: cpr3-hmss-regulator: add support for CBF voltage offset fusesDavid Collins2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for the CBF open-loop/closed-loop voltage offset fuses found on MSM8996-Pro chips. These fuses define independent open-loop voltages and closed-loop target quotients for the power cluster and CBF clock which share CPR hardware thread 0. This independent fusing ensures optimal VDD supply voltage for all power cluster, performance cluster, CBF corner combinations. Change-Id: I2e309d683f853f8bd9fd4eb6d12b05c32c7aaf26 CRs-Fixed: 980901 Signed-off-by: David Collins <collinsd@codeaurora.org>
* | regulator: cpr3-regulator: add support for CPRh-compliant controllersOsvaldo Banuelos2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Augment the cpr3-regulator driver to support controllers with full hardware CPR operation also known as CPR hardening. Also, introduce the cprh-kbss-regulator driver to handle CPU subsystem specific power requirements of the msmcobalt chip. Change-Id: Icac84f9533fa1895ca2466a3793ddaa8b7a4c89c CRs-Fixed: 967275 Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
* | regulator: cpr3: Add voltage boost support for CPR4 controllersTirupathi Reddy2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Voltage boost is a CPR4 hardware feature which raises the VDD supply voltage when the number of active cores reaches a certain threshold. It then reduces the voltage back down when the active core count condition is no longer met. Add support to enable and configure this feature. Change-Id: Iccfc2ddddb6621a150235cb2c46adfd1b884dbc2 Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
* | regulator: cpr4: add online-core and temp based voltage adjustment supportTirupathi Reddy2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Add support for hardware managed per-online-core and per-temperature voltage adjustment. These adjustment methods may be used together or independently. The configuration data for these adjustments including the amount of adjustment for a given corner should be parsed from device tree. Update the cpr3-regulator driver so that it writes the adjustment values when enabled into the SDELTA hardware registers. Change-Id: Idae9018f6a185202d38d210834ca337991fe83d9 Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
* | regulator: cpr3-mmss-regulator: add support for msm8996pro speed binsDavid Collins2016-03-23
| | | | | | | | | | | | | | | | | | | | MSM8996-Pro chips contain a fuse which defines the GPU speed bin. Each speed bin supports a different GPU maximum frequency. Add support to read this speed bin fuse and use it to parse device tree properties appropriately. Change-Id: Ib9b0ba170287ae30802bdb0c64faead8c9bdee8c Signed-off-by: David Collins <collinsd@codeaurora.org>
* | regulator: cpr3-hmss-regulator: add support for msm8996pro differencesDavid Collins2016-03-23
| | | | | | | | | | | | | | | | | | | | | | The lower Turbo fuse corner reference voltage for speed bin 1 with CPR revision >= 5 only applies to MSM8996v3 chips. It should not be used on MSM8996-Pro chips. Therefore, add support to distinguish MSM8996v3 from MSM8996-Pro and add a V3 check to the reference voltage selection logic. Change-Id: Iae7d49fe1b2539727160649cbf60ce57b73d639e Signed-off-by: David Collins <collinsd@codeaurora.org>
* | regulator: qpnp-labibb: Add support for TTW on PMI8950Anirudh Ghayal2016-03-23
| | | | | | | | | | | | | | | | | | | | | | 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> Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
* | regulator: fan53555: add support to disable suspend voltage configurationSubbaraman Narayanamurthy2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, fan53555 regulator driver always registers for set_suspend_voltage. This force configures the regulator to set suspend voltage switching to a different voltage selector. However, this might not be preferred for certain applications. Add a device tree parameter "fcs,disable-suspend" for the regulator which when specified will disable suspend voltage configuration. CRs-Fixed: 968575 Change-Id: Ib9f450126482e606f3e057857b7a58800583519a Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
* | regulator: fan53555: add support for Halo HL7509 buck converterSubbaraman Narayanamurthy2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Halo HL7509 is a digitally programmable buck converter that outputs a voltage from 600 to 1230 mV from an input voltage of 2.5 to 5.5 V. Since the register mappings are compatible with FAN53555, add a new vendor ID to support it. CRs-Fixed: 968575 Change-Id: I0083a7ada311d624731e43755cfd371b2364fb39 Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
* | regulator: fan53555: change fan53555_parse_dt() to read only DT parametersSubbaraman Narayanamurthy2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Currently, fan53555_parse_dt() does a platform data allocation in addition to reading device tree parameters. Move the memory allocation out of fan53555_parse_dt() and change it only to parse device tree parameters to match its name. This helps to expand the function to read other device tree parameters. CRs-Fixed: 968575 Change-Id: Id876d54bede15c73a298a6bfa68af7097115e36b Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
* | regulator: cpr3-regulator: add support for corners above max fuse cornerDavid Collins2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Add support for fuse corner to corner mappings in which the highest fuse corner is mapped to a corner lower than the highest corner. This can be used to define a corner which has a constant voltage offset above the highest fuse corner but which does not impact interpolation for the lower corners. Change-Id: Ie41522cb06ca81898f58458694067a567f608df0 CRs-Fixed: 981475 Signed-off-by: David Collins <collinsd@codeaurora.org>
* | regulator: kryo-regulator: fix APCC_PGS_RET_STATUS polling logicOsvaldo Banuelos2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is only necessary to poll the power gate retention status register when disallowing LDO retention mode. Once the power control override register is cleared, any power domain is allowed to utilize LDO retention. Therefore, polling of APCC_PGS_RET_STATUS must only be done when VDD_APCC is scaled below retention voltage plus LDO headroom voltage and the voltage is not sufficient to safely support power domains using LDO retention. Change-Id: I6578a75167ee4174be6ff8f1895d2d86d2ae8d76 CRs-Fixed: 980775 Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
* | regulator: msm-gfx-ldo: Add LDO initial configurationAnirudh Ghayal2016-03-23
| | | | | | | | | | | | | | | | Add LDO initial configuration for msmtitanium. CRs-Fixed: 975536 Change-Id: If3dea4c4422a1b11b4922b95a99c5e2fe3418a26 Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
* | regulator: cpr3: Enable thread aggregation for CPR4 controllerTirupathi Reddy2016-03-23
| | | | | | | | | | | | | | | | | | Enable CPR thread aggregation regardless of which threads are enabled or disabled. Also, disable threads in hardware that are not used. Change-Id: I969cb4b49d42577eca9902b1a26c71d40443efea Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
* | regulator: qpnp-labibb: do not disable IBB when entering TTW modeSubbaraman Narayanamurthy2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when entering touch-to-wakeup (TTW) mode, IBB module is disabled as part of the regulator_disable sequence before applying the settings needed for SWIRE control in TTW mode. This causes adversary effects such as droop in the VDISN voltage rail. To avoid this, as per the hardware documentation, do not disable IBB module through IBB_ENABLE_CTL when LABIBB regulators are disabled and entering TTW mode. Instead, just enter TTW mode and mark the regulators disabled. Normal mode settings will be applied when the regulators are enabled again as before. While at it, add a centralized function qpnp_ibb_mode() to write to IBB_ENABLE_CTL register. CRs-Fixed: 952847 Change-Id: I74c6ba411091d146ab5719c2d72d6385fa90af21 Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
* | regulator: cpr3: Fix 32-bit compilationTirupathi Reddy2016-03-23
| | | | | | | | | | | | | | Fix errors reported in 32-bit compilation. Change-Id: Ic2c03bd396e3f6668aa4d0c7b6ae9b99fa896367 Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
* | regulator: msm-gfx-ldo: Update the LDO handling sequenceAnirudh Ghayal2016-03-23
| | | | | | | | | | | | | | | | Fix the LDO configuration and voltage update sequence. While at it, add additional debug logging. Change-Id: I15dbbfdf18e8694920f1344cfcd3176ffa0f7c3e Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
* | regulator: msm-gfx-ldo: Disable CX only in the error pathAnirudh Ghayal2016-03-23
| | | | | | | | | | | | | | | | Disable the regulator vote on CX only if there is failure, also check if the regulator handle is valid. Change-Id: I8cbb8aad3c99d0a619dfeb2f68873c39316f0158 Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
* | regulator: Add the MSM GFX LDO regulator driverAnirudh Ghayal2016-03-23
| | | | | | | | | | | | | | | | | | | | The GPU core on MSM TITANIUM can be powered by an internal MSM (on-die) LDO or BHS. Typically the lower voltage corners are powered by the LDO and the higher corners by BHS. Add support to configure the LDO and hand-off between LDO and BHS. Change-Id: Id13b6b601c91aa6c2c2f0e6d820a244144b60437 Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
* | regulator: msm: Add snapshot of the stub regulator driverDevesh Jhunjhunwala2016-03-23
| | | | | | | | | | | | | | | | | | This is a snapshot of the Documentation and header file for the stub regulator driver as of msm-3.18 kernel commit: 2642c0adc79c06c0f3225da0177e910a1cea8cb5 ("Merge "ARM: dts: msm: Add support for truly 720p command mode panel on msmgold"") Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
* | regulator: Fix miscellaneous warnings in regulator driverMahesh Sivasubramanian2016-03-22
| | | | | | | | | | | | | | Fix compiler warnings in regulator code Change-Id: I8670b5a9591727a8215c6bc56fcdb70e473dd9d8 Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
* | regulator: mem-acc-regulator: pass null descriptor to init_data parsing functionAbhijeet Dharmapurikar2016-03-01
| | | | | | | | | | | | | | | | | | The regulator registration api's need a descriptor to access mode matching functions. Pass in NULL since mem-acc-regulators don't use mode matching functions. Change-Id: I4a23021e004fa749715c246e4685df8c5b75131f Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: proxy-consumer: replace set_optimum_mode with set_loadAbhijeet Dharmapurikar2016-03-01
| | | | | | | | | | | | | | | | 4.4 kernel has renamed regulator_set_optimum_mode api as regulator_set_load. Update proxy-consumer to use it. Change-Id: Ie56f8d26c1eadd4f2a12a5529683b8f402511e80 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: rpm-smd-regulator: pass descriptor to init_data parsing functionAbhijeet Dharmapurikar2016-03-01
| | | | | | | | | | | | | | | | | | The regulator registration api's need a descriptor to access mode matching functions. rpm-smd-regulators don't use that feature. Pass in a descriptor with that function pointer set to NULL. Change-Id: I4a23021e004fa749715c246e4685df8c5b75131f Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: qpnp cpr3 kryo regulator: pass descriptor to init_data parsing ↵Abhijeet Dharmapurikar2016-03-01
| | | | | | | | | | | | | | | | | | | | | | function The regulator registration api's need a descriptor to access mode matching functions. qpnp-regulators, cpr3-regulators, kryo-regulators don't use that feature. Pass in a descriptor with that function pointer set to NULL. Change-Id: I0c89fa99c0b9960ce4e14e3a60ed55901bdd8b09 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: spm_regulator: pass descriptor to init_data parsing functionAbhijeet Dharmapurikar2016-03-01
| | | | | | | | | | | | | | | | | | The regulator registration api's need a descriptor to access mode matching functions. spm-regualtors don't use that feature. Pass in a descriptor with that function pointer set to NULL. Change-Id: Ia37b1904e717369ff2f45012c2d43ec5f912b10b Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: labibb: avail of simpler regulator registration apiAbhijeet Dharmapurikar2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change, a0c7b16 regulator: of: Provide simplified DT parsing method enables to register a regulator without constructing an regulator_init_data structure. The regulator_init_data is instantiated within the registration api and is filled with information by parsing the regualtor device node. Avail of this convenience while registering regulators in the driver. Change-Id: I0d3c6e221b60a79ab011a180c7daa687b69580b1 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | Revert "regulator: Enable supply regulator if child rail is enabled."David Collins2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b2296bd43e781976743354c668a356b0df98e1da. The change results in the following incorrect behavior. If a given regulator has a parent supply and the regulator is enabled either before or during regulator_register(), then regulator_enable() is called on the supply. Unfortunately, there is no matching regulator_disable() call. This means that the parent supply will stay enabled forever even if the child is disabled later. The stated goal of the change was to enable the parent of a regulator which was enabled based on its machine constraints. However, the only constraints that leads to enable() being called for a regulator are boot-on or always-on. If these have been specified for a child regulator then they should have also been specified for its parent regulator. Therefore, there should be no need to explicitly enable the parent when the child is registered. Change-Id: Ib8e6db65dcd44c27ef99509ff0cfd2f8e16e9f65 CRs-Fixed: 540315 Signed-off-by: David Collins <collinsd@codeaurora.org> [Removed it form regulator_resolve_supply] Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: core: correct double remove in rdev_deinit_debugfsDavid Collins2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current ordering of statements in the rdev_deinit_debugfs() function causes freed memory to be dereferenced. This occurs because the regulator_put(rdev->debug_consumer) call results in debugfs_remove_recursive() being called on rdev->debug_consumer->debugfs after it was previously removed by the debugfs_remove_recursive() call to the parent dentry rdev->debugfs. Correct this by setting rdev->debug_consumer->debugfs to NULL after calling debugfs_remove_recursive() for the parent directory rdev->debugfs. This ensures that the regulator_put() call does not try to remove the already removed subdirectory and also that the debugfs callbacks which make use of rdev->debug_consumer are removed before rdev->debug_consumer is freed in the regulator_put() call. Change-Id: Icb7da7949e401f64cf9e71c732cb40e43ddbdc01 Signed-off-by: David Collins <collinsd@codeaurora.org>
* | regulator: core: put debugfs consumer handle when unregistering a regulatorDavid Collins2016-03-01
| | | | | | | | | | | | | | | | | | | | | | Ensure that regulator_put() is called on the core debugfs consumer pointer for a given regulator when the debugfs interface is no longer needed. This includes inside of the regulator_unregister() function as well as in the error return path of rdev_init_debugfs(). Change-Id: I10563ae1716f31bdc5840d22633fdbfe278330f1 Signed-off-by: David Collins <collinsd@codeaurora.org>
* | regulator: core: add regulator_list_corner_voltage functionDavid Collins2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a regulator_list_corner_voltage function for consumers that need to know the maximum absolute voltage that may be physically configured when a regulator is operating at a given voltage corner. Change-Id: Ide7a0b502796774fcad01f5cb5679f0938c72f96 Signed-off-by: David Collins <collinsd@codeaurora.org> [adharmap: fixed merge conflicts] Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Conflicts: include/linux/regulator/consumer.h
* | regulator: core: fix regulator bypass logicOsvaldo Banuelos2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | Since the regulator debugfs consumer does not call regulator_allow_bypass() on its regulator handles, regulators will not be placed on bypass mode even if all other consumers request for this. Fix this by introducing an open offset count that can be used to selectively disregard the debugfs consumer. Also, introduce a debugfs file to allow or disallow bypass mode on each regulator by leveraging on the new open offset count. Change-Id: If12534dac5e6b1c82acac9b5250137b4f816b922 Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
* | regulator: Call proxy-consumer functions for each regulator registeredDavid Collins2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a call to regulator_proxy_consumer_register() at the end of regulator_register() and a call to regulator_proxy_consumer_unregister() at the beginning of regulator_unregister(). These calls ensure that proxy consumer features may be used by any type of regulator regardless of the driver supporting it. Change-Id: Ia70da1df47042fa673c42f389136557f868d19a3 Signed-off-by: David Collins <collinsd@codeaurora.org> [abhimany: resolve trivial merge conflicts] Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org> [adharmap: resolve trivial merge conflicts] Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: debugfs: Adding debugfs functions into regulator frameworkBrandon Leong2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move regulator debugfs functions into core.c. This change allows the user to read and edit regulator information in user space through the debugfs file system. Change-Id: I21fa2c1d5d4ab27871ebb543134c2cee5ad70ded Signed-off-by: Brandon Leong <bleong@codeaurora.org> [abhimany: constify reg ops] Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org> [adharmap: resolve merge conflicts, renamed set_optimum to set_load] Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Conflicts: drivers/regulator/core.c
* | regulator: add verbose error messages for invalid voltage requestsDavid Collins2016-03-01
| | | | | | | | | | | | | | | | | | | | Add error messages into the regulator_check_voltage() and regulator_check_consumers() functions which explain exactly what is not correct about given voltage requests. This makes debugging regulator_set_voltage() errors easier. Change-Id: I8b3ec8d6a78c94b436b57bd2228b8bd5c362cecd Signed-off-by: David Collins <collinsd@codeaurora.org>
* | regulator: Remove redundant set_mode call in drms_uA_updateDavid Collins2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regulator framework checks if the current mode is the same as the one being requested inside of regulator_set_mode. However, when DRMS changing is allowed, regulator_enable calls drms_uA_update. This function does not check the value of get_mode before calling set_mode. Modify drms_uA_update so that set_mode is only called if the requested mode is different from the current mode returned by get_mode. Change-Id: Ifb4f3069cf946e8474565ee82508c1ff45b36543 Signed-off-by: David Collins <collinsd@codeaurora.org> [adharmap: resolved merge conflicts] Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: Add regulator_bulk_set_voltageJustin Paupore2016-03-01
| | | | | | | | | | | | | | | | Add a convenience API to set the voltage on multiple consumers stored in a struct regulator_bulk_data[] in one API call. Change-Id: Iaeb5ba8c357a66f1401fb1e142bb03904e8e9c7c Signed-off-by: Justin Paupore <jpaupore@codeaurora.org>
* | regulator: Replace error prints in regulator_check_drms() with debug printsMatt Wagantall2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Errors returned from regulator_check_drms() are not treated as fatal by any of its callers, nor are they passed up through exported regulator APIs. Instead, these errors are used to indicate that a regulator does not support multiple current modes. For example, the exported regulator_set_optimum_mode() API explicitly discards errors from regulator_check_drms() and returns success anyway since there is no work to be done to change modes. To prevent errors from being printed in these cases, downgrade the rdev_err() prints in regulator_check_drms() to rdev_dbg() prints. Change-Id: I465dcad59722b0f1fb9384beba01f6411a4a693a Signed-off-by: Matt Wagantall <mattw@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | regulator: add notifier event for regulator enableDavid Collins2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a notifier event which is triggered when a regulator is enabled. This can be used by a driver which must configure the hardware state whenever a given supply is enabled even if some other consumer was responsible for enabling the supply. Change-Id: Ic8363308b64953451dd01756e1bfdc2a64527096 Signed-off-by: David Collins <collinsd@codeaurora.org> Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org> [osvaldob: resolve trivial merge conflicts] Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org> [adharmap: 0x100 was taken by PRE_VOLTAGE_CHANGE use 0x1000 for ENABLE]
* | spmi_devices: change to platform_devicesAbhijeet Dharmapurikar2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change to using upstream spmi bus architecture. All the spmi devices, marked by spmi-dev-container, become platform devices. spmi-slave-container devices become spmi_devices each representing a slave. The read/write functions use regmap api's instead of calls to spmi_ext_register_read/write() implemented by the spmi bus. This regmap is instantiated per slave. The spmi bus helper functions like spmi_get_irq get changed to their platform bus equivalents. Change Kconfig files include * Remove dependence on OF_SPMI, MSM_QPNP_INT * There were few places where an earlier commit dcc2aedc80746acee589e4b47d3e6adf5d3ec253 missed adding dependence on SPMI along with MSM_SPMI. Fix them. * Add depends on ARCH_MSM. ARCH_MSM is used for internal builds. Change the nodes in DTSI files to confirm to the modified drivers. Update their binding docs to drop spmi-dev-container and spmi-slave-container; Finally update defconfig to use upstream SPMI. Change-Id: Ic85bff27c09c84b152cb38acbc3cadd05c0ec57a Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | qpnp: Add snapshot of some qpnp, regulator and charger driversAbhijeet Dharmapurikar2016-03-01
|/ | | | | | | | | This snapshot is taken as of msm-3.18 commit 9da4ddc (Merge "clk: msm: clock-gcc: Associate gfx rail voting with gfx3d branch") Change-Id: Idd2f467f1f1863a156d1757589dfe78158f0e43f Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* Merge tag 'spi-v4.4' of ↵Linus Torvalds2015-11-05
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "Quite a lot of activity in SPI this cycle, almost all of it in drivers with a few minor improvements and tweaks in the core. - Updates to pxa2xx to support Intel Broxton and multiple chip selects. - Support for big endian in the bcm63xx driver. - Multiple slave support for the mt8173 - New driver for the auxiliary SPI controller in bcm2835 SoCs. - Support for Layerscale SoCs in the Freescale DSPI driver" * tag 'spi-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (87 commits) spi: pxa2xx: Rework self-initiated platform data creation for non-ACPI spi: pxa2xx: Add support for Intel Broxton spi: pxa2xx: Detect number of enabled Intel LPSS SPI chip select signals spi: pxa2xx: Add output control for multiple Intel LPSS chip selects spi: pxa2xx: Use LPSS prefix for defines that are Intel LPSS specific spi: Add DSPI support for layerscape family spi: ti-qspi: improve ->remove() callback spi/spi-xilinx: Fix race condition on last word read spi: Drop owner assignment from spi_drivers spi: Add THIS_MODULE to spi_driver in SPI core spi: Setup the master controller driver before setting the chipselect spi: dw: replace magic constant by DW_SPI_DR spi: mediatek: mt8173 spi multiple devices support spi: mediatek: handle controller_data in mtk_spi_setup spi: mediatek: remove mtk_spi_config spi: mediatek: Update document devicetree bindings to support multiple devices spi: fix kernel-doc warnings about missing return desc in spi.c spi: fix kernel-doc warnings about missing return desc in spi.h spi: pxa2xx: Align a few defines spi: pxa2xx: Save other reg_cs_ctrl bits when configuring chip select ...
| *-. Merge remote-tracking branches 'spi/topic/omap-100k', ↵Mark Brown2015-11-04
| |\ \ | | | | | | | | | | | | 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next
| | | * spi: Drop owner assignment from spi_driversAndrew F. Davis2015-10-28
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | An spi_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Andrew F. Davis <afd@ti.com> Acked-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
| | |
| \ \
| \ \
| \ \
*---. \ \ Merge remote-tracking branches 'regulator/topic/supply', ↵Mark Brown2015-11-04
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 'regulator/topic/tps6105x' and 'regulator/topic/tps65023' into regulator-next
| | | * | | regulator: tps65023: add device tree supportThomas Elste2015-09-21
| | | | |/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add device tree based initialization support for tps65023 regulators. Therefore add macros for regulator definition setting of_match and regulators_node members. Add initialization of regulator_desc data using these macros. Remove old regulator_desc initialization. Add device tree binding document for tps65023 regulators. Signed-off-by: Thomas Elste <thomas.elste@imms.de> Signed-off-by: Mark Brown <broonie@kernel.org>
| | * / | mfd: tps6105x: Use i2c regmap to access registersGrigoryev Denis2015-10-05
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modifies tps6105x and associated function driver to use regmap instead of operating directly on i2c. Signed-off-by: Denis Grigoryev <grigoryev@fastwel.ru> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * | | regulator: Use regulator_lock_supply() for get_voltage() tooMark Brown2015-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we need to read voltages of parents as part of setting supply voltages we need to be able to do get_voltage() internally without taking locks so reorganize the locking to take locks on the full tree on entry rather than as we recurse when called externally. Reported-by: John Stultz <john.stultz@linaro.org> Tested-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
| * | | regulator: core: Propagate voltage changes to supply regulatorsSascha Hauer2015-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now changing the voltage of a regulator only ever effected the regulator itself, but never its supplies. It's a common pattern though to put LDO regulators behind switching regulators. The switching regulators efficiently drop the input voltage but have a high ripple on their output. The output is then cleaned up by the LDOs. For higher energy efficiency the voltage drop at the LDOs should be minimized. For this scenario we need to propagate the voltage change to the supply regulators. Another scenario where voltage propagation is desired is a regulator which only consists of a switch and thus cannot regulate voltages itself. In this case we can pass setting voltages to the supply. This patch adds support for voltage propagation. We do voltage propagation when the current regulator has a minimum dropout voltage specified or if the current regulator lacks a get_voltage operation (indicating it's a switch and not a regulator). Changing the supply voltage must be done carefully. When we are increasing the current regulators output we must first increase the supply voltage and then the regulator itself. When we are decreasing the current regulators voltage we must decrease the supply voltage after changing the current regulators voltage. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org>
| * | | regulator: core: Factor out regulator_map_voltageSascha Hauer2015-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _regulator_call_set_voltage has code to translate a minimum/maximum voltage pair into a selector. This code is useful for others aswell, so create a regulator_map_voltage function. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org>