On Tuesday 11 September 2012 04:52 PM, Arnd Bergmann wrote:
On Tuesday 11 September 2012, Rajanikanth HV wrote:
+Supplied-to:
This shall be power supply class dependency where in the
runtime battery
properties will be shared across fuel guage and charging
algorithm driver.
I probably don't understand enough of this, but shouldn't the other
devices
that are supplied by this have a reference to this node rather than doing it this way around? Why use strings here instead of phandles?
This is a logical binding w.r.t power supply event change across energy-management-module drivers where in runtime battery properties are shared along with uevent notification. ref: di->btemp_psy.external_power_ changed = ab8500_btemp_external_power_changed; ref: ab8500_btemp.c
Need for this property: btemp, fg and charger updates power-supply properties based on the events listed above. Event handler invokes power supply change notifier which in-turn invokes registered power supply class call-back based on the 'supplied_to' string. ref: power_supply_changed_work(..) ./drivers/power/power_supply_core.c
In this case how to approach through phandle?
Sorry, I really tried, but I cannot make sense of what you wrote there. Can you try again and describe in full English sentences how the hardware blocks are connected
Consider: USB charging: ______________________ | | --(Vbus)-->| USB Charger with | | Charger FSM (h/w) | |______________________| | | | |(Vbat and other signals) | __|_____ to | | |(GaugeSense Charger FSM| | LION | Signal) _____________ | |Battery |----------->|FuelGauge blk| | |________| |{Coulomb Ctr}| | | ------------- | <Thermistor> | | | | (BatCtrl Signal) |_______|---------->[Btemp blk] | | [ADC] |__Btemp_Low |__Btemp_Med |__Btemp_High
Note: Charging algorithm is a logical entity.
and what their purpose is? a) Coulomb counter comprises '12bit adc' and an 'N sample average/accumulation' logic helps to measure battery capacity Note: The charge and the discharge current of the battery is converted to voltage by an external resistor connected between GaugeSenseP and GaugeSenseN pins.
b) Battery temperature monitoring comprises a comparator which is enabled only by HW (charger state machine) helps to measure the thermal threshold Note: The accuracy of the battery temperature measurement depends of the accuracy of the thermistor used.
c) Charger provides 'Constant Current Constant Voltage' USB and Main(Wall) Charging support, it embeds: voltage detection, thermal protection, Constant voltage charging with programmable level, clock dithering and battery voltage monitoring
e.g. Correlation between charger and Btemp - if the battery temperature is higher than “MaxTemp °C, the charger does not start, but is enabled
- if the battery temperature is between 0°C and “MaxTemp” °C charging is done in AB8500 Hardware control mode
- charging is done in DB8500 Software control mode, if the battery: has a voltage higher than the “BattOK Threshold
- If the battery temperature is between -10°C and 0°C: charging is done in AB8500 Hardware control mode
- If the battery temperature is below -10°C, charging is done in AB8500 Hardware control mode
Arnd