All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] Asus Z80V/M6V i2c support
@ 2005-09-22  1:47 Michał Mleczko
  2005-09-22  8:12 ` Rudolf Marek
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Michał Mleczko @ 2005-09-22  1:47 UTC (permalink / raw)
  To: lm-sensors

Hello everyone,

I have a few problems reading sensor data on an ASUS M6V notebook. The
notebook has an Intel 915PM chipset which should be supported by the
i2c-i801 driver. The problem is that the SMBus device is hidden by the bios
at startup similar to other boards (as I have already seen in
drivers/pci/quirks.c of the kernel source). The problem is that with the
ICH6 the SMBus device cannot be enabled anymore as with ICH[2-5] chipsets.
The data sheet indicates that the SMBus device can be enabled by setting the
Function Disable register which is listed in the chipset configuration
register memory map (p. 248 of the data sheet). Unfortunately I do not have
a clue as how to get access to these registers.
It would be really great if somebody could give me some pointers as how I
could interface these registers or at least some links with further
information as I am new to kernel programming.
Thanks a lot in advance for any suggestions.

Michal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050922/e5777cc6/attachment.html

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
@ 2005-09-22  8:12 ` Rudolf Marek
  2005-09-22 10:35 ` Michał Mleczko
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Rudolf Marek @ 2005-09-22  8:12 UTC (permalink / raw)
  To: lm-sensors

Hello,

> I have a few problems reading sensor data on an ASUS M6V notebook. The
> notebook has an Intel 915PM chipset which should be supported by the
> i2c-i801 driver. The problem is that the SMBus device is hidden by the
> bios at startup similar to other boards (as I have already seen in
> drivers/pci/quirks.c of the kernel source). The problem is that with the
> ICH6 the SMBus device cannot be enabled anymore as with ICH[2-5] chipsets.
> The data sheet indicates that the SMBus device can be enabled by setting
> the Function Disable register which is listed in the chipset
> configuration register memory map (p. 248 of the data sheet).
> Unfortunately I do not have a clue as how to get access to these registers.
> It would be really great if somebody could give me some pointers as how
> I could interface these registers or at least some links with further
> information as I am new to kernel programming.
> Thanks a lot in advance for any suggestions.

Please provide output of following commands:

lspci -n
lspci -v
lspci -v -v -v
cat /proc/ioports
cat /proc/iomem

What kernel are you using?

I will try to write a patch for you.

Regards
Rudolf

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
  2005-09-22  8:12 ` Rudolf Marek
@ 2005-09-22 10:35 ` Michał Mleczko
  2005-09-23 21:39 ` Rudolf Marek
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Michał Mleczko @ 2005-09-22 10:35 UTC (permalink / raw)
  To: lm-sensors

Hi,

thank you very much. I am using kernel 2.6.13. Could you give me some hints
as to where to look for the configuration registers? I would be interested
to find out more about this.

Anyway, here are the outputs:

# lspci -n
0000:00:00.0 Class 0600: 8086:2590 (rev 03)
0000:00:01.0 Class 0604: 8086:2591 (rev 03)
0000:00:1b.0 Class 0403: 8086:2668 (rev 04)
0000:00:1d.0 Class 0c03: 8086:2658 (rev 04)
0000:00:1d.1 Class 0c03: 8086:2659 (rev 04)
0000:00:1d.2 Class 0c03: 8086:265a (rev 04)
0000:00:1d.3 Class 0c03: 8086:265b (rev 04)
0000:00:1d.7 Class 0c03: 8086:265c (rev 04)
0000:00:1e.0 Class 0604: 8086:2448 (rev d4)
0000:00:1f.0 Class 0601: 8086:2641 (rev 04)
0000:00:1f.1 Class 0101: 8086:266f (rev 04)
0000:01:00.0 Class 0200: 11ab:4320 (rev 13)
0000:01:01.0 Class 0607: 1180:0476 (rev b3)
0000:01:01.1 Class 0c00: 1180:0552 (rev 08)
0000:01:01.2 Class 0805: 1180:0822 (rev 17)
0000:01:01.3 Class 0880: 1180:0592 (rev 08)
0000:01:01.4 Class 0880: 1180:0852 (rev 03)
0000:01:02.0 Class 0280: 8086:4220 (rev 05)
0000:03:00.0 Class 0300: 1002:3150

