FreeCalypso > hg > fc-tourmaline
annotate src/cs/drivers/drv_app/lcc/lcc_api.c @ 198:bb5aba57ecfb
Condat backlight driver: actually allow switching levels
We earlier made a change to this driver allowing different backlight
levels to be set.  However, the old backlight idle logic prevented
switching from one backlight level to another without going through
a fully-off state.  Now that we have the beginnings of new backlight
timer logic in BMI+MFW, the old idle logic in the Condat driver layer
can be axed, and we fix that driver layer to allow free switching
between different backlight levels.
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 29 Mar 2021 01:52:48 +0000 | 
| parents | 4e78acac3d88 | 
| children | 
| rev | line source | 
|---|---|
| 0 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /****************************************************************************** | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * Power Task (pwr) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * Design and coding by Svend Kristian Lindholm, skl@ti.com | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 * | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 * PWR MMI Interface | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 * | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 * $Id: pwr_api.c 1.1 Wed, 20 Aug 2003 10:22:37 +0200 skl $ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 * | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 ******************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 #include "lcc/lcc.h" | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 #include "lcc/lcc_env.h" | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 #include "lcc/lcc_trace.h" | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 #include "rv/rv_defined_swe.h" | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 /****************************************************************************** | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 * Function prototypes | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 ******************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 T_RVM_RETURN pwr_start_timer(UINT32 *timer_begin); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 // Inform the PWR process which callback function to send MMI events | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 // and perform initialization of mmi related variables | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 void pwr_register (T_RV_RETURN_PATH *return_path, void *ptr) { | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 ttw(ttr(TTrInit,"pwr_register (%d)" NL, 0x00)); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 // Assign return path (callback or task address id) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 pwr_ctrl->rpath.callback_func = return_path->callback_func; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 pwr_ctrl->rpath.addr_id = return_path->addr_id; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 // Pointer to mmi event memory allocated (& deallocated) by the MMI | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 pwr_ctrl->mmi_ptr = (struct mmi_info_ind_s *) ptr; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 // Yes - the mmi has registered! | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 pwr_ctrl->flag_mmi_registered = 1; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 // Start the mmi repetition timer | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 pwr_start_timer(&pwr_ctrl->time_begin_mmi_rep); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 ttw(ttr(TTrTimerLow,"mmi repetition timer started(%d)" NL, 0)); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 ttw(ttr(TTrInit,"pwr_register (%d)" NL, 0xFF)); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 } | 
