You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
kernel_samsung_sm7125/Documentation/devicetree/bindings/input/qpnp-power-on.txt

248 lines
9.7 KiB

Qualcomm Technologies, Inc. QPNP Power-on PMIC Peripheral Device Tree Bindings
qpnp-power-on devices support the power-on (PON) peripheral of Qualcomm
Technologies, Inc. PMICs. The supported functionality includes power on/off
reason, key press/release detection, PMIC reset configurations and other PON
specific 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.
Optional properties:
- interrupts: Specifies the interrupts associated with PON.
- interrupt-names: Specifies the interrupt names associated with
the interrupts property. Must be a subset of
"kpdpwr", "kpdpwr-bark", "resin", "resin-bark",
"cblpwr", "kpdpwr-resin-bark", and
"pmic-wd-bark". 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. Additionally, the
"pmic-wd-bark" interrupt can be added if the
system needs to handle PMIC watchdog barks.
- qcom,pon-dbc-delay: The debounce delay for the power-key interrupt
specified in us.
Possible values for GEN1 PON are:
15625, 31250, 62500, 125000, 250000, 500000,
1000000 and 2000000.
Possible values for GEN2 PON are:
62, 123, 245, 489, 977, 1954, 3907, 7813,
15625, 31250, 62500, 125000 and 250000.
Intermediate value is rounded down to the
nearest valid value.
- qcom,system-reset: Boolean which 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.
- qcom,s3-debounce: The debounce delay for stage 3 reset trigger in
secs. The values range from 0 to 128.
- qcom,s3-src: The source for stage 3 reset. It can be one of
"kpdpwr", "resin", "kpdpwr-or-resin" or
"kpdpwr-and-resin".
- qcom,uvlo-panic: Boolean indicating that the device should
trigger a controlled panic shutdown if a restart
was caused by under voltage lock-out (UVLO).
- qcom,clear-warm-reset: Boolean which specifies that the WARM_RESET
reason registers need to be cleared for this
target. The property is used for the targets
which have a hardware feature to catch resets
which aren't triggered by the application
processor. In such cases clearing WARM_REASON
registers across processor resets keeps the
registers in a useful state.
- qcom,secondary-pon-reset: Boolean property which indicates that the PON
peripheral is a secondary PON device which
needs to be configured during reset in addition
to the primary PON device that is configured
for system reset through qcom,system-reset
property.
This should not be defined along with the
qcom,system-reset property.
- qcom,store-hard-reset-reason: Boolean property which if set will store the
hardware reset reason to SOFT_RB_SPARE register
of the core PMIC PON peripheral.
- qcom,warm-reset-poweroff-type: Poweroff type required to be configured
on PS_HOLD reset control register when the
system goes for warm reset. If this property is
not specified, then the default type, warm reset
will be configured to PS_HOLD reset control
register.
Supported values: PON_POWER_OFF_TYPE_* found in
include/dt-bindings/input/qcom,qpnp-power-on.h
- qcom,hard-reset-poweroff-type: Same description as
qcom,warm-reset-poweroff-type but this applies
for the system hard reset case.
- qcom,shutdown-poweroff-type: Same description as qcom,warm-reset-poweroff-
type but this applies for the system shutdown
case.
- qcom,kpdpwr-sw-debounce: Boolean property to enable the debounce logic
on the KPDPWR_N rising edge.
- qcom,resin-pon-reset: Boolean property which indicates that resin
needs to be configured during reset in addition
to the primary PON device that is configured
for system reset through qcom,system-reset
property.
- qcom,resin-warm-reset-type: Poweroff type required to be configured on
RESIN reset control register when the system
initiates warm reset. If this property is not
specified, then the default type, warm reset
will be configured to RESIN reset control
register. This property is effective only if
qcom,resin-pon-reset is defined.
Supported values: PON_POWER_OFF_TYPE_* found in
include/dt-bindings/input/qcom,qpnp-power-on.h
- qcom,resin-hard-reset-type: Same description as qcom,resin-warm-reset-type
but this applies for the system hard reset case.
- qcom,resin-shutdown-type: Same description as qcom,resin-warm-reset-type
but this applies for the system shutdown case.
- qcom,resin-shutdown-disable: Boolean property to disable RESIN power off
trigger during system shutdown case.
This property is effective only if
qcom,resin-pon-reset is defined.
- qcom,resin-hard-reset-disable: Boolean property to disable RESIN power
off trigger during system hard reset case.
This property is effective only if
qcom,resin-pon-reset is defined.
- qcom,ps-hold-shutdown-disable: Boolean property to disable PS_HOLD
power off trigger during system shutdown case.
- qcom,ps-hold-hard-reset-disable: Boolean property to disable PS_HOLD
power off trigger during system hard reset case.
- qcom,support-twm-config: Boolean property to allow the PON module to be
configured to support TWM modes.
- qcom,pbs-client: Phandle of the PBS client node. Should be
defined if 'qcom,support-twm-config' is present.
- qcom,use-legacy-hard-reset-offset Boolean property to support legacy
hard-reset offset of the PON_RB_SPARE register for
some (PON gen2) platforms.
Optional Sub-nodes:
- qcom,pon_1 ... qcom,pon_n: These PON child nodes correspond to features
supported by the PON peripheral including reset
configurations, pushbutton keys, and regulators.
Sub-node properties:
Sub-nodes (if defined) should belong to either a PON configuration or a
regulator configuration.
Regulator sub-node required properties:
- regulator-name: Regulator name for the PON regulator that is
being configured.
- qcom,pon-spare-reg-addr: Register offset from the base address of the
PON peripheral that needs to be configured for
the regulator being controlled.
- qcom,pon-spare-reg-bit: Bit position in the specified register that
needs to be configured for the regulator being
controlled.
PON sub-node required properties:
- qcom,pon-type: The type of PON/RESET source. Supported values:
0 = KPDPWR
1 = RESIN
2 = CBLPWR
3 = KPDPWR_RESIN
These values are PON_POWER_ON_TYPE_* found in
include/dt-bindings/input/qcom,qpnp-power-on.h
PON sub-node optional properties:
- qcom,pull-up: Boolean flag indicating if a pull-up resistor
should be enabled for the input.
- qcom,support-reset: Indicates if this PON source supports
reset functionality.
0 = Not supported
1 = Supported
If this property is not defined, then default S2
reset configurations should not be modified.
- qcom,use-bark: Specify if this PON type needs to handle a bark
interrupt.
- 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.
The below mentioned properties are required only when qcom,support-reset DT
property is defined and is set to 1.
- qcom,s1-timer: The debounce timer for the BARK interrupt for
the 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
- 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 are:
0, 10, 50, 100, 250, 500, 1000, 2000
- qcom,s2-type: The type of reset associated with this source.
Supported values:
0 = SOFT_RESET (legacy)
1 = WARM_RESET
4 = SHUTDOWN
5 = DVDD_SHUTDOWN
7 = HARD_RESET
8 = DVDD_HARD_RESET
These values are PON_POWER_OFF_TYPE_* found in
include/dt-bindings/input/qcom,qpnp-power-on.h
Examples:
qcom,power-on@800 {
compatible = "qcom,qpnp-power-on";
reg = <0x800 0x100>;
interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>,
<0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>,
<0x0 0x8 0x4 IRQ_TYPE_EDGE_RISING>,
<0x0 0x8 0x5 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "kpdpwr", "resin", "resin-bark",
"kpdpwr-resin-bark";
qcom,pon-dbc-delay = <15625>;
qcom,system-reset;
qcom,s3-debounce = <32>;
qcom,s3-src = "resin";
qcom,clear-warm-reset;
qcom,store-hard-reset-reason;
qcom,pon_1 {
qcom,pon-type = <PON_POWER_ON_TYPE_KPDPWR>;
qcom,pull-up;
linux,code = <KEY_POWER>;
};
qcom,pon_2 {
qcom,pon-type = <PON_POWER_ON_TYPE_RESIN>;
qcom,support-reset = <1>;
qcom,pull-up;
qcom,s1-timer = <0>;
qcom,s2-timer = <2000>;
qcom,s2-type = <PON_POWER_OFF_TYPE_WARM_RESET>;
linux,code = <KEY_VOLUMEDOWN>;
qcom,use-bark;
};
qcom,pon_3 {
qcom,pon-type = <PON_POWER_ON_TYPE_KPDPWR_RESIN>;
qcom,support-reset = <1>;
qcom,s1-timer = <6720>;
qcom,s2-timer = <2000>;
qcom,s2-type = <PON_POWER_OFF_TYPE_HARD_RESET>;
qcom,pull-up;
qcom,use-bark;
};
};
qcom,power-on@800 {
compatible = "qcom,qpnp-power-on";
reg = <0x800 0x100>;
qcom,secondary-pon-reset;
qcom,hard-reset-poweroff-type = <PON_POWER_OFF_TYPE_SHUTDOWN>;
pon_perph_reg: qcom,pon_perph_reg {
regulator-name = "pon_spare_reg";
qcom,pon-spare-reg-addr = <0x8c>;
qcom,pon-spare-reg-bit = <1>;
};
};