mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 13:22:23 +00:00
e5744abb2f
- Use of managed resources - omap, twl4030, ti_am335x_tscadc - Advanced error handling - omap - Rework clk management - omap - Device Tree (re-)work - tc3589x, pm8921, da9055, sec - IRC management overhaul and !BROKEN - pm8921 - Convert to regmap - ssbi, pm8921 - Use simple power-management ops - ucb1x00 - Include file clean-up - adp5520, cs5535, janz, lpc_ich, - lpc_sch, max14577, mcp-sa11x0, pcf50633-adc, rc5t583, rdc321x-southbridge, retu, smsc-ece1099, ti-ssp, ti_am335x_tscadc, tps65912, vexpress-config, wm8350, ywm8350 - Various bug fixes across the subsystem - NULL/invalid pointer dereference prevention - Resource leak mitigation, - Variable used initialised - Staticise various containers - Enforce return value checks == New drivers/supported devices == - Add support for s2mps14 and s2mpa01 to sec - Add support for da9063 (v5) to da9063 - Add support for atom-c2000 to gpio-ich - Add support for come-{mbt10,cbt6,chl6} to kempld - Add support for da9053 to da9052 - Add support for itco-wdt (v3) and baytrail to lpc_ich - Add new drivers for tps65218, rtsx_usb, bcm590xx == (Re-)moved drivers == - twl4030 ==> drivers/iio - ti-ssp ==> /dev/null -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) iQIcBAABAgAGBQJTQmHbAAoJEFGvii+H/HdhXgAQAI6dNLb3AfNol49pNh5nEcrt sixQwu56xe64xozcMq41oXcbIe6NOvd/Sgf57fowCqrNyXd3k2sp6/KzA1yM8yfc 2Xfm2fzzMoyH3lEopepT0zKMEyeOKxCNJWInXjRDmR6EN8szV/gAvwEptXnXKq8n sANQCBr2A1sDAlxu5onDI6SGEibCZgSsW+EElPyNKjXyIXdATv+ZLSuNCapt2Zg2 H/KM+CY2hlcl6quWwjEUtPF4Ux0hIv3ePkwDKQicXMgndxL3+aL5L66UHsIovgxW o9H2aA6cfOQJuAXAZUvHlsNlefFW5qpFFR8kXiW87Say3+7nijoe5DhH/RBSZN+i O0rbxWVa1rW9eYmHuKAPNMR8Lp4FN9OvBo/Yv3UfmMV661vLVLOvTwJI9GZg7v8o UPMDhYNgEnRNrWqf7Wkj9ywgvGaO8qggm7gpE2cFD8DGDR7aZQ9goRKpaVSjTNmW 4staek1u4g7YQ9s2UXxQ0JFc7esMbUbXxv5Bmk+4JPiI3P4gDMTg7jhh5iKDcEs5 BVUIfdYKF9LInfYT3o9Uvo6TbYeAfwwzOdMFDWa5BjGOCLD9ttOEGtqMD/bkANbn YsaD6xKEL+su37CocSPnekgU+IS0uLb15jpa06CmoaALPGAZcRffKMygSHtlyGtR pNazlO93tu9JXQcL5B+A =p4SP -----END PGP SIGNATURE----- Merge tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "Changes to existing drivers: - Use of managed resources - omap, twl4030, ti_am335x_tscadc - Advanced error handling - omap - Rework clk management - omap - Device Tree (re-)work - tc3589x, pm8921, da9055, sec - IRC management overhaul and !BROKEN - pm8921 - Convert to regmap - ssbi, pm8921 - Use simple power-management ops - ucb1x00 - Include file clean-up - adp5520, cs5535, janz, lpc_ich, - lpc_sch, max14577, mcp-sa11x0, pcf50633-adc, rc5t583, rdc321x-southbridge, retu, smsc-ece1099, ti-ssp, ti_am335x_tscadc, tps65912, vexpress-config, wm8350, ywm8350 - Various bug fixes across the subsystem - NULL/invalid pointer dereference prevention - Resource leak mitigation, - Variable used initialised - Staticise various containers - Enforce return value checks New drivers/supported devices: - Add support for s2mps14 and s2mpa01 to sec - Add support for da9063 (v5) to da9063 - Add support for atom-c2000 to gpio-ich - Add support for come-{mbt10,cbt6,chl6} to kempld - Add support for da9053 to da9052 - Add support for itco-wdt (v3) and baytrail to lpc_ich - Add new drivers for tps65218, rtsx_usb, bcm590xx (Re-)moved drivers: - twl4030 ==> drivers/iio - ti-ssp ==> /dev/null" * tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (103 commits) mfd: wm5110: Correct default for HEADPHONE_DETECT_1 mfd: arizona: Correct small errors in the DT binding documentation mfd: arizona: Mark DSP clocking register as volatile mfd: devicetree: bindings: Add pm8xxx RTC description mfd: kempld-core: Fix potential hang-up during boot mfd: sec-core: Fix uninitialized 'regmap_rtc' on S2MPA01 mfd: tps65910: Fix regmap_irq_chip_data leak on mfd_add_devices fail mfd: tps65910: Fix possible invalid pointer dereference on regmap_add_irq_chip fail mfd: sec-core: Fix I2C dummy device resource leak on probe failure mfd: sec-core: Add of_compatible strings for clock MFD cells mfd: Remove obsolete ti-ssp driver Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks mfd: bcm590xx: Fix type argument for module device table mfd: lpc_ich: Add support for Intel Bay Trail SoC mfd: lpc_ich: Add support for NM10 GPIO mfd: lpc_ich: Change Avoton to iTCO v3 watchdog: iTCO_wdt: Add support for v3 silicon mfd: lpc_ich: Add support for iTCO v3 mfd: lpc_ich: Remove lpc_ich_cfg struct use mfd: lpc_ich: Only configure watchdog or GPIO when present ...
121 lines
3.9 KiB
Plaintext
121 lines
3.9 KiB
Plaintext
|
|
* Samsung S2MPS11 and S2MPS14 Voltage and Current Regulator
|
|
|
|
The Samsung S2MPS11 is a multi-function device which includes voltage and
|
|
current regulators, RTC, charger controller and other sub-blocks. It is
|
|
interfaced to the host controller using an I2C interface. Each sub-block is
|
|
addressed by the host system using different I2C slave addresses.
|
|
|
|
Required properties:
|
|
- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic".
|
|
- reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
|
|
|
|
Optional properties:
|
|
- interrupt-parent: Specifies the phandle of the interrupt controller to which
|
|
the interrupts from s2mps11 are delivered to.
|
|
- interrupts: Interrupt specifiers for interrupt sources.
|
|
|
|
Optional nodes:
|
|
- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz
|
|
outputs, so to register these as clocks with common clock framework
|
|
instantiate a sub-node named "clocks". It uses the common clock binding
|
|
documented in :
|
|
[Documentation/devicetree/bindings/clock/clock-bindings.txt]
|
|
The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
|
|
- #clock-cells: should be 1.
|
|
|
|
- The following is the list of clocks generated by the controller. Each clock
|
|
is assigned an identifier and client nodes use this identifier to specify
|
|
the clock which they consume.
|
|
Clock ID Devices
|
|
----------------------------------------------------------
|
|
32KhzAP 0 S2MPS11, S2MPS14, S5M8767
|
|
32KhzCP 1 S2MPS11, S5M8767
|
|
32KhzBT 2 S2MPS11, S2MPS14, S5M8767
|
|
|
|
- compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk",
|
|
"samsung,s5m8767-clk"
|
|
|
|
- regulators: The regulators of s2mps11 that have to be instantiated should be
|
|
included in a sub-node named 'regulators'. Regulator nodes included in this
|
|
sub-node should be of the format as listed below.
|
|
|
|
regulator_name {
|
|
[standard regulator constraints....];
|
|
};
|
|
|
|
regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
|
|
|
|
BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explictly
|
|
regulator-ramp-delay = <0> can be used for them to disable ramp delay.
|
|
In the absence of the regulator-ramp-delay property, the default ramp
|
|
delay will be used.
|
|
|
|
NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
|
|
for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
|
|
Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
|
|
BUCK[3, 4], and BUCK[7, 8, 10]
|
|
|
|
The regulator constraints inside the regulator nodes use the standard regulator
|
|
bindings which are documented elsewhere.
|
|
|
|
The following are the names of the regulators that the s2mps11 pmic block
|
|
supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
|
|
as per the datasheet of s2mps11.
|
|
|
|
- LDOn
|
|
- valid values for n are:
|
|
- S2MPS11: 1 to 38
|
|
- S2MPS14: 1 to 25
|
|
- Example: LDO1, LD02, LDO28
|
|
- BUCKn
|
|
- valid values for n are:
|
|
- S2MPS11: 1 to 10
|
|
- S2MPS14: 1 to 5
|
|
- Example: BUCK1, BUCK2, BUCK9
|
|
|
|
Example:
|
|
|
|
s2mps11_pmic@66 {
|
|
compatible = "samsung,s2mps11-pmic";
|
|
reg = <0x66>;
|
|
|
|
s2m_osc: clocks {
|
|
compatible = "samsung,s2mps11-clk";
|
|
#clock-cells = 1;
|
|
clock-output-names = "xx", "yy", "zz";
|
|
};
|
|
|
|
regulators {
|
|
ldo1_reg: LDO1 {
|
|
regulator-name = "VDD_ABB_3.3V";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
ldo2_reg: LDO2 {
|
|
regulator-name = "VDD_ALIVE_1.1V";
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
buck1_reg: BUCK1 {
|
|
regulator-name = "vdd_mif";
|
|
regulator-min-microvolt = <950000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck2_reg: BUCK2 {
|
|
regulator-name = "vdd_arm";
|
|
regulator-min-microvolt = <950000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-ramp-delay = <50000>;
|
|
};
|
|
};
|
|
};
|