Messages in this thread | | | Date | Thu, 29 Aug 2013 08:51:13 -0500 | From | David Barksdale <> | Subject | Re: [PATCH RESEND] HID: New hid-cp2112 driver. |
| |
On 08/28/2013 07:57 AM, Jiri Kosina wrote: > > [ adding Benjamin to CC ] > > On Tue, 27 Aug 2013, David Barksdale wrote: > >> This patch adds support for the Silicon Labs CP2112 >> "Single-Chip HID USB to SMBus Master Bridge." >> >> I wrote this to support a USB temperature and humidity >> sensor I've been working on. It's been tested by using >> SMBus byte-read, byte-data-read/write, and word-data-read >> transfer modes to talk to an I2C sensor. The other >> transfer modes have not been tested. >> >> Signed-off-by: David Barksdale <dbarksdale@uplogix.com> >> >> --- >> drivers/hid/Kconfig | 6 + >> drivers/hid/Makefile | 1 + >> drivers/hid/hid-core.c | 3 + >> drivers/hid/hid-cp2112.c | 504 +++++++++++++++++++++++++++++++++++++++++++++++ >> 4 files changed, 514 insertions(+) >> >> diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig >> index 14ef6ab..1833948 100644 >> --- a/drivers/hid/Kconfig >> +++ b/drivers/hid/Kconfig >> @@ -175,6 +175,12 @@ config HID_PRODIKEYS >> multimedia keyboard, but will lack support for the musical keyboard >> and some additional multimedia keys. >> >> +config HID_CP2112 >> + tristate "Silicon Labs CP2112 HID USB-to-SMBus Bridge support" >> + depends on USB_HID >> + ---help--- >> + Support for Silicon Labs CP2112 HID USB to SMBus Master Bridge. >> + > > Hi David, > > this is rather difficult to get by quickly looking at the code, so I'd > like to have a slightly better overview of what the device really is. > > Is it talking HID protocol on the SMBus? (if so, there is a hid-i2c > transport driver for it already). > But I guess this is not really the case, as you seem to be using the USB > HID functionality as well. > > Thanks in advance for some more background. >
The CP2112 is a USB HID device that provides an SMBus controller. The datasheet can be found here: http://www.silabs.com/Support%20Documents/TechnicalDocs/CP2112.pdf The interface specification here: http://www.silabs.com/Support%20Documents/TechnicalDocs/AN495.pdf The host communicates with the CP2112 via HID reports. Device configuration uses feature reports and data transfer uses output and event reports. I prototyped this in userspace using the /dev/hidraw interface and then wrote this driver to provide a real i2c adapter device.
| |