# lspci -v
0000:00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML
Express Processor to DRAM Controller (rev 03)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1882
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort+ >SERR- <PERR-
Latency: 0
Capabilities: [e0] #09 [2109]

0000:00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI
Express Root Port (rev 03) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0, cache line size 08
Bus: primary\0, secondary\x03, subordinate\x03, sec-latency=0
I/O behind bridge: 0000b000-0000dfff
Memory behind bridge: fea00000-feafffff
Prefetchable memory behind bridge: cff00000-dfefffff
BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-
Capabilities: [88] #0d [0000]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [90] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
Address: 00000000 Data: 0000
Capabilities: [a0] #10 [0141]

0000:00:1b.0 Class 0403: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) High Definition Audio Controller (rev 04)
Subsystem: ASUSTeK Computer Inc.: Unknown device 10c3
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0, cache line size 08
Interrupt: pin A routed to IRQ 16
Region 0: Memory at febf8000 (64-bit, non-prefetchable) [size\x16K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrentUmA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [70] #10 [0091]

0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #1 (rev 04) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 19
Region 4: I/O ports at e480 [size2]

0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #2 (rev 04) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 20
Region 4: I/O ports at e800 [size2]

0000:00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #3 (rev 04) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin C routed to IRQ 18
Region 4: I/O ports at e880 [size2]

0000:00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #4 (rev 04) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin D routed to IRQ 16
Region 4: I/O ports at ec00 [size2]

0000:00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB2 EHCI Controller (rev 04) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 19
Region 0: Memory at febffc00 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent75mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] #0a [20a0]

0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
(prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Bus: primary\0, secondary\x01, subordinate\x02, sec-latency2
I/O behind bridge: 0000a000-0000afff
Memory behind bridge: fe900000-fe9fffff
Prefetchable memory behind bridge: 0000000060000000-0000000062f00000
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [50] #0d [0000]

0000:00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface
Bridge (rev 04)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0

0000:00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) IDE Controller (rev 04) (prog-if 8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at <unassigned>
Region 1: I/O ports at <unassigned>
Region 2: I/O ports at <unassigned>
Region 3: I/O ports at <unassigned>
Region 4: I/O ports at ffa0 [size\x16]

0000:01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001
Gigabit Ethernet Controller (rev 13)
Subsystem: ASUSTeK Computer Inc. Marvell 88E8001 Gigabit Ethernet Controller
(Asus)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64 (5750ns min, 7750ns max), cache line size 08
Interrupt: pin A routed to IRQ 18
Region 0: Memory at fe9f8000 (32-bit, non-prefetchable) [size\x16K]
Region 1: I/O ports at a800 [size%6]
Expansion ROM at 62000000 [disabled] [size\x128K]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data

0000:01:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 168
Interrupt: pin A routed to IRQ 17
Region 0: Memory at fe900000 (32-bit, non-prefetchable) [size=4K]
Bus: primary\x01, secondary\x02, subordinate\x02, sec-latency\x176
Memory window 0: 60000000-61fff000 (prefetchable)
Memory window 1: 64000000-65fff000
I/O window 0: 0000a000-0000a0ff
I/O window 1: 0000a400-0000a4ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
16-bit legacy interface ports at 0001

0000:01:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller
(rev 08) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64 (500ns min, 1000ns max)
Interrupt: pin B routed to IRQ 16
Region 0: Memory at fe9fd800 (32-bit, non-prefetchable) [size=2K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME+

0000:01:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host
Adapter (rev 17)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64
Interrupt: pin C routed to IRQ 6
Region 0: Memory at fe9fe400 (32-bit, non-prefetchable) [size%6]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:01:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host
Adapter (rev 08)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 6
Region 0: Memory at fe9fe800 (32-bit, non-prefetchable) [size%6]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:01:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev
03)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 6
Region 0: Memory at fe9fec00 (32-bit, non-prefetchable) [size%6]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:01:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev
05)
Subsystem: Intel Corporation: Unknown device 2701
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64 (750ns min, 6000ns max), cache line size 08
Interrupt: pin A routed to IRQ 17
Region 0: Memory at fe9ff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-

0000:03:00.0 VGA compatible controller: ATI Technologies Inc M24 1P [Radeon
Mobility X600] (prog-if 00 [VGA])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1881
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0, cache line size 08
Interrupt: pin A routed to IRQ 5
Region 0: Memory at d0000000 (32-bit, prefetchable) [size\x128M]
Region 1: I/O ports at d000 [size%6]
Region 2: Memory at feaf0000 (32-bit, non-prefetchable) [sizedK]
Expansion ROM at cff00000 [disabled] [size\x128K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] #10 [0001]
Capabilities: [80] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000

