mirror of
https://github.com/Evolution-X-Devices/kernel_oneplus_sm8550-devicetrees
synced 2026-01-28 15:24:08 +00:00
Merge "ARM: dts: msm: add silentboot reboot modes for SM8150"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
f4e6f6a1ba
42
bindings/arm/msm/qcom,silent-boot.txt
Normal file
42
bindings/arm/msm/qcom,silent-boot.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
Power management Silent mode is a boot up mode with display and
|
||||
audio disabled. This mode allows the platform to boot up the kernel
|
||||
without enabling the UI, thereby masking the overall system boot latency.
|
||||
Predominant usage could be seen in automotive applications where
|
||||
boot latency is critical.
|
||||
Top 2 use cases could be:
|
||||
- One possible occasion for booting silently is when the driver approaches the
|
||||
vehicle and based on the trigger by proximity sensor the vehicle does a remote
|
||||
start before driver comes in the car.
|
||||
|
||||
- Another might be if the system needs to run in the middle of
|
||||
the night to perform updates.
|
||||
|
||||
Add " pm_silentmode_kernel_state" viewable/editable via sysfs.
|
||||
|
||||
Kernel driver to monitor external GPIO input to indicate boot into
|
||||
kernel silent mode or not. This driver sets up the GPIO and links it
|
||||
up with an IRQ that is rising/falling edge triggered.
|
||||
On the GPIO rising edge, the IRQ thread is used to clear the sysfs
|
||||
in the PM framework that holds the state of the pm_silentmode_kernel_state.
|
||||
On the GPIO falling edge, the IRQ thread is used to set the sysfs
|
||||
in the PM framework that holds the state of the pm_silentmode_kernel_state.
|
||||
|
||||
The Device tree entry for silent mode can be used to register a GPIO
|
||||
to the driver framework and use it to communicate to the Vehicle
|
||||
interface processor.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "qcom,silent-mode"
|
||||
- qcom,silent-boot-gpio: GPIO needed HW interface from VIP to SoC
|
||||
- interrupts: Assign interrupt that is dual edge triggered
|
||||
- interrupt-names: Name of the interrupt under /proc/interrupt
|
||||
|
||||
Example:
|
||||
|
||||
qcom,silent-mode {
|
||||
compatible = "qcom,silent-mode";
|
||||
qcom,silent-boot-gpio = <&pm8150_1_gpios 6 GPIO_ACTIVE_LOW>;
|
||||
interrupts = < 0xc5 0 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupt-names = "silent_pm8150_1_gpio6";
|
||||
};
|
||||
@@ -36,6 +36,10 @@
|
||||
mode-dm-verity-device-corrupted = <0x4>;
|
||||
mode-dm-verity-enforcing = <0x5>;
|
||||
mode-keys-clear = <0x6>;
|
||||
mode-silent = <0xa>;
|
||||
mode-nonsilent = <0xb>;
|
||||
mode-forcedsilent = <0xc>;
|
||||
mode-forcednonsilent = <0xd>;
|
||||
|
||||
pon_pwrkey: pwrkey {
|
||||
compatible = "qcom,pm8941-pwrkey";
|
||||
|
||||
Reference in New Issue
Block a user