2016-05-13 05:19:13 +00:00
|
|
|
Pincontrol driver for MAX77620 Power management IC from Maxim Semiconductor.
|
|
|
|
|
|
|
|
Device has 8 GPIO pins which can be configured as GPIO as well as the
|
|
|
|
special IO functions.
|
|
|
|
|
|
|
|
Please refer file <devicetree/bindings/pinctrl/pinctrl-bindings.txt>
|
|
|
|
for details of the common pinctrl bindings used by client devices,
|
|
|
|
including the meaning of the phrase "pin configuration node".
|
|
|
|
|
|
|
|
Optional Pinmux properties:
|
|
|
|
--------------------------
|
|
|
|
Following properties are required if default setting of pins are required
|
|
|
|
at boot.
|
2018-06-14 15:24:41 +00:00
|
|
|
- pinctrl-names: A pinctrl state named per <pinctrl-bindings.txt>.
|
2016-05-13 05:19:13 +00:00
|
|
|
- pinctrl[0...n]: Properties to contain the phandle for pinctrl states per
|
2018-06-14 15:24:41 +00:00
|
|
|
<pinctrl-bindings.txt>.
|
2016-05-13 05:19:13 +00:00
|
|
|
|
|
|
|
The pin configurations are defined as child of the pinctrl states node. Each
|
|
|
|
sub-node have following properties:
|
|
|
|
|
|
|
|
Required properties:
|
|
|
|
------------------
|
|
|
|
- pins: List of pins. Valid values of pins properties are:
|
|
|
|
gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7.
|
|
|
|
|
|
|
|
Optional properties:
|
|
|
|
-------------------
|
|
|
|
Following are optional properties defined as pinmux DT binding document
|
|
|
|
<pinctrl-bindings.txt>. Absence of properties will leave the configuration
|
|
|
|
on default.
|
|
|
|
function,
|
|
|
|
drive-push-pull,
|
|
|
|
drive-open-drain,
|
|
|
|
bias-pull-up,
|
|
|
|
bias-pull-down.
|
|
|
|
|
|
|
|
Valid values for function properties are:
|
|
|
|
gpio, lpm-control-in, fps-out, 32k-out, sd0-dvs-in, sd1-dvs-in,
|
|
|
|
reference-out
|
|
|
|
|
|
|
|
Theres is also customised properties for the GPIO1, GPIO2 and GPIO3. These
|
|
|
|
customised properties are required to configure FPS configuration parameters
|
|
|
|
of these GPIOs. Please refer <devicetree/bindings/mfd/max77620.txt> for more
|
|
|
|
detail of Flexible Power Sequence (FPS).
|
|
|
|
|
|
|
|
- maxim,active-fps-source: FPS source for the GPIOs to get
|
|
|
|
enabled/disabled when system is in
|
|
|
|
active state. Valid values are:
|
|
|
|
- MAX77620_FPS_SRC_0,
|
|
|
|
FPS source is FPS0.
|
|
|
|
- MAX77620_FPS_SRC_1,
|
|
|
|
FPS source is FPS1
|
|
|
|
- MAX77620_FPS_SRC_2 and
|
|
|
|
FPS source is FPS2
|
|
|
|
- MAX77620_FPS_SRC_NONE.
|
|
|
|
GPIO is not controlled
|
|
|
|
by FPS events and it gets
|
|
|
|
enabled/disabled by register
|
|
|
|
access.
|
|
|
|
Absence of this property will leave
|
|
|
|
the FPS configuration register for that
|
|
|
|
GPIO to default configuration.
|
|
|
|
|
|
|
|
- maxim,active-fps-power-up-slot: Sequencing event slot number on which
|
|
|
|
the GPIO get enabled when
|
|
|
|
master FPS input event set to HIGH.
|
|
|
|
Valid values are 0 to 7.
|
|
|
|
This is applicable if FPS source is
|
|
|
|
selected as FPS0, FPS1 or FPS2.
|
|
|
|
|
|
|
|
- maxim,active-fps-power-down-slot: Sequencing event slot number on which
|
|
|
|
the GPIO get disabled when master
|
|
|
|
FPS input event set to LOW.
|
|
|
|
Valid values are 0 to 7.
|
|
|
|
This is applicable if FPS source is
|
|
|
|
selected as FPS0, FPS1 or FPS2.
|
|
|
|
|
|
|
|
- maxim,suspend-fps-source: This is same as property
|
|
|
|
"maxim,active-fps-source" but value
|
|
|
|
get configured when system enters in
|
|
|
|
to suspend state.
|
|
|
|
|
|
|
|
- maxim,suspend-fps-power-up-slot: This is same as property
|
|
|
|
"maxim,active-fps-power-up-slot" but
|
|
|
|
this value get configured into FPS
|
|
|
|
configuration register when system
|
|
|
|
enters into suspend.
|
|
|
|
This is applicable if suspend state
|
|
|
|
FPS source is selected as FPS0, FPS1 or
|
|
|
|
|
|
|
|
- maxim,suspend-fps-power-down-slot: This is same as property
|
|
|
|
"maxim,active-fps-power-down-slot" but
|
|
|
|
this value get configured into FPS
|
|
|
|
configuration register when system
|
|
|
|
enters into suspend.
|
|
|
|
This is applicable if suspend state
|
|
|
|
FPS source is selected as FPS0, FPS1 or
|
|
|
|
FPS2.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
--------
|
|
|
|
#include <dt-bindings/mfd/max77620.h>
|
|
|
|
...
|
|
|
|
max77620@3c {
|
|
|
|
|
|
|
|
pinctrl-names = "default";
|
|
|
|
pinctrl-0 = <&spmic_default>;
|
|
|
|
|
|
|
|
spmic_default: pinmux@0 {
|
|
|
|
pin_gpio0 {
|
|
|
|
pins = "gpio0";
|
|
|
|
function = "gpio";
|
|
|
|
};
|
|
|
|
|
|
|
|
pin_gpio1 {
|
|
|
|
pins = "gpio1";
|
|
|
|
function = "fps-out";
|
|
|
|
maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pin_gpio2 {
|
|
|
|
pins = "gpio2";
|
|
|
|
function = "fps-out";
|
|
|
|
maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|