# lspci -v -v -v
0000:00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML
Express Processor to DRAM Controller (rev 03)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1882
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort+ >SERR- <PERR-
Latency: 0
Capabilities: [e0] #09 [2109]

0000:00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI
Express Root Port (rev 03) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0, cache line size 08
Bus: primary\0, secondary\x03, subordinate\x03, sec-latency=0
I/O behind bridge: 0000b000-0000dfff
Memory behind bridge: fea00000-feafffff
Prefetchable memory behind bridge: cff00000-dfefffff
BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-
Capabilities: [88] #0d [0000]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [90] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
Address: 00000000 Data: 0000
Capabilities: [a0] #10 [0141]

0000:00:1b.0 Class 0403: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) High Definition Audio Controller (rev 04)
Subsystem: ASUSTeK Computer Inc.: Unknown device 10c3
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0, cache line size 08
Interrupt: pin A routed to IRQ 16
Region 0: Memory at febf8000 (64-bit, non-prefetchable) [size\x16K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrentUmA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [70] #10 [0091]

0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #1 (rev 04) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 19
Region 4: I/O ports at e480 [size2]

0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #2 (rev 04) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 20
Region 4: I/O ports at e800 [size2]

0000:00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #3 (rev 04) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin C routed to IRQ 18
Region 4: I/O ports at e880 [size2]

0000:00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #4 (rev 04) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin D routed to IRQ 16
Region 4: I/O ports at ec00 [size2]

0000:00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB2 EHCI Controller (rev 04) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 19
Region 0: Memory at febffc00 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent75mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] #0a [20a0]

0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
(prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Bus: primary\0, secondary\x01, subordinate\x02, sec-latency2
I/O behind bridge: 0000a000-0000afff
Memory behind bridge: fe900000-fe9fffff
Prefetchable memory behind bridge: 0000000060000000-0000000062f00000
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [50] #0d [0000]

0000:00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface
Bridge (rev 04)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0

0000:00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) IDE Controller (rev 04) (prog-if 8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at <unassigned>
Region 1: I/O ports at <unassigned>
Region 2: I/O ports at <unassigned>
Region 3: I/O ports at <unassigned>
Region 4: I/O ports at ffa0 [size\x16]

0000:01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001
Gigabit Ethernet Controller (rev 13)
Subsystem: ASUSTeK Computer Inc. Marvell 88E8001 Gigabit Ethernet Controller
(Asus)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64 (5750ns min, 7750ns max), cache line size 08
Interrupt: pin A routed to IRQ 18
Region 0: Memory at fe9f8000 (32-bit, non-prefetchable) [size\x16K]
Region 1: I/O ports at a800 [size%6]
Expansion ROM at 62000000 [disabled] [size\x128K]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data

0000:01:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 168
Interrupt: pin A routed to IRQ 17
Region 0: Memory at fe900000 (32-bit, non-prefetchable) [size=4K]
Bus: primary\x01, secondary\x02, subordinate\x02, sec-latency\x176
Memory window 0: 60000000-61fff000 (prefetchable)
Memory window 1: 64000000-65fff000
I/O window 0: 0000a000-0000a0ff
I/O window 1: 0000a400-0000a4ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
16-bit legacy interface ports at 0001

0000:01:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller
(rev 08) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64 (500ns min, 1000ns max)
Interrupt: pin B routed to IRQ 16
Region 0: Memory at fe9fd800 (32-bit, non-prefetchable) [size=2K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME+

0000:01:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host
Adapter (rev 17)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64
Interrupt: pin C routed to IRQ 6
Region 0: Memory at fe9fe400 (32-bit, non-prefetchable) [size%6]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:01:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host
Adapter (rev 08)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 6
Region 0: Memory at fe9fe800 (32-bit, non-prefetchable) [size%6]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:01:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev
03)
Subsystem: ASUSTeK Computer Inc.: Unknown device 1967
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 6
Region 0: Memory at fe9fec00 (32-bit, non-prefetchable) [size%6]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:01:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev
05)
Subsystem: Intel Corporation: Unknown device 2701
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64 (750ns min, 6000ns max), cache line size 08
Interrupt: pin A routed to IRQ 17
Region 0: Memory at fe9ff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-

