Merge tag 'mfd-3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next
Pull MFD updates from Samuel Ortiz: "For the 3.13 merge window we have a couple of new drivers for the AMS AS3722 PMIC and for STMicroelectronics STw481x PMIC. Although this is a smaller update than usual, we also have: - Device tree support for the max77693 driver - linux/of.h inclusion for all DT compatible MFD drivers, to avoid build breakage in the future - Support for Intel Wildcat Point-LP PCH through the lpc_ich driver - A small arizona update for new wm5110 DSP registers and a few fixes - A small palmas update as well, including an of_device table addition and a few minor fixes - Two small mfd-core changes, one including a memory leak fix for when mfd_add_device() fails - Our usual round of minor cleanups and janitorial fixes" * tag 'mfd-3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (63 commits) Documentation: mfd: Update s2mps11.txt mfd: pm8921: Potential NULL dereference in pm8921_remove() mfd: Fix memory leak in mfd_add_devices() mfd: Stop setting refcounting pointers in original mfd_cell arrays mfd: wm5110: Enable micd clamp functionality mfd: lpc_ich: Add Device IDs for Intel Wildcat Point-LP PCH mfd: max77693: Fix up bug of wrong interrupt number mfd: as3722: Don't export the regmap config mfd: twl6040: Remove obsolete cleanup for i2c clientdata mfd: tps65910: Remove warning during dt node parsing mfd: lpc_sch: Ignore resource conflicts when adding mfd cells mfd: ti_am335x_tscadc: Avoid possible deadlock of reg_lock mfd: syscon: Return -ENOSYS if CONFIG_MFD_SYSCON is not enabled mfd: Add support for ams AS3722 PMIC mfd: max77693: Include linux/of.h header mfd: tc3589x: Detect the precise version mfd: omap-usb: prepare/unprepare clock while enable/disable mfd: max77686: Include linux/of.h header mfd: max8907: Include linux/of.h header mfd: max8997: Include linux/of.h header ...
This commit is contained in:
194
Documentation/devicetree/bindings/mfd/as3722.txt
Normal file
194
Documentation/devicetree/bindings/mfd/as3722.txt
Normal file
@@ -0,0 +1,194 @@
|
||||
* ams AS3722 Power management IC.
|
||||
|
||||
Required properties:
|
||||
-------------------
|
||||
- compatible: Must be "ams,as3722".
|
||||
- reg: I2C device address.
|
||||
- interrupt-controller: AS3722 has internal interrupt controller which takes the
|
||||
interrupt request from internal sub-blocks like RTC, regulators, GPIOs as well
|
||||
as external input.
|
||||
- #interrupt-cells: Should be set to 2 for IRQ number and flags.
|
||||
The first cell is the IRQ number. IRQ numbers for different interrupt source
|
||||
of AS3722 are defined at dt-bindings/mfd/as3722.h
|
||||
The second cell is the flags, encoded as the trigger masks from binding document
|
||||
interrupts.txt, using dt-bindings/irq.
|
||||
|
||||
Optional submodule and their properties:
|
||||
=======================================
|
||||
|
||||
Pinmux and GPIO:
|
||||
===============
|
||||
Device has 8 GPIO pins which can be configured as GPIO as well as the special IO
|
||||
functions.
|
||||
|
||||
Please refer to pinctrl-bindings.txt in this directory for details of the
|
||||
common pinctrl bindings used by client devices, including the meaning of the
|
||||
phrase "pin configuration node".
|
||||
|
||||
Following are properties which is needed if GPIO and pinmux functionality
|
||||
is required:
|
||||
Required properties:
|
||||
-------------------
|
||||
- gpio-controller: Marks the device node as a GPIO controller.
|
||||
- #gpio-cells: Number of GPIO cells. Refer to binding document
|
||||
gpio/gpio.txt
|
||||
|
||||
Optional properties:
|
||||
--------------------
|
||||
Following properties are require if pin control setting is required
|
||||
at boot.
|
||||
- pinctrl-names: A pinctrl state named "default" be defined, using the
|
||||
bindings in pinctrl/pinctrl-binding.txt.
|
||||
- pinctrl[0...n]: Properties to contain the phandle that refer to
|
||||
different nodes of pin control settings. These nodes represents
|
||||
the pin control setting of state 0 to state n. Each of these
|
||||
nodes contains different subnodes to represents some desired
|
||||
configuration for a list of pins. This configuration can
|
||||
include the mux function to select on those pin(s), and
|
||||
various pin configuration parameters, such as pull-up,
|
||||
open drain.
|
||||
|
||||
Each subnode have following properties:
|
||||
Required properties:
|
||||
- pins: List of pins. Valid values of pins properties are:
|
||||
gpio0, gpio1, gpio2, gpio3, gpio4, gpio5,
|
||||
gpio6, gpio7
|
||||
|
||||
Optional properties:
|
||||
function, bias-disable, bias-pull-up, bias-pull-down,
|
||||
bias-high-impedance, drive-open-drain.
|
||||
|
||||
Valid values for function properties are:
|
||||
gpio, interrupt-out, gpio-in-interrupt,
|
||||
vsup-vbat-low-undebounce-out,
|
||||
vsup-vbat-low-debounce-out,
|
||||
voltage-in-standby, oc-pg-sd0, oc-pg-sd6,
|
||||
powergood-out, pwm-in, pwm-out, clk32k-out,
|
||||
watchdog-in, soft-reset-in
|
||||
|
||||
Regulators:
|
||||
===========
|
||||
Device has multiple DCDC and LDOs. The node "regulators" is require if regulator
|
||||
functionality is needed.
|
||||
|
||||
Following are properties of regulator subnode.
|
||||
|
||||
Optional properties:
|
||||
-------------------
|
||||
The input supply of regulators are the optional properties on the
|
||||
regulator node. The input supply of these regulators are provided
|
||||
through following properties:
|
||||
vsup-sd2-supply: Input supply for SD2.
|
||||
vsup-sd3-supply: Input supply for SD3.
|
||||
vsup-sd4-supply: Input supply for SD4.
|
||||
vsup-sd5-supply: Input supply for SD5.
|
||||
vin-ldo0-supply: Input supply for LDO0.
|
||||
vin-ldo1-6-supply: Input supply for LDO1 and LDO6.
|
||||
vin-ldo2-5-7-supply: Input supply for LDO2, LDO5 and LDO7.
|
||||
vin-ldo3-4-supply: Input supply for LDO3 and LDO4.
|
||||
vin-ldo9-10-supply: Input supply for LDO9 and LDO10.
|
||||
vin-ldo11-supply: Input supply for LDO11.
|
||||
|
||||
Optional sub nodes for regulators:
|
||||
---------------------------------
|
||||
The subnodes name is the name of regulator and it must be one of:
|
||||
sd[0-6], ldo[0-7], ldo[9-11]
|
||||
|
||||
Each sub-node should contain the constraints and initialization
|
||||
information for that regulator. See regulator.txt for a description
|
||||
of standard properties for these sub-nodes.
|
||||
Additional optional custom properties are listed below.
|
||||
ams,ext-control: External control of the rail. The option of
|
||||
this properties will tell which external input is
|
||||
controlling this rail. Valid values are 0, 1, 2 ad 3.
|
||||
0: There is no external control of this rail.
|
||||
1: Rail is controlled by ENABLE1 input pin.
|
||||
2: Rail is controlled by ENABLE2 input pin.
|
||||
3: Rail is controlled by ENABLE3 input pin.
|
||||
Missing this property on DT will be assume as no
|
||||
external control. The external control pin macros
|
||||
are defined @dt-bindings/mfd/as3722.h
|
||||
|
||||
ams,enable-tracking: Enable tracking with SD1, only supported
|
||||
by LDO3.
|
||||
|
||||
Example:
|
||||
--------
|
||||
#include <dt-bindings/mfd/as3722.h>
|
||||
...
|
||||
ams3722 {
|
||||
compatible = "ams,as3722";
|
||||
reg = <0x48>;
|
||||
|
||||
interrupt-parent = <&intc>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&as3722_default>;
|
||||
|
||||
as3722_default: pinmux {
|
||||
gpio0 {
|
||||
pins = "gpio0";
|
||||
function = "gpio";
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
gpio1_2_4_7 {
|
||||
pins = "gpio1", "gpio2", "gpio4", "gpio7";
|
||||
function = "gpio";
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
gpio5 {
|
||||
pins = "gpio5";
|
||||
function = "clk32k_out";
|
||||
};
|
||||
}
|
||||
|
||||
regulators {
|
||||
vsup-sd2-supply = <...>;
|
||||
...
|
||||
|
||||
sd0 {
|
||||
regulator-name = "vdd_cpu";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
ams,ext-control = <2>;
|
||||
};
|
||||
|
||||
sd1 {
|
||||
regulator-name = "vdd_core";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
ams,ext-control = <1>;
|
||||
};
|
||||
|
||||
sd2 {
|
||||
regulator-name = "vddio_ddr";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sd4 {
|
||||
regulator-name = "avdd-hdmi-pex";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sd5 {
|
||||
regulator-name = "vdd-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
....
|
||||
};
|
||||
};
|
@@ -1,10 +1,10 @@
|
||||
|
||||
* Samsung S2MPS11 Voltage and Current Regulator
|
||||
|
||||
The Samsung S2MP211 is a multi-function device which includes voltage and
|
||||
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 a I2C interface. Each sub-block is
|
||||
addressed by the host system using different I2C slave address.
|
||||
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".
|
||||
@@ -43,7 +43,8 @@ sub-node should be of the format as listed below.
|
||||
|
||||
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 absence of regulator-ramp-delay property, default ramp delay will be used.
|
||||
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>.
|
||||
@@ -58,10 +59,10 @@ 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 1 to 28
|
||||
- valid values for n are 1 to 38
|
||||
- Example: LDO0, LD01, LDO28
|
||||
- BUCKn
|
||||
- valid values for n are 1 to 9.
|
||||
- valid values for n are 1 to 10.
|
||||
- Example: BUCK1, BUCK2, BUCK9
|
||||
|
||||
Example:
|
||||
|
Reference in New Issue
Block a user