Age | Commit message (Collapse) | Author | |
---|---|---|---|
2006-01-09 | do a lot more careful register checking for echos and roll-around and | Theo de Raadt | |
nonsense values in the lm75 probe. while there, make it look for a significant difference the lm77 has, ok grange | |||
2006-01-06 | pick some register with a known value, to try to tell a lm96000 apart | Theo de Raadt | |
from any of a variety of National superio chipsets for which documention is very hard to find | |||
2006-01-05 | if both debug and verbose defined, only spit out the dump once | Theo de Raadt | |
2006-01-04 | detect lm96000 | Theo de Raadt | |
2006-01-04 | split out I2C_DEBUG into I2C_VERBOSE. VERBOSE is on. Turn on DEBUG to | Theo de Raadt | |
show more information to i2c developers. thanks. | |||
2006-01-03 | Use "official" chip part names/numbers for matching. | Mark Kettenis | |
ok deraadt@ | |||
2005-12-31 | Better bounds for the lm7x register repeat test; ok deraadt@ | Miod Vallat | |
2005-12-31 | we do not look at the proberegs anymore, always full dumps | Theo de Raadt | |
2005-12-31 | if a register dump is going to find that all the registers are the same, | Theo de Raadt | |
then skip it. it's some quirky piece of garbage we can never support | |||
2005-12-31 | we think we can now probe chips correctly. only print the register dump | Theo de Raadt | |
if we fail to attach a driver to a chip name. this means that if we incorrectly diagnose a chip, someone will have to compile a debug kernel. i think we are ready for this, but we will see what the next week brings. | |||
2005-12-31 | add lots of comments. run the xeontemp probe stuff on other architectures as | Theo de Raadt | |
well since we are seeing some of these crummy adm1021/maxim1617 clones on other architectures. (Intel specified that there was a sensor chip with a certain register layout on their Xeon processors. That register layout is a subset of the maxim1617, ie. without ID registers. I guess they wanted to be able to change them later. But the result is that just as the industry was starting to move towards all new chips having ID registers, Intel pushed them all the other way... and now lots of vendors make chips like this without ID registers. Typical vendor power politics.) | |||
2005-12-31 | reyk, touching a file I am actively hacking on without talking to me is a ↵ | Theo de Raadt | |
serious mistake | |||
2005-12-30 | add i2c driver for Asus ASB100 sensors using register info from lm_sensors | Damien Miller | |
driver (Asus believe this chip is such critically important IP they won't release docs for it); feedback deraadt@ and kettenis@, ok kettenis@ | |||
2005-12-30 | knf (replace lines of c++/c99 '//' comments with #if 0) | Reyk Floeter | |
2005-12-30 | Initial W83791D support for lm(4). | Mark Kettenis | |
ok krw@ | |||
2005-12-30 | check for another sign that a lm75 is not there | Theo de Raadt | |
2005-12-29 | Match a few more lm(4) Winbond and ASUS chips. | Mark Kettenis | |
2005-12-29 | stop using I2C_F_POLL; it is a bus driver responsibility now | Theo de Raadt | |
2005-12-29 | insanity debugged with djm -- here is the comment from the code: | Theo de Raadt | |
+ * Some Maxim 1617 clones MAY NOT even read cmd 0xfc! When it is + * read, they will power-on-reset. Their default condition + * (control register bit 0x80) therefore will be that they assert + * /ALERT for the 5 potential errors that may occur. One of those + * errors is that the external temperature diode is missing. This + * is unfortunately a common choice of system designers, except + * suddenly now we get a /ALERT, which may on some chipsets cause + * us to receive an entirely unexpected SMI .. and then an NMI. + * + * As we probe each device, if we hit something which looks suspiciously + * like it may potentially be a 1617 or clone, we immediately set this + * variable to avoid reading that register offset. | |||
2005-12-29 | static functions suck | Theo de Raadt | |
2005-12-28 | probe for adm1032, a stupid stupid adm1021 | Theo de Raadt | |
2005-12-28 | correct copyright | Theo de Raadt | |
2005-12-28 | probe true lm90, lm99, lm89, lm86 devices | Theo de Raadt | |
2005-12-28 | if many regs in a "xeontemp" appear the same, it is not one | Theo de Raadt | |
2005-12-28 | some chips (especially those crazy i2c/lpc/isa gross things) expose their | Theo de Raadt | |
banks at other addresses, but there are issues with accessing these other devices. so allow a driver to "knock" these out from future probing. tested by kettenis -- unfortunate enough to have one of these winbond pieces of poo | |||
2005-12-27 | correct probe for ds1780 (lm87 clone) | Theo de Raadt | |
2005-12-27 | if too many of the early regs on a adm1021 are zero, it cannot be one.. | Theo de Raadt | |
2005-12-27 | adjust truth in adm comment | Theo de Raadt | |
2005-12-27 | Don't touch ic_exec callback directly since it can be missed for some | Alexander Yurchenko | |
controllers. Use iic_exec() instead. ok deraadt@ | |||
2005-12-27 | more paranoid checking for 47m192 | Theo de Raadt | |
2005-12-27 | correct adm2940 probe | Theo de Raadt | |
2005-12-27 | no longer use ia_compat; tested by a few | Theo de Raadt | |
2005-12-27 | match about 15 more clone chips | Theo de Raadt | |
2005-12-27 | completely bogus adm1021 check; it is much more like the xeon-style | Theo de Raadt | |
thingies; except for now i only want to do that rather loose check chip on i386 machines with this, i get sensors on a sparc64 v120. hurray | |||
2005-12-26 | split out debug code | Theo de Raadt | |
2005-12-26 | add address qualifiers to a few chips (ie. they can only occur at certain | Theo de Raadt | |
addresses) there are some "xeon" sensors that are actually real maxim1617, and hence have a 0xfe register containing maxim's identifier .. cope. remove totally bogus lm81 detection. | |||
2005-12-25 | <= instead of < in two loops; spotted by miod | Theo de Raadt | |
2005-12-25 | even though some i2c devices have ID and chip registers which we can key | Theo de Raadt | |
on, we must avoid false posities as much as possible. we have to read the manuals for the chips and find other registers which contain fixed values (or even just fixed bits). this will try to avoid us doing a false detection. as well, check for a few more chip types.. (miod should try with this) | |||
2005-12-24 | even though the adm1021 manual page doesn't say that the rev at 0xff | Theo de Raadt | |
was always 0x0?, the adm1021A (which uses 0x3?) manual page does claim that this was the case. trust it, why not. | |||
2005-12-24 | handle embedded xeon temperature probes. yes, you got it -- i2c wires | Theo de Raadt | |
coming off the processor... for an embedded adm1021 on the chip. only the "external" temperature is valid, the other one is disabled. | |||
2005-12-24 | add lm75/77 detection (not tested yet) and adm1031 probing. | Theo de Raadt | |
verbose logs for the moment, we still have a ways to go | |||
2005-12-23 | build a cacheing-read api internally, so that we can be even more stingy | Theo de Raadt | |
with i2c cycles. as well, this will let us basically now write if/else code for basically free. much easier; tested by kettenis and pval | |||
2005-12-23 | better way to probe winbonds, with kettenis | Theo de Raadt | |
2005-12-23 | oops, 0x31 is as99127f | Theo de Raadt | |
2005-12-23 | not quite becoming a nightmare, but we are getting there.. | Theo de Raadt | |
2005-12-23 | set both ia_name and ia_compat | Theo de Raadt | |
2005-12-23 | another check register | Theo de Raadt | |
2005-12-23 | next generation. grok a few more chips, but also change the logic to | Theo de Raadt | |
correct locking, etc, etc, and even try a 16-bit register read just to compare against if we fail to match.. | |||
2005-12-23 | grok some more devices | Theo de Raadt | |
2005-12-23 | work in progress towards "identifying" various devices on the i2c bus. | Theo de Raadt | |
this will later on hopefully be table driven, but first I have to read the 100 or so data sheets and start coding up detection rules..... bleah |