perpheral driver for i2c connected device

Hi ,I have to write a kmdf peripheral driver for an i2c connected device…i dont have the hardware and any related specification information as of now but i will be getting that soon in the future.

so right now i want to get the ground work done before i get the hardware and controller driver for that hardware…

So my question is,

1)from the point of view of a peripheral driver do i need to bother about the i2c protocol for sending and reading data from the device?if yes can you put some light on that…or will that be taken care by the controller driver…

2)As i will be having only binaries of the controller code do i need any info like what all functions are handeled by the controller driver and how can i use them from peripheral driver,and will this information be provided by the vendor?

You’ll be writing what’s called an Simple Peripheral Bus (SPB) Client (or peripheral) driver. This is described in the Windows 8 WDK.

No.

Well, yes. Like any driver, there are standard functions which may or may not be supported, there’s read and write, which may or may not be supported, and there can be custom IOCTL functions that the driver might implement. The vendor who creates the controller driver will need to tell you what functions their driver supports, or if the driver simply supports “all the standard stuff” (which leaves you guessing, a bit, until you can play with their hardware and driver).

The GOOD news is that, in general, writing drivers for I2C connected device on Win8 is pretty easy.

Read the SPB docs and the docs on using remote I/O Targets in KMDF, and you’re good to go.

Peter
OSR

Thanx for the reply…this clears the initial doubts for me…

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@osr.com
Sent: Monday, September 10, 2012 6:38 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] perpheral driver for i2c connected device

You’ll be writing what’s called an Simple Peripheral Bus (SPB) Client (or peripheral) driver. This is described in the Windows 8 WDK.

No.

[quote]
do i need any info
like what all functions are handeled by the controller driver [/quote]

Well, yes. Like any driver, there are standard functions which may or may not be supported, there’s read and write, which may or may not be supported, and there can be custom IOCTL functions that the driver might implement. The vendor who creates the controller driver will need to tell you what functions their driver supports, or if the driver simply supports “all the standard stuff” (which leaves you guessing, a bit, until you can play with their hardware and driver).

The GOOD news is that, in general, writing drivers for I2C connected device on Win8 is pretty easy.

Read the SPB docs and the docs on using remote I/O Targets in KMDF, and you’re good to go.

Peter
OSR


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

SASKEN BUSINESS DISCLAIMER: This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited (“Sasken”) unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email.
Read Disclaimer at http://www.sasken.com/extras/mail_disclaimer.html