WARNING: THE CURRENT DRIVER SIMPLY DOES NOT WORK. DO NOT USE.

ICSPLL Driver
-------------
This is a clock chip reader.
It requires an SMBus interface chip and a clock chip
which supports SMBus block reads.

Stability
---------
*** ALPHA - It may hang your SMBus or crash your entire system.  ***
*** Using this driver with an unsupported chip or configuration  ***
*** is even more likely to hang your SMBus or crash your system. ***


AUTODETECTION
-------------
None is possible, these chips do not have ID registers.
Read the full part number on your clock chip and read this
documentation before insmod'ing the icspll module.


CHIPS SUPPORTED
---------------
This driver will only work on clock chips that support the SMBus
block read, which includes a length byte.
The clock chip must be at address 0x69.

According to ICS, this includes the following chips:
	ICS9148-xx (xx > 20) with a serial interface
	ICS9248-xx (all xx) with a serial interface

Other ICS chips DO NOT support SMBus block reads. 
Not all 9148/9248 ICS chips have a serial interface.
See http://www.icst.com to get the data sheet for your clock
chip.

You must have a piix4 or a ali15x3 chip to have this work.
Other bridge chips like the via support I2C
but not SMBus-style block reads.

Writes are not supported.

    Partial list of supported chips:
	ICS:
		9148-32, 9248-81
	PLL:
		none?


CHIPS NOT SUPPORTED
-------------------
Other ICS chips and PhaseLink Labs (PLL) chips ( http://www.phaselink.com )
have an I2C serial interface that is not compatible
with SMBus block reads because they do not output a length byte.
However because of a lack of block read support in the I2C package,
this driver won't work with native I2C systems (like the via)
at the moment.

There may be some PLL chips that support the SMBus length byte,
who knows.

These chips are compatible with SMBus writes which is why
motherboard designers put them on the SMBus, so that the BIOS
can configure them.
But this driver will not support write-only chips.

    Partial list of unsupported chips:
	ICS:
	  9148-02, 9148B-04, 9148-08, 9150-01, 9150-04, 9150-11
	PLL:
	  52C64-05, 52C64-25, 52C65-02, 52C66-01, 52C66-03, 52C66-10,
	  52C66-11, 52C66-28, 52C66-29, 52C66-31, 52C66-38, 52C66-39,
	  52C68-02, 52C68-04, 52C69-13, 52C69-15



/PROC ENTRY
-----------
These chips have up to 7 registers.
They will appear as 7 decimal values when you cat
/proc/sys/dev/sensors/icspll-i2c-*-69/reg0-6.


RESULTS
-------
If you try this on a supported configuration,
please report your clock chip, your SMBus chip
(piix4 or ali15x3), and the results of
'cat /proc/sys/dev/sensors/icspll-i2c-*-69/reg0-6'


TO DO
-----
Add a chip= parameter so that you know what chip it is.
Put more entries in /proc for the individual fields in the registers.
Native I2C support.
Writes?


Author/Maintainer
-----------------
Mark D. Studebaker (mdsxyz123@yahoo.com)

