^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Kernel driver i2c-ali15x3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Supported adapters:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Acer Labs, Inc. ALI 1533 and 1543C (south bridge)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) Datasheet: Now under NDA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) http://www.ali.com.tw/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Authors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - Frodo Looijaard <frodol@dds.nl>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - Philip Edelbrock <phil@netroedge.com>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - Mark D. Studebaker <mdsxyz123@yahoo.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Module Parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) -----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * force_addr: int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Initialize the base address of the i2c controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Notes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) -----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) The force_addr parameter is useful for boards that don't set the address in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) the BIOS. Does not do a PCI force; the device must still be present in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) lspci. Don't use this unless the driver complains that the base address is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) not set.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) modprobe i2c-ali15x3 force_addr=0xe800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) SMBus periodically hangs on ASUS P5A motherboards and can only be cleared
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) by a power cycle. Cause unknown (see Issues below).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) This is the driver for the SMB Host controller on Acer Labs Inc. (ALI)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) M1541 and M1543C South Bridges.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) The M1543C is a South bridge for desktop systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) The M1541 is a South bridge for portable systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) They are part of the following ALI chipsets:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) * "Aladdin Pro 2" includes the M1621 Slot 1 North bridge with AGP and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 100MHz CPU Front Side bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) * "Aladdin V" includes the M1541 Socket 7 North bridge with AGP and 100MHz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) CPU Front Side bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Some Aladdin V motherboards:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) - Asus P5A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) - Atrend ATC-5220
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) - BCM/GVC VP1541
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) - Biostar M5ALA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) - Gigabyte GA-5AX (Generally doesn't work because the BIOS doesn't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) enable the 7101 device!)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) - Iwill XA100 Plus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) - Micronics C200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) - Microstar (MSI) MS-5169
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) * "Aladdin IV" includes the M1541 Socket 7 North bridge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) with host bus up to 83.3 MHz.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) For an overview of these chips see http://www.acerlabs.com. At this time the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) full data sheets on the web site are password protected, however if you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) contact the ALI office in San Jose they may give you the password.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) The M1533/M1543C devices appear as FOUR separate devices on the PCI bus. An
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) output of lspci will show something similar to the following::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 00:02.0 USB Controller: Acer Laboratories Inc. M5237 (rev 03)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 00:03.0 Bridge: Acer Laboratories Inc. M7101 <= THIS IS THE ONE WE NEED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) 00:07.0 ISA bridge: Acer Laboratories Inc. M1533 (rev c3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) 00:0f.0 IDE interface: Acer Laboratories Inc. M5229 (rev c1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) .. important::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) If you have a M1533 or M1543C on the board and you get
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) "ali15x3: Error: Can't detect ali15x3!"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) then run lspci.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) If you see the 1533 and 5229 devices but NOT the 7101 device,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) then you must enable ACPI, the PMU, SMB, or something similar
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) in the BIOS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) The driver won't work if it can't find the M7101 device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) The SMB controller is part of the M7101 device, which is an ACPI-compliant
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) Power Management Unit (PMU).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) The whole M7101 device has to be enabled for the SMB to work. You can't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) just enable the SMB alone. The SMB and the ACPI have separate I/O spaces.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) We make sure that the SMB is enabled. We leave the ACPI alone.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) Features
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) This driver controls the SMB Host only. The SMB Slave
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) controller on the M15X3 is not enabled. This driver does not use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) interrupts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Issues
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) ------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) This driver requests the I/O space for only the SMB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) registers. It doesn't use the ACPI region.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) On the ASUS P5A motherboard, there are several reports that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) the SMBus will hang and this can only be resolved by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) powering off the computer. It appears to be worse when the board
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) gets hot, for example under heavy CPU load, or in the summer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) There may be electrical problems on this board.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) On the P5A, the W83781D sensor chip is on both the ISA and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) SMBus. Therefore the SMBus hangs can generally be avoided
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) by accessing the W83781D on the ISA bus only.