term_adt746x: Invert bit required on this Powerbook G4
Max Vozeler
max at hinterhof.net
Wed Nov 4 23:39:49 EST 2009
On Wed, Nov 04, 2009 at 01:23:55PM +0100, Max Vozeler wrote:
> After some poking around, in which everything seemed to be
> according to plan including write of 0 to both FAN_SPD_SET regs,
> I noticed that explicitly *setting* the invert bit as in
>
> - write_reg(th, MANUAL_MODE[fan],
> - (manual|MANUAL_MASK) & (~INVERT_MASK));
> + write_reg(th, MANUAL_MODE[fan],
> + (manual|MANUAL_MASK|INVERT_MASK));
>
> seems to cure it. The fan appears to behave normally now, it
> turns on slowly when the temp limits are reached, otherwise it
> stays off. The temperature is reasonable (ie, no too hot).
>
> So, puzzeled, I checked the spec, and it appears very clear on
> the question of invert: It should be off by default.
Another datapoint:
The PRAM battery in this Powerbook is old, so it forgets e.g.
clock state completely when not connected to the power supply.
These are the PWM1/PWM2 registers during probe_thermostat()
after such a complete poweroff:
[ 28.332700] adt746x: ADT7460 initializing
[ 28.385266] ZZZ MANUAL_MODE[0] 0xd2
[ 28.385832] ZZZ MANUAL_MODE[1] 0x82
So if I'm reading this correctly, PWM1 starts off with the
invert bit (0x10) set, for some reason.
Max
More information about the Linuxppc-dev
mailing list