diff options
Diffstat (limited to 'Documentation/power/charger-manager.txt')
| -rw-r--r-- | Documentation/power/charger-manager.txt | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/Documentation/power/charger-manager.txt b/Documentation/power/charger-manager.txt index fdcca991df30..b4f7f4b23f64 100644 --- a/Documentation/power/charger-manager.txt +++ b/Documentation/power/charger-manager.txt | |||
| @@ -44,6 +44,16 @@ Charger Manager supports the following: | |||
| 44 | Normally, the platform will need to resume and suspend some devices | 44 | Normally, the platform will need to resume and suspend some devices |
| 45 | that are used by Charger Manager. | 45 | that are used by Charger Manager. |
| 46 | 46 | ||
| 47 | * Support for premature full-battery event handling | ||
| 48 | If the battery voltage drops by "fullbatt_vchkdrop_uV" after | ||
| 49 | "fullbatt_vchkdrop_ms" from the full-battery event, the framework | ||
| 50 | restarts charging. This check is also performed while suspended by | ||
| 51 | setting wakeup time accordingly and using suspend_again. | ||
| 52 | |||
| 53 | * Support for uevent-notify | ||
| 54 | With the charger-related events, the device sends | ||
| 55 | notification to users with UEVENT. | ||
| 56 | |||
| 47 | 2. Global Charger-Manager Data related with suspend_again | 57 | 2. Global Charger-Manager Data related with suspend_again |
| 48 | ======================================================== | 58 | ======================================================== |
| 49 | In order to setup Charger Manager with suspend-again feature | 59 | In order to setup Charger Manager with suspend-again feature |
| @@ -55,7 +65,7 @@ if there are multiple batteries. If there are multiple batteries, the | |||
| 55 | multiple instances of Charger Manager share the same charger_global_desc | 65 | multiple instances of Charger Manager share the same charger_global_desc |
| 56 | and it will manage in-suspend monitoring for all instances of Charger Manager. | 66 | and it will manage in-suspend monitoring for all instances of Charger Manager. |
| 57 | 67 | ||
| 58 | The user needs to provide all the two entries properly in order to activate | 68 | The user needs to provide all the three entries properly in order to activate |
| 59 | in-suspend monitoring: | 69 | in-suspend monitoring: |
| 60 | 70 | ||
| 61 | struct charger_global_desc { | 71 | struct charger_global_desc { |
| @@ -74,6 +84,11 @@ bool (*rtc_only_wakeup)(void); | |||
| 74 | same struct. If there is any other wakeup source triggered the | 84 | same struct. If there is any other wakeup source triggered the |
| 75 | wakeup, it should return false. If the "rtc" is the only wakeup | 85 | wakeup, it should return false. If the "rtc" is the only wakeup |
| 76 | reason, it should return true. | 86 | reason, it should return true. |
| 87 | |||
| 88 | bool assume_timer_stops_in_suspend; | ||
| 89 | : if true, Charger Manager assumes that | ||
| 90 | the timer (CM uses jiffies as timer) stops during suspend. Then, CM | ||
| 91 | assumes that the suspend-duration is same as the alarm length. | ||
| 77 | }; | 92 | }; |
| 78 | 93 | ||
| 79 | 3. How to setup suspend_again | 94 | 3. How to setup suspend_again |
| @@ -111,6 +126,16 @@ enum polling_modes polling_mode; | |||
| 111 | CM_POLL_CHARGING_ONLY: poll this battery if and only if the | 126 | CM_POLL_CHARGING_ONLY: poll this battery if and only if the |
| 112 | battery is being charged. | 127 | battery is being charged. |
| 113 | 128 | ||
| 129 | unsigned int fullbatt_vchkdrop_ms; | ||
| 130 | unsigned int fullbatt_vchkdrop_uV; | ||
| 131 | : If both have non-zero values, Charger Manager will check the | ||
| 132 | battery voltage drop fullbatt_vchkdrop_ms after the battery is fully | ||
| 133 | charged. If the voltage drop is over fullbatt_vchkdrop_uV, Charger | ||
| 134 | Manager will try to recharge the battery by disabling and enabling | ||
| 135 | chargers. Recharge with voltage drop condition only (without delay | ||
| 136 | condition) is needed to be implemented with hardware interrupts from | ||
| 137 | fuel gauges or charger devices/chips. | ||
| 138 | |||
| 114 | unsigned int fullbatt_uV; | 139 | unsigned int fullbatt_uV; |
| 115 | : If specified with a non-zero value, Charger Manager assumes | 140 | : If specified with a non-zero value, Charger Manager assumes |
| 116 | that the battery is full (capacity = 100) if the battery is not being | 141 | that the battery is full (capacity = 100) if the battery is not being |
| @@ -122,6 +147,8 @@ unsigned int polling_interval_ms; | |||
| 122 | this battery every polling_interval_ms or more frequently. | 147 | this battery every polling_interval_ms or more frequently. |
| 123 | 148 | ||
| 124 | enum data_source battery_present; | 149 | enum data_source battery_present; |
| 150 | : CM_BATTERY_PRESENT: assume that the battery exists. | ||
| 151 | CM_NO_BATTERY: assume that the battery does not exists. | ||
| 125 | CM_FUEL_GAUGE: get battery presence information from fuel gauge. | 152 | CM_FUEL_GAUGE: get battery presence information from fuel gauge. |
| 126 | CM_CHARGER_STAT: get battery presence from chargers. | 153 | CM_CHARGER_STAT: get battery presence from chargers. |
| 127 | 154 | ||
| @@ -151,7 +178,17 @@ bool measure_battery_temp; | |||
| 151 | the value of measure_battery_temp. | 178 | the value of measure_battery_temp. |
| 152 | }; | 179 | }; |
| 153 | 180 | ||
| 154 | 5. Other Considerations | 181 | 5. Notify Charger-Manager of charger events: cm_notify_event() |
| 182 | ========================================================= | ||
| 183 | If there is an charger event is required to notify | ||
| 184 | Charger Manager, a charger device driver that triggers the event can call | ||
| 185 | cm_notify_event(psy, type, msg) to notify the corresponding Charger Manager. | ||
| 186 | In the function, psy is the charger driver's power_supply pointer, which is | ||
| 187 | associated with Charger-Manager. The parameter "type" | ||
| 188 | is the same as irq's type (enum cm_event_types). The event message "msg" is | ||
| 189 | optional and is effective only if the event type is "UNDESCRIBED" or "OTHERS". | ||
| 190 | |||
| 191 | 6. Other Considerations | ||
| 155 | ======================= | 192 | ======================= |
| 156 | 193 | ||
| 157 | At the charger/battery-related events such as battery-pulled-out, | 194 | At the charger/battery-related events such as battery-pulled-out, |