0000:03:00.0 VGA compatible controller: ATI Technologies Inc M24 1P [Radeon
Mobility X600] (prog-if 00 [VGA])
Subsystem: ASUSTeK Computer Inc.: Unknown device 1881
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSELúst >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 0, cache line size 08
Interrupt: pin A routed to IRQ 5
Region 0: Memory at d0000000 (32-bit, prefetchable) [size\x128M]
Region 1: I/O ports at d000 [size%6]
Region 2: Memory at feaf0000 (32-bit, non-prefetchable) [sizedK]
Expansion ROM at cff00000 [disabled] [size\x128K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] #10 [0001]
Capabilities: [80] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000

# cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
0378-037a : parport0
037b-037f : parport0
03c0-03df : vesafb
03f6-03f6 : ide0
0680-068f : pnp 00:07
0800-0803 : PM1a_EVT_BLK
0804-0805 : PM1a_CNT_BLK
0808-080b : PM_TMR
0810-0815 : ACPI CPU throttle
0828-082f : GPE0_BLK
a000-afff : PCI Bus #01
a000-a0ff : PCI CardBus #02
a400-a4ff : PCI CardBus #02
a800-a8ff : 0000:01:00.0
a800-a8ff : SysKonnect SK-98xx
b000-dfff : PCI Bus #03
d000-d0ff : 0000:03:00.0
e480-e49f : 0000:00:1d.0
e480-e49f : uhci_hcd
e800-e81f : 0000:00:1d.1
e800-e81f : uhci_hcd
e880-e89f : 0000:00:1d.2
e880-e89f : uhci_hcd
ec00-ec1f : 0000:00:1d.3
ec00-ec1f : uhci_hcd
ffa0-ffaf : 0000:00:1f.1
ffa0-ffa7 : ide0
ffa8-ffaf : ide1

# cat /proc/iomem
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000cffff : Video ROM
000f0000-000fffff : System ROM
00100000-5ffbffff : System RAM
00100000-003b9e55 : Kernel code
003b9e56-004aa3e7 : Kernel data
5ffc0000-5ffcefff : ACPI Tables
5ffcf000-5fffffff : ACPI Non-volatile Storage
60000000-62ffffff : PCI Bus #01
60000000-61ffffff : PCI CardBus #02
62000000-6201ffff : 0000:01:00.0
64000000-65ffffff : PCI CardBus #02
cff00000-dfefffff : PCI Bus #03
cff00000-cff1ffff : 0000:03:00.0
d0000000-d7ffffff : 0000:03:00.0
d0000000-d3ffffff : vesafb
fe900000-fe9fffff : PCI Bus #01
fe900000-fe900fff : 0000:01:01.0
fe900000-fe900fff : yenta_socket
fe9f8000-fe9fbfff : 0000:01:00.0
fe9f8000-fe9fbfff : SysKonnect SK-98xx
fe9fd800-fe9fdfff : 0000:01:01.1
fe9fd800-fe9fdfff : ohci1394
fe9fe400-fe9fe4ff : 0000:01:01.2
fe9fe800-fe9fe8ff : 0000:01:01.3
fe9fec00-fe9fecff : 0000:01:01.4
fe9ff000-fe9fffff : 0000:01:02.0
fe9ff000-fe9fffff : ipw2200
fea00000-feafffff : PCI Bus #03
feaf0000-feafffff : 0000:03:00.0
febf8000-febfbfff : 0000:00:1b.0
febf8000-febfbfff : ICH HD audio
febffc00-febfffff : 0000:00:1d.7
febffc00-febfffff : ehci_hcd
fed14000-fed19fff : reserved
fed1c000-fed1ffff : reserved
ffb80000-ffffffff : reserved


Regards,
Michal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050922/23bedd82/attachment-0001.html

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
  2005-09-22  8:12 ` Rudolf Marek
  2005-09-22 10:35 ` Michał Mleczko
@ 2005-09-23 21:39 ` Rudolf Marek
  2005-09-24  1:48 ` Michał Mleczko
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Rudolf Marek @ 2005-09-23 21:39 UTC (permalink / raw)
  To: lm-sensors

Micha? Mleczko wrote:
> Hi,
> 
> thank you very much. I am using kernel 2.6.13. Could you give me some
> hints as to where to look for the configuration registers? I would be
> interested to find out more about this.

Hello,

