diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-14 20:29:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-14 20:29:55 -0400 |
commit | f0c1bc95a108b36677dde6c9d96a5bb810a05b75 (patch) | |
tree | 335c33469407d0ebda5670dabb49c6ecad64263e /Documentation | |
parent | 1dcf58d6e6e6eb7ec10e9abc56887b040205b06f (diff) | |
parent | e554a99ee8d09132e80dc467433c9a4df9054645 (diff) |
Merge tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones:
"Changes to existing drivers:
- Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x
- Rename child driver [max77693-flash => max77693-led]; max77693
- Error handling fixes; intel_soc_pmic
- GPIO tweaking; intel_soc_pmic
- Remove non-DT code; vexpress-sysreg, tc3589x
- Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops, rtsx_pcr,
rtc-s5m, sec-core, max77693, menelaus,
wm5102-tables
- Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693,
mc13xxx-core, dln2, hi6421-pmic-core, rk808, twl4030-power,
lpc_ich, menelaus, twl6040
- Update register/address values; rts5227, rts5249
- DT and/or binding document fixups; arizona, da9150, mt6397, axp20x,
qcom-rpm, qcom-spmi-pmic
- Couple of trivial core Kconfig fixups
- Remove use of seq_printf return value; ab8500-debugfs
- Remove __exit markups; menelaus, tps65010
- Fix platform-device name collisions; mfd-core
New drivers/supported devices:
- Add support for wm8280/wm8281 into arizona
- Add support for COMe-cBL6 into kempld-core
- Add support for rts524a and rts525a into rts5249
- Add support for ipq8064 into qcom_rpm
- Add support for extcon into axp20x
- New MediaTek MT6397 PMIC driver
- New Maxim MAX77843 PMIC dirver
- New Intel Quark X1000 I2C-GPIO driver
- New Skyworks SKY81452 driver"
* tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits)
mfd: sec: Fix RTC alarm interrupt number on S2MPS11
mfd: wm5102: Remove registers for output 3R from readable list
mfd: tps65010: Remove incorrect __exit markups
mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
mfd: axp20x: Add support for extcon cell
mfd: lpc_ich: Sort IDs
mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias
mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's
mfd: axp20x: Fix duplicate const for model names
mfd: menelaus: Use macro for magic number
mfd: menelaus: Drop support for SW controller VCORE
mfd: menelaus: Delete omap_has_menelaus
mfd: arizona: Correct type of gpio_defaults
mfd: lpc_ich: Sort IDs
mfd: Fix a typo in Kconfig
mfd: qcom_rpm: Add support for IPQ8064
mfd: devicetree: qcom_rpm: Document IPQ8064 resources
mfd: core: Fix platform-device name collisions
mfd: intel_quark_i2c_gpio: Don't crash if !DMI
dt-bindings: Add vendor-prefix for X-Powers
...
Diffstat (limited to 'Documentation')
10 files changed, 524 insertions, 30 deletions
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt index aaa8325004d2..003bd77b4595 100644 --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt | |||
@@ -89,6 +89,7 @@ ricoh,rv5c386 I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | |||
89 | ricoh,rv5c387a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | 89 | ricoh,rv5c387a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC |
90 | samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) | 90 | samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) |
91 | sii,s35390a 2-wire CMOS real-time clock | 91 | sii,s35390a 2-wire CMOS real-time clock |
92 | skyworks,sky81452 Skyworks SKY81452: Six-Channel White LED Driver with Touch Panel Bias Supply | ||
92 | st-micro,24c256 i2c serial eeprom (24cxx) | 93 | st-micro,24c256 i2c serial eeprom (24cxx) |
93 | stm,m41t00 Serial Access TIMEKEEPER | 94 | stm,m41t00 Serial Access TIMEKEEPER |
94 | stm,m41t62 Serial real-time clock (RTC) with alarm | 95 | stm,m41t62 Serial real-time clock (RTC) with alarm |
diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt index 7bd1273f571a..7665aa95979f 100644 --- a/Documentation/devicetree/bindings/mfd/arizona.txt +++ b/Documentation/devicetree/bindings/mfd/arizona.txt | |||
@@ -8,6 +8,7 @@ Required properties: | |||
8 | - compatible : One of the following chip-specific strings: | 8 | - compatible : One of the following chip-specific strings: |
9 | "wlf,wm5102" | 9 | "wlf,wm5102" |
10 | "wlf,wm5110" | 10 | "wlf,wm5110" |
11 | "wlf,wm8280" | ||
11 | "wlf,wm8997" | 12 | "wlf,wm8997" |
12 | - reg : I2C slave address when connected using I2C, chip select number when | 13 | - reg : I2C slave address when connected using I2C, chip select number when |
13 | using SPI. | 14 | using SPI. |
@@ -26,21 +27,27 @@ Required properties: | |||
26 | - #gpio-cells : Must be 2. The first cell is the pin number and the | 27 | - #gpio-cells : Must be 2. The first cell is the pin number and the |
27 | second cell is used to specify optional parameters (currently unused). | 28 | second cell is used to specify optional parameters (currently unused). |
28 | 29 | ||
29 | - AVDD-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply (wm5102, wm5110), | 30 | - AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device, |
30 | CPVDD-supply, SPKVDDL-supply (wm5102, wm5110), SPKVDDR-supply (wm5102, | 31 | as covered in Documentation/devicetree/bindings/regulator/regulator.txt |
31 | wm5110), SPKVDD-supply (wm8997) : Power supplies for the device, as covered | 32 | |
32 | in Documentation/devicetree/bindings/regulator/regulator.txt | 33 | - DBVDD2-supply, DBVDD3-supply : Additional databus power supplies (wm5102, |
34 | wm5110, wm8280) | ||
35 | |||
36 | - SPKVDDL-supply, SPKVDDR-supply : Speaker driver power supplies (wm5102, | ||
37 | wm5110, wm8280) | ||
38 | |||
39 | - SPKVDD-supply : Speaker driver power supply (wm8997) | ||
33 | 40 | ||
34 | Optional properties: | 41 | Optional properties: |
35 | 42 | ||
36 | - wlf,reset : GPIO specifier for the GPIO controlling /RESET | 43 | - wlf,reset : GPIO specifier for the GPIO controlling /RESET |
37 | - wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA | 44 | - wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA |
38 | 45 | ||
39 | - wlf,gpio-defaults : A list of GPIO configuration register values. If | 46 | - wlf,gpio-defaults : A list of GPIO configuration register values. Defines |
40 | absent, no configuration of these registers is performed. If any | 47 | for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If |
41 | entry has a value that is out of range for a 16 bit register then | 48 | absent, no configuration of these registers is performed. If any entry has |
42 | the chip default will be used. If present exactly five values must | 49 | a value that is out of range for a 16 bit register then the chip default |
43 | be specified. | 50 | will be used. If present exactly five values must be specified. |
44 | 51 | ||
45 | - wlf,inmode : A list of INn_MODE register values, where n is the number | 52 | - wlf,inmode : A list of INn_MODE register values, where n is the number |
46 | of input signals. Valid values are 0 (Differential), 1 (Single-ended) and | 53 | of input signals. Valid values are 0 (Differential), 1 (Single-ended) and |
@@ -49,6 +56,12 @@ Optional properties: | |||
49 | input singals. If values less than the number of input signals, elements | 56 | input singals. If values less than the number of input signals, elements |
50 | that has not been specifed are set to 0 by default. | 57 | that has not been specifed are set to 0 by default. |
51 | 58 | ||
59 | - wlf,dmic-ref : DMIC reference voltage source for each input, can be | ||
60 | selected from either MICVDD or one of the MICBIAS's, defines | ||
61 | (ARIZONA_DMIC_xxxx) are provided in <dt-bindings/mfd/arizona.txt>. If | ||
62 | present, the number of values should be less than or equal to the | ||
63 | number of inputs, unspecified inputs will use the chip default. | ||
64 | |||
52 | - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if | 65 | - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if |
53 | they are being externally supplied. As covered in | 66 | they are being externally supplied. As covered in |
54 | Documentation/devicetree/bindings/regulator/regulator.txt | 67 | Documentation/devicetree/bindings/regulator/regulator.txt |
@@ -73,10 +86,10 @@ codec: wm5102@1a { | |||
73 | #gpio-cells = <2>; | 86 | #gpio-cells = <2>; |
74 | 87 | ||
75 | wlf,gpio-defaults = < | 88 | wlf,gpio-defaults = < |
76 | 0x00000000 /* AIF1TXLRCLK */ | 89 | ARIZONA_GP_FN_TXLRCLK |
77 | 0xffffffff | 90 | ARIZONA_GP_DEFAULT |
78 | 0xffffffff | 91 | ARIZONA_GP_DEFAULT |
79 | 0xffffffff | 92 | ARIZONA_GP_DEFAULT |
80 | 0xffffffff | 93 | ARIZONA_GP_DEFAULT |
81 | >; | 94 | >; |
82 | }; | 95 | }; |
diff --git a/Documentation/devicetree/bindings/mfd/axp20x.txt b/Documentation/devicetree/bindings/mfd/axp20x.txt new file mode 100644 index 000000000000..98685f291a72 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/axp20x.txt | |||
@@ -0,0 +1,96 @@ | |||
1 | AXP202/AXP209 device tree bindings | ||
2 | |||
3 | The axp20x family current members : | ||
4 | axp202 (X-Powers) | ||
5 | axp209 (X-Powers) | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: "x-powers,axp202" or "x-powers,axp209" | ||
9 | - reg: The I2C slave address for the AXP chip | ||
10 | - interrupt-parent: The parent interrupt controller | ||
11 | - interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin | ||
12 | - interrupt-controller: axp20x has its own internal IRQs | ||
13 | - #interrupt-cells: Should be set to 1 | ||
14 | |||
15 | Optional properties: | ||
16 | - x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz | ||
17 | (range: 750-1875). Default: 1.5MHz | ||
18 | - <input>-supply: a phandle to the regulator supply node. May be omitted if | ||
19 | inputs are unregulated, such as using the IPSOUT output | ||
20 | from the PMIC. | ||
21 | |||
22 | - regulators: A node that houses a sub-node for each regulator. Regulators | ||
23 | not used but preferred to be managed by the OS should be | ||
24 | listed as well. | ||
25 | See Documentation/devicetree/bindings/regulator/regulator.txt | ||
26 | for more information on standard regulator bindings. | ||
27 | |||
28 | Optional properties for DCDC regulators: | ||
29 | - x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode | ||
30 | Default: Current hardware setting | ||
31 | The DCDC regulators work in a mixed PWM/PFM mode, | ||
32 | using PFM under light loads and switching to PWM | ||
33 | for heavier loads. Forcing PWM mode trades efficiency | ||
34 | under light loads for lower output noise. This | ||
35 | probably makes sense for HiFi audio related | ||
36 | applications that aren't battery constrained. | ||
37 | |||
38 | |||
39 | AXP202/AXP209 regulators, type, and corresponding input supply names: | ||
40 | |||
41 | Regulator Type Supply Name Notes | ||
42 | --------- ---- ----------- ----- | ||
43 | DCDC2 : DC-DC buck : vin2-supply | ||
44 | DCDC3 : DC-DC buck : vin3-supply | ||
45 | LDO1 : LDO : acin-supply : always on | ||
46 | LDO2 : LDO : ldo24in-supply : shared supply | ||
47 | LDO3 : LDO : ldo3in-supply | ||
48 | LDO4 : LDO : ldo24in-supply : shared supply | ||
49 | LDO5 : LDO : ldo5in-supply | ||
50 | |||
51 | Example: | ||
52 | |||
53 | axp209: pmic@34 { | ||
54 | compatible = "x-powers,axp209"; | ||
55 | reg = <0x34>; | ||
56 | interrupt-parent = <&nmi_intc>; | ||
57 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
58 | interrupt-controller; | ||
59 | #interrupt-cells = <1>; | ||
60 | |||
61 | regulators { | ||
62 | x-powers,dcdc-freq = <1500>; | ||
63 | |||
64 | vdd_cpu: dcdc2 { | ||
65 | regulator-always-on; | ||
66 | regulator-min-microvolt = <1000000>; | ||
67 | regulator-max-microvolt = <1450000>; | ||
68 | regulator-name = "vdd-cpu"; | ||
69 | }; | ||
70 | |||
71 | vdd_int_dll: dcdc3 { | ||
72 | regulator-always-on; | ||
73 | regulator-min-microvolt = <1000000>; | ||
74 | regulator-max-microvolt = <1400000>; | ||
75 | regulator-name = "vdd-int-dll"; | ||
76 | }; | ||
77 | |||
78 | vdd_rtc: ldo1 { | ||
79 | regulator-always-on; | ||
80 | regulator-min-microvolt = <1200000>; | ||
81 | regulator-max-microvolt = <1400000>; | ||
82 | regulator-name = "vdd-rtc"; | ||
83 | }; | ||
84 | |||
85 | avcc: ldo2 { | ||
86 | regulator-always-on; | ||
87 | regulator-min-microvolt = <2700000>; | ||
88 | regulator-max-microvolt = <3300000>; | ||
89 | regulator-name = "avcc"; | ||
90 | }; | ||
91 | |||
92 | ldo3 { | ||
93 | /* unused but preferred to be managed by OS */ | ||
94 | }; | ||
95 | }; | ||
96 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/da9150.txt b/Documentation/devicetree/bindings/mfd/da9150.txt new file mode 100644 index 000000000000..d0588eaa0d71 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/da9150.txt | |||
@@ -0,0 +1,43 @@ | |||
1 | Dialog Semiconductor DA9150 Combined Charger/Fuel-Gauge MFD bindings | ||
2 | |||
3 | DA9150 consists of a group of sub-devices: | ||
4 | |||
5 | Device Description | ||
6 | ------ ----------- | ||
7 | da9150-gpadc : General Purpose ADC | ||
8 | da9150-charger : Battery Charger | ||
9 | |||
10 | ====== | ||
11 | |||
12 | Required properties: | ||
13 | - compatible : Should be "dlg,da9150" | ||
14 | - reg: Specifies the I2C slave address | ||
15 | - interrupt-parent: Specifies the phandle of the interrupt controller to which | ||
16 | the IRQs from da9150 are delivered to. | ||
17 | - interrupts: IRQ line info for da9150 chip. | ||
18 | - interrupt-controller: da9150 has internal IRQs (own IRQ domain). | ||
19 | (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for | ||
20 | further information relating to interrupt properties) | ||
21 | |||
22 | Sub-devices: | ||
23 | - da9150-gpadc: See Documentation/devicetree/bindings/iio/adc/da9150-gpadc.txt | ||
24 | - da9150-charger: See Documentation/devicetree/bindings/power/da9150-charger.txt | ||
25 | |||
26 | |||
27 | Example: | ||
28 | |||
29 | charger_fg: da9150@58 { | ||
30 | compatible = "dlg,da9150"; | ||
31 | reg = <0x58>; | ||
32 | interrupt-parent = <&gpio6>; | ||
33 | interrupts = <11 IRQ_TYPE_LEVEL_LOW>; | ||
34 | interrupt-controller; | ||
35 | |||
36 | gpadc: da9150-gpadc { | ||
37 | ... | ||
38 | }; | ||
39 | |||
40 | da9150-charger { | ||
41 | ... | ||
42 | }; | ||
43 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/mt6397.txt b/Documentation/devicetree/bindings/mfd/mt6397.txt new file mode 100644 index 000000000000..15043e652699 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/mt6397.txt | |||
@@ -0,0 +1,70 @@ | |||
1 | MediaTek MT6397 Multifunction Device Driver | ||
2 | |||
3 | MT6397 is a multifunction device with the following sub modules: | ||
4 | - Regulator | ||
5 | - RTC | ||
6 | - Audio codec | ||
7 | - GPIO | ||
8 | - Clock | ||
9 | |||
10 | It is interfaced to host controller using SPI interface by a proprietary hardware | ||
11 | called PMIC wrapper or pwrap. MT6397 MFD is a child device of pwrap. | ||
12 | See the following for pwarp node definitions: | ||
13 | Documentation/devicetree/bindings/soc/pwrap.txt | ||
14 | |||
15 | This document describes the binding for MFD device and its sub module. | ||
16 | |||
17 | Required properties: | ||
18 | compatible: "mediatek,mt6397" | ||
19 | |||
20 | Optional subnodes: | ||
21 | |||
22 | - rtc | ||
23 | Required properties: | ||
24 | - compatible: "mediatek,mt6397-rtc" | ||
25 | - regulators | ||
26 | Required properties: | ||
27 | - compatible: "mediatek,mt6397-regulator" | ||
28 | see Documentation/devicetree/bindings/regulator/mt6397-regulator.txt | ||
29 | - codec | ||
30 | Required properties: | ||
31 | - compatible: "mediatek,mt6397-codec" | ||
32 | - clk | ||
33 | Required properties: | ||
34 | - compatible: "mediatek,mt6397-clk" | ||
35 | |||
36 | Example: | ||
37 | pwrap: pwrap@1000f000 { | ||
38 | compatible = "mediatek,mt8135-pwrap"; | ||
39 | |||
40 | ... | ||
41 | |||
42 | pmic { | ||
43 | compatible = "mediatek,mt6397"; | ||
44 | |||
45 | codec: mt6397codec { | ||
46 | compatible = "mediatek,mt6397-codec"; | ||
47 | }; | ||
48 | |||
49 | regulators { | ||
50 | compatible = "mediatek,mt6397-regulator"; | ||
51 | |||
52 | mt6397_vpca15_reg: buck_vpca15 { | ||
53 | regulator-compatible = "buck_vpca15"; | ||
54 | regulator-name = "vpca15"; | ||
55 | regulator-min-microvolt = <850000>; | ||
56 | regulator-max-microvolt = <1400000>; | ||
57 | regulator-ramp-delay = <12500>; | ||
58 | regulator-always-on; | ||
59 | }; | ||
60 | |||
61 | mt6397_vgp4_reg: ldo_vgp4 { | ||
62 | regulator-compatible = "ldo_vgp4"; | ||
63 | regulator-name = "vgp4"; | ||
64 | regulator-min-microvolt = <1200000>; | ||
65 | regulator-max-microvolt = <3300000>; | ||
66 | regulator-enable-ramp-delay = <218>; | ||
67 | }; | ||
68 | }; | ||
69 | }; | ||
70 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt index 7182b8857f57..6ac06c1b9aec 100644 --- a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt +++ b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt | |||
@@ -15,10 +15,21 @@ each. A function can consume one or more of these fixed-size register regions. | |||
15 | 15 | ||
16 | Required properties: | 16 | Required properties: |
17 | - compatible: Should contain one of: | 17 | - compatible: Should contain one of: |
18 | "qcom,pm8941" | 18 | "qcom,pm8941", |
19 | "qcom,pm8841" | 19 | "qcom,pm8841", |
20 | "qcom,pma8084" | 20 | "qcom,pma8084", |
21 | or generalized "qcom,spmi-pmic". | 21 | "qcom,pm8019", |
22 | "qcom,pm8226", | ||
23 | "qcom,pm8110", | ||
24 | "qcom,pma8084", | ||
25 | "qcom,pmi8962", | ||
26 | "qcom,pmd9635", | ||
27 | "qcom,pm8994", | ||
28 | "qcom,pmi8994", | ||
29 | "qcom,pm8916", | ||
30 | "qcom,pm8004", | ||
31 | "qcom,pm8909", | ||
32 | or generalized "qcom,spmi-pmic". | ||
22 | - reg: Specifies the SPMI USID slave address for this device. | 33 | - reg: Specifies the SPMI USID slave address for this device. |
23 | For more information see: | 34 | For more information see: |
24 | Documentation/devicetree/bindings/spmi/spmi.txt | 35 | Documentation/devicetree/bindings/spmi/spmi.txt |
diff --git a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt index 85e31980017a..5e97a9593ad7 100644 --- a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt +++ b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt | |||
@@ -12,6 +12,7 @@ frequencies. | |||
12 | "qcom,rpm-apq8064" | 12 | "qcom,rpm-apq8064" |
13 | "qcom,rpm-msm8660" | 13 | "qcom,rpm-msm8660" |
14 | "qcom,rpm-msm8960" | 14 | "qcom,rpm-msm8960" |
15 | "qcom,rpm-ipq8064" | ||
15 | 16 | ||
16 | - reg: | 17 | - reg: |
17 | Usage: required | 18 | Usage: required |
@@ -31,16 +32,6 @@ frequencies. | |||
31 | Value type: <string-array> | 32 | Value type: <string-array> |
32 | Definition: must be the three strings "ack", "err" and "wakeup", in order | 33 | Definition: must be the three strings "ack", "err" and "wakeup", in order |
33 | 34 | ||
34 | - #address-cells: | ||
35 | Usage: required | ||
36 | Value type: <u32> | ||
37 | Definition: must be 1 | ||
38 | |||
39 | - #size-cells: | ||
40 | Usage: required | ||
41 | Value type: <u32> | ||
42 | Definition: must be 0 | ||
43 | |||
44 | - qcom,ipc: | 35 | - qcom,ipc: |
45 | Usage: required | 36 | Usage: required |
46 | Value type: <prop-encoded-array> | 37 | Value type: <prop-encoded-array> |
@@ -52,6 +43,188 @@ frequencies. | |||
52 | - u32 representing the ipc bit within the register | 43 | - u32 representing the ipc bit within the register |
53 | 44 | ||
54 | 45 | ||
46 | = SUBNODES | ||
47 | |||
48 | The RPM exposes resources to its subnodes. The below bindings specify the set | ||
49 | of valid subnodes that can operate on these resources. | ||
50 | |||
51 | == Regulators | ||
52 | |||
53 | Regulator nodes are identified by their compatible: | ||
54 | |||
55 | - compatible: | ||
56 | Usage: required | ||
57 | Value type: <string> | ||
58 | Definition: must be one of: | ||
59 | "qcom,rpm-pm8058-regulators" | ||
60 | "qcom,rpm-pm8901-regulators" | ||
61 | "qcom,rpm-pm8921-regulators" | ||
62 | |||
63 | - vdd_l0_l1_lvs-supply: | ||
64 | - vdd_l2_l11_l12-supply: | ||
65 | - vdd_l3_l4_l5-supply: | ||
66 | - vdd_l6_l7-supply: | ||
67 | - vdd_l8-supply: | ||
68 | - vdd_l9-supply: | ||
69 | - vdd_l10-supply: | ||
70 | - vdd_l13_l16-supply: | ||
71 | - vdd_l14_l15-supply: | ||
72 | - vdd_l17_l18-supply: | ||
73 | - vdd_l19_l20-supply: | ||
74 | - vdd_l21-supply: | ||
75 | - vdd_l22-supply: | ||
76 | - vdd_l23_l24_l25-supply: | ||
77 | - vdd_ncp-supply: | ||
78 | - vdd_s0-supply: | ||
79 | - vdd_s1-supply: | ||
80 | - vdd_s2-supply: | ||
81 | - vdd_s3-supply: | ||
82 | - vdd_s4-supply: | ||
83 | Usage: optional (pm8058 only) | ||
84 | Value type: <phandle> | ||
85 | Definition: reference to regulator supplying the input pin, as | ||
86 | described in the data sheet | ||
87 | |||
88 | - lvs0_in-supply: | ||
89 | - lvs1_in-supply: | ||
90 | - lvs2_in-supply: | ||
91 | - lvs3_in-supply: | ||
92 | - mvs_in-supply: | ||
93 | - vdd_l0-supply: | ||
94 | - vdd_l1-supply: | ||
95 | - vdd_l2-supply: | ||
96 | - vdd_l3-supply: | ||
97 | - vdd_l4-supply: | ||
98 | - vdd_l5-supply: | ||
99 | - vdd_l6-supply: | ||
100 | - vdd_s0-supply: | ||
101 | - vdd_s1-supply: | ||
102 | - vdd_s2-supply: | ||
103 | - vdd_s3-supply: | ||
104 | - vdd_s4-supply: | ||
105 | Usage: optional (pm8901 only) | ||
106 | Value type: <phandle> | ||
107 | Definition: reference to regulator supplying the input pin, as | ||
108 | described in the data sheet | ||
109 | |||
110 | - vdd_l1_l2_l12_l18-supply: | ||
111 | - vdd_l3_l15_l17-supply: | ||
112 | - vdd_l4_l14-supply: | ||
113 | - vdd_l5_l8_l16-supply: | ||
114 | - vdd_l6_l7-supply: | ||
115 | - vdd_l9_l11-supply: | ||
116 | - vdd_l10_l22-supply: | ||
117 | - vdd_l21_l23_l29-supply: | ||
118 | - vdd_l24-supply: | ||
119 | - vdd_l25-supply: | ||
120 | - vdd_l26-supply: | ||
121 | - vdd_l27-supply: | ||
122 | - vdd_l28-supply: | ||
123 | - vdd_ncp-supply: | ||
124 | - vdd_s1-supply: | ||
125 | - vdd_s2-supply: | ||
126 | - vdd_s4-supply: | ||
127 | - vdd_s5-supply: | ||
128 | - vdd_s6-supply: | ||
129 | - vdd_s7-supply: | ||
130 | - vdd_s8-supply: | ||
131 | - vin_5vs-supply: | ||
132 | - vin_lvs1_3_6-supply: | ||
133 | - vin_lvs2-supply: | ||
134 | - vin_lvs4_5_7-supply: | ||
135 | Usage: optional (pm8921 only) | ||
136 | Value type: <phandle> | ||
137 | Definition: reference to regulator supplying the input pin, as | ||
138 | described in the data sheet | ||
139 | |||
140 | The regulator node houses sub-nodes for each regulator within the device. Each | ||
141 | sub-node is identified using the node's name, with valid values listed for each | ||
142 | of the pmics below. | ||
143 | |||
144 | pm8058: | ||
145 | l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, | ||
146 | l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4, | ||
147 | lvs0, lvs1, ncp | ||
148 | |||
149 | pm8901: | ||
150 | l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3, | ||
151 | mvs | ||
152 | |||
153 | pm8921: | ||
154 | s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, | ||
155 | l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28, | ||
156 | l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch, | ||
157 | ncp | ||
158 | |||
159 | The content of each sub-node is defined by the standard binding for regulators - | ||
160 | see regulator.txt - with additional custom properties described below: | ||
161 | |||
162 | === Switch-mode Power Supply regulator custom properties | ||
163 | |||
164 | - bias-pull-down: | ||
165 | Usage: optional | ||
166 | Value type: <empty> | ||
167 | Definition: enable pull down of the regulator when inactive | ||
168 | |||
169 | - qcom,switch-mode-frequency: | ||
170 | Usage: required | ||
171 | Value type: <u32> | ||
172 | Definition: Frequency (Hz) of the switch-mode power supply; | ||
173 | must be one of: | ||
174 | 19200000, 9600000, 6400000, 4800000, 3840000, 3200000, | ||
175 | 2740000, 2400000, 2130000, 1920000, 1750000, 1600000, | ||
176 | 1480000, 1370000, 1280000, 1200000 | ||
177 | |||
178 | - qcom,force-mode: | ||
179 | Usage: optional (default if no other qcom,force-mode is specified) | ||
180 | Value type: <u32> | ||
181 | Defintion: indicates that the regulator should be forced to a | ||
182 | particular mode, valid values are: | ||
183 | QCOM_RPM_FORCE_MODE_NONE - do not force any mode | ||
184 | QCOM_RPM_FORCE_MODE_LPM - force into low power mode | ||
185 | QCOM_RPM_FORCE_MODE_HPM - force into high power mode | ||
186 | QCOM_RPM_FORCE_MODE_AUTO - allow regulator to automatically | ||
187 | select its own mode based on | ||
188 | realtime current draw, only for: | ||
189 | pm8921 smps and ftsmps | ||
190 | |||
191 | - qcom,power-mode-hysteretic: | ||
192 | Usage: optional | ||
193 | Value type: <empty> | ||
194 | Definition: select that the power supply should operate in hysteretic | ||
195 | mode, instead of the default pwm mode | ||
196 | |||
197 | === Low-dropout regulator custom properties | ||
198 | |||
199 | - bias-pull-down: | ||
200 | Usage: optional | ||
201 | Value type: <empty> | ||
202 | Definition: enable pull down of the regulator when inactive | ||
203 | |||
204 | - qcom,force-mode: | ||
205 | Usage: optional | ||
206 | Value type: <u32> | ||
207 | Defintion: indicates that the regulator should not be forced to any | ||
208 | particular mode, valid values are: | ||
209 | QCOM_RPM_FORCE_MODE_NONE - do not force any mode | ||
210 | QCOM_RPM_FORCE_MODE_LPM - force into low power mode | ||
211 | QCOM_RPM_FORCE_MODE_HPM - force into high power mode | ||
212 | QCOM_RPM_FORCE_MODE_BYPASS - set regulator to use bypass | ||
213 | mode, i.e. to act as a switch | ||
214 | and not regulate, only for: | ||
215 | pm8921 pldo, nldo and nldo1200 | ||
216 | |||
217 | === Negative Charge Pump custom properties | ||
218 | |||
219 | - qcom,switch-mode-frequency: | ||
220 | Usage: required | ||
221 | Value type: <u32> | ||
222 | Definition: Frequency (Hz) of the swith mode power supply; | ||
223 | must be one of: | ||
224 | 19200000, 9600000, 6400000, 4800000, 3840000, 3200000, | ||
225 | 2740000, 2400000, 2130000, 1920000, 1750000, 1600000, | ||
226 | 1480000, 1370000, 1280000, 1200000 | ||
227 | |||
55 | = EXAMPLE | 228 | = EXAMPLE |
56 | 229 | ||
57 | #include <dt-bindings/mfd/qcom-rpm.h> | 230 | #include <dt-bindings/mfd/qcom-rpm.h> |
@@ -64,7 +237,28 @@ frequencies. | |||
64 | interrupts = <0 19 0>, <0 21 0>, <0 22 0>; | 237 | interrupts = <0 19 0>, <0 21 0>, <0 22 0>; |
65 | interrupt-names = "ack", "err", "wakeup"; | 238 | interrupt-names = "ack", "err", "wakeup"; |
66 | 239 | ||
67 | #address-cells = <1>; | 240 | regulators { |
68 | #size-cells = <0>; | 241 | compatible = "qcom,rpm-pm8921-regulators"; |
242 | vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; | ||
243 | |||
244 | s1 { | ||
245 | regulator-min-microvolt = <1225000>; | ||
246 | regulator-max-microvolt = <1225000>; | ||
247 | |||
248 | bias-pull-down; | ||
249 | |||
250 | qcom,switch-mode-frequency = <3200000>; | ||
251 | }; | ||
252 | |||
253 | pm8921_s4: s4 { | ||
254 | regulator-min-microvolt = <1800000>; | ||
255 | regulator-max-microvolt = <1800000>; | ||
256 | |||
257 | qcom,switch-mode-frequency = <1600000>; | ||
258 | bias-pull-down; | ||
259 | |||
260 | qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; | ||
261 | }; | ||
262 | }; | ||
69 | }; | 263 | }; |
70 | 264 | ||
diff --git a/Documentation/devicetree/bindings/mfd/sky81452.txt b/Documentation/devicetree/bindings/mfd/sky81452.txt new file mode 100644 index 000000000000..35181794aa24 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/sky81452.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | SKY81452 bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Must be "skyworks,sky81452" | ||
5 | - reg : I2C slave address | ||
6 | |||
7 | Required child nodes: | ||
8 | - backlight : container node for backlight following the binding | ||
9 | in video/backlight/sky81452-backlight.txt | ||
10 | - regulator : container node for regulators following the binding | ||
11 | in regulator/sky81452-regulator.txt | ||
12 | |||
13 | Example: | ||
14 | |||
15 | sky81452@2c { | ||
16 | compatible = "skyworks,sky81452"; | ||
17 | reg = <0x2c>; | ||
18 | |||
19 | backlight { | ||
20 | compatible = "skyworks,sky81452-backlight"; | ||
21 | name = "pwm-backlight"; | ||
22 | led-sources = <0 1 2 3 6>; | ||
23 | skyworks,ignore-pwm; | ||
24 | skyworks,phase-shift; | ||
25 | skyworks,current-limit = <2300>; | ||
26 | }; | ||
27 | |||
28 | regulator { | ||
29 | lout { | ||
30 | regulator-name = "sky81452-lout"; | ||
31 | regulator-min-microvolt = <4500000>; | ||
32 | regulator-max-microvolt = <8000000>; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index fae26d014aaf..9b98bd89cfe2 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -167,6 +167,7 @@ sii Seiko Instruments, Inc. | |||
167 | silergy Silergy Corp. | 167 | silergy Silergy Corp. |
168 | sirf SiRF Technology, Inc. | 168 | sirf SiRF Technology, Inc. |
169 | sitronix Sitronix Technology Corporation | 169 | sitronix Sitronix Technology Corporation |
170 | skyworks Skyworks Solutions, Inc. | ||
170 | smsc Standard Microsystems Corporation | 171 | smsc Standard Microsystems Corporation |
171 | snps Synopsys, Inc. | 172 | snps Synopsys, Inc. |
172 | solidrun SolidRun | 173 | solidrun SolidRun |
@@ -194,6 +195,7 @@ voipac Voipac Technologies s.r.o. | |||
194 | winbond Winbond Electronics corp. | 195 | winbond Winbond Electronics corp. |
195 | wlf Wolfson Microelectronics | 196 | wlf Wolfson Microelectronics |
196 | wm Wondermedia Technologies, Inc. | 197 | wm Wondermedia Technologies, Inc. |
198 | x-powers X-Powers | ||
197 | xes Extreme Engineering Solutions (X-ES) | 199 | xes Extreme Engineering Solutions (X-ES) |
198 | xillybus Xillybus Ltd. | 200 | xillybus Xillybus Ltd. |
199 | xlnx Xilinx | 201 | xlnx Xilinx |
diff --git a/Documentation/devicetree/bindings/video/backlight/sky81452-backlight.txt b/Documentation/devicetree/bindings/video/backlight/sky81452-backlight.txt new file mode 100644 index 000000000000..8bf2940f54bc --- /dev/null +++ b/Documentation/devicetree/bindings/video/backlight/sky81452-backlight.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | SKY81452-backlight bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Must be "skyworks,sky81452-backlight" | ||
5 | |||
6 | Optional properties: | ||
7 | - name : Name of backlight device. Default is 'lcd-backlight'. | ||
8 | - gpios : GPIO to use to EN pin. | ||
9 | See Documentation/devicetree/bindings/gpio/gpio.txt | ||
10 | - led-sources : List of enabled channels from 0 to 5. | ||
11 | See Documentation/devicetree/bindings/leds/common.txt | ||
12 | - skyworks,ignore-pwm : Ignore both PWM input | ||
13 | - skyworks,dpwm-mode : Enable DPWM dimming mode, otherwise Analog dimming. | ||
14 | - skyworks,phase-shift : Enable phase shift mode | ||
15 | - skyworks,short-detection-threshold-volt | ||
16 | : It should be one of 4, 5, 6 and 7V. | ||
17 | - skyworks,current-limit-mA | ||
18 | : It should be 2300mA or 2750mA. | ||
19 | |||
20 | Example: | ||
21 | |||
22 | backlight { | ||
23 | compatible = "skyworks,sky81452-backlight"; | ||
24 | name = "pwm-backlight"; | ||
25 | led-sources = <0 1 2 5>; | ||
26 | skyworks,ignore-pwm; | ||
27 | skyworks,phase-shift; | ||
28 | skyworks,current-limit-mA = <2300>; | ||
29 | }; | ||