diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-03 15:16:25 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-03 15:16:25 -0400 |
| commit | d26f552ebbfb0f2c7fe712f457a038d60ed73daa (patch) | |
| tree | 8d13c7344cabc99e738e0db7262b713708026fa0 /Documentation/devicetree | |
| parent | e897f267c51812bfecec45771a2d835c1a2bdacf (diff) | |
| parent | ab6241ae07c3c698543b565e4ea41995a29a3f62 (diff) | |
Merge tag 'mfd-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones:
"New Drivers:
- Freescale MXS Low Resolution ADC
- Freescale i.MX23/i.MX28 LRADC touchscreen
- Motorola CPCAP Power Button
- TI LMU (Lighting Management Unit)
- Atmel SMC (Static Memory Controller)
New Device Support:
- Add support for X-Powers AXP803 to axp20x
- Add support for Dialog Semi DA9061 to da9062-core
- Add support for Intel Cougar Mountain to lpc_ich
- Add support for Intel Gemini Lake to lpc_ich
New Functionality:
- Add Device Tree support; wm831x-*, axp20x, ti-lmu, da9062, sun4i-gpadc
- Add IRQ sense support; motorola-cpcap
- Add ACPI support; cros_ec
- Add Reset support; altera-a10sr
- Add ADC support; axp20x
- Add AC Power support; axp20x
- Add Runtime PM support; atmel-ebi, exynos-lpass
- Add Battery Power Supply support; axp20x
- Add Clock support; exynos-lpass, hi655x-pmic
Fix-ups:
- Implicitly specify required headers; motorola-cpcap, intel_soc_pmic_bxtwc
- Add .remove() method; stm32-timers, exynos-lpass
- Remove unused code; intel_soc_pmic_core, intel-lpss-acpi, ipaq-micro, atmel-smc, menelaus
- Rename variables for clarity; axp20x
- Convert pr_warning() to pr_warn(); db8500-prcmu, sta2x11-mfd, twl4030-power
- Improve formatting; arizona-core, axp20x
- Use raw_spinlock_*() variants; asic3, t7l66xb, tc6393xb
- Simplify/refactor code; arizona-core, atmel-ebi
- Improve error checking; intel_soc_pmic_core
Bug Fixes:
- Ensure OMAP3630/3730 boards can successfully reboot; twl4030-power
- Correct max-register value; stm32-timers
- Extend timeout to account for clock stretching; cros_ec_spi
- Use correct IRQ trigger type; motorola-cpcap
- Fix bad use of IRQ sense register; motorola-cpcap
- Logic error "||" should be "&&"; mxs-lradc-ts"
* tag 'mfd-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (79 commits)
input: touchscreen: mxs-lradc: || vs && typos
dt-bindings: Add AXP803's regulator info
mfd: axp20x: Support AXP803 variant
dt-bindings: Add device tree binding for X-Powers AXP803 PMIC
dt-bindings: Make AXP20X compatible strings one per line
mfd: intel_soc_pmic_core: Fix unchecked return value
mfd: menelaus: Remove obsolete local_irq_disable() and local_irq_enable()
mfd: omap-usb-tll: Configure ULPIAUTOIDLE
mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode
mfd: palmas: Fixed spelling mistake in error message
mfd: lpc_ich: Add support for Intel Gemini Lake SoC
mfd: hi655x: Add the clock cell to provide WiFi and Bluetooth
mfd: intel_soc_pmic: Fix a mess with compilation units
mfd: exynos-lpass: Add runtime PM support
mfd: exynos-lpass: Add missing remove() function
mfd: exynos-lpass: Add support for clocks
mfd: exynos-lpass: Remove pad retention control
iio: adc: add support for X-Powers AXP20X and AXP22X PMICs ADCs
mfd: cpcap: Fix bad use of IRQ sense register
mfd: cpcap: Use ack_invert interrupts
...
Diffstat (limited to 'Documentation/devicetree')
| -rw-r--r-- | Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt | 20 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/altera-a10sr.txt | 11 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/axp20x.txt | 43 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/da9062.txt | 49 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/mt6397.txt | 1 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/mxs-lradc.txt (renamed from Documentation/devicetree/bindings/iio/adc/mxs-lradc.txt) | 0 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt | 8 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt (renamed from Documentation/devicetree/bindings/input/touchscreen/sun4i.txt) | 21 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/ti-lmu.txt | 243 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/wm831x.txt | 81 |
10 files changed, 459 insertions, 18 deletions
diff --git a/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt b/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt new file mode 100644 index 000000000000..0dd0076daf71 --- /dev/null +++ b/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | Motorola CPCAP on key | ||
| 2 | |||
| 3 | This module is part of the CPCAP. For more details about the whole | ||
| 4 | chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt. | ||
| 5 | |||
| 6 | This module provides a simple power button event via an Interrupt. | ||
| 7 | |||
| 8 | Required properties: | ||
| 9 | - compatible: should be one of the following | ||
| 10 | - "motorola,cpcap-pwrbutton" | ||
| 11 | - interrupts: irq specifier for CPCAP's ON IRQ | ||
| 12 | |||
| 13 | Example: | ||
| 14 | |||
| 15 | &cpcap { | ||
| 16 | cpcap_pwrbutton: pwrbutton { | ||
| 17 | compatible = "motorola,cpcap-pwrbutton"; | ||
| 18 | interrupts = <23 IRQ_TYPE_NONE>; | ||
| 19 | }; | ||
| 20 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/altera-a10sr.txt b/Documentation/devicetree/bindings/mfd/altera-a10sr.txt index ea151f295ad7..c8a736554b4b 100644 --- a/Documentation/devicetree/bindings/mfd/altera-a10sr.txt +++ b/Documentation/devicetree/bindings/mfd/altera-a10sr.txt | |||
| @@ -18,6 +18,7 @@ The A10SR consists of these sub-devices: | |||
| 18 | Device Description | 18 | Device Description |
| 19 | ------ ---------- | 19 | ------ ---------- |
| 20 | a10sr_gpio GPIO Controller | 20 | a10sr_gpio GPIO Controller |
| 21 | a10sr_rst Reset Controller | ||
| 21 | 22 | ||
| 22 | Arria10 GPIO | 23 | Arria10 GPIO |
| 23 | Required Properties: | 24 | Required Properties: |
| @@ -27,6 +28,11 @@ Required Properties: | |||
| 27 | the second cell is used to specify flags. | 28 | the second cell is used to specify flags. |
| 28 | See ../gpio/gpio.txt for more information. | 29 | See ../gpio/gpio.txt for more information. |
| 29 | 30 | ||
| 31 | Arria10 Peripheral PHY Reset | ||
| 32 | Required Properties: | ||
| 33 | - compatible : Should be "altr,a10sr-reset" | ||
| 34 | - #reset-cells : Should be one. | ||
| 35 | |||
| 30 | Example: | 36 | Example: |
| 31 | 37 | ||
| 32 | resource-manager@0 { | 38 | resource-manager@0 { |
| @@ -43,4 +49,9 @@ Example: | |||
| 43 | gpio-controller; | 49 | gpio-controller; |
| 44 | #gpio-cells = <2>; | 50 | #gpio-cells = <2>; |
| 45 | }; | 51 | }; |
| 52 | |||
| 53 | a10sr_rst: reset-controller { | ||
| 54 | compatible = "altr,a10sr-reset"; | ||
| 55 | #reset-cells = <1>; | ||
| 56 | }; | ||
| 46 | }; | 57 | }; |
diff --git a/Documentation/devicetree/bindings/mfd/axp20x.txt b/Documentation/devicetree/bindings/mfd/axp20x.txt index 8f3ad9ab4637..aca09af66514 100644 --- a/Documentation/devicetree/bindings/mfd/axp20x.txt +++ b/Documentation/devicetree/bindings/mfd/axp20x.txt | |||
| @@ -6,12 +6,19 @@ axp202 (X-Powers) | |||
| 6 | axp209 (X-Powers) | 6 | axp209 (X-Powers) |
| 7 | axp221 (X-Powers) | 7 | axp221 (X-Powers) |
| 8 | axp223 (X-Powers) | 8 | axp223 (X-Powers) |
| 9 | axp803 (X-Powers) | ||
| 9 | axp809 (X-Powers) | 10 | axp809 (X-Powers) |
| 10 | 11 | ||
| 11 | Required properties: | 12 | Required properties: |
| 12 | - compatible: "x-powers,axp152", "x-powers,axp202", "x-powers,axp209", | 13 | - compatible: should be one of: |
| 13 | "x-powers,axp221", "x-powers,axp223", "x-powers,axp806", | 14 | * "x-powers,axp152" |
| 14 | "x-powers,axp809" | 15 | * "x-powers,axp202" |
| 16 | * "x-powers,axp209" | ||
| 17 | * "x-powers,axp221" | ||
| 18 | * "x-powers,axp223" | ||
| 19 | * "x-powers,axp803" | ||
| 20 | * "x-powers,axp806" | ||
| 21 | * "x-powers,axp809" | ||
| 15 | - reg: The I2C slave address or RSB hardware address for the AXP chip | 22 | - reg: The I2C slave address or RSB hardware address for the AXP chip |
| 16 | - interrupt-parent: The parent interrupt controller | 23 | - interrupt-parent: The parent interrupt controller |
| 17 | - interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin | 24 | - interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin |
| @@ -28,6 +35,9 @@ Optional properties: | |||
| 28 | regulator to drive the OTG VBus, rather then as an input pin | 35 | regulator to drive the OTG VBus, rather then as an input pin |
| 29 | which signals whether the board is driving OTG VBus or not. | 36 | which signals whether the board is driving OTG VBus or not. |
| 30 | 37 | ||
| 38 | - x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is | ||
| 39 | wired for master mode. The default is slave mode. | ||
| 40 | |||
| 31 | - <input>-supply: a phandle to the regulator supply node. May be omitted if | 41 | - <input>-supply: a phandle to the regulator supply node. May be omitted if |
| 32 | inputs are unregulated, such as using the IPSOUT output | 42 | inputs are unregulated, such as using the IPSOUT output |
| 33 | from the PMIC. | 43 | from the PMIC. |
| @@ -86,6 +96,33 @@ LDO_IO1 : LDO : ips-supply : GPIO 1 | |||
| 86 | RTC_LDO : LDO : ips-supply : always on | 96 | RTC_LDO : LDO : ips-supply : always on |
| 87 | DRIVEVBUS : Enable output : drivevbus-supply : external regulator | 97 | DRIVEVBUS : Enable output : drivevbus-supply : external regulator |
| 88 | 98 | ||
| 99 | AXP803 regulators, type, and corresponding input supply names: | ||
| 100 | |||
| 101 | Regulator Type Supply Name Notes | ||
| 102 | --------- ---- ----------- ----- | ||
| 103 | DCDC1 : DC-DC buck : vin1-supply | ||
| 104 | DCDC2 : DC-DC buck : vin2-supply : poly-phase capable | ||
| 105 | DCDC3 : DC-DC buck : vin3-supply : poly-phase capable | ||
| 106 | DCDC4 : DC-DC buck : vin4-supply | ||
| 107 | DCDC5 : DC-DC buck : vin5-supply : poly-phase capable | ||
| 108 | DCDC6 : DC-DC buck : vin6-supply : poly-phase capable | ||
| 109 | DC1SW : On/Off Switch : : DCDC1 secondary output | ||
| 110 | ALDO1 : LDO : aldoin-supply : shared supply | ||
| 111 | ALDO2 : LDO : aldoin-supply : shared supply | ||
| 112 | ALDO3 : LDO : aldoin-supply : shared supply | ||
| 113 | DLDO1 : LDO : dldoin-supply : shared supply | ||
| 114 | DLDO2 : LDO : dldoin-supply : shared supply | ||
| 115 | DLDO3 : LDO : dldoin-supply : shared supply | ||
| 116 | DLDO4 : LDO : dldoin-supply : shared supply | ||
| 117 | ELDO1 : LDO : eldoin-supply : shared supply | ||
| 118 | ELDO2 : LDO : eldoin-supply : shared supply | ||
| 119 | ELDO3 : LDO : eldoin-supply : shared supply | ||
| 120 | FLDO1 : LDO : fldoin-supply : shared supply | ||
| 121 | FLDO2 : LDO : fldoin-supply : shared supply | ||
| 122 | LDO_IO0 : LDO : ips-supply : GPIO 0 | ||
| 123 | LDO_IO1 : LDO : ips-supply : GPIO 1 | ||
| 124 | RTC_LDO : LDO : ips-supply : always on | ||
| 125 | |||
| 89 | AXP806 regulators, type, and corresponding input supply names: | 126 | AXP806 regulators, type, and corresponding input supply names: |
| 90 | 127 | ||
| 91 | Regulator Type Supply Name Notes | 128 | Regulator Type Supply Name Notes |
diff --git a/Documentation/devicetree/bindings/mfd/da9062.txt b/Documentation/devicetree/bindings/mfd/da9062.txt index 38802b54d48a..c0a418c27e9d 100644 --- a/Documentation/devicetree/bindings/mfd/da9062.txt +++ b/Documentation/devicetree/bindings/mfd/da9062.txt | |||
| @@ -1,22 +1,39 @@ | |||
| 1 | * Dialog DA9062 Power Management Integrated Circuit (PMIC) | 1 | * Dialog DA9062 Power Management Integrated Circuit (PMIC) |
| 2 | 2 | ||
| 3 | DA9062 consists of a large and varied group of sub-devices: | 3 | Product information for the DA9062 and DA9061 devices can be found here: |
| 4 | - http://www.dialog-semiconductor.com/products/da9062 | ||
| 5 | - http://www.dialog-semiconductor.com/products/da9061 | ||
| 6 | |||
| 7 | The DA9062 PMIC consists of: | ||
| 4 | 8 | ||
| 5 | Device Supply Names Description | 9 | Device Supply Names Description |
| 6 | ------ ------------ ----------- | 10 | ------ ------------ ----------- |
| 7 | da9062-regulator : : LDOs & BUCKs | 11 | da9062-regulator : : LDOs & BUCKs |
| 8 | da9062-rtc : : Real-Time Clock | 12 | da9062-rtc : : Real-Time Clock |
| 13 | da9062-onkey : : On Key | ||
| 14 | da9062-watchdog : : Watchdog Timer | ||
| 15 | da9062-thermal : : Thermal | ||
| 16 | |||
| 17 | The DA9061 PMIC consists of: | ||
| 18 | |||
| 19 | Device Supply Names Description | ||
| 20 | ------ ------------ ----------- | ||
| 21 | da9062-regulator : : LDOs & BUCKs | ||
| 22 | da9062-onkey : : On Key | ||
| 9 | da9062-watchdog : : Watchdog Timer | 23 | da9062-watchdog : : Watchdog Timer |
| 24 | da9062-thermal : : Thermal | ||
| 10 | 25 | ||
| 11 | ====== | 26 | ====== |
| 12 | 27 | ||
| 13 | Required properties: | 28 | Required properties: |
| 14 | 29 | ||
| 15 | - compatible : Should be "dlg,da9062". | 30 | - compatible : Should be |
| 31 | "dlg,da9062" for DA9062 | ||
| 32 | "dlg,da9061" for DA9061 | ||
| 16 | - reg : Specifies the I2C slave address (this defaults to 0x58 but it can be | 33 | - reg : Specifies the I2C slave address (this defaults to 0x58 but it can be |
| 17 | modified to match the chip's OTP settings). | 34 | modified to match the chip's OTP settings). |
| 18 | - interrupt-parent : Specifies the reference to the interrupt controller for | 35 | - interrupt-parent : Specifies the reference to the interrupt controller for |
| 19 | the DA9062. | 36 | the DA9062 or DA9061. |
| 20 | - interrupts : IRQ line information. | 37 | - interrupts : IRQ line information. |
| 21 | - interrupt-controller | 38 | - interrupt-controller |
| 22 | 39 | ||
| @@ -25,8 +42,8 @@ further information on IRQ bindings. | |||
| 25 | 42 | ||
| 26 | Sub-nodes: | 43 | Sub-nodes: |
| 27 | 44 | ||
| 28 | - regulators : This node defines the settings for the LDOs and BUCKs. The | 45 | - regulators : This node defines the settings for the LDOs and BUCKs. |
| 29 | DA9062 regulators are bound using their names listed below: | 46 | The DA9062 regulators are bound using their names listed below: |
| 30 | 47 | ||
| 31 | buck1 : BUCK_1 | 48 | buck1 : BUCK_1 |
| 32 | buck2 : BUCK_2 | 49 | buck2 : BUCK_2 |
| @@ -37,19 +54,29 @@ Sub-nodes: | |||
| 37 | ldo3 : LDO_3 | 54 | ldo3 : LDO_3 |
| 38 | ldo4 : LDO_4 | 55 | ldo4 : LDO_4 |
| 39 | 56 | ||
| 57 | The DA9061 regulators are bound using their names listed below: | ||
| 58 | |||
| 59 | buck1 : BUCK_1 | ||
| 60 | buck2 : BUCK_2 | ||
| 61 | buck3 : BUCK_3 | ||
| 62 | ldo1 : LDO_1 | ||
| 63 | ldo2 : LDO_2 | ||
| 64 | ldo3 : LDO_3 | ||
| 65 | ldo4 : LDO_4 | ||
| 66 | |||
| 40 | The component follows the standard regulator framework and the bindings | 67 | The component follows the standard regulator framework and the bindings |
| 41 | details of individual regulator device can be found in: | 68 | details of individual regulator device can be found in: |
| 42 | Documentation/devicetree/bindings/regulator/regulator.txt | 69 | Documentation/devicetree/bindings/regulator/regulator.txt |
| 43 | 70 | ||
| 44 | |||
| 45 | - rtc : This node defines settings required for the Real-Time Clock associated | 71 | - rtc : This node defines settings required for the Real-Time Clock associated |
| 46 | with the DA9062. There are currently no entries in this binding, however | 72 | with the DA9062. There are currently no entries in this binding, however |
| 47 | compatible = "dlg,da9062-rtc" should be added if a node is created. | 73 | compatible = "dlg,da9062-rtc" should be added if a node is created. |
| 48 | 74 | ||
| 49 | - watchdog: This node defines the settings for the watchdog driver associated | 75 | - onkey : See ../input/da9062-onkey.txt |
| 50 | with the DA9062 PMIC. The compatible = "dlg,da9062-watchdog" should be added | 76 | |
| 51 | if a node is created. | 77 | - watchdog: See ../watchdog/da9062-watchdog.txt |
| 52 | 78 | ||
| 79 | - thermal : See ../thermal/da9062-thermal.txt | ||
| 53 | 80 | ||
| 54 | Example: | 81 | Example: |
| 55 | 82 | ||
| @@ -64,10 +91,6 @@ Example: | |||
| 64 | compatible = "dlg,da9062-rtc"; | 91 | compatible = "dlg,da9062-rtc"; |
| 65 | }; | 92 | }; |
| 66 | 93 | ||
| 67 | watchdog { | ||
| 68 | compatible = "dlg,da9062-watchdog"; | ||
| 69 | }; | ||
| 70 | |||
| 71 | regulators { | 94 | regulators { |
| 72 | DA9062_BUCK1: buck1 { | 95 | DA9062_BUCK1: buck1 { |
| 73 | regulator-name = "BUCK1"; | 96 | regulator-name = "BUCK1"; |
diff --git a/Documentation/devicetree/bindings/mfd/mt6397.txt b/Documentation/devicetree/bindings/mfd/mt6397.txt index c568d52af5af..522a3bbf1bac 100644 --- a/Documentation/devicetree/bindings/mfd/mt6397.txt +++ b/Documentation/devicetree/bindings/mfd/mt6397.txt | |||
| @@ -6,6 +6,7 @@ MT6397/MT6323 is a multifunction device with the following sub modules: | |||
| 6 | - Audio codec | 6 | - Audio codec |
| 7 | - GPIO | 7 | - GPIO |
| 8 | - Clock | 8 | - Clock |
| 9 | - LED | ||
| 9 | 10 | ||
| 10 | It is interfaced to host controller using SPI interface by a proprietary hardware | 11 | It is interfaced to host controller using SPI interface by a proprietary hardware |
| 11 | called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap. | 12 | called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap. |
diff --git a/Documentation/devicetree/bindings/iio/adc/mxs-lradc.txt b/Documentation/devicetree/bindings/mfd/mxs-lradc.txt index 555fb117d4fa..555fb117d4fa 100644 --- a/Documentation/devicetree/bindings/iio/adc/mxs-lradc.txt +++ b/Documentation/devicetree/bindings/mfd/mxs-lradc.txt | |||
diff --git a/Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt b/Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt index c110e118b79f..df664018c148 100644 --- a/Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt +++ b/Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt | |||
| @@ -5,7 +5,10 @@ Required properties: | |||
| 5 | - compatible : "samsung,exynos5433-lpass" | 5 | - compatible : "samsung,exynos5433-lpass" |
| 6 | - reg : should contain the LPASS top SFR region location | 6 | - reg : should contain the LPASS top SFR region location |
| 7 | and size | 7 | and size |
| 8 | - samsung,pmu-syscon : the phandle to the Power Management Unit node | 8 | - clock-names : should contain following required clocks: "sfr0_ctrl" |
| 9 | - clocks : should contain clock specifiers of all clocks, which | ||
| 10 | input names have been specified in clock-names | ||
| 11 | property, in same order. | ||
| 9 | - #address-cells : should be 1 | 12 | - #address-cells : should be 1 |
| 10 | - #size-cells : should be 1 | 13 | - #size-cells : should be 1 |
| 11 | - ranges : must be present | 14 | - ranges : must be present |
| @@ -25,7 +28,8 @@ Example: | |||
| 25 | audio-subsystem { | 28 | audio-subsystem { |
| 26 | compatible = "samsung,exynos5433-lpass"; | 29 | compatible = "samsung,exynos5433-lpass"; |
| 27 | reg = <0x11400000 0x100>, <0x11500000 0x08>; | 30 | reg = <0x11400000 0x100>, <0x11500000 0x08>; |
| 28 | samsung,pmu-syscon = <&pmu_system_controller>; | 31 | clocks = <&cmu_aud CLK_PCLK_SFR0_CTRL>; |
| 32 | clock-names = "sfr0_ctrl"; | ||
| 29 | #address-cells = <1>; | 33 | #address-cells = <1>; |
| 30 | #size-cells = <1>; | 34 | #size-cells = <1>; |
| 31 | ranges; | 35 | ranges; |
diff --git a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt index 89abecd938cb..badff3611a98 100644 --- a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt +++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt | |||
| @@ -1,3 +1,24 @@ | |||
| 1 | Allwinner SoCs' GPADC Device Tree bindings | ||
| 2 | ------------------------------------------ | ||
| 3 | The Allwinner SoCs all have an ADC that can also act as a thermal sensor | ||
| 4 | and sometimes as a touchscreen controller. | ||
| 5 | |||
| 6 | Required properties: | ||
| 7 | - compatible: "allwinner,sun8i-a33-ths", | ||
| 8 | - reg: mmio address range of the chip, | ||
| 9 | - #thermal-sensor-cells: shall be 0, | ||
| 10 | - #io-channel-cells: shall be 0, | ||
| 11 | |||
| 12 | Example: | ||
| 13 | ths: ths@01c25000 { | ||
| 14 | compatible = "allwinner,sun8i-a33-ths"; | ||
| 15 | reg = <0x01c25000 0x100>; | ||
| 16 | #thermal-sensor-cells = <0>; | ||
| 17 | #io-channel-cells = <0>; | ||
| 18 | }; | ||
| 19 | |||
| 20 | sun4i, sun5i and sun6i SoCs are also supported via the older binding: | ||
| 21 | |||
| 1 | sun4i resistive touchscreen controller | 22 | sun4i resistive touchscreen controller |
| 2 | -------------------------------------- | 23 | -------------------------------------- |
| 3 | 24 | ||
diff --git a/Documentation/devicetree/bindings/mfd/ti-lmu.txt b/Documentation/devicetree/bindings/mfd/ti-lmu.txt new file mode 100644 index 000000000000..c885cf89b8ce --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/ti-lmu.txt | |||
| @@ -0,0 +1,243 @@ | |||
| 1 | TI LMU (Lighting Management Unit) device tree bindings | ||
| 2 | |||
| 3 | TI LMU driver supports lighting devices below. | ||
| 4 | |||
| 5 | Name Child nodes | ||
| 6 | ------ --------------------------------- | ||
| 7 | LM3532 Backlight | ||
| 8 | LM3631 Backlight and regulator | ||
| 9 | LM3632 Backlight and regulator | ||
| 10 | LM3633 Backlight, LED and fault monitor | ||
| 11 | LM3695 Backlight | ||
| 12 | LM3697 Backlight and fault monitor | ||
| 13 | |||
| 14 | Required properties: | ||
| 15 | - compatible: Should be one of: | ||
| 16 | "ti,lm3532" | ||
| 17 | "ti,lm3631" | ||
| 18 | "ti,lm3632" | ||
| 19 | "ti,lm3633" | ||
| 20 | "ti,lm3695" | ||
| 21 | "ti,lm3697" | ||
| 22 | - reg: I2C slave address. | ||
| 23 | 0x11 for LM3632 | ||
| 24 | 0x29 for LM3631 | ||
| 25 | 0x36 for LM3633, LM3697 | ||
| 26 | 0x38 for LM3532 | ||
| 27 | 0x63 for LM3695 | ||
| 28 | |||
| 29 | Optional property: | ||
| 30 | - enable-gpios: A GPIO specifier for hardware enable pin. | ||
| 31 | |||
| 32 | Required node: | ||
| 33 | - backlight: All LMU devices have backlight child nodes. | ||
| 34 | For the properties, please refer to [1]. | ||
| 35 | |||
| 36 | Optional nodes: | ||
| 37 | - fault-monitor: Hardware fault monitoring driver for LM3633 and LM3697. | ||
| 38 | Required properties: | ||
| 39 | - compatible: Should be one of: | ||
| 40 | "ti,lm3633-fault-monitor" | ||
| 41 | "ti,lm3697-fault-monitor" | ||
| 42 | - leds: LED properties for LM3633. Please refer to [2]. | ||
| 43 | - regulators: Regulator properties for LM3631 and LM3632. | ||
| 44 | Please refer to [3]. | ||
| 45 | |||
| 46 | [1] ../leds/backlight/ti-lmu-backlight.txt | ||
| 47 | [2] ../leds/leds-lm3633.txt | ||
| 48 | [3] ../regulator/lm363x-regulator.txt | ||
| 49 | |||
| 50 | lm3532@38 { | ||
| 51 | compatible = "ti,lm3532"; | ||
| 52 | reg = <0x38>; | ||
| 53 | |||
| 54 | enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; | ||
| 55 | |||
| 56 | backlight { | ||
| 57 | compatible = "ti,lm3532-backlight"; | ||
| 58 | |||
| 59 | lcd { | ||
| 60 | led-sources = <0 1 2>; | ||
| 61 | ramp-up-msec = <30>; | ||
| 62 | ramp-down-msec = <0>; | ||
| 63 | }; | ||
| 64 | }; | ||
| 65 | }; | ||
| 66 | |||
| 67 | lm3631@29 { | ||
| 68 | compatible = "ti,lm3631"; | ||
| 69 | reg = <0x29>; | ||
| 70 | |||
| 71 | regulators { | ||
| 72 | compatible = "ti,lm363x-regulator"; | ||
| 73 | |||
| 74 | vboost { | ||
| 75 | regulator-name = "lcd_boost"; | ||
| 76 | regulator-min-microvolt = <4500000>; | ||
| 77 | regulator-max-microvolt = <6350000>; | ||
| 78 | regulator-always-on; | ||
| 79 | }; | ||
| 80 | |||
| 81 | vcont { | ||
| 82 | regulator-name = "lcd_vcont"; | ||
| 83 | regulator-min-microvolt = <1800000>; | ||
| 84 | regulator-max-microvolt = <3300000>; | ||
| 85 | }; | ||
| 86 | |||
| 87 | voref { | ||
| 88 | regulator-name = "lcd_voref"; | ||
| 89 | regulator-min-microvolt = <4000000>; | ||
| 90 | regulator-max-microvolt = <6000000>; | ||
| 91 | }; | ||
| 92 | |||
| 93 | vpos { | ||
| 94 | regulator-name = "lcd_vpos"; | ||
| 95 | regulator-min-microvolt = <4000000>; | ||
| 96 | regulator-max-microvolt = <6000000>; | ||
| 97 | regulator-boot-on; | ||
| 98 | }; | ||
| 99 | |||
| 100 | vneg { | ||
| 101 | regulator-name = "lcd_vneg"; | ||
| 102 | regulator-min-microvolt = <4000000>; | ||
| 103 | regulator-max-microvolt = <6000000>; | ||
| 104 | regulator-boot-on; | ||
| 105 | }; | ||
| 106 | }; | ||
| 107 | |||
| 108 | backlight { | ||
| 109 | compatible = "ti,lm3631-backlight"; | ||
| 110 | |||
| 111 | lcd_bl { | ||
| 112 | led-sources = <0 1>; | ||
| 113 | ramp-up-msec = <300>; | ||
| 114 | }; | ||
| 115 | }; | ||
| 116 | }; | ||
| 117 | |||
| 118 | lm3632@11 { | ||
| 119 | compatible = "ti,lm3632"; | ||
| 120 | reg = <0x11>; | ||
| 121 | |||
| 122 | enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; /* PC2 */ | ||
| 123 | |||
| 124 | regulators { | ||
| 125 | compatible = "ti,lm363x-regulator"; | ||
| 126 | |||
| 127 | ti,lcm-en1-gpio = <&pioC 0 GPIO_ACTIVE_HIGH>; /* PC0 */ | ||
| 128 | ti,lcm-en2-gpio = <&pioC 1 GPIO_ACTIVE_HIGH>; /* PC1 */ | ||
| 129 | |||
| 130 | vboost { | ||
| 131 | regulator-name = "lcd_boost"; | ||
| 132 | regulator-min-microvolt = <4500000>; | ||
| 133 | regulator-max-microvolt = <6400000>; | ||
| 134 | regulator-always-on; | ||
| 135 | }; | ||
| 136 | |||
| 137 | vpos { | ||
| 138 | regulator-name = "lcd_vpos"; | ||
| 139 | regulator-min-microvolt = <4000000>; | ||
| 140 | regulator-max-microvolt = <6000000>; | ||
| 141 | }; | ||
| 142 | |||
| 143 | vneg { | ||
| 144 | regulator-name = "lcd_vneg"; | ||
| 145 | regulator-min-microvolt = <4000000>; | ||
| 146 | regulator-max-microvolt = <6000000>; | ||
| 147 | }; | ||
| 148 | }; | ||
| 149 | |||
| 150 | backlight { | ||
| 151 | compatible = "ti,lm3632-backlight"; | ||
| 152 | |||
| 153 | pwms = <&pwm0 0 10000 0>; /* pwm number, period, polarity */ | ||
| 154 | pwm-names = "lmu-backlight"; | ||
| 155 | |||
| 156 | lcd { | ||
| 157 | led-sources = <0 1>; | ||
| 158 | pwm-period = <10000>; | ||
| 159 | }; | ||
| 160 | }; | ||
| 161 | }; | ||
| 162 | |||
| 163 | lm3633@36 { | ||
| 164 | compatible = "ti,lm3633"; | ||
| 165 | reg = <0x36>; | ||
| 166 | |||
| 167 | enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; | ||
| 168 | |||
| 169 | backlight { | ||
| 170 | compatible = "ti,lm3633-backlight"; | ||
| 171 | |||
| 172 | main { | ||
| 173 | label = "main_lcd"; | ||
| 174 | led-sources = <1 2>; | ||
| 175 | ramp-up-msec = <500>; | ||
| 176 | ramp-down-msec = <500>; | ||
| 177 | }; | ||
| 178 | |||
| 179 | front { | ||
| 180 | label = "front_lcd"; | ||
| 181 | led-sources = <0>; | ||
| 182 | ramp-up-msec = <1000>; | ||
| 183 | ramp-down-msec = <0>; | ||
| 184 | }; | ||
| 185 | }; | ||
| 186 | |||
| 187 | leds { | ||
| 188 | compatible = "ti,lm3633-leds"; | ||
| 189 | |||
| 190 | chan1 { | ||
| 191 | label = "status"; | ||
| 192 | led-sources = <1>; | ||
| 193 | led-max-microamp = <6000>; | ||
| 194 | }; | ||
| 195 | |||
| 196 | chan345 { | ||
| 197 | label = "rgb"; | ||
| 198 | led-sources = <3 4 5>; | ||
| 199 | led-max-microamp = <10000>; | ||
| 200 | }; | ||
| 201 | }; | ||
| 202 | |||
| 203 | fault-monitor { | ||
| 204 | compatible = "ti,lm3633-fault-monitor"; | ||
| 205 | }; | ||
| 206 | }; | ||
| 207 | |||
| 208 | lm3695@63 { | ||
| 209 | compatible = "ti,lm3695"; | ||
| 210 | reg = <0x63>; | ||
| 211 | |||
| 212 | enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; | ||
| 213 | |||
| 214 | backlight { | ||
| 215 | compatible = "ti,lm3695-backlight"; | ||
| 216 | |||
| 217 | lcd { | ||
| 218 | label = "bl"; | ||
| 219 | led-sources = <0 1>; | ||
| 220 | }; | ||
| 221 | }; | ||
| 222 | }; | ||
| 223 | |||
| 224 | lm3697@36 { | ||
| 225 | compatible = "ti,lm3697"; | ||
| 226 | reg = <0x36>; | ||
| 227 | |||
| 228 | enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; | ||
| 229 | |||
| 230 | backlight { | ||
| 231 | compatible = "ti,lm3697-backlight"; | ||
| 232 | |||
| 233 | lcd { | ||
| 234 | led-sources = <0 1 2>; | ||
| 235 | ramp-up-msec = <200>; | ||
| 236 | ramp-down-msec = <200>; | ||
| 237 | }; | ||
| 238 | }; | ||
| 239 | |||
| 240 | fault-monitor { | ||
| 241 | compatible = "ti,lm3697-fault-monitor"; | ||
| 242 | }; | ||
| 243 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/wm831x.txt b/Documentation/devicetree/bindings/mfd/wm831x.txt new file mode 100644 index 000000000000..9f8b7430673c --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/wm831x.txt | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | Cirrus Logic/Wolfson Microelectronics wm831x PMICs | ||
| 2 | |||
| 3 | System PMICs with a wide range of additional features. | ||
| 4 | |||
| 5 | Required properties: | ||
| 6 | |||
| 7 | - compatible : One of the following chip-specific strings: | ||
| 8 | "wlf,wm8310" | ||
| 9 | "wlf,wm8311" | ||
| 10 | "wlf,wm8312" | ||
| 11 | "wlf,wm8320" | ||
| 12 | "wlf,wm8321" | ||
| 13 | "wlf,wm8325" | ||
| 14 | "wlf,wm8326" | ||
| 15 | |||
| 16 | - reg : I2C slave address when connected using I2C, chip select number | ||
| 17 | when using SPI. | ||
| 18 | |||
| 19 | - gpio-controller : Indicates this device is a GPIO controller. | ||
| 20 | - #gpio-cells : Must be 2. The first cell is the pin number and the | ||
| 21 | second cell is used to specify optional parameters (currently unused). | ||
| 22 | |||
| 23 | - interrupts : The interrupt line the IRQ signal for the device is | ||
| 24 | connected to. | ||
| 25 | - interrupt-parent : The parent interrupt controller. | ||
| 26 | |||
| 27 | - interrupt-controller : wm831x devices contain interrupt controllers and | ||
| 28 | may provide interrupt services to other devices. | ||
| 29 | - #interrupt-cells: Must be 2. The first cell is the IRQ number, and the | ||
| 30 | second cell is the flags, encoded as the trigger masks from | ||
| 31 | ../interrupt-controller/interrupts.txt | ||
| 32 | |||
| 33 | Optional sub-nodes: | ||
| 34 | - regulators : Contains sub-nodes for each of the regulators supplied by | ||
| 35 | the device. The regulators are bound using their names listed below: | ||
| 36 | |||
| 37 | dcdc1 : DCDC1 | ||
| 38 | dcdc2 : DCDC2 | ||
| 39 | dcdc3 : DCDC3 | ||
| 40 | dcdc4 : DCDC3 | ||
| 41 | isink1 : ISINK1 | ||
| 42 | isink2 : ISINK2 | ||
| 43 | ldo1 : LDO1 | ||
| 44 | ldo2 : LDO2 | ||
| 45 | ldo3 : LDO3 | ||
| 46 | ldo4 : LDO4 | ||
| 47 | ldo5 : LDO5 | ||
| 48 | ldo7 : LDO7 | ||
| 49 | ldo11 : LDO11 | ||
| 50 | |||
| 51 | The bindings details of each regulator can be found in: | ||
| 52 | ../regulator/regulator.txt | ||
| 53 | |||
| 54 | Example: | ||
| 55 | |||
| 56 | wm8310: pmic@36 { | ||
| 57 | compatible = "wlf,wm8310"; | ||
| 58 | reg = <0x36>; | ||
| 59 | |||
| 60 | gpio-controller; | ||
| 61 | #gpio-cells = <2>; | ||
| 62 | |||
| 63 | interrupts = <347>; | ||
| 64 | interrupt-parent = <&gic>; | ||
| 65 | |||
| 66 | interrupt-controller; | ||
| 67 | #interrupt-cells = <2>; | ||
| 68 | |||
| 69 | regulators { | ||
| 70 | dcdc1: dcdc1 { | ||
| 71 | regulator-name = "DCDC1"; | ||
| 72 | regulator-min-microvolt = <600000>; | ||
| 73 | regulator-max-microvolt = <600000>; | ||
| 74 | }; | ||
| 75 | ldo1: ldo1 { | ||
| 76 | regulator-name = "LDO1"; | ||
| 77 | regulator-min-microvolt = <1700000>; | ||
| 78 | regulator-max-microvolt = <1700000>; | ||
| 79 | }; | ||
| 80 | }; | ||
| 81 | }; | ||