As you pointed out you need to get to that enable register. This register is provided in PCI address space.
To access it you need to its base address. RCBA--Root Complex Base Address Register (page 361) Value in register
is 16KB aligned so it size is also 16KB. Then you just need to map it to address space of procesor. This
can be done via ioremap_nocache. Once mapped you just need to change right bit in right place.
Note that you can access to this register only in 32bit chunks.(so readl/writel should help).

Rest is simple. We will use PCI hostbridge vendor ID to idetify your notebook. When done, we will read
the RCBA base and do the stuff. Code I'm attaching is totally untested but I belive it should work.
Edit it to your taste and let us know if it works for you. If so I will prepare final patch and post it
to kernel. Also it seems we need the GPIO and ACPI iospace quirk too, but this can be done later.

Standard disclaimer: Do not blame us if you blow up your notebook.

Regards

Rudolf
-------------- next part --------------
diff -Naur a/drivers/pci/quirks.c b/drivers/pci/quirks.c
--- a/drivers/pci/quirks.c	2005-09-20 05:00:41.000000000 +0200
+++ b/drivers/pci/quirks.c	2005-09-23 21:36:12.649136000 +0200
@@ -847,6 +847,12 @@
 			case 0x186a: /* M6Ne notebook */
 				asus_hides_smbus = 1;
 			}
+		if (dev->device = PCI_DEVICE_ID_INTEL_82915GM_HB)
+			switch (dev->subsystem_device) {
+			case 0x1882: /* MV6V notebook */
+				asus_hides_smbus = 1;
+			}
+			
 	} else if (unlikely(dev->subsystem_vendor = PCI_VENDOR_ID_HP)) {
 		if (dev->device =  PCI_DEVICE_ID_INTEL_82855PM_HB)
 			switch(dev->subsystem_device) {
@@ -891,6 +897,7 @@
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_7205_0,	asus_hides_smbus_hostbridge );
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82855PM_HB,	asus_hides_smbus_hostbridge );
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82855GM_HB,	asus_hides_smbus_hostbridge );
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82915GM_HB,	asus_hides_smbus_hostbridge );
 
 static void __init asus_hides_smbus_lpc(struct pci_dev *dev)
 {
@@ -915,6 +922,27 @@
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801DB_12,	asus_hides_smbus_lpc );
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801EB_0,	asus_hides_smbus_lpc );
 
+static void __init asus_hides_smbus_lpc_ich6(struct pci_dev *dev)
+{
+	u32 val;
+	u32 rcba;
+	void __iomem *base;
+
+	if (likely(!asus_hides_smbus))
+		return;
+	pci_read_config_dword(dev, 0xF0, &rcba);
+	base = ioremap_nocache(rcba,0x4000);
+	printk(KERN_INFO "PCI: Trying to enable ICH6 SMBus. RCBA base 0x%x relocated 0x%x \n",rcba,base);
+	if (base = NULL) return;
+	val=readl(base+0x3418);
+	val&=0xFFFFFFF7;
+	writel(val,base+0x3418);
+	iounmap(rcba);
+	printk(KERN_INFO "PCI: Done. I wrote: %x\n",val);
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_ICH6_1,	asus_hides_smbus_lpc_ich6 );
+
+
 /*
  * SiS 96x south bridge: BIOS typically hides SMBus device...
  */

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (2 preceding siblings ...)
  2005-09-23 21:39 ` Rudolf Marek
@ 2005-09-24  1:48 ` Michał Mleczko
  2005-09-24 12:53 ` Michał Mleczko
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Michał Mleczko @ 2005-09-24  1:48 UTC (permalink / raw)
  To: lm-sensors

Hi!

As you pointed out you need to get to that enable register. This register is
> provided in PCI address space.
> To access it you need to its base address. RCBA--Root Complex Base Address
> Register (page 361) Value in register
> is 16KB aligned so it size is also 16KB. Then you just need to map it to
> address space of procesor. This
> can be done via ioremap_nocache. Once mapped you just need to change right
> bit in right place.
> Note that you can access to this register only in 32bit chunks.(so
> readl/writel should help).

First of all thank you very much for the very quick response! Unfortunately
the patch does not work. I have read the value in the register even before
we write anything to it and the value stored is 0x1000f00 which means that
bit 3 is 0 and therefore the SMBus controller should be enabled. So there
must be some other means of enabling it. Under windows I have seen that the
software Everest Home enables the controller and it works so there *is* a
way of enabling it...

Regards,
Michal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050924/3a81c4a5/attachment.html

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (3 preceding siblings ...)
  2005-09-24  1:48 ` Michał Mleczko
