FreeCalypso > hg > fc-tourmaline
annotate src/cs/drivers/drv_app/r2d/r2d_onoff.c @ 281:a75eefbf8be4
Phone boot with PWON: weed out short button presses
Every standard end user phone has a design provision, most naturally
implemented in firmware, whereby the PWON button effects a boot only
if it is held down long enough - short presses of this PWON button
are detected, assumed to be spurious and cause the fw to power back off
instead of proceeding with boot. The present change introduces this
standard function in FreeCalypso.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 24 Sep 2021 02:03:08 +0000 |
parents | 75758d7a9be3 |
children |
rev | line source |
---|---|
217
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This FreeCalypso-added R2D module implements on/off control |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * for BLRR (backlight required for readability) displays. |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include "rv/rv_general.h" |
277
0196b6bf633c
R2D: LCD hardware suspend implemented for Luna
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
7 #include "rvf/rvf_api.h" |
217
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include "r2d/r2d_config.h" |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include "r2d/r2d_messages.h" |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include "r2d/r2d_blrr_api.h" |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
278
75758d7a9be3
Luna: allow ABB superdeep sleep when the LCD is in suspend mode
Mychaela Falconia <falcon@freecalypso.org>
parents:
277
diff
changeset
|
12 extern int r2d_lcd_hw_suspend, ABB_sleep_allowed; |
277
0196b6bf633c
R2D: LCD hardware suspend implemented for Luna
Mychaela Falconia <falcon@freecalypso.org>
parents:
217
diff
changeset
|
13 |
217
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #ifdef CONFIG_TARGET_LUNA |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #include "r2d/lcds/luna/r2d_onoff_i.c" |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #elif defined(CONFIG_TARGET_C139) |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 #include "r2d/lcds/c139/r2d_onoff_i.c" |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 #else |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 #error "R2D on/off module selection: unsupported target" |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #endif |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 void r2d_process_onoff_message(T_R2D_EVT *msg) |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 { |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 r2d_onoff_action(msg->status); |
6541e43f88e5
R2D display on/off control implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 } |