forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'mfd-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/lee/mfd Pull MFD updates from Lee Jones: "Core Framework: - Document (kerneldoc) core mfd_add_devices() API New Drivers: - Altera SOCFPGA System Manager - Maxim MAX77650/77651 PMIC - Maxim MAX77663 PMIC - ST Multi-Function eXpander (STMFX) New Device Support: - LEDs support in Intel Cherry Trail Whiskey Cove PMIC - RTC support in SAMSUNG Electronics S2MPA01 PMIC - SAM9X60 support in Atmel HLCDC (High-end LCD Controller) - USB X-Powers AXP 8xx PMICs - Integrated Sensor Hub (ISH) in ChromeOS EC - USB PD Logger in ChromeOS EC - AXP223 in X-Powers AXP series PMICs - Power Supply in X-Powers AXP 803 PMICs - Comet Lake in Intel Low Power Subsystem - Fingerprint MCU in ChromeOS EC - Touchpad MCU in ChromeOS EC - Move TI LM3532 support to LED New Functionality: - max77650, max77620: Add/extend DT support - max77620 power-off - syscon clocking - croc_ec host sleep event Fix-ups: - Trivial; Formatting, spelling, etc; Kconfig, sec-core, ab8500-debugfs - Remove unused functionality; rk808, da9063-* - SPDX conversion; da9063-*, atmel-*, - Adapt/add new register definitions; cs47l35-tables, cs47l90-tables, imx6q-iomuxc-gpr - Fix-up DT bindings; ti-lmu, cirrus,lochnagar - Simply obtaining driver data; ssbi, t7l66xb, tc6387xb, tc6393xb Bug Fixes: - Fix incorrect defined values; max77620, da9063 - Fix device initialisation; twl6040 - Reset device on init; intel-lpss - Fix build warnings when !OF; sun6i-prcm - Register OF match tables; tps65912-spi - Fix DMI matching; intel_quark_i2c_gpio" * tag 'mfd-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (65 commits) mfd: Use dev_get_drvdata() directly mfd: cros_ec: Instantiate properly CrOS Touchpad MCU device mfd: cros_ec: Instantiate properly CrOS FP MCU device mfd: cros_ec: Update the EC feature codes mfd: intel-lpss: Add Intel Comet Lake PCI IDs mfd: lochnagar: Add links to binding docs for sound and hwmon mfd: ab8500-debugfs: Fix a typo ("deubgfs") mfd: imx6sx: Add MQS register definition for iomuxc gpr dt-bindings: mfd: LMU: Fix lm3632 dt binding example mfd: intel_quark_i2c_gpio: Adjust IOT2000 matching mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L mfd: tps65912-spi: Add missing of table registration mfd: axp20x: Add USB power supply mfd cell to AXP803 mfd: sun6i-prcm: Fix build warning for non-OF configurations mfd: intel-lpss: Set the device in reset state when init platform/chrome: Add support for v1 of host sleep event mfd: cros_ec: Add host_sleep_event_v1 command mfd: cros_ec: Instantiate the CrOS USB PD logger driver mfd: cs47l90: Make DAC_AEC_CONTROL_2 readable mfd: cs47l35: Make DAC_AEC_CONTROL_2 readable ...
- Loading branch information
Showing
79 changed files
with
3,745 additions
and
219 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
26 changes: 26 additions & 0 deletions
26
Documentation/devicetree/bindings/input/max77650-onkey.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
Onkey driver for MAX77650 PMIC from Maxim Integrated. | ||
|
||
This module is part of the MAX77650 MFD device. For more details | ||
see Documentation/devicetree/bindings/mfd/max77650.txt. | ||
|
||
The onkey controller is represented as a sub-node of the PMIC node on | ||
the device tree. | ||
|
||
Required properties: | ||
-------------------- | ||
- compatible: Must be "maxim,max77650-onkey". | ||
|
||
Optional properties: | ||
- linux,code: The key-code to be reported when the key is pressed. | ||
Defaults to KEY_POWER. | ||
- maxim,onkey-slide: The system's button is a slide switch, not the default | ||
push button. | ||
|
||
Example: | ||
-------- | ||
|
||
onkey { | ||
compatible = "maxim,max77650-onkey"; | ||
linux,code = <KEY_END>; | ||
maxim,onkey-slide; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
LED driver for MAX77650 PMIC from Maxim Integrated. | ||
|
||
This module is part of the MAX77650 MFD device. For more details | ||
see Documentation/devicetree/bindings/mfd/max77650.txt. | ||
|
||
The LED controller is represented as a sub-node of the PMIC node on | ||
the device tree. | ||
|
||
This device has three current sinks. | ||
|
||
Required properties: | ||
-------------------- | ||
- compatible: Must be "maxim,max77650-led" | ||
- #address-cells: Must be <1>. | ||
- #size-cells: Must be <0>. | ||
|
||
Each LED is represented as a sub-node of the LED-controller node. Up to | ||
three sub-nodes can be defined. | ||
|
||
Required properties of the sub-node: | ||
------------------------------------ | ||
|
||
- reg: Must be <0>, <1> or <2>. | ||
|
||
Optional properties of the sub-node: | ||
------------------------------------ | ||
|
||
- label: See Documentation/devicetree/bindings/leds/common.txt | ||
- linux,default-trigger: See Documentation/devicetree/bindings/leds/common.txt | ||
|
||
For more details, please refer to the generic GPIO DT binding document | ||
<devicetree/bindings/gpio/gpio.txt>. | ||
|
||
Example: | ||
-------- | ||
|
||
leds { | ||
compatible = "maxim,max77650-led"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
led@0 { | ||
reg = <0>; | ||
label = "blue:usr0"; | ||
}; | ||
|
||
led@1 { | ||
reg = <1>; | ||
label = "red:usr1"; | ||
linux,default-trigger = "heartbeat"; | ||
}; | ||
|
||
led@2 { | ||
reg = <2>; | ||
label = "green:usr2"; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
MAX77650 ultra low-power PMIC from Maxim Integrated. | ||
|
||
Required properties: | ||
------------------- | ||
- compatible: Must be "maxim,max77650" | ||
- reg: I2C device address. | ||
- interrupts: The interrupt on the parent the controller is | ||
connected to. | ||
- interrupt-controller: Marks the device node as an interrupt controller. | ||
- #interrupt-cells: Must be <2>. | ||
|
||
- gpio-controller: Marks the device node as a gpio controller. | ||
- #gpio-cells: Must be <2>. The first cell is the pin number and | ||
the second cell is used to specify the gpio active | ||
state. | ||
|
||
Optional properties: | ||
-------------------- | ||
gpio-line-names: Single string containing the name of the GPIO line. | ||
|
||
The GPIO-controller module is represented as part of the top-level PMIC | ||
node. The device exposes a single GPIO line. | ||
|
||
For device-tree bindings of other sub-modules (regulator, power supply, | ||
LEDs and onkey) refer to the binding documents under the respective | ||
sub-system directories. | ||
|
||
For more details on GPIO bindings, please refer to the generic GPIO DT | ||
binding document <devicetree/bindings/gpio/gpio.txt>. | ||
|
||
Example: | ||
-------- | ||
|
||
pmic@48 { | ||
compatible = "maxim,max77650"; | ||
reg = <0x48>; | ||
|
||
interrupt-controller; | ||
interrupt-parent = <&gpio2>; | ||
#interrupt-cells = <2>; | ||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>; | ||
|
||
gpio-controller; | ||
#gpio-cells = <2>; | ||
gpio-line-names = "max77650-charger"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
STMicroelectonics Multi-Function eXpander (STMFX) Core bindings | ||
|
||
ST Multi-Function eXpander (STMFX) is a slave controller using I2C for | ||
communication with the main MCU. Its main features are GPIO expansion, main | ||
MCU IDD measurement (IDD is the amount of current that flows through VDD) and | ||
resistive touchscreen controller. | ||
|
||
Required properties: | ||
- compatible: should be "st,stmfx-0300". | ||
- reg: I2C slave address of the device. | ||
- interrupts: interrupt specifier triggered by MFX_IRQ_OUT signal. | ||
Please refer to ../interrupt-controller/interrupt.txt | ||
|
||
Optional properties: | ||
- drive-open-drain: configure MFX_IRQ_OUT as open drain. | ||
- vdd-supply: phandle of the regulator supplying STMFX. | ||
|
||
Example: | ||
|
||
stmfx: stmfx@42 { | ||
compatible = "st,stmfx-0300"; | ||
reg = <0x42>; | ||
interrupts = <8 IRQ_TYPE_EDGE_RISING>; | ||
interrupt-parent = <&gpioi>; | ||
vdd-supply = <&v3v3>; | ||
}; | ||
|
||
Please refer to ../pinctrl/pinctrl-stmfx.txt for STMFX GPIO expander function bindings. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
116 changes: 116 additions & 0 deletions
116
Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander bindings | ||
|
||
ST Multi-Function eXpander (STMFX) offers up to 24 GPIOs expansion. | ||
Please refer to ../mfd/stmfx.txt for STMFX Core bindings. | ||
|
||
Required properties: | ||
- compatible: should be "st,stmfx-0300-pinctrl". | ||
- #gpio-cells: should be <2>, the first cell is the GPIO number and the second | ||
cell is the gpio flags in accordance with <dt-bindings/gpio/gpio.h>. | ||
- gpio-controller: marks the device as a GPIO controller. | ||
- #interrupt-cells: should be <2>, the first cell is the GPIO number and the | ||
second cell is the interrupt flags in accordance with | ||
<dt-bindings/interrupt-controller/irq.h>. | ||
- interrupt-controller: marks the device as an interrupt controller. | ||
- gpio-ranges: specifies the mapping between gpio controller and pin | ||
controller pins. Check "Concerning gpio-ranges property" below. | ||
Please refer to ../gpio/gpio.txt. | ||
|
||
Please refer to pinctrl-bindings.txt for pin configuration. | ||
|
||
Required properties for pin configuration sub-nodes: | ||
- pins: list of pins to which the configuration applies. | ||
|
||
Optional properties for pin configuration sub-nodes (pinconf-generic ones): | ||
- bias-disable: disable any bias on the pin. | ||
- bias-pull-up: the pin will be pulled up. | ||
- bias-pull-pin-default: use the pin-default pull state. | ||
- bias-pull-down: the pin will be pulled down. | ||
- drive-open-drain: the pin will be driven with open drain. | ||
- drive-push-pull: the pin will be driven actively high and low. | ||
- output-high: the pin will be configured as an output driving high level. | ||
- output-low: the pin will be configured as an output driving low level. | ||
|
||
Note that STMFX pins[15:0] are called "gpio[15:0]", and STMFX pins[23:16] are | ||
called "agpio[7:0]". Example, to refer to pin 18 of STMFX, use "agpio2". | ||
|
||
Concerning gpio-ranges property: | ||
- if all STMFX pins[24:0] are available (no other STMFX function in use), you | ||
should use gpio-ranges = <&stmfx_pinctrl 0 0 24>; | ||
- if agpio[3:0] are not available (STMFX Touchscreen function in use), you | ||
should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>; | ||
- if agpio[7:4] are not available (STMFX IDD function in use), you | ||
should use gpio-ranges = <&stmfx_pinctrl 0 0 20>; | ||
|
||
|
||
Example: | ||
|
||
stmfx: stmfx@42 { | ||
... | ||
|
||
stmfx_pinctrl: stmfx-pin-controller { | ||
compatible = "st,stmfx-0300-pinctrl"; | ||
#gpio-cells = <2>; | ||
#interrupt-cells = <2>; | ||
gpio-controller; | ||
interrupt-controller; | ||
gpio-ranges = <&stmfx_pinctrl 0 0 24>; | ||
|
||
joystick_pins: joystick { | ||
pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4"; | ||
drive-push-pull; | ||
bias-pull-up; | ||
}; | ||
}; | ||
}; | ||
|
||
Example of STMFX GPIO consumers: | ||
|
||
joystick { | ||
compatible = "gpio-keys"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
pinctrl-0 = <&joystick_pins>; | ||
pinctrl-names = "default"; | ||
button-0 { | ||
label = "JoySel"; | ||
linux,code = <KEY_ENTER>; | ||
interrupt-parent = <&stmfx_pinctrl>; | ||
interrupts = <0 IRQ_TYPE_EDGE_RISING>; | ||
}; | ||
button-1 { | ||
label = "JoyDown"; | ||
linux,code = <KEY_DOWN>; | ||
interrupt-parent = <&stmfx_pinctrl>; | ||
interrupts = <1 IRQ_TYPE_EDGE_RISING>; | ||
}; | ||
button-2 { | ||
label = "JoyLeft"; | ||
linux,code = <KEY_LEFT>; | ||
interrupt-parent = <&stmfx_pinctrl>; | ||
interrupts = <2 IRQ_TYPE_EDGE_RISING>; | ||
}; | ||
button-3 { | ||
label = "JoyRight"; | ||
linux,code = <KEY_RIGHT>; | ||
interrupt-parent = <&stmfx_pinctrl>; | ||
interrupts = <3 IRQ_TYPE_EDGE_RISING>; | ||
}; | ||
button-4 { | ||
label = "JoyUp"; | ||
linux,code = <KEY_UP>; | ||
interrupt-parent = <&stmfx_pinctrl>; | ||
interrupts = <4 IRQ_TYPE_EDGE_RISING>; | ||
}; | ||
}; | ||
|
||
leds { | ||
compatible = "gpio-leds"; | ||
orange { | ||
gpios = <&stmfx_pinctrl 17 1>; | ||
}; | ||
|
||
blue { | ||
gpios = <&stmfx_pinctrl 19 1>; | ||
}; | ||
} |
Oops, something went wrong.