Showing changes from revision #0 to #1:
Added | Removed | Changed
Currently, only API version 0 is defined. API version 0 only allows for BMU variables to be read in a polling fashion; status interrupts, and BMU commands, are not supported.
struct bmudevice { struct device dev; uint32_t flags; void (*readvariables)(struct bmudevice *bmu, uint32_t count, bmureadregs_t *list); uint32_t statusflagsmask; };
The flags variable corresponds to the Battery Management Unit device flags that are returned by the Portable_EnumerateBMU SWI.
The readvariables function is used to read a list of variables from the BMU; the bmureadregs_t struct corresponds to the BMU Variable Request List that is used with SWI Portable_ReadBMUVariables.
The statusflagsmask variable corresponds to the mask of valid status flags that is returned by SWI Portable_EnumerateBMU.
The PortableHAL version of the Portable module will search for HALDeviceSysPeri_BMU devices upon initialisation. For each device it finds which initialises successfully, it will add it to the list of devices available via Portable_EnumerateBMU and the other BMU related SWIs (currently, Portable_ReadBMUVariable and Portable_ReadBMUVariables).
Device ID | Description | Implemented in |
---|---|---|
HALDeviceID_BMU_TPS65950 | TPS65950 battery management unit | HAL.OMAP3.s.BMU |
HALDeviceID_BMU_BQ27200 | BQ27200 battery management unit | HAL.OMAP3.s.BMU |
HALDeviceID_BMU_BQ27500 | BQ27500 battery management unit | HAL.OMAP3.s.BMU |