105 lines
3.8 KiB
Plaintext
105 lines
3.8 KiB
Plaintext
|
Qualcomm QPNP power-on
|
||
|
|
||
|
The qpnp-power-on is a driver which supports the power-on(PON)
|
||
|
peripheral on Qualcomm PMICs. The supported functionality includes
|
||
|
power on/off reason, key press/release detection, PMIC reset configurations
|
||
|
and other PON specifc features. The PON module supports multiple physical
|
||
|
power-on (KPDPWR_N, CBLPWR) and reset (KPDPWR_N, RESIN, KPDPWR+RESIN) sources.
|
||
|
This peripheral is connected to the host processor via the SPMI interface.
|
||
|
|
||
|
Required properties:
|
||
|
- compatible: Must be "qcom,qpnp-power-on"
|
||
|
- reg: Specifies the SPMI address and size for this PON (power-on) peripheral
|
||
|
- interrupts: Specifies the interrupt associated with PON.
|
||
|
- interrupt-names: Specify the interrupt names associated with interrupts. Must be
|
||
|
one of "kpdpwr", "kpdpwr-bark", "resin", "resin-bark", "cblpwr".
|
||
|
Bark interrupts are associated with system reset configuration
|
||
|
to allow default reset configuration to be activated. If system
|
||
|
reset configuration is not supported then bark interrupts are
|
||
|
nops.
|
||
|
|
||
|
Optional properties:
|
||
|
- qcom,pon-dbc-delay The debounce delay for the power-key interrupt
|
||
|
specified in us. The value ranges from 2 seconds
|
||
|
to 1/64 of a second. Possible values are -
|
||
|
- 2, 1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64
|
||
|
- Intermediate value is rounded down to the
|
||
|
nearest valid value.
|
||
|
- qcom,pon_1 ...pon_n These represent the child nodes which describe
|
||
|
the properties (reset, key) for each of the pon
|
||
|
reset source. All the child nodes are optional.
|
||
|
If none of them is specified, the driver fails
|
||
|
to register.
|
||
|
- qcom,system-reset Specifies that this PON peripheral can be used
|
||
|
to reset the system. This property can only be
|
||
|
used by one device on the system. It is an error
|
||
|
to include it more than once.
|
||
|
|
||
|
All the below properties are in the sub-node section (properties of the child
|
||
|
node).
|
||
|
|
||
|
Sub-node required properties:
|
||
|
- qcom,pon-type The type of PON/RESET source. The driver
|
||
|
currently supports KPDPWR(0), RESIN(1) and
|
||
|
CBLPWR(2) pon/reset sources.
|
||
|
|
||
|
Sub-node optional properties:
|
||
|
- qcom,pull-up The initial state of the reset pin under
|
||
|
consideration.
|
||
|
0 = No pull-up
|
||
|
1 = pull-up enabled
|
||
|
This property is set to '0' if not specified.
|
||
|
- qcom,support-reset Indicates if this PON source supports
|
||
|
reset functionality.
|
||
|
0 = Not supported
|
||
|
1 = Supported
|
||
|
This property is set to '0' if not specified.
|
||
|
- qcom,s1-timer The debounce timer for the BARK interrupt for
|
||
|
that reset source. Value is specified in ms.
|
||
|
Supported values are -
|
||
|
- 0, 32, 56, 80, 128, 184, 272, 408, 608, 904
|
||
|
1352, 2048, 3072, 4480, 6720, 10256
|
||
|
This property must be specified only if
|
||
|
'support-reset' is set to 1.
|
||
|
- qcom,s2-timer The debounce timer for the S2 reset specified
|
||
|
in ms. On the expiry of this timer, the PMIC
|
||
|
executes the reset sequence. Supported values -
|
||
|
- 0, 10, 50, 100, 250, 500, 1000, 2000
|
||
|
This property is required only if
|
||
|
'support-reset' is set to 1.
|
||
|
- qcom,s2-type The type of reset associated with this source.
|
||
|
The supported resets are -
|
||
|
SOFT(0), WARM(1), SHUTDOWN(4), HARD(7)
|
||
|
This property is required only if
|
||
|
'support-reset' is set to 1.
|
||
|
- linux,code The input key-code associated with the reset source.
|
||
|
The reset source in its default configuration can be
|
||
|
used to support standard keys.
|
||
|
|
||
|
Example:
|
||
|
qcom,power-on@800 {
|
||
|
compatible = "qcom,qpnp-power-on";
|
||
|
reg = <0x800 0x100>;
|
||
|
interrupts = <0x0 0x8 0x0>,
|
||
|
<0x0 0x8 0x1>,
|
||
|
<0x0 0x8 0x4>;
|
||
|
interrupt-names = "kpdpwr", "resin", "resin-bark";
|
||
|
qcom,pon-dbc-delay = <15625>;
|
||
|
|
||
|
qcom,pon_1 {
|
||
|
qcom,pon-type = <0>;
|
||
|
qcom,pull-up = <1>;
|
||
|
linux,code = <116>;
|
||
|
};
|
||
|
|
||
|
qcom,pon_2 {
|
||
|
qcom,pon-type = <1>;
|
||
|
qcom,support-reset = <1>;
|
||
|
qcom,pull-up = <1>;
|
||
|
qcom,s1-timer = <3072>;
|
||
|
qcom,s2-timer = <2000>;
|
||
|
qcom,s2-type = <1>;
|
||
|
linux,code = <114>;
|
||
|
};
|
||
|
}
|