Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - karlto

Pages: [1]
1
Zaurus - pdaXrom / Power Management
« on: March 09, 2006, 02:42:22 pm »
Hi all

Matchbox has some shortcomings, but that's OK because there are plenty of other choices on pdaXrom!

However, there is one thing that Matchbox does that other window managers seem to lack entirely - power management for switching between power modes, backlighting etc. The light and power config applet sets up AC power and battery modes, and selects the right one whenever run (it is run initially in most .xinitrc files). From there, Matchbox will continue to monitor changes in power status and change modes as necessary, whereas other WMs just ignore.

As far as I can tell, something in the Matchbox panel is providing this functionality (I loaded it in xfce4 and it worked, but that is far from usable). I have tried running '/usr/bin/lightnpower.py --loadandquit' in various apm scripts, but it either doesn't get called (most suspend commands use 'xset dpms force off' rather than 'apm -s') or it only half works for some strange reason (e.g. will change back lighting but not time to suspend).

Does anyone know how the power monitoring functionality can be added to other window managers?

Thanks

Karl

2
Zaurus - pdaXrom / Sl6000 Wake On Alarm
« on: December 15, 2005, 02:44:56 pm »
Hi all

The SL6000 seems to be the only Zaurus that won't wake on alarm in the latest RC12. I am keen to get your opinions and assistance to find the solution to this.

So far, I have managed to compile a kernel with debug options set in the power management section - this is a sample of the dmesg output:

Code: [Select]
tc6393_nand_suspend
queue_event: event=10
suspend:
set_power_state: what=1 state=2
set_power_state: *** go into suspend
pxa_suspend: FCS : CCCR = 241
pxa_suspend: pass_charge_flag = 0
pxa_suspend: check AC-adaptor
pxa_suspend: kick charging
pxa_suspend: ac97&tc6393 down
pxa_suspend: RTAR charge = 401e3317

==== This is where sleep mode is entered ====

If there was a problem with the code after resuming from sleep, we would see messages about going back to sleep/suspend below, but we don't. So, issue must be above in telling processor how to sleep...?

===================================

pxa_suspend: ac97&tc6393 up
ac97_codec: AC97 Audio codec, id: WML18 (Wolfson WM9711/WM9712)
init TC6369 Revision 3
pxa_suspend: back the ALARM Time
sharpsl_wakeup_hook: GPLR0 = 3ef89a
PEDR=00000001
src=800000bf
src_mask=0000009f
PSSR=00000001->00000001
key interrupt on (0001,0000)
FCS : CCCR = 161
send_event: event=3
sleeping to allow SD card to resume...
sleep complete.
w9712_init
wm9712_update_jack_state: HP jack state changed (Jack=0,Mic=0)
tc6393_nand_resume

In theory, hardware wakeups that are correctly set up will resume the kernel power code from sleep at the point noted in the messages above. Things such as unplugging the power etc will also wake it up, so there is some code to send it back to sleep if no need to wake up. albertr's patch (incorporated into RC12) stopped it from going back to sleep if the alarm was set. The SL6000 doesn't actually wake at all though - it's like the hardware wakeup isn't set properly for the alarm. While the corgi (760) has the same processor, there are a number of general purpose registers (GPIO) that are used differently for the tosa, and a lot of tosa-specific code to account for this (e.g. the battery charge indicator appears to be completely opposite). I have the processor specs but not Zaurus specs.

In short, the SL6000 seems to respond to battery/AC/button events when in sleep mode, but not the alarm. This leads me to believe that the alarm isn't quite set correctly (as it is difficult to figure out the correct GPIO settings). Some possibly useful info from registers in the dmesg output above, and I can always modify to get more.

Is it possible to find original/unmodified Sharp code for the SL6000 power routines? Zaurus spec on what/how the GPIO registers are used? Does OZ or anyone else have working suspend/resume on alarm code that we can look at to get the right settings?

BTW, I am working with /arch/arm/mach-pxa/sharpsl_power.c above...

Thanks for any help or suggestions!

Pages: [1]