diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/energymgmt_chipset_api/inc/em_chipset_api.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/energymgmt_chipset_api/inc/em_chipset_api.h Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,222 @@ +/* + Nokia/Devices/R&D/CT/Adaptation SW/BB + CONFIDENTIAL + Deliverable software + + + + em_chipset_api.h + -------------------------------- + + SW Include Document - Symbian OS + + + + Document identification and location in Synergy/CM + + Database: co1core + + Object (this information is substituted by Synergy/CM): + %name: em_chipset_api.h % + %cvtype: incl % + %instance: bh1dsgas_1 % + %version: 1 % + %date_modified: Wed Oct 06 17:16:17 2010 % + + Copyright (c) Nokia. This material, including documentation and any related + computer programs, is protected by copyright controlled by Nokia. + All rights are reserved. Copying, including reproducing, storing, adapting or + translating, any or all of this material requires the prior written consent + of Nokia. This material also contains confidential information, which may not + be disclosed to others without the prior written consent of Nokia. + */ + +/** @file + @brief Chipset API H Template + + This is a header template for Chipset API work. This template should not be + used as a normal code template because the location of where the API is + documented is different in normal coding style! Doxygen commenting style tries + to be similar what Symbian is using for their kernel side development. + + You can define here also the scope of the whole API see below, or you can + define the scope separately before the class or even before the function if + that is needed. + + @publishedDeviceAbstraction + */ + +#ifndef EM_CHIPSET_API_H +#define EM_CHIPSET_API_H + +#include +#include + +/* --------------------------------------------------------------------------- + * + * TYPES + * + */ + +/* + * Type definition for the call-back function used writing to + * asynchronous em callback. Callback is executed in the EM chipset's context. + */ +typedef void (*HAL_EM_CALLBACK)(TUint event, TInt p1, TAny* p2); + +/* --------------------------------------------------------------------------- + * + * FUNCTIONAL PROTOTYPES AND MACROS + * + */ + +class TEmHal + { + // Class declaration + + /** + Implements EmHal chipset + */ +public: + + /* --------------------------------------------------------------------------- + * + * CONSTANTS + * + */ + + enum THalEmChaEvtType + { + EHalEMChaChargeStarted = 1, + EHalEmChaChargeStopped, + EHalEamChaChargeReady, + EHalEamChaChargeChargerType, + EHalEamChaChargeFull, + EHalEamChaChargeError + }; + + enum THalEmChaChargerType + { + EHalEmChaChargerNone = 1, + EHalEmChaChargerSpecial, + EHalEmChaChargerDynamo + }; + + enum THalEmChaSource + { + EHalEmChaSourceDynamo = 1, + EHalEmChaSourceUsb + }; + + enum THalEmIbatEvtType + { + EHalEmChaIbatStarted = 1, + EHalEmChaIbatStopped, + EHalEmChaIbatSampling, + EHalEmChaIbatError + }; + + enum THalEmVbatEvtType + { + EHalEmVbatTxOn = 1, + EHalEmVbatTxOff, + EHalEmVbatChOn, + EHalEmVbatChOff, + EHalEmVbatError + }; + + enum THalEmBsiEvtType + { + EHalEmBsiFloating = 1 + }; + + enum THalEmDbiEvtType + { + EHalEmDbiAuthenticationOk = 1, + EHalEmDbiAuthenticationFailed, + EHalEmDbiReadReady, + EHalEmDbiReadError, + EHalEmDbiWriteReady, + EHalEmDbiWriteError + }; + + /* + * Constructor: + */ + + TEmHal(); + + /* + * Extension entrypoint + */ + + IMPORT_C static TEmHal* hal_em_entry_point(); + + /* + * INIT (setup): + */ + + virtual void hal_em_init(HAL_EM_CALLBACK cha_handler, + HAL_EM_CALLBACK ibat_handler, HAL_EM_CALLBACK vbat_handler, + HAL_EM_CALLBACK bsi_handler + + ); + + /* + * CHARGING: + */ + virtual TInt hal_em_cha_charge(TInt action); + virtual TInt hal_em_cha_charge_pause(TInt action); + virtual TInt hal_em_cha_set_target_voltage(TInt mV); + virtual TInt hal_em_cha_set_termination_current(TInt mA); + virtual TInt hal_em_cha_set_in_current(TInt mA); + virtual TInt hal_em_cha_set_out_current(TInt mA); + virtual TInt hal_em_cha_set_min_vbus_volt(TInt mv); + virtual TInt hal_em_cha_set_charging_source(THalEmChaSource source); + + /* + * IBAT + */ + virtual TInt hal_em_ibat_read(); + virtual TUint hal_em_ibat_sample_time(); + virtual TUint hal_em_ibat_avg_time_get(); + virtual TInt hal_em_ibat_avg_time_set(TUint number); + virtual TInt hal_em_ibat_avg_get(); + virtual TInt hal_em_ibat_avg_start(); + virtual TInt hal_em_ibat_avg_stop(); + virtual TInt hal_em_ibat_avg_state_get(); + + /* + * VBAT + */ + + virtual TInt hal_em_vbat_initial(); + virtual TInt hal_em_vbat_read(TUint *value); + virtual TInt hal_em_vbat_sync(TInt action); + + /* + * BTEMP + */ + virtual TInt hal_em_btemp_read(TUint *value); + + /* + * BSI + */ + virtual TInt hal_em_bsi_read(TUint *value); + + /* WATCHDOG */ + virtual void hal_em_watchdog(); + + /* DBI */ + + virtual TInt hal_em_dbi_init(HAL_EM_CALLBACK dbi_handler); + virtual TInt hal_em_dbi_authenticate(TUint8 *challenge, + TUint8 challengelength, TUint8 *response, TUint8 responselength); + virtual TInt + hal_em_dbi_read(TUint address, TUint length, TUint8* readbuf); + virtual TInt hal_em_dbi_write(TUint address, TUint length, + TUint8* writebuf); + }; + +#endif /* EM_CHIPSET_API_H */ +/* End of Include File */