3e701cdfe6
We have support for a few new drivers: - Samsung s2mps11 - Wolfson Microelectronics wm5102 and wm5110 - Marvell 88PM800 and 88PM805 - TI twl6041 We also have our regular driver improvements: - Device tree and IRQ domain support for STE AB8500 - Regmap and devm_* API conversion for TI tps6586x - Device tree support for Samsung max77686 - devm_* API conversion for STE AB3100 Besides that, quite a lot of fixing and cleanup for mc13xxx, tps65910, tps65090, da9052 and twl-core. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJQFpGVAAoJEIqAPN1PVmxKFNoP/1dkYngrxxV6cxdyLJ74APhG lVKPgaDxQhdgfwCZJmMeZK1UphZo80cWnEXG6sTHZUEQdTaslSJu5SuPfUM+fo7e 52/dU0nx0ZE04pwPQLHbidS4TmHlbLg9oM2kmIf9RO5rg34GodwVgRL/4+k1qvhz aWYJt9erFhQOpqaSX66mXHSuhvzHypbcE7d2B2Ykmh3NoYiH2w9H9KmIbbb+ZLq8 +Bp/i5Ys/vfooo+8IE2w6KZfIzMwsmmtWjjr/38yuQJaKZCh/zn23DM9HsdrVf++ RzfniRF4YBxmeKi7zi8MFIYys8filTCXA9dXbGSAKCuUCT37yZRnUxTeN1bn7Bux A7KRpG7pUKQKVKqCTndvK5LcQKlT33XyW2ZzV1wVWX2JkCJ+gilPeykb8IabNvGX nIp0STEGR/WdCLEAKo8pJF7Usn0RuUzAug02SG/mQ6dpnLoZqp0Od5W7gRhT7M7h hXr/xKJ6cG5YwicpAdy5kJJ0dRgQrtaHwxrF0B68AXZ7CmAtkPuEGCYhUCFnGQUH XJ0CodAqqVBRyYiQS4zIpIh2nqhIdsgv4OC1+kVLbubQk+PR88zG9Jvg6i1HQi/A OHi7N5Wite3YUrs3sBzDKnEc/Il2YRhVaz2SLVNfZR0PS7hywHN3rK/tVFINTgei jNEz1H6hu7ToNLfs0UzP =c28c -----END PGP SIGNATURE----- Merge tag 'mfd-3.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 Pull MFD bits from Samuel Ortiz: "We have support for a few new drivers: - Samsung s2mps11 - Wolfson Microelectronics wm5102 and wm5110 - Marvell 88PM800 and 88PM805 - TI twl6041 We also have our regular driver improvements: - Device tree and IRQ domain support for STE AB8500 - Regmap and devm_* API conversion for TI tps6586x - Device tree support for Samsung max77686 - devm_* API conversion for STE AB3100 Besides that, quite a lot of fixing and cleanup for mc13xxx, tps65910, tps65090, da9052 and twl-core." Fix up mostly trivial conflicts, with the exception of drivers/usb/host/ehci-omap.c in particular, which had some re-organization of the reset sequence (commit1a49e2ac96
: "EHCI: centralize controller initialization") that clashed with commit2761a63945
("mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix issues"). In particular, commit2761a63945
moved the usb_add_hcd() to the *middle* of the reset sequence, which clashes fairly badly with the reset sequence re-organization (although it could have been done inside the new omap_ehci_init() function). I left that part of commit2761a63945
just undone. * tag 'mfd-3.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (110 commits) mfd: Ensure AB8500 platform data is passed through db8500-prcmu to MFD Core mfd: Arizone core should select MFD_CORE mfd: Fix arizona-irq.c build by selecting REGMAP_IRQ mfd: Add debug trace on entering and leaving arizone runtime suspend mfd: Correct tps65090 cell names mfd: Remove gpio support from tps6586x core driver ARM: tegra: defconfig: Enable tps6586x gpio gpio: tps6586x: Add gpio support through platform driver mfd: Cache tps6586x register through regmap mfd: Use regmap for tps6586x register access. mfd: Use devm managed resources for tps6586x input: Add onkey support for 88PM80X PMIC mfd: Add support for twl6041 mfd: Fix twl6040 revision information mfd: Matches should be NULL when populate anatop child devices input: ab8500-ponkey: Create AB8500 domain IRQ mapping mfd: Add missing out of memory check for pcf50633 Documentation: Describe the AB8500 Device Tree bindings mfd: Add tps65910 32-kHz-crystal-input init mfd: Drop modifying mc13xxx driver's id_table in probe ...
197 lines
6.1 KiB
Text
197 lines
6.1 KiB
Text
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 regulator is matched with the regulator-compatible.
|
|
|
|
The valid regulator-compatible values 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
|
|
|
|
- xxx-supply: Input voltage supply regulator.
|
|
These entries are require if regulators are enabled for a device. Missing of these
|
|
properties can cause the regulator registration fails.
|
|
If some of input supply is powered through battery or always-on supply then
|
|
also it is require to have these parameters with proper node handle of always
|
|
on power supply.
|
|
tps65910:
|
|
vcc1-supply: VDD1 input.
|
|
vcc2-supply: VDD2 input.
|
|
vcc3-supply: VAUX33 and VMMC input.
|
|
vcc4-supply: VAUX1 and VAUX2 input.
|
|
vcc5-supply: VPLL and VDAC input.
|
|
vcc6-supply: VDIG1 and VDIG2 input.
|
|
vcc7-supply: VRTC input.
|
|
vccio-supply: VIO input.
|
|
tps65911:
|
|
vcc1-supply: VDD1 input.
|
|
vcc2-supply: VDD2 input.
|
|
vcc3-supply: LDO6, LDO7 and LDO8 input.
|
|
vcc4-supply: LDO5 input.
|
|
vcc5-supply: LDO3 and LDO4 input.
|
|
vcc6-supply: LDO1 and LDO2 input.
|
|
vcc7-supply: VRTC input.
|
|
vccio-supply: VIO input.
|
|
|
|
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-ck32k-xtal: enable external 32-kHz crystal oscillator (see CK32K_CTRL
|
|
in TPS6591X 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-ck32k-xtal;
|
|
ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
|
|
|
|
vcc1-supply = <®_parent>;
|
|
vcc2-supply = <&some_reg>;
|
|
vcc3-supply = <...>;
|
|
vcc4-supply = <...>;
|
|
vcc5-supply = <...>;
|
|
vcc6-supply = <...>;
|
|
vcc7-supply = <...>;
|
|
vccio-supply = <...>;
|
|
|
|
regulators {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
vdd1_reg: regulator@0 {
|
|
regulator-compatible = "vdd1";
|
|
reg = <0>;
|
|
regulator-min-microvolt = < 600000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
vdd2_reg: regulator@1 {
|
|
regulator-compatible = "vdd2";
|
|
reg = <1>;
|
|
regulator-min-microvolt = < 600000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
ti,regulator-ext-sleep-control = <4>;
|
|
};
|
|
vddctrl_reg: regulator@2 {
|
|
regulator-compatible = "vddctrl";
|
|
reg = <2>;
|
|
regulator-min-microvolt = < 600000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
vio_reg: regulator@3 {
|
|
regulator-compatible = "vio";
|
|
reg = <3>;
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
ti,regulator-ext-sleep-control = <1>;
|
|
};
|
|
ldo1_reg: regulator@4 {
|
|
regulator-compatible = "ldo1";
|
|
reg = <4>;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
ldo2_reg: regulator@5 {
|
|
regulator-compatible = "ldo2";
|
|
reg = <5>;
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1050000>;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
ldo3_reg: regulator@6 {
|
|
regulator-compatible = "ldo3";
|
|
reg = <6>;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
ldo4_reg: regulator@7 {
|
|
regulator-compatible = "ldo4";
|
|
reg = <7>;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
ldo5_reg: regulator@8 {
|
|
regulator-compatible = "ldo5";
|
|
reg = <8>;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
ldo6_reg: regulator@9 {
|
|
regulator-compatible = "ldo6";
|
|
reg = <9>;
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
ldo7_reg: regulator@10 {
|
|
regulator-compatible = "ldo7";
|
|
reg = <10>;
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
ti,regulator-ext-sleep-control = <1>;
|
|
};
|
|
ldo8_reg: regulator@11 {
|
|
regulator-compatible = "ldo8";
|
|
reg = <11>;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
ti,regulator-ext-sleep-control = <1>;
|
|
};
|
|
};
|
|
};
|