| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
then skip it. it's some quirky piece of garbage we can never support
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
| |
|
|
|
|
|
| |
driver (Asus believe this chip is such critically important IP they won't
release docs for it); feedback deraadt@ and kettenis@, ok kettenis@
|
| |
|
|
|
|
| |
ok krw@
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ * 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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
controllers. Use iic_exec() instead.
ok deraadt@
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
was always 0x0?, the adm1021A (which uses 0x3?) manual page does claim
that this was the case. trust it, why not.
|
|
|
|
|
| |
coming off the processor... for an embedded adm1021 on the chip. only
the "external" temperature is valid, the other one is disabled.
|
|
|
|
| |
verbose logs for the moment, we still have a ways to go
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
correct locking, etc, etc, and even try a 16-bit register read just to
compare against if we fail to match..
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
have drivers for. iic(4) will scan the bus for them and try to
attach an appropriate driver.
For now iic(4) scans for all possible addresses for debugging purposes.
ok deraadt@
|