162306a36Sopenharmony_ci=========================
262306a36Sopenharmony_ciKernel driver i2c-ali15x3
362306a36Sopenharmony_ci=========================
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciSupported adapters:
662306a36Sopenharmony_ci  * Acer Labs, Inc. ALI 1533 and 1543C (south bridge)
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci    Datasheet: Now under NDA
962306a36Sopenharmony_ci	http://www.ali.com.tw/
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciAuthors:
1262306a36Sopenharmony_ci	- Frodo Looijaard <frodol@dds.nl>,
1362306a36Sopenharmony_ci	- Philip Edelbrock <phil@netroedge.com>,
1462306a36Sopenharmony_ci	- Mark D. Studebaker <mdsxyz123@yahoo.com>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciModule Parameters
1762306a36Sopenharmony_ci-----------------
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci* force_addr: int
2062306a36Sopenharmony_ci    Initialize the base address of the i2c controller
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciNotes
2462306a36Sopenharmony_ci-----
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciThe force_addr parameter is useful for boards that don't set the address in
2762306a36Sopenharmony_cithe BIOS. Does not do a PCI force; the device must still be present in
2862306a36Sopenharmony_cilspci. Don't use this unless the driver complains that the base address is
2962306a36Sopenharmony_cinot set.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciExample::
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci    modprobe i2c-ali15x3 force_addr=0xe800
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciSMBus periodically hangs on ASUS P5A motherboards and can only be cleared
3662306a36Sopenharmony_ciby a power cycle. Cause unknown (see Issues below).
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciDescription
4062306a36Sopenharmony_ci-----------
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciThis is the driver for the SMB Host controller on Acer Labs Inc. (ALI)
4362306a36Sopenharmony_ciM1541 and M1543C South Bridges.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciThe M1543C is a South bridge for desktop systems.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciThe M1541 is a South bridge for portable systems.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciThey are part of the following ALI chipsets:
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci * "Aladdin Pro 2" includes the M1621 Slot 1 North bridge with AGP and
5262306a36Sopenharmony_ci   100MHz CPU Front Side bus
5362306a36Sopenharmony_ci * "Aladdin V" includes the M1541 Socket 7 North bridge with AGP and 100MHz
5462306a36Sopenharmony_ci   CPU Front Side bus
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci   Some Aladdin V motherboards:
5762306a36Sopenharmony_ci	- Asus P5A
5862306a36Sopenharmony_ci	- Atrend ATC-5220
5962306a36Sopenharmony_ci	- BCM/GVC VP1541
6062306a36Sopenharmony_ci	- Biostar M5ALA
6162306a36Sopenharmony_ci	- Gigabyte GA-5AX (Generally doesn't work because the BIOS doesn't
6262306a36Sopenharmony_ci	  enable the 7101 device!)
6362306a36Sopenharmony_ci	- Iwill XA100 Plus
6462306a36Sopenharmony_ci	- Micronics C200
6562306a36Sopenharmony_ci	- Microstar (MSI) MS-5169
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci  * "Aladdin IV" includes the M1541 Socket 7 North bridge
6862306a36Sopenharmony_ci    with host bus up to 83.3 MHz.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciFor an overview of these chips see http://www.acerlabs.com. At this time the
7162306a36Sopenharmony_cifull data sheets on the web site are password protected, however if you
7262306a36Sopenharmony_cicontact the ALI office in San Jose they may give you the password.
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciThe M1533/M1543C devices appear as FOUR separate devices on the PCI bus. An
7562306a36Sopenharmony_cioutput of lspci will show something similar to the following::
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci  00:02.0 USB Controller: Acer Laboratories Inc. M5237 (rev 03)
7862306a36Sopenharmony_ci  00:03.0 Bridge: Acer Laboratories Inc. M7101      <= THIS IS THE ONE WE NEED
7962306a36Sopenharmony_ci  00:07.0 ISA bridge: Acer Laboratories Inc. M1533 (rev c3)
8062306a36Sopenharmony_ci  00:0f.0 IDE interface: Acer Laboratories Inc. M5229 (rev c1)
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci.. important::
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci   If you have a M1533 or M1543C on the board and you get
8562306a36Sopenharmony_ci   "ali15x3: Error: Can't detect ali15x3!"
8662306a36Sopenharmony_ci   then run lspci.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci   If you see the 1533 and 5229 devices but NOT the 7101 device,
8962306a36Sopenharmony_ci   then you must enable ACPI, the PMU, SMB, or something similar
9062306a36Sopenharmony_ci   in the BIOS.
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci   The driver won't work if it can't find the M7101 device.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ciThe SMB controller is part of the M7101 device, which is an ACPI-compliant
9562306a36Sopenharmony_ciPower Management Unit (PMU).
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciThe whole M7101 device has to be enabled for the SMB to work. You can't
9862306a36Sopenharmony_cijust enable the SMB alone. The SMB and the ACPI have separate I/O spaces.
9962306a36Sopenharmony_ciWe make sure that the SMB is enabled. We leave the ACPI alone.
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ciFeatures
10262306a36Sopenharmony_ci--------
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ciThis driver controls the SMB Host only. The SMB Slave
10562306a36Sopenharmony_cicontroller on the M15X3 is not enabled. This driver does not use
10662306a36Sopenharmony_ciinterrupts.
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciIssues
11062306a36Sopenharmony_ci------
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ciThis driver requests the I/O space for only the SMB
11362306a36Sopenharmony_ciregisters. It doesn't use the ACPI region.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciOn the ASUS P5A motherboard, there are several reports that
11662306a36Sopenharmony_cithe SMBus will hang and this can only be resolved by
11762306a36Sopenharmony_cipowering off the computer. It appears to be worse when the board
11862306a36Sopenharmony_cigets hot, for example under heavy CPU load, or in the summer.
11962306a36Sopenharmony_ciThere may be electrical problems on this board.
12062306a36Sopenharmony_ciOn the P5A, the W83781D sensor chip is on both the ISA and
12162306a36Sopenharmony_ciSMBus. Therefore the SMBus hangs can generally be avoided
12262306a36Sopenharmony_ciby accessing the W83781D on the ISA bus only.
123