Merge tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
Pull MFD changes from Samuel Ortiz: "Besides the usual cleanups, this one brings: * Support for 5 new chipsets: Intel's ICH LPC and SCH Centerton, ST-E's STAX211, Samsung's MAX77693 and TI's LM3533. * Device tree support for the twl6040, tps65910, da9502 and ab8500 drivers. * Fairly big tps56910, ab8500 and db8500 updates. * i2c support for mc13xxx. * Our regular update for the wm8xxx driver from Mark." Fix up various conflicts with other trees, largely due to ab5500 removal etc. * tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (106 commits) mfd: Fix build break of max77693 by adding REGMAP_I2C option mfd: Fix twl6040 build failure mfd: Fix max77693 build failure mfd: ab8500-core should depend on MFD_DB8500_PRCMU gpio: tps65910: dt: process gpio specific device node info mfd: Remove the parsing of dt info for tps65910 gpio mfd: Save device node parsed platform data for tps65910 sub devices mfd: Add r_select to lm3533 platform data gpio: Add Intel Centerton support to gpio-sch mfd: Emulate active low IRQs as well as active high IRQs for wm831x mfd: Mark two lm3533 zone registers as volatile mfd: Fix return type of lm533 attribute is_visible mfd: Enable Device Tree support in the ab8500-pwm driver mfd: Enable Device Tree support in the ab8500-sysctrl driver mfd: Add support for Device Tree to twl6040 mfd: Register the twl6040 child for the ASoC codec unconditionally mfd: Allocate twl6040 IRQ numbers dynamically mfd: twl6040 code cleanup in interrupt initialization part mfd: Enable ab8500-gpadc driver for Device Tree mfd: Prevent unassigned pointer from being used in ab8500-gpadc driver ...
This commit is contained in:
60
Documentation/devicetree/bindings/mfd/da9052-i2c.txt
Normal file
60
Documentation/devicetree/bindings/mfd/da9052-i2c.txt
Normal file
@@ -0,0 +1,60 @@
|
||||
* Dialog DA9052/53 Power Management Integrated Circuit (PMIC)
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "dlg,da9052", "dlg,da9053-aa",
|
||||
"dlg,da9053-ab", or "dlg,da9053-bb"
|
||||
|
||||
Sub-nodes:
|
||||
- regulators : Contain the regulator nodes. The DA9052/53 regulators are
|
||||
bound using their names as listed below:
|
||||
|
||||
buck0 : regulator BUCK0
|
||||
buck1 : regulator BUCK1
|
||||
buck2 : regulator BUCK2
|
||||
buck3 : regulator BUCK3
|
||||
ldo4 : regulator LDO4
|
||||
ldo5 : regulator LDO5
|
||||
ldo6 : regulator LDO6
|
||||
ldo7 : regulator LDO7
|
||||
ldo8 : regulator LDO8
|
||||
ldo9 : regulator LDO9
|
||||
ldo10 : regulator LDO10
|
||||
ldo11 : regulator LDO11
|
||||
ldo12 : regulator LDO12
|
||||
ldo13 : regulator LDO13
|
||||
|
||||
The bindings details of individual regulator device can be found in:
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Examples:
|
||||
|
||||
i2c@63fc8000 { /* I2C1 */
|
||||
status = "okay";
|
||||
|
||||
pmic: dialog@48 {
|
||||
compatible = "dlg,da9053-aa";
|
||||
reg = <0x48>;
|
||||
|
||||
regulators {
|
||||
buck0 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2075000>;
|
||||
};
|
||||
|
||||
buck1 {
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2075000>;
|
||||
};
|
||||
|
||||
buck2 {
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
|
||||
buck3 {
|
||||
regulator-min-microvolt = <925000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
133
Documentation/devicetree/bindings/mfd/tps65910.txt
Normal file
133
Documentation/devicetree/bindings/mfd/tps65910.txt
Normal file
@@ -0,0 +1,133 @@
|
||||
TPS65910 Power Management Integrated Circuit
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,tps65910" or "ti,tps65911"
|
||||
- reg: I2C slave address
|
||||
- interrupts: the interrupt outputs of the controller
|
||||
- #gpio-cells: number of cells to describe a GPIO, this should be 2.
|
||||
The first cell is the GPIO number.
|
||||
The second cell is used to specify additional options <unused>.
|
||||
- gpio-controller: mark the device as a GPIO controller
|
||||
- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
|
||||
The first cell is the IRQ number.
|
||||
The second cell is the flags, encoded as the trigger masks from
|
||||
Documentation/devicetree/bindings/interrupts.txt
|
||||
- regulators: This is the list of child nodes that specify the regulator
|
||||
initialization data for defined regulators. Not all regulators for the given
|
||||
device need to be present. The definition for each of these nodes is defined
|
||||
using the standard binding for regulators found at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
The valid names for regulators are:
|
||||
tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
|
||||
vaux2, vaux33, vmmc
|
||||
tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
|
||||
ldo6, ldo7, ldo8
|
||||
|
||||
Optional properties:
|
||||
- ti,vmbch-threshold: (tps65911) main battery charged threshold
|
||||
comparator. (see VMBCH_VSEL in TPS65910 datasheet)
|
||||
- ti,vmbch2-threshold: (tps65911) main battery discharged threshold
|
||||
comparator. (see VMBCH_VSEL in TPS65910 datasheet)
|
||||
- ti,en-gpio-sleep: enable sleep control for gpios
|
||||
There should be 9 entries here, one for each gpio.
|
||||
|
||||
Regulator Optional properties:
|
||||
- ti,regulator-ext-sleep-control: enable external sleep
|
||||
control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]
|
||||
If this property is not defined, it defaults to 0 (not enabled).
|
||||
|
||||
Example:
|
||||
|
||||
pmu: tps65910@d2 {
|
||||
compatible = "ti,tps65910";
|
||||
reg = <0xd2>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = < 0 118 0x04 >;
|
||||
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
|
||||
ti,vmbch-threshold = 0;
|
||||
ti,vmbch2-threshold = 0;
|
||||
|
||||
ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
|
||||
|
||||
regulators {
|
||||
vdd1_reg: vdd1 {
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
vdd2_reg: vdd2 {
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <4>;
|
||||
};
|
||||
vddctrl_reg: vddctrl {
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
vio_reg: vio {
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <1>;
|
||||
};
|
||||
ldo1_reg: ldo1 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo2_reg: ldo2 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo3_reg: ldo3 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo4_reg: ldo4 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo5_reg: ldo5 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo6_reg: ldo6 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
ti,regulator-ext-sleep-control = <0>;
|
||||
};
|
||||
ldo7_reg: ldo7 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,regulator-ext-sleep-control = <1>;
|
||||
};
|
||||
ldo8_reg: ldo8 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
ti,regulator-ext-sleep-control = <1>;
|
||||
};
|
||||
};
|
||||
};
|
62
Documentation/devicetree/bindings/mfd/twl6040.txt
Normal file
62
Documentation/devicetree/bindings/mfd/twl6040.txt
Normal file
@@ -0,0 +1,62 @@
|
||||
Texas Instruments TWL6040 family
|
||||
|
||||
The TWL6040s are 8-channel high quality low-power audio codecs providing audio
|
||||
and vibra functionality on OMAP4+ platforms.
|
||||
They are connected ot the host processor via i2c for commands, McPDM for audio
|
||||
data and commands.
|
||||
|
||||
Required properties:
|
||||
- compatible : Must be "ti,twl6040";
|
||||
- reg: must be 0x4b for i2c address
|
||||
- interrupts: twl6040 has one interrupt line connecteded to the main SoC
|
||||
- interrupt-parent: The parent interrupt controller
|
||||
- twl6040,audpwron-gpio: Power on GPIO line for the twl6040
|
||||
|
||||
- vio-supply: Regulator for the twl6040 VIO supply
|
||||
- v2v1-supply: Regulator for the twl6040 V2V1 supply
|
||||
|
||||
Optional properties, nodes:
|
||||
- enable-active-high: To power on the twl6040 during boot.
|
||||
|
||||
Vibra functionality
|
||||
Required properties:
|
||||
- vddvibl-supply: Regulator for the left vibra motor
|
||||
- vddvibr-supply: Regulator for the right vibra motor
|
||||
- vibra { }: Configuration section for vibra parameters containing the following
|
||||
properties:
|
||||
- ti,vibldrv-res: Resistance parameter for left driver
|
||||
- ti,vibrdrv-res: Resistance parameter for right driver
|
||||
- ti,viblmotor-res: Resistance parameter for left motor
|
||||
- ti,viblmotor-res: Resistance parameter for right motor
|
||||
|
||||
Optional properties within vibra { } section:
|
||||
- vddvibl_uV: If the vddvibl default voltage need to be changed
|
||||
- vddvibr_uV: If the vddvibr default voltage need to be changed
|
||||
|
||||
Example:
|
||||
&i2c1 {
|
||||
twl6040: twl@4b {
|
||||
compatible = "ti,twl6040";
|
||||
reg = <0x4b>;
|
||||
|
||||
interrupts = <0 119 4>;
|
||||
interrupt-parent = <&gic>;
|
||||
twl6040,audpwron-gpio = <&gpio4 31 0>;
|
||||
|
||||
vio-supply = <&v1v8>;
|
||||
v2v1-supply = <&v2v1>;
|
||||
enable-active-high;
|
||||
|
||||
/* regulators for vibra motor */
|
||||
vddvibl-supply = <&vbat>;
|
||||
vddvibr-supply = <&vbat>;
|
||||
|
||||
vibra {
|
||||
/* Vibra driver, motor resistance parameters */
|
||||
ti,vibldrv-res = <8>;
|
||||
ti,vibrdrv-res = <3>;
|
||||
ti,viblmotor-res = <10>;
|
||||
ti,vibrmotor-res = <10>;
|
||||
};
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user