All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
@ 2013-10-27 22:45 Igor Popik
  2013-10-28  1:26 ` Guenter Roeck
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Igor Popik @ 2013-10-27 22:45 UTC (permalink / raw)
  To: lm-sensors

I was hoping that emc2103 driver will work for my Yoga 13 laptop with
EMC2104 chip but I had no luck with sensors-detect nor loading the
emc2103 driver manually (compiled with additional "debug" with no
luck).

isadump produces following output:

sudo isadump -y -k 0x55 0x2e 0x2f
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 85 19 08 01 00 00 00 00 00 00 00 00 01 00 00 00
30: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 04 04 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 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'm sure that it is EMC2104 because I opened my laptop case and found
that chip on mainboard. Any other things I could try?

Thanks,
Igor

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
@ 2013-10-28  1:26 ` Guenter Roeck
  2013-10-29  8:07 ` Jean Delvare
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Guenter Roeck @ 2013-10-28  1:26 UTC (permalink / raw)
  To: lm-sensors

On 10/27/2013 03:45 PM, Igor Popik wrote:
> I was hoping that emc2103 driver will work for my Yoga 13 laptop with
> EMC2104 chip but I had no luck with sensors-detect nor loading the
> emc2103 driver manually (compiled with additional "debug" with no
> luck).
>
> isadump produces following output:
>
> sudo isadump -y -k 0x55 0x2e 0x2f
>       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
> 00: 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 00
> 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 85 19 08 01 00 00 00 00 00 00 00 00 01 00 00 00
> 30: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 70: 00 00 00 00 04 04 00 00 00 00 00 00 00 00 00 00
> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 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'm sure that it is EMC2104 because I opened my laptop case and found
> that chip on mainboard. Any other things I could try?
>

Hi Igor,

Quite possible that you have an EMC2104 in your system.
However, that is an I2C chip, which you would not see with
isadump. The above seems to be an IT8519E, which is an
embedded controller from ITE.

Unfortunately, we neither support the IT8519E nor the EMC2104
at this time. It should be possible to add support for EMC2104
to the EMC2103 driver, but someone would have to implement it.
If you want to hack, you could add the emc2104 device id (0x1d)
and the emmc2104 I2C address (0x2f) to the driver. That _should_
give you access to some of the temperature sensors and to one
of the fan controllers. No guarantee, though.

Adding support for the ITE chip is all but impossible; the datasheet
is not available in public. Assuming it does provide any environmental
monitor functionality, your best chance would be an ACPI driver.
You could try loading the thinkpad_acpi driver to see if it works.

Guenter


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
  2013-10-28  1:26 ` Guenter Roeck
@ 2013-10-29  8:07 ` Jean Delvare
  2013-10-29 18:14 ` Igor Popik
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jean Delvare @ 2013-10-29  8:07 UTC (permalink / raw)
  To: lm-sensors

Hi Guenter, hi Igor,

On Sun, 27 Oct 2013 18:26:20 -0700, Guenter Roeck wrote:
> (...) It should be possible to add support for EMC2104
> to the EMC2103 driver, but someone would have to implement it.
> If you want to hack, you could add the emc2104 device id (0x1d)
> and the emmc2104 I2C address (0x2f) to the driver. That _should_
> give you access to some of the temperature sensors and to one
> of the fan controllers. No guarantee, though.

For that kind of test, you don't even need to change the code. You can
simply instantiate the device from user-space manually using method 4
described in
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/i2c/instantiating-devices

Whether it will work or cause your hardware to crash and burn, I can't
say. I would be very cautious with a fan controller chip.

Igor, could you please provide a register dump (using the i2c-dev
driver + i2cdump from the i2c-tools package) of your EMC2104 chip?

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
  2013-10-28  1:26 ` Guenter Roeck
  2013-10-29  8:07 ` Jean Delvare
@ 2013-10-29 18:14 ` Igor Popik
  2013-10-29 20:06 ` Jean Delvare
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Igor Popik @ 2013-10-29 18:14 UTC (permalink / raw)
  To: lm-sensors

Hi,

I added new adresses to emc2103 driver with no effect. I checked if
the module works  with trying to load i2c-stub module  with 0x2e &
other addresses - it triggers the device detection in the module.= but
of course without success as it is a dummy i2c device.

After that I think I'm beginning to understand how it all works so I
ran i2cdetect

# i2cdetect -l
i2c-0 i2c       i915 gmbus ssc                   I2C adapter
i2c-1 i2c       i915 gmbus vga                   I2C adapter
i2c-2 i2c       i915 gmbus panel                 I2C adapter
i2c-3 i2c       i915 gmbus dpc                   I2C adapter
i2c-4 i2c       i915 gmbus dpb                   I2C adapter
i2c-5 i2c       i915 gmbus dpd                   I2C adapter
i2c-6 i2c       DPDDC-D                         I2C adapter
i2c-7 smbus     SMBus stub driver               SMBus adapter (dummy
driver I played with)

Should I see emc adapter there or not? I think I should.

From what I understand to instantiate a device from user space proper
entry in /sys/bus/i2c/devices/i2c-... has to exist.

Is it possible that EMC2104 in my laptop is somehow invisible to
OS/i2c bus? I'm sure it is there - I can send You a picture ;-)

Igor

