All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Barksdale <dbarksdale@uplogix.com>
To: Jiri Kosina <jkosina@suse.cz>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>
Subject: Re: [PATCH RESEND] HID: New hid-cp2112 driver.
Date: Wed, 28 Aug 2013 08:35:16 -0500	[thread overview]
Message-ID: <521DFC94.4050106@uplogix.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1308281455350.4557@pobox.suse.cz>

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.

  reply	other threads:[~2013-08-28 13:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-27 15:01 [PATCH RESEND] HID: New hid-cp2112 driver David Barksdale
2013-08-28 12:57 ` Jiri Kosina
2013-08-28 13:35   ` David Barksdale [this message]
2013-08-29 13:51   ` David Barksdale
2013-08-29 16:43 ` David Herrmann
2013-09-03 21:51   ` David Barksdale
2013-09-05  9:11     ` David Herrmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521DFC94.4050106@uplogix.com \
    --to=dbarksdale@uplogix.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=jkosina@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.