@ 2005-09-24 12:53 ` Michał Mleczko
  2005-09-24 20:40 ` Rudolf Marek
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Michał Mleczko @ 2005-09-24 12:53 UTC (permalink / raw)
  To: lm-sensors

Hi,

I have another question. Don't I have to do a 14-bit right shift of the
contents of register the rcba to get the actual base address as its stored
in bits 14-31 of the register?
Thanks a lot in advance for helping.

Regards,
Michal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050924/c3e7ebe8/attachment.html

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (4 preceding siblings ...)
  2005-09-24 12:53 ` Michał Mleczko
@ 2005-09-24 20:40 ` Rudolf Marek
  2005-09-24 20:45 ` Michał Mleczko
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Rudolf Marek @ 2005-09-24 20:40 UTC (permalink / raw)
  To: lm-sensors


Hello,

> I have another question. Don't I have to do a 14-bit right shift of the
> contents of register the rcba to get the actual base address as its
> stored in bits 14-31 of the register?

I think no, because the bits are reserved just because of it must be aligned to 16KB boundary.
Proper approach would be to mask the reserved registers to 0 but default is 000 anyway.

Hmm it seems that this is not what we want anyway:

When a function is disabled, software must not attempt to re-enable it. A disabled function can
only be re-enabled by a platform reset.

Question is if we really have correct rcba base addr. Can you read some other values and see if they match with register?

Another question is how to get the SMBUS back...

I will try to find out something...

You can find me on IRC freenode.net #linux-sensors.

Regards
Rudolf

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (5 preceding siblings ...)
  2005-09-24 20:40 ` Rudolf Marek
@ 2005-09-24 20:45 ` Michał Mleczko
  2005-09-24 21:48 ` Rudolf Marek
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Michał Mleczko @ 2005-09-24 20:45 UTC (permalink / raw)
  To: lm-sensors

Skipped content of type multipart/alternative-------------- next part --------------
A non-text attachment was scrubbed...
Name: quirks.patch
Type: application/octet-stream
Size: 2563 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050924/0287ab6c/quirks.obj

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (6 preceding siblings ...)
  2005-09-24 20:45 ` Michał Mleczko
@ 2005-09-24 21:48 ` Rudolf Marek
  2005-09-24 23:19 ` Michał Mleczko
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Rudolf Marek @ 2005-09-24 21:48 UTC (permalink / raw)
  To: lm-sensors


> After some trial and error it finally works today. :-) I now see the
> SMBus device and can access everything. The patch is attached.

Ok thanks. Oh I forgot about the enable bit in the IOBASE...

> Thank you for your help!

No problem.

I'm attaching final patch. Please test it.

Thanks,
regards
Rudolf
-------------- next part --------------
diff -Naur a/drivers/pci/quirks.c b/drivers/pci/quirks.c
--- a/drivers/pci/quirks.c	2005-09-20 05:00:41.000000000 +0200
+++ b/drivers/pci/quirks.c	2005-09-24 21:45:33.099427000 +0200
@@ -847,6 +847,12 @@
 			case 0x186a: /* M6Ne notebook */
 				asus_hides_smbus = 1;
 			}
+		if (dev->device = PCI_DEVICE_ID_INTEL_82915GM_HB)
+			switch (dev->subsystem_device) {
+			case 0x1882: /* MV6V notebook */
+				asus_hides_smbus = 1;
+			}
+			
 	} else if (unlikely(dev->subsystem_vendor = PCI_VENDOR_ID_HP)) {
 		if (dev->device =  PCI_DEVICE_ID_INTEL_82855PM_HB)
 			switch(dev->subsystem_device) {
@@ -891,6 +897,7 @@
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_7205_0,	asus_hides_smbus_hostbridge );
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82855PM_HB,	asus_hides_smbus_hostbridge );
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82855GM_HB,	asus_hides_smbus_hostbridge );
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82915GM_HB,	asus_hides_smbus_hostbridge );
 
 static void __init asus_hides_smbus_lpc(struct pci_dev *dev)
 {
@@ -915,6 +922,23 @@
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801DB_12,	asus_hides_smbus_lpc );
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82801EB_0,	asus_hides_smbus_lpc );
 
+static void __init asus_hides_smbus_lpc_ich6(struct pci_dev *dev)
+{
+	u32 val, rcba;
+	void __iomem *base;
+
+	if (likely(!asus_hides_smbus))
+		return;
+	pci_read_config_dword(dev, 0xF0, &rcba);
+	base = ioremap_nocache(rcba & 0xFFFFC000, 0x4000); /* use bits 31:14, 16KB aligned */
+	if (base = NULL) return;
+	val = readl(base + 0x3418); /* read the Function Disable register, dword mode only */
+	writel(val & 0xFFFFFFF7, base + 0x3418); /* enable the SMBus device */
+	iounmap(rcba);
+	printk(KERN_INFO "PCI: Enabled ICH6/i801 SMBus device\n");
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_ICH6_1,	asus_hides_smbus_lpc_ich6 );
+
 /*
  * SiS 96x south bridge: BIOS typically hides SMBus device...
  */

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (7 preceding siblings ...)
  2005-09-24 21:48 ` Rudolf Marek
