On 10/10/2016 21:45, Michael Gmelin wrote: > I see three tasks here: - Andriy finishes his change, moving things from > smbus to iicbus, adding some workaround to keep the user experience like it > is - Someone else implements the device table mechanism for auto detection - > Someone else ports HDI over I2C to allow implementing drivers for devices > like the elan touchpad Matthias is referring to > > Makes sense?
It does to me. Also, I can suggest another task related to SMBus / I2C. Looking at the code in the Linux chromeos_laptop driver I see that on some models some sensors are actually attached to SMBus rather that to I2C. And, for example, cyapa can be attached to either bus. But there is a quirk. cyapa won't work over a standard SMBus, it needs some extensions that are typically provided by Intel chipsets. I specifically mean the so called "I2C Block Read" and the transaction that results from the Block Write command when the I2C bit is set in the SMBus controller's configuration register. Neither of these modes is supported by our ichsmb(4) driver. But on Linux they are both supported and exposed as I2C_SMBUS_I2C_BLOCK_DATA transaction type. For one reference please see Mobile 4th Generation Intel® CoreTM Processor Family I/O Datasheet, section 18.104.22.168. And, just in case, ig4(4) is about the controllers described in section 5.22 of that document. Perhaps, I2C_SMBUS_I2C_BLOCK_DATA served as an inspiration (and perhaps a source of confusion) for Matt when he added smbus_trans(). Right now I do not have any good suggestion on how to expose that 90% SMBus, 10% I2C functionality in the FreeBSD model. -- Andriy Gapon _______________________________________________ firstname.lastname@example.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"