Jump-start your project by learning from devs who
write Windows drivers and file systems every day.
Take an OSR seminar!

OSR is Hiring! Click here to find out more.

Upcoming OSR Seminars:
Kernel Debugging & Crash Analysis Lab, Palo Alto, CA 18-22 August, 2014
Writing WDF Drivers: Core Concepts Lab, Boston/Waltham, MA 22-26 September, 2014
Windows Internals & Software Drivers Lab, Dulles/Sterling, VA, 20-24 October, 2014
Developing File Systems for Windows, Seattle, WA 4-7 November, 2014


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 8  
19 Sep 08 03:21
zhou chengjun
xxxxxx@yahoo.com.cn
Join Date: 08 Jan 2008
Posts To This List: 132
Philips SC16IS750 Windows Driver

Hi,All I want to develop a SMBus Device Driver for Windows[The chip is Philips SC16IS750,slave IIC-bus interface to a single-channel high performance UART]. I never do SMBus Device Driver before,and want to get some help from some SMBus Device Driver sample. I have the driver for Linux and wanted to port it to Windows. But I encountered great difficulties. 1 Accord to WDK,it is a SMB Client Driver. But I didn't find Philips SC16IS750 device in Device Manager, so even if I have the Windows Driver,how can I install it? Or do this in BIOS not in OS-level driver just like control SMBus controller? [I searched in OSR,and found Jake Oshins said: control of the South Bridges SMBus controller always best resides with either the BIOS or some hardware management entity....] 2 I have read the document "SMBus Device Driver External Architecture Specification" and Example:SMBus Enumeration and SMBus Request(code fragment),but I'm still not very clear how to start to write the driver. Can anyone give me some advice on how to start to write the driver? Thanks. Best Regards Zhou Chengjun
  Message 2 of 8  
19 Sep 08 04:51
Pavel A
xxxxxx@fastmail.fm
Join Date: 21 Jul 2008
Posts To This List: 2070
Philips SC16IS750 Windows Driver

Inline -- pa xxxxx@yahoo.com.cn wrote: > Hi,All > > I want to develop a SMBus Device Driver for Windows[The chip is Philips > SC16IS750,slave IIC-bus interface to a single-channel high performance UART]. > I never do SMBus Device Driver before,and want to get some help from some SMBus > Device Driver sample. > > I have the driver for Linux and wanted to port it to Windows. So does it work for you on same machine, under Linux? Is the iic controller an add-on card, PCI or ISA/LPC? > But I encountered great difficulties. > > 1 Accord to WDK,it is a SMB Client Driver. > But I didn't find Philips SC16IS750 device in Device Manager, > so even if I have the Windows Driver,how can I install it? Maybe it is visible in System devices category? > Or do this in BIOS not in OS-level driver just like control SMBus controller? > [I searched in OSR,and found Jake Oshins said: > control of the South Bridges SMBus controller always best resides with > either the BIOS or some hardware management entity....] > > 2 I have read the document "SMBus Device Driver External Architecture > Specification" and Example:SMBus Enumeration and SMBus Request(code > fragment),but I'm still not very clear how to start to write the driver. > Can anyone give me some advice on how to start to write the driver? > <...excess quoted lines suppressed...>
  Message 3 of 8  
19 Sep 08 08:26
zhou chengjun
xxxxxx@yahoo.com.cn
Join Date: 08 Jan 2008
Posts To This List: 132
Philips SC16IS750 Windows Driver

Yes,it worked fine under Linux. The iic controller is added in Intel 915 mainboard,attached to SMBus Interface. I see "Intel(R) 82801G (ICH7 Family) SMBus Controller-27DA"in System devices category, I clicked ?Driver details?,it show "The device do not need driver,and no driver has been load."
  Message 4 of 8  
19 Sep 08 11:42
Pavel A
xxxxxx@fastmail.fm
Join Date: 21 Jul 2008
Posts To This List: 2070
Philips SC16IS750 Windows Driver

xxxxx@yahoo.com.cn wrote: > Yes,it worked fine under Linux. > The iic controller is added in Intel 915 mainboard,attached to SMBus Interface. > I see "Intel(R) 82801G (ICH7 Family) SMBus Controller-27DA"in System devices category, > I clicked ?Driver details?,it show "The device do not need driver,and no driver has been load." Then I've misunderstood your question. Your Philips device is slave connected to the SMB host on the Intel mobo. Then I don't have other answers besides what was discussed here recently (to summarize - the OS ACPI driver owns the IIC interface; there is no supported way to put your foot in, except of developing an ACPI device driver. ) Regards, --PA
  Message 5 of 8  
19 Sep 08 21:53
zhou chengjun
xxxxxx@yahoo.com.cn
Join Date: 08 Jan 2008
Posts To This List: 132
Philips SC16IS750 Windows Driver

Thanks.You means that if I want to take control of the SMBus Interface,I must develop an ACPI device driver? [It's called "IIC" in embedded system,"SMBus" in PC,right?]
  Message 6 of 8  
20 Sep 08 02:19
zhou chengjun
xxxxxx@yahoo.com.cn
Join Date: 08 Jan 2008
Posts To This List: 132
Philips SC16IS750 Windows Driver

Under Linux,I can use the kernel function such as "i2c_smbus_read_byte_data", "i2c_smbus_write_byte_data" in driver to do i2c_read,i2c_write.But in Windows I am puzzled.
  Message 7 of 8  
20 Sep 08 08:26
Pavel A
xxxxxx@fastmail.fm
Join Date: 21 Jul 2008
Posts To This List: 2070
Philips SC16IS750 Windows Driver

xxxxx@yahoo.com.cn wrote: > Under Linux,I can use the kernel function such as "i2c_smbus_read_byte_data", > "i2c_smbus_write_byte_data" in driver to do i2c_read,i2c_write.But in Windows I am puzzled. Welcome to the club... --PA
  Message 8 of 8  
20 Sep 08 08:54
Pavel A
xxxxxx@fastmail.fm
Join Date: 21 Jul 2008
Posts To This List: 2070
Philips SC16IS750 Windows Driver

xxxxx@yahoo.com.cn wrote: > Thanks.You means that if I want to take control of the SMBus Interface,I must develop an ACPI device driver? Well this was only my guess, based on the premise that ACPI methods do access the SMB, so there is some mechanism that ensures proper sync. But I don't know how AML code works with SMB without a driver (as we've seen, the Intel in-box SMB driver is only a placeholder for the controller resources), maybe AML writes directly to i/o ports and doesn't use the interrupt. So in this case, it is the driver itself, so you'd have to access it thru ACPI methods. > [It's called "IIC" in embedded system,"SMBus" in PC,right?] IIC is the underlying protocol, SMbus is based on it. --pa
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 11:32.


Copyright ©2014, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license