[i2c] M1563 - "Could not allocate I/O space"

Brian Hinz bphinz at hotmail.com
Wed Dec 6 02:56:55 CET 2006


Hi,

I have a notebook with an ALI1563 southbridge that loads the kernel i2c 
module, but fails to enable it with the message "ali1563_smbus 0000:00:03.0: 
Could not allocate I/O space".  I dumped the dsdt from the bios and found 
that it's allocating 15 bytes at 0x8080:

                        IO (Decode16,
                            0x8080,             // Address Range Minimum
                            0x8080,             // Address Range Maximum
                            0x01,               // Address Alignment
                            0x0E,               // Address Length
                            )

Whereas the i2c code seems to expect 16 bytes at 0x8083:

#define  ALI1563_SMBBA     0x80
...
#define ALI1563_SMB_IOSIZE 16

% lspci -xxx
...
00:03.0 ISA bridge: ALi Corporation M1563 HyperTransport South Bridge (rev 
20)
00: b9 10 63 15 0f 00 00 02 20 00 01 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 bd 13 3b 10
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 18
40: b5 04 40 10 dd 00 00 00 13 42 55 11 07 90 00 10
50: 02 00 02 00 0d 09 01 00 00 4e 7f d8 81 00 00 00
60: 00 00 00 30 03 d0 00 00 00 00 00 00 00 00 00 00
70: 00 02 63 15 09 00 00 00 33 ff ff 87 00 00 00 00
80: 83 80 00 00 01 00 cc dd 00 00 ee 00 00 00 00 5f
90: 54 9c df dd 00 12 00 00 7b a4 99 00 01 49 00 38
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 55 9c 01 50 e8 01 73 33 10 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

I tried recompiling the dsdt with:
...
                        IO (Decode16,
                            0x8083,             // Range Minimum
                            0x8083,             // Range Maximum
                            0x01,               // Alignment
                            0x0F,               // Length
                            )

But still no luck.  /proc/ioports just shows that pnp is still hogging this 
resource range.  I've also tried booting with 'pnpacpi=off', same results 
except that /proc/ioports lists it as "motherboard" rather than "pnp".  Any 
thoughts as to how I can correct this?  Also, this sounds dumb, but what 
effect does this have on overall powermanagement/perfomance (the PMU is an 
M7101)?  I can't find a datasheet for this device so I have no idea what it 
defaults to...

Thanks,
-brian





More information about the i2c mailing list