Re: Zaurus suspend saga
From: Pavel Machek
Date: Tue Sep 08 2009 - 17:19:49 EST
Hi!
>
> > c) We rip the whole thing out and stop supporting "offline" charging.
>
>
>
> How much faster is offline charge, compared to online charging? I have
>
> impression that online charging basically does not charge anything...
>
>
I think that online charging works, but it seems to be slower. I am not
>
sure, whether it is a hardware or software issue. You can control
>
charging speed by software, but the final word has the charging
>
chip.
Well, overnight charge (online) seems to result in pretty much empty
battery...
>
Here are control wires:
>
SPITZ_SCP_JK_A: output = turns dummy load to 1 kOhm resistor
>
SPITZ_SCP_JK_B: output = high charging current
>
SPITZ_SCP_CHRG_ON: output = charging on
>
SPITZ_SCP_ADC_TEMP_ON: output = turns battery sensor on/off
>
SPITZ_GPIO_CHRG_FULL input = charging complete
>
SPITZ_GPIO_AC_IN input = AC adapter is present
Is CHRG_ON pin reversed?
static void spitz_charge(int on)
{
if (on) {
if (sharpsl_pm.flags & SHARPSL_SUSPENDED) {
gpio_set_value(SPITZ_GPIO_JK_B, 1);
gpio_set_value(SPITZ_GPIO_CHRG_ON, 0);
} else {
gpio_set_value(SPITZ_GPIO_JK_B, 0);
gpio_set_value(SPITZ_GPIO_CHRG_ON, 0);
}
} else {
gpio_set_value(SPITZ_GPIO_JK_B, 0);
gpio_set_value(SPITZ_GPIO_CHRG_ON, 1);
}
}
>
MAX1111 inputs:
>
MAX1111_ACIN_VOLT: Voltage in AC input (after pass of input circuit,
>
before tha final diode)
>
MAX1111_BATT_TEMP: Battery temperature sensor
>
MAX1111_BATT_VOLT: Battery voltage
>
>
Here are notes from the design:
>
Pre-charge = 102mA
>
Fast charge = 680mA
>
Fast charge set ON = 105mA
I'm quite confused:
>
SPITZ_SCP_JK_B: output = high charging current
Is JK_B active low?
>
Iterm = 55mA
>
>
Thresholds:
>
SPITZ_GPIO_AC_IN: 4.2V (IC charging circuit)
>
SPITZ_GPIO_FATAL_BAT: 3.0V (voltage detector IC on battery)
>
PXA270 batt fault: 2.8V (voltage on the main non-regulated power)
>
CF/SD: 2.8V (voltage required for CF/SD activation, I am
>
not sure, why it is done, because 2.8V is
>
outside of spec anyway)
>
- It would be nice to have "small travel charger heuristic": Turn fast
>
charging on, charger "disappears", switch to slow charging, charger
>
"appears" => stay in slow charging mode, and retry after some time, or
>
after going to suspend, reset the flag when charger is removed.
Yes, I have similar "travel charger" (from single AA in fact), too,
and yes getting that heuristic would be cool. But for now, I'd settle
with /sys control enabling that.
>
- sysfs interface for charging would be nice. For example: Cyril has an
>
external battery pack and he wants to disable charging of internal
>
battery from the external battery.
Yes, more debug info in sysfs and some controls would be nice.
BTW... /sys/class/leds/spitz:amber:charge seems to have life of its
own. I can't manually change the brightness; also changing trigger
does not work -- it still displays charging status. What is going on?
Pavel
--
(english)
http://www.livejournal.com/~pavelmachek
(cesky, pictures)
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/