@ 2005-09-24 23:19 ` Michał Mleczko
  2005-09-25  0:07 ` Rudolf Marek
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Michał Mleczko @ 2005-09-24 23:19 UTC (permalink / raw)
  To: lm-sensors

Skipped content of type multipart/alternative-------------- next part --------------
A non-text attachment was scrubbed...
Name: quirks.patch
Type: application/octet-stream
Size: 3001 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050924/2d828428/quirks-0001.obj

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (8 preceding siblings ...)
  2005-09-24 23:19 ` Michał Mleczko
@ 2005-09-25  0:07 ` Rudolf Marek
  2005-09-27 15:24 ` Michał Mleczko
  2005-09-27 23:34 ` Rudolf Marek
  11 siblings, 0 replies; 13+ messages in thread
From: Rudolf Marek @ 2005-09-25  0:07 UTC (permalink / raw)
  To: lm-sensors

Hello,

Thanks for the patch, but I would prefer a single one for the region quirk and you will recive
the credits when this will be in kernel :)

Hmm it seems you have ACPI PNP that will put correct IO regions to  /proc/ioports,
Please try booting without the quirk patch with pnpacpi=off

and then cat /proc/ioports
and then with same kernel option but with the quirk patch.

Thanks

Regards
Rudolf

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (9 preceding siblings ...)
  2005-09-25  0:07 ` Rudolf Marek
@ 2005-09-27 15:24 ` Michał Mleczko
  2005-09-27 23:34 ` Rudolf Marek
  11 siblings, 0 replies; 13+ messages in thread
From: Michał Mleczko @ 2005-09-27 15:24 UTC (permalink / raw)
  To: lm-sensors

Skipped content of type multipart/alternative-------------- next part --------------
A non-text attachment was scrubbed...
Name: quirk_lpc_ich6.patch
Type: application/octet-stream
Size: 2228 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050927/01fe40bd/quirk_lpc_ich6.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: quirk_acpi_region_ich6.patch
Type: application/octet-stream
Size: 913 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050927/01fe40bd/quirk_acpi_region_ich6.obj

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [lm-sensors] Asus Z80V/M6V i2c support
  2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
                   ` (10 preceding siblings ...)
  2005-09-27 15:24 ` Michał Mleczko
@ 2005-09-27 23:34 ` Rudolf Marek
  11 siblings, 0 replies; 13+ messages in thread
From: Rudolf Marek @ 2005-09-27 23:34 UTC (permalink / raw)
  To: lm-sensors

As far I can see it looks OK to me.
Thank you very much for your testing. I will push the patches to Greg.

Regards
Rudolf



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2005-09-27 23:34 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-22  1:47 [lm-sensors] Asus Z80V/M6V i2c support Michał Mleczko
2005-09-22  8:12 ` Rudolf Marek
2005-09-22 10:35 ` Michał Mleczko
2005-09-23 21:39 ` Rudolf Marek
2005-09-24  1:48 ` Michał Mleczko
2005-09-24 12:53 ` Michał Mleczko
2005-09-24 20:40 ` Rudolf Marek
2005-09-24 20:45 ` Michał Mleczko
2005-09-24 21:48 ` Rudolf Marek
2005-09-24 23:19 ` Michał Mleczko
2005-09-25  0:07 ` Rudolf Marek
2005-09-27 15:24 ` Michał Mleczko
2005-09-27 23:34 ` Rudolf Marek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.