Opened 2 years ago

Last modified 20 months ago

#18147 new enhancement

I2c controller not detected (was I2c touchpad not work)

Reported by: VitaliS Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Input/HID/I2C Version: R1/beta4
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

System not crashed, i send log i2c out info

Attachments (2)

IMG_20221216_193439.jpg (2.3 MB ) - added by VitaliS 2 years ago.
syslog_nighthly_i2c.txt (203.8 KB ) - added by tqh 2 years ago.
smbus style I2C controller on Sunrise Point

Change History (13)

by VitaliS, 2 years ago

Attachment: IMG_20221216_193439.jpg added

comment:1 by waddlesplash, 2 years ago

Component: DriversDrivers/Input/HID/I2C
Platform: x86-64All

The I2C input driver isn't actually included in builds yet.

comment:2 by VitaliS, 2 years ago

Forgot to note that this is Release Candidate 0

comment:3 by tqh, 2 years ago

I have the same problem for Sunrise Point IC2 controller.

It seems memory where we check for capabilities is all ones according to the second value on the second line:

KERN: [33mpch_i2c_pci:[0m init_bus() addr 0xfe024000 size 0x1000 irq 0x12
KERN: [33mpch_i2c_pci:[0m init_bus() 0xf (0xffffffff)
KERN: [33mpch_i2c_pci:[0m init_bus() device type not supported

Coming from:

	TRACE_ALWAYS("init_bus() addr 0x%" B_PRIxPHYSADDR " size 0x%" B_PRIx64
		" irq 0x%x\n", bus->base_addr, bus->map_size, bus->irq);
[...]
	TRACE_ALWAYS("init_bus() 0x%" B_PRIx32 " (0x%" B_PRIx32 ")\n",
		(bus->capabilities >> PCH_SUP_CAPABLITIES_TYPE_SHIFT)
			& PCH_SUP_CAPABLITIES_TYPE_MASK,
		bus->capabilities);
[...]
		ERROR("init_bus() device type not supported\n");

Not sure how different this hardware is, might just have capabilites at different offset or need another driver?

comment:4 by tqh, 2 years ago

Summary: I2c touchpad not workI2c controller not detected (was I2c touchpad not work)

comment:5 by korli, 2 years ago

A syslog would be nice to identify the devices. The device might need to be powered up?

comment:6 by tqh, 2 years ago

It is different hardware, I think it is called systembus and the specs I read for sunrise do not have the cababilities regiester anymore. I'll attach the full syslog as well.

by tqh, 2 years ago

Attachment: syslog_nighthly_i2c.txt added

smbus style I2C controller on Sunrise Point

comment:7 by tqh, 22 months ago

I'll probably start experimenting a bit with this (no promises), any pointers?

comment:9 by tqh, 22 months ago

Interesting reading starts at 5.22 SMBus Controller (D31:F3) in the Intel 9 PDF where it starts going into i2c communication a bit.

comment:10 by tqh, 21 months ago

QEMU can emulate it with Q35 so should be able to be done on virtual machine for initial work:

comment:11 by pulkomandy, 20 months ago

Milestone: Unscheduled
Note: See TracTickets for help on using tickets.