Port-macppc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: NetBSD on a PowerBook G4
Hi,
On Wed, Aug 27, 2008 at 1:30 AM, Taylor R Campbell
<campbell%mumble.net@localhost> wrote:
> We need:
> - - power management support in relevant PCI host bridge drivers
> ( uninorth and ohare, maybe heathrow as well )
> - - many macppc-specific device drivers lack all power management
> support. On the other hand, at least ADB is handled by the PMU anyway
> and in newer PowerBooks there isn't that much proprietary hardware left
> - - code to tell the PMU to fall asleep ( should be easy )
> - - code to deal with uninorth's power control registers ( there are
> two 32bit registers which control things like power to various
> devices, PCI, firewire etc. clock and so on )
> - - code to re-initialize the graphics chip on wakeup. This may work
> with radeonfb but radeonfb has trouble on some chip variants.
>
> Many machine-independent PCI device drivers already have power
> management support. It works pretty well on quite a few x86 laptops.
>
> I have been paying too little attention for the past couple of months
> since this email, but I'm still interested in these. However, I know
> next to nothing about most of these subjects. Would you care to
> elaborate upon where one might start if one were to work on these
> things, now that I've finally gotten around to eliminating the other
> showstopper (wifi?
I think this old post can be useful:
<http://mail-index.netbsd.org/port-macppc/2002/08/05/0002.html>
It explains a frequency switch mode for some PowerBooks, but the
procedure for sleep/resume is very similar as the post mentions.
For sleep/resume the values to write to the PMU as well as to the
UniNorth are different and of course the CPU and some hardware state
must be saved/restored.
I found this file that can be useful:
<http://cvsweb.ki.nu/mef/macppc/sys/arch/macppc/dev/uni-n.c?rev=1.54&content-type=text/x-cvsweb-markup>
It contains a routine, change_clock(int step), that seems to be able
to do suspend on 7450 based machines if the step parameter is -1 (in
addition to the above mentioned change-clock procedure if step is not
-1).
It also references other procedure such as pm_sleep() or
powerpc_enable_sleep() that can also be found on the same CVS
repository.
Hope you find it interesting.
Regards,
Marco.
Home |
Main Index |
Thread Index |
Old Index