2013/10/29 Jean Delvare <khali@linux-fr.org>:
> Hi Guenter, hi Igor,
>
> On Sun, 27 Oct 2013 18:26:20 -0700, Guenter Roeck wrote:
>> (...) It should be possible to add support for EMC2104
>> to the EMC2103 driver, but someone would have to implement it.
>> If you want to hack, you could add the emc2104 device id (0x1d)
>> and the emmc2104 I2C address (0x2f) to the driver. That _should_
>> give you access to some of the temperature sensors and to one
>> of the fan controllers. No guarantee, though.
>
> For that kind of test, you don't even need to change the code. You can
> simply instantiate the device from user-space manually using method 4
> described in
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/i2c/instantiating-devices
>
> Whether it will work or cause your hardware to crash and burn, I can't
> say. I would be very cautious with a fan controller chip.
>
> Igor, could you please provide a register dump (using the i2c-dev
> driver + i2cdump from the i2c-tools package) of your EMC2104 chip?
>
> --
> Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
                   ` (2 preceding siblings ...)
  2013-10-29 18:14 ` Igor Popik
@ 2013-10-29 20:06 ` Jean Delvare
  2013-10-29 21:57 ` Igor Popik
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jean Delvare @ 2013-10-29 20:06 UTC (permalink / raw)
  To: lm-sensors

Hi Igor,

On Tue, 29 Oct 2013 19:14:14 +0100, Igor Popik wrote:
> I added new adresses to emc2103 driver with no effect. I checked if
> the module works  with trying to load i2c-stub module  with 0x2e &
> other addresses - it triggers the device detection in the module.= but
> of course without success as it is a dummy i2c device.
> 
> After that I think I'm beginning to understand how it all works so I
> ran i2cdetect
> 
> # i2cdetect -l
> i2c-0 i2c       i915 gmbus ssc                   I2C adapter
> i2c-1 i2c       i915 gmbus vga                   I2C adapter
> i2c-2 i2c       i915 gmbus panel                 I2C adapter
> i2c-3 i2c       i915 gmbus dpc                   I2C adapter
> i2c-4 i2c       i915 gmbus dpb                   I2C adapter
> i2c-5 i2c       i915 gmbus dpd                   I2C adapter
> i2c-6 i2c       DPDDC-D                         I2C adapter
> i2c-7 smbus     SMBus stub driver               SMBus adapter (dummy
> driver I played with)
> 
> Should I see emc adapter there or not? I think I should.

No, the EMC2104 chip is an I2C/SMBus client, not an I2C/SMBus master, so
it's expected you don't see it in the list above. The EMC2104 chip is
connected to one of the adapters. What is surprising is that I'd expect
your motherboard's SMBus to show up in the adapter list but it's not
there. Please check in lspci if you can see it. Then tell us which
kernel you're running.

> From what I understand to instantiate a device from user space proper
> entry in /sys/bus/i2c/devices/i2c-... has to exist.

Yes, you need the /sys/bus/i2c/devices/i2c-<N> which corresponds to
your SMBus.

> Is it possible that EMC2104 in my laptop is somehow invisible to
> OS/i2c bus? I'm sure it is there - I can send You a picture ;-)

Yes, we've seen it before. The SMBus controller can be hidden, or made
inaccessible to the OS due to ACPI resource conflicts, or the EMC2104
could be behind and I2C switch/gate, or it could be connected using an
arbitrary pair of GPIO pins and we'll never guess what they are...

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
                   ` (3 preceding siblings ...)
  2013-10-29 20:06 ` Jean Delvare
@ 2013-10-29 21:57 ` Igor Popik
  2013-10-29 22:37 ` Igor Popik
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Igor Popik @ 2013-10-29 21:57 UTC (permalink / raw)
  To: lm-sensors

Hi Jean,

2013/10/29 Jean Delvare <khali@linux-fr.org>:
> Hi Igor,
>
> On Tue, 29 Oct 2013 19:14:14 +0100, Igor Popik wrote:
>> I added new adresses to emc2103 driver with no effect. I checked if
>> the module works  with trying to load i2c-stub module  with 0x2e &
>> other addresses - it triggers the device detection in the module.= but
>> of course without success as it is a dummy i2c device.
>>
>> After that I think I'm beginning to understand how it all works so I
>> ran i2cdetect
>>
>> # i2cdetect -l
>> i2c-0 i2c       i915 gmbus ssc                   I2C adapter
>> i2c-1 i2c       i915 gmbus vga                   I2C adapter
>> i2c-2 i2c       i915 gmbus panel                 I2C adapter
>> i2c-3 i2c       i915 gmbus dpc                   I2C adapter
>> i2c-4 i2c       i915 gmbus dpb                   I2C adapter
>> i2c-5 i2c       i915 gmbus dpd                   I2C adapter
>> i2c-6 i2c       DPDDC-D                         I2C adapter
>> i2c-7 smbus     SMBus stub driver               SMBus adapter (dummy
>> driver I played with)
>>
>> Should I see emc adapter there or not? I think I should.
>
> No, the EMC2104 chip is an I2C/SMBus client, not an I2C/SMBus master, so
> it's expected you don't see it in the list above. The EMC2104 chip is
> connected to one of the adapters. What is surprising is that I'd expect
> your motherboard's SMBus to show up in the adapter list but it's not
> there. Please check in lspci if you can see it. Then tell us which
> kernel you're running.

My lspci output (Intel SMBus is visible):

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM
Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core
processor Graphics Controller (rev 09)
00:04.0 Signal processing controller: Intel Corporation 3rd Gen Core
Processor Thermal Subsystem (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210
Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset
Family High Definition Audio Controller (rev 04)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QS77 Express Chipset LPC
Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family
6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family
SMBus Controller (rev 04)
00:1f.6 Signal processing controller: Intel Corporation 7 Series/C210
Series Chipset Family Thermal Management Controller (rev 04)

uname -a
Linux yoga-alien-13 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9
16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

>> From what I understand to instantiate a device from user space proper
>> entry in /sys/bus/i2c/devices/i2c-... has to exist.
>
> Yes, you need the /sys/bus/i2c/devices/i2c-<N> which corresponds to
> your SMBus.
>
>> Is it possible that EMC2104 in my laptop is somehow invisible to
>> OS/i2c bus? I'm sure it is there - I can send You a picture ;-)
>
> Yes, we've seen it before. The SMBus controller can be hidden, or made
> inaccessible to the OS due to ACPI resource conflicts, or the EMC2104
> could be behind and I2C switch/gate, or it could be connected using an
> arbitrary pair of GPIO pins and we'll never guess what they are...


After some googling& investigation in documentation of i2c-i801 driver
I found out that it should work for that chipset but in some cases can
be conflicted with ACPI (as You wrote above), and in my case it is
(messages after loading i2c-i801 driver):

ACPI Warning: 0x0000000000002040-0x000000000000205f SystemIO conflicts
with Region \_SB_.PCI0.SBUS.SMBI 1 (20130517/utaddress-251)
ACPI: If an ACPI driver is available for this device, you should use
it instead of the native driver

So I guess nothing can be done?

Thanks,
Igor

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
                   ` (4 preceding siblings ...)
  2013-10-29 21:57 ` Igor Popik
@ 2013-10-29 22:37 ` Igor Popik
  2013-10-30  2:25 ` Guenter Roeck
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Igor Popik @ 2013-10-29 22:37 UTC (permalink / raw)
  To: lm-sensors

2013/10/29 Igor Popik <igor.popik@gmail.com>:
> Hi Jean,
>
> 2013/10/29 Jean Delvare <khali@linux-fr.org>:
>> Hi Igor,
>>
>> On Tue, 29 Oct 2013 19:14:14 +0100, Igor Popik wrote:
>>> I added new adresses to emc2103 driver with no effect. I checked if
>>> the module works  with trying to load i2c-stub module  with 0x2e &
>>> other addresses - it triggers the device detection in the module.= but
>>> of course without success as it is a dummy i2c device.
>>>
>>> After that I think I'm beginning to understand how it all works so I
>>> ran i2cdetect
>>>
>>> # i2cdetect -l
>>> i2c-0 i2c       i915 gmbus ssc                   I2C adapter
>>> i2c-1 i2c       i915 gmbus vga                   I2C adapter
>>> i2c-2 i2c       i915 gmbus panel                 I2C adapter
>>> i2c-3 i2c       i915 gmbus dpc                   I2C adapter
>>> i2c-4 i2c       i915 gmbus dpb                   I2C adapter
>>> i2c-5 i2c       i915 gmbus dpd                   I2C adapter
>>> i2c-6 i2c       DPDDC-D                         I2C adapter
>>> i2c-7 smbus     SMBus stub driver               SMBus adapter (dummy
>>> driver I played with)
>>>
>>> Should I see emc adapter there or not? I think I should.
>>
>> No, the EMC2104 chip is an I2C/SMBus client, not an I2C/SMBus master, so
>> it's expected you don't see it in the list above. The EMC2104 chip is
>> connected to one of the adapters. What is surprising is that I'd expect
>> your motherboard's SMBus to show up in the adapter list but it's not
>> there. Please check in lspci if you can see it. Then tell us which
>> kernel you're running.
>
> My lspci output (Intel SMBus is visible):
>
> 00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM
> Controller (rev 09)
> 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core
> processor Graphics Controller (rev 09)
> 00:04.0 Signal processing controller: Intel Corporation 3rd Gen Core
> Processor Thermal Subsystem (rev 09)
> 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
> Family USB xHCI Host Controller (rev 04)
> 00:16.0 Communication controller: Intel Corporation 7 Series/C210
> Series Chipset Family MEI Controller #1 (rev 04)
> 00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
> Family USB Enhanced Host Controller #2 (rev 04)
> 00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset
> Family High Definition Audio Controller (rev 04)
> 00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
> Family USB Enhanced Host Controller #1 (rev 04)
> 00:1f.0 ISA bridge: Intel Corporation QS77 Express Chipset LPC
> Controller (rev 04)
> 00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family
> 6-port SATA Controller [AHCI mode] (rev 04)
> 00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family
> SMBus Controller (rev 04)
> 00:1f.6 Signal processing controller: Intel Corporation 7 Series/C210
> Series Chipset Family Thermal Management Controller (rev 04)
>
> uname -a
> Linux yoga-alien-13 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9
> 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>
>>> From what I understand to instantiate a device from user space proper
>>> entry in /sys/bus/i2c/devices/i2c-... has to exist.
>>
>> Yes, you need the /sys/bus/i2c/devices/i2c-<N> which corresponds to
>> your SMBus.
>>
>>> Is it possible that EMC2104 in my laptop is somehow invisible to
>>> OS/i2c bus? I'm sure it is there - I can send You a picture ;-)
>>
>> Yes, we've seen it before. The SMBus controller can be hidden, or made
>> inaccessible to the OS due to ACPI resource conflicts, or the EMC2104
>> could be behind and I2C switch/gate, or it could be connected using an
>> arbitrary pair of GPIO pins and we'll never guess what they are...
>
>
> After some googling& investigation in documentation of i2c-i801 driver
> I found out that it should work for that chipset but in some cases can
> be conflicted with ACPI (as You wrote above), and in my case it is
> (messages after loading i2c-i801 driver):
>
> ACPI Warning: 0x0000000000002040-0x000000000000205f SystemIO conflicts
> with Region \_SB_.PCI0.SBUS.SMBI 1 (20130517/utaddress-251)
> ACPI: If an ACPI driver is available for this device, you should use
> it instead of the native driver
>



> So I guess nothing can be done?

I just added acpi_enforce_resources=lax to kernel i smbus is now visible:

 i2cdetect -l
i2c-0 i2c       i915 gmbus ssc                   I2C adapter
i2c-1 i2c       i915 gmbus vga                   I2C adapter
i2c-2 i2c       i915 gmbus panel                 I2C adapter
i2c-3 i2c       i915 gmbus dpc                   I2C adapter
i2c-4 i2c       i915 gmbus dpb                   I2C adapter
i2c-5 i2c       i915 gmbus dpd                   I2C adapter
i2c-6 i2c       DPDDC-D                         I2C adapter
i2c-7 smbus     SMBus I801 adapter at 2040       SMBus adapter


# i2cdetect 7
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-7.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- 32 -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: -- -- 52 -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

EMC2103 driver does not load (wrong manufacturer ID) - emc2103 device
should appear at 0x2e - manual activation does not work either.

Igor

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
                   ` (5 preceding siblings ...)
  2013-10-29 22:37 ` Igor Popik
@ 2013-10-30  2:25 ` Guenter Roeck
  2013-10-30  6:52 ` Igor Popik
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Guenter Roeck @ 2013-10-30  2:25 UTC (permalink / raw)
  To: lm-sensors

On 10/29/2013 03:37 PM, Igor Popik wrote:
> 2013/10/29 Igor Popik <igor.popik@gmail.com>:
>> Hi Jean,
>>
>> 2013/10/29 Jean Delvare <khali@linux-fr.org>:
>>> Hi Igor,
>>>
>>> On Tue, 29 Oct 2013 19:14:14 +0100, Igor Popik wrote:
>>>> I added new adresses to emc2103 driver with no effect. I checked if
>>>> the module works  with trying to load i2c-stub module  with 0x2e &
>>>> other addresses - it triggers the device detection in the module.= but
>>>> of course without success as it is a dummy i2c device.
>>>>
>>>> After that I think I'm beginning to understand how it all works so I
>>>> ran i2cdetect
>>>>
>>>> # i2cdetect -l
>>>> i2c-0 i2c       i915 gmbus ssc                   I2C adapter
>>>> i2c-1 i2c       i915 gmbus vga                   I2C adapter
>>>> i2c-2 i2c       i915 gmbus panel                 I2C adapter
>>>> i2c-3 i2c       i915 gmbus dpc                   I2C adapter
>>>> i2c-4 i2c       i915 gmbus dpb                   I2C adapter
>>>> i2c-5 i2c       i915 gmbus dpd                   I2C adapter
>>>> i2c-6 i2c       DPDDC-D                         I2C adapter
>>>> i2c-7 smbus     SMBus stub driver               SMBus adapter (dummy
>>>> driver I played with)
>>>>
>>>> Should I see emc adapter there or not? I think I should.
>>>
>>> No, the EMC2104 chip is an I2C/SMBus client, not an I2C/SMBus master, so
>>> it's expected you don't see it in the list above. The EMC2104 chip is
>>> connected to one of the adapters. What is surprising is that I'd expect
>>> your motherboard's SMBus to show up in the adapter list but it's not
>>> there. Please check in lspci if you can see it. Then tell us which
>>> kernel you're running.
>>
>> My lspci output (Intel SMBus is visible):
>>
>> 00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM
>> Controller (rev 09)
>> 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core
>> processor Graphics Controller (rev 09)
>> 00:04.0 Signal processing controller: Intel Corporation 3rd Gen Core
>> Processor Thermal Subsystem (rev 09)
>> 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
>> Family USB xHCI Host Controller (rev 04)
>> 00:16.0 Communication controller: Intel Corporation 7 Series/C210
>> Series Chipset Family MEI Controller #1 (rev 04)
>> 00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
>> Family USB Enhanced Host Controller #2 (rev 04)
>> 00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset
>> Family High Definition Audio Controller (rev 04)
>> 00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
>> Family USB Enhanced Host Controller #1 (rev 04)
>> 00:1f.0 ISA bridge: Intel Corporation QS77 Express Chipset LPC
>> Controller (rev 04)
>> 00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family
>> 6-port SATA Controller [AHCI mode] (rev 04)
>> 00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family
>> SMBus Controller (rev 04)
>> 00:1f.6 Signal processing controller: Intel Corporation 7 Series/C210
>> Series Chipset Family Thermal Management Controller (rev 04)
>>
>> uname -a
>> Linux yoga-alien-13 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9
>> 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>
>>>>  From what I understand to instantiate a device from user space proper
>>>> entry in /sys/bus/i2c/devices/i2c-... has to exist.
>>>
>>> Yes, you need the /sys/bus/i2c/devices/i2c-<N> which corresponds to
>>> your SMBus.
>>>
>>>> Is it possible that EMC2104 in my laptop is somehow invisible to
>>>> OS/i2c bus? I'm sure it is there - I can send You a picture ;-)
>>>
>>> Yes, we've seen it before. The SMBus controller can be hidden, or made
>>> inaccessible to the OS due to ACPI resource conflicts, or the EMC2104
>>> could be behind and I2C switch/gate, or it could be connected using an
>>> arbitrary pair of GPIO pins and we'll never guess what they are...
>>
>>
>> After some googling& investigation in documentation of i2c-i801 driver
>> I found out that it should work for that chipset but in some cases can
>> be conflicted with ACPI (as You wrote above), and in my case it is
>> (messages after loading i2c-i801 driver):
>>
>> ACPI Warning: 0x0000000000002040-0x000000000000205f SystemIO conflicts
>> with Region \_SB_.PCI0.SBUS.SMBI 1 (20130517/utaddress-251)
>> ACPI: If an ACPI driver is available for this device, you should use
>> it instead of the native driver
>>
>
>
>
>> So I guess nothing can be done?
>
> I just added acpi_enforce_resources=lax to kernel i smbus is now visible:
>
>   i2cdetect -l
> i2c-0 i2c       i915 gmbus ssc                   I2C adapter
> i2c-1 i2c       i915 gmbus vga                   I2C adapter
> i2c-2 i2c       i915 gmbus panel                 I2C adapter
> i2c-3 i2c       i915 gmbus dpc                   I2C adapter
> i2c-4 i2c       i915 gmbus dpb                   I2C adapter
> i2c-5 i2c       i915 gmbus dpd                   I2C adapter
> i2c-6 i2c       DPDDC-D                         I2C adapter
> i2c-7 smbus     SMBus I801 adapter at 2040       SMBus adapter
>
>
> # i2cdetect 7
> WARNING! This program can confuse your I2C bus, cause data loss and worse!
> I will probe file /dev/i2c-7.
> I will probe address range 0x03-0x77.
> Continue? [Y/n]
>       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
> 00:          -- -- -- -- -- 08 -- -- -- -- -- -- --
> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 30: -- -- 32 -- -- -- -- -- -- -- -- -- -- -- -- --
> 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
> 50: -- -- 52 -- -- -- -- -- -- -- -- -- -- -- -- --
> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 70: -- -- -- -- -- -- -- --
>
> EMC2103 driver does not load (wrong manufacturer ID) - emc2103 device
> should appear at 0x2e - manual activation does not work either.
>

As Jean mentioned, there may be another i2c bus, a hidden i2c multiplexer,
or the chip may be connected to the IDT EC. The DSDT might give us
some hints. You already know from the ACPI overlap that ACPI talks with the
SMBus adapter; it might also talk with the EC. Can you extract the DSDT
and provide it to us ?

	sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.aml

Then, in case you want to learn things you never really wanted to know:

	iasl -d dsdt.aml

Thanks,
Guenter


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
                   ` (6 preceding siblings ...)
  2013-10-30  2:25 ` Guenter Roeck
@ 2013-10-30  6:52 ` Igor Popik
  2013-10-30  7:29 ` Jean Delvare
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Igor Popik @ 2013-10-30  6:52 UTC (permalink / raw)
  To: lm-sensors

[-- Attachment #1: Type: text/plain, Size: 6644 bytes --]

2013/10/30 Guenter Roeck <linux@roeck-us.net>:
> On 10/29/2013 03:37 PM, Igor Popik wrote:
>>
>> 2013/10/29 Igor Popik <igor.popik@gmail.com>:
>>>
>>> Hi Jean,
>>>
>>> 2013/10/29 Jean Delvare <khali@linux-fr.org>:
>>>>
>>>> Hi Igor,
>>>>
>>>> On Tue, 29 Oct 2013 19:14:14 +0100, Igor Popik wrote:
>>>>>
>>>>> I added new adresses to emc2103 driver with no effect. I checked if
>>>>> the module works  with trying to load i2c-stub module  with 0x2e &
>>>>> other addresses - it triggers the device detection in the module.= but
>>>>> of course without success as it is a dummy i2c device.
>>>>>
>>>>> After that I think I'm beginning to understand how it all works so I
>>>>> ran i2cdetect
>>>>>
>>>>> # i2cdetect -l
>>>>> i2c-0 i2c       i915 gmbus ssc                   I2C adapter
>>>>> i2c-1 i2c       i915 gmbus vga                   I2C adapter
>>>>> i2c-2 i2c       i915 gmbus panel                 I2C adapter
>>>>> i2c-3 i2c       i915 gmbus dpc                   I2C adapter
>>>>> i2c-4 i2c       i915 gmbus dpb                   I2C adapter
>>>>> i2c-5 i2c       i915 gmbus dpd                   I2C adapter
>>>>> i2c-6 i2c       DPDDC-D                         I2C adapter
>>>>> i2c-7 smbus     SMBus stub driver               SMBus adapter (dummy
>>>>> driver I played with)
>>>>>
>>>>> Should I see emc adapter there or not? I think I should.
>>>>
>>>>
>>>> No, the EMC2104 chip is an I2C/SMBus client, not an I2C/SMBus master, so
>>>> it's expected you don't see it in the list above. The EMC2104 chip is
>>>> connected to one of the adapters. What is surprising is that I'd expect
>>>> your motherboard's SMBus to show up in the adapter list but it's not
>>>> there. Please check in lspci if you can see it. Then tell us which
>>>> kernel you're running.
>>>
>>>
>>> My lspci output (Intel SMBus is visible):
>>>
>>> 00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM
>>> Controller (rev 09)
>>> 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core
>>> processor Graphics Controller (rev 09)
>>> 00:04.0 Signal processing controller: Intel Corporation 3rd Gen Core
>>> Processor Thermal Subsystem (rev 09)
>>> 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
>>> Family USB xHCI Host Controller (rev 04)
>>> 00:16.0 Communication controller: Intel Corporation 7 Series/C210
>>> Series Chipset Family MEI Controller #1 (rev 04)
>>> 00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
>>> Family USB Enhanced Host Controller #2 (rev 04)
>>> 00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset
>>> Family High Definition Audio Controller (rev 04)
>>> 00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
>>> Family USB Enhanced Host Controller #1 (rev 04)
>>> 00:1f.0 ISA bridge: Intel Corporation QS77 Express Chipset LPC
>>> Controller (rev 04)
>>> 00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family
>>> 6-port SATA Controller [AHCI mode] (rev 04)
>>> 00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family
>>> SMBus Controller (rev 04)
>>> 00:1f.6 Signal processing controller: Intel Corporation 7 Series/C210
>>> Series Chipset Family Thermal Management Controller (rev 04)
>>>
>>> uname -a
>>> Linux yoga-alien-13 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9
>>> 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>>>>  From what I understand to instantiate a device from user space proper
>>>>> entry in /sys/bus/i2c/devices/i2c-... has to exist.
>>>>
>>>>
>>>> Yes, you need the /sys/bus/i2c/devices/i2c-<N> which corresponds to
>>>> your SMBus.
>>>>
>>>>> Is it possible that EMC2104 in my laptop is somehow invisible to
>>>>> OS/i2c bus? I'm sure it is there - I can send You a picture ;-)
>>>>
>>>>
>>>> Yes, we've seen it before. The SMBus controller can be hidden, or made
>>>> inaccessible to the OS due to ACPI resource conflicts, or the EMC2104
>>>> could be behind and I2C switch/gate, or it could be connected using an
>>>> arbitrary pair of GPIO pins and we'll never guess what they are...
>>>
>>>
>>>
>>> After some googling& investigation in documentation of i2c-i801 driver
>>> I found out that it should work for that chipset but in some cases can
>>> be conflicted with ACPI (as You wrote above), and in my case it is
>>> (messages after loading i2c-i801 driver):
>>>
>>> ACPI Warning: 0x0000000000002040-0x000000000000205f SystemIO conflicts
>>> with Region \_SB_.PCI0.SBUS.SMBI 1 (20130517/utaddress-251)
>>> ACPI: If an ACPI driver is available for this device, you should use
>>> it instead of the native driver
>>>
>>
>>
>>
>>> So I guess nothing can be done?
>>
>>
>> I just added acpi_enforce_resources=lax to kernel i smbus is now visible:
>>
>>   i2cdetect -l
>> i2c-0 i2c       i915 gmbus ssc                   I2C adapter
>> i2c-1 i2c       i915 gmbus vga                   I2C adapter
>> i2c-2 i2c       i915 gmbus panel                 I2C adapter
>> i2c-3 i2c       i915 gmbus dpc                   I2C adapter
>> i2c-4 i2c       i915 gmbus dpb                   I2C adapter
>> i2c-5 i2c       i915 gmbus dpd                   I2C adapter
>> i2c-6 i2c       DPDDC-D                         I2C adapter
>> i2c-7 smbus     SMBus I801 adapter at 2040       SMBus adapter
>>
>>
>> # i2cdetect 7
>> WARNING! This program can confuse your I2C bus, cause data loss and worse!
>> I will probe file /dev/i2c-7.
>> I will probe address range 0x03-0x77.
>> Continue? [Y/n]
>>       0  1 2 3 4 5 6 7 8 9  a  b  c  d  e  f
>> 00:          -- -- -- -- -- 08 -- -- -- -- -- -- --
>> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 30: -- -- 32 -- -- -- -- -- -- -- -- -- -- -- -- --
>> 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
>> 50: -- -- 52 -- -- -- -- -- -- -- -- -- -- -- -- --
>> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 70: -- -- -- -- -- -- -- --
>>
>> EMC2103 driver does not load (wrong manufacturer ID) - emc2103 device
>> should appear at 0x2e - manual activation does not work either.
>>
>
> As Jean mentioned, there may be another i2c bus, a hidden i2c multiplexer,
> or the chip may be connected to the IDT EC. The DSDT might give us
> some hints. You already know from the ACPI overlap that ACPI talks with the
> SMBus adapter; it might also talk with the EC. Can you extract the DSDT
> and provide it to us ?
>
>         sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.aml
>
> Then, in case you want to learn things you never really wanted to know:
>
>         iasl -d dsdt.aml
>
> Thanks,
> Guenter
>

Here it is. Hope You find something interesting there.

Thanks,
Igor

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
                   ` (7 preceding siblings ...)
  2013-10-30  6:52 ` Igor Popik
@ 2013-10-30  7:29 ` Jean Delvare
  2013-10-30 16:09 ` Guenter Roeck
  2013-10-31 18:46 ` Igor Popik
  10 siblings, 0 replies; 12+ messages in thread
From: Jean Delvare @ 2013-10-30  7:29 UTC (permalink / raw)
  To: lm-sensors

On Wed, 30 Oct 2013 07:52:51 +0100, Igor Popik wrote:
> 2013/10/30 Guenter Roeck <linux@roeck-us.net>:
> > As Jean mentioned, there may be another i2c bus, a hidden i2c multiplexer,
> > or the chip may be connected to the IDT EC. The DSDT might give us
> > some hints. You already know from the ACPI overlap that ACPI talks with the
> > SMBus adapter; it might also talk with the EC. Can you extract the DSDT
> > and provide it to us ?
> >
> >         sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.aml
> >
> > Then, in case you want to learn things you never really wanted to know:
> >
> >         iasl -d dsdt.aml
> 
> Here it is. Hope You find something interesting there.

I see the following:

                Scope (\_SB.PCI0.LPCB)
                {
                    Device (H_EC)
                    {
                        Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
                        Name (_UID, One)  // _UID: Unique ID
                        (...)
                        OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
                        Field (ECF2, ByteAcc, Lock, Preserve)
                        {
                            (...)
                            Offset (0xEE), 
                            BHFW,   16, 
                            F1PW,   8, 
                            F2PW,   8, 
                            F1RM,   8, 
                            F2RM,   8, 
                            FAMO,   8, 
                            F1SP,   16, 
                            F2SP,   16, 
                            FAN1,   8, 
                            FAN2,   8, 
                            BCG1,   16, 
                            BCG2,   16

This seems to imply there is an EC which knows something about fans.
However there is no reference to these fields in the rest of the DSDT.
There could be references in other ACPI tables though. Also note that
PNP0C09 is referenced in driver thinkpad_acpi so maybe that driver can
help. That being said, it seems that newer laptop models from Lenovo
aren't supported by this driver as good as older models were.

Also interesting is the SBUS device which defines a complete ACPI
interface to the SMBus controller. Unfortunately it doesn't follow the
SMBus CMI standard. Writing an ACPI driver for it would allow working
around the i2c-i801 resource conflict. However this doesn't seem
terribly useful as there's only the memory module SPD EEPROM visible on
the SMBus.

If it was me, I think I'd just leave the whole thing alone unless you
have a real problem that needs to be solved.

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
                   ` (8 preceding siblings ...)
  2013-10-30  7:29 ` Jean Delvare
@ 2013-10-30 16:09 ` Guenter Roeck
  2013-10-31 18:46 ` Igor Popik
  10 siblings, 0 replies; 12+ messages in thread
From: Guenter Roeck @ 2013-10-30 16:09 UTC (permalink / raw)
  To: lm-sensors

On Wed, Oct 30, 2013 at 08:29:45AM +0100, Jean Delvare wrote:
> On Wed, 30 Oct 2013 07:52:51 +0100, Igor Popik wrote:
> > 2013/10/30 Guenter Roeck <linux@roeck-us.net>:
> > > As Jean mentioned, there may be another i2c bus, a hidden i2c multiplexer,
> > > or the chip may be connected to the IDT EC. The DSDT might give us
> > > some hints. You already know from the ACPI overlap that ACPI talks with the
> > > SMBus adapter; it might also talk with the EC. Can you extract the DSDT
> > > and provide it to us ?
> > >
> > >         sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.aml
> > >
> > > Then, in case you want to learn things you never really wanted to know:
> > >
> > >         iasl -d dsdt.aml
> > 
> > Here it is. Hope You find something interesting there.
> 
> I see the following:
> 
>                 Scope (\_SB.PCI0.LPCB)
>                 {
>                     Device (H_EC)
>                     {
>                         Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
>                         Name (_UID, One)  // _UID: Unique ID
>                         (...)
>                         OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
>                         Field (ECF2, ByteAcc, Lock, Preserve)
>                         {
>                             (...)
>                             Offset (0xEE), 
>                             BHFW,   16, 
>                             F1PW,   8, 
>                             F2PW,   8, 
>                             F1RM,   8, 
>                             F2RM,   8, 
>                             FAMO,   8, 
>                             F1SP,   16, 
>                             F2SP,   16, 
>                             FAN1,   8, 
>                             FAN2,   8, 
>                             BCG1,   16, 
>                             BCG2,   16
> 
> This seems to imply there is an EC which knows something about fans.
> However there is no reference to these fields in the rest of the DSDT.
> There could be references in other ACPI tables though. Also note that
> PNP0C09 is referenced in driver thinkpad_acpi so maybe that driver can
> help. That being said, it seems that newer laptop models from Lenovo
> aren't supported by this driver as good as older models were.
> 
Given the "flexibility" in ACPI permitting vendors to change bindings
and underlying functionality at their leisure, that is hardly surprising.

Looking through the driver, there is lots of magic in there anyway.
I think the best shot would be to load the driver and hope that it works.
However, the following note on thinkwiki.org, related to Lenovo 3000, suggests
that it may not work: "The ACPI and EC firmware are completely incompatible
with ThinkPads, and thinkpad-acpi will not support it. The Lenovo 3000 are not
ThinkPads". Since the Yoga isn't even a laptop, that doesn't sound very 
encouraging.

> Also interesting is the SBUS device which defines a complete ACPI
> interface to the SMBus controller. Unfortunately it doesn't follow the
> SMBus CMI standard. Writing an ACPI driver for it would allow working
> around the i2c-i801 resource conflict. However this doesn't seem
> terribly useful as there's only the memory module SPD EEPROM visible on
> the SMBus.
> 
Also, the interface may change with the next laptop model, so a driver
would only have limited value.

> If it was me, I think I'd just leave the whole thing alone unless you
> have a real problem that needs to be solved.
> 
+1 

Guenter

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip
  2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
                   ` (9 preceding siblings ...)
  2013-10-30 16:09 ` Guenter Roeck
@ 2013-10-31 18:46 ` Igor Popik
  10 siblings, 0 replies; 12+ messages in thread
From: Igor Popik @ 2013-10-31 18:46 UTC (permalink / raw)
  To: lm-sensors

Jean, Guenter,

2013/10/30 Guenter Roeck <linux@roeck-us.net>:
> On Wed, Oct 30, 2013 at 08:29:45AM +0100, Jean Delvare wrote:
>>
>> I see the following:
>>
>>                 Scope (\_SB.PCI0.LPCB)
>>                 {
>>                     Device (H_EC)
>>                     {
>>                         Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
>>                         Name (_UID, One)  // _UID: Unique ID
>>                         (...)
>>                         OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
>>                         Field (ECF2, ByteAcc, Lock, Preserve)
>>                         {
>>                             (...)
>>                             Offset (0xEE),
>>                             BHFW,   16,
>>                             F1PW,   8,
>>                             F2PW,   8,
>>                             F1RM,   8,
>>                             F2RM,   8,
>>                             FAMO,   8,
>>                             F1SP,   16,
>>                             F2SP,   16,
>>                             FAN1,   8,
>>                             FAN2,   8,
>>                             BCG1,   16,
>>                             BCG2,   16
>>
>> This seems to imply there is an EC which knows something about fans.
>> However there is no reference to these fields in the rest of the DSDT.
>> There could be references in other ACPI tables though. Also note that
>> PNP0C09 is referenced in driver thinkpad_acpi so maybe that driver can
>> help. That being said, it seems that newer laptop models from Lenovo
>> aren't supported by this driver as good as older models were.
>>
> Given the "flexibility" in ACPI permitting vendors to change bindings
> and underlying functionality at their leisure, that is hardly surprising.
>
> Looking through the driver, there is lots of magic in there anyway.
> I think the best shot would be to load the driver and hope that it works.
> However, the following note on thinkwiki.org, related to Lenovo 3000, suggests
> that it may not work: "The ACPI and EC firmware are completely incompatible
> with ThinkPads, and thinkpad-acpi will not support it. The Lenovo 3000 are not
> ThinkPads". Since the Yoga isn't even a laptop, that doesn't sound very
> encouraging.
>
>> Also interesting is the SBUS device which defines a complete ACPI
>> interface to the SMBus controller. Unfortunately it doesn't follow the
>> SMBus CMI standard. Writing an ACPI driver for it would allow working
>> around the i2c-i801 resource conflict. However this doesn't seem
>> terribly useful as there's only the memory module SPD EEPROM visible on
>> the SMBus.
>>
> Also, the interface may change with the next laptop model, so a driver
> would only have limited value.
>
>> If it was me, I think I'd just leave the whole thing alone unless you
>> have a real problem that needs to be solved.
>>
> +1

My life does not depend on that :-)

Yoga is working pretty quiet and much longer on battery than on
windows (and it is a _laptop_ :-P).

Thank You for Your time & help provided.

Thanks,
Igor

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

end of thread, other threads:[~2013-10-31 18:46 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-27 22:45 [lm-sensors] Lenovo Yoga 13 with SMSC EMC2104 chip Igor Popik
2013-10-28  1:26 ` Guenter Roeck
2013-10-29  8:07 ` Jean Delvare
2013-10-29 18:14 ` Igor Popik
2013-10-29 20:06 ` Jean Delvare
2013-10-29 21:57 ` Igor Popik
2013-10-29 22:37 ` Igor Popik
2013-10-30  2:25 ` Guenter Roeck
2013-10-30  6:52 ` Igor Popik
2013-10-30  7:29 ` Jean Delvare
2013-10-30 16:09 ` Guenter Roeck
2013-10-31 18:46 ` Igor Popik

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.