ISP1760; ISP1761 Windows CE 5.0 user installation guide
Rev. 03 — 12 October 2009 User manual
Document information
Info Content
Keywords usb; universal serial bus; isp1760; isp1761
Abstract This document describes the Platform Builder setup for the ISP176x
Universal Serial Bus (USB) Host Controller Driver. The document covers
the installation of software for the ISP176x on the Microsoft Windows CE
platform version 5.0.
Remark: The ISP176x denotes the ISP1760 and ISP1761 Hi-Speed
Universal Serial Bus controllers, and any future derivative.
UM10067
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
Revision history
Rev Date Description
03 20091012 Rebranded to the ST-Ericsson template.
02 20090216 Rebranded to the ST-NXP Wireless template.
01 20051018 First release.
Contact information
For additional information, please visit: http://www.stericsson.com
For document related queries, please send an email to: wired.support@stericsson.com
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
Remark: The ISP176x denotes the ISP1760 and ISP1761 Hi-Speed Universal Serial Bus
controllers, and any future derivative.
1. Introduction
This document describes the Platform Builder setup for the ISP176x Universal Serial Bus
(USB) Host Controller Driver (HCD). The document covers the installation of software for
the ISP176x on the Microsoft Windows CE platform Ver. 5.0.
The software architecture supports the PCI and GPIO bus. The software is tested and
proven on the PCI platform using the PLX9054 bridge.
Remark: It is assumed that the reader is well versed with the Windows CE development
environment and fully understands the driver development for Windows CE Ver. 5.0.
2. Installing the ISP176x host software
1. Install the ISP176x host software on the PC using the setup utility.
2. Under the WINCE500 root directory, create directory 3rdParty. Under 3rdParty create
directory ST-ERICSSON.
3. Copy directories PhISP1761HCD and PhISP1761Bus from the eval kit disk to
directory \WINCE500\3rdParty\ ST-ERICSSON\.
4. Copy CEC files ISP1761Host.cec and PCIKit.cec from the eval kit disk to folder
\WINCE500\PUBLIC\COMMON\OAK\CATALOG\CEC.
3. ISP176x HCD Windows CE Ver. 5.0 operating system design
This section explains the steps involved in adding Windows CE Ver. 5.0 ISP176x HCD
and its dependent modules for x86 processor.
1. Install Windows CE Ver. 5.0 with your selected BSP.
After installing Windows CE Ver. 5.0, follow the steps to add the ISP176x HCD and its
dependent modules.
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
4. Adding the ISP176x project to the platform
In this section, you will learn to add the ISP176x Host Controller catalog items to the
operating system design view. It is assumed that the platform is already created and the
ISP176x catalog files have been imported.
If you are working on the PCI bus, you need to add the PCI bus driver to route the PCI
interrupt to the ISP176x. If you are using the GPIO bus, you can ignore this step. To add
the PCI bus driver, add module Catalog\ThirdParty\ST-ERICSSON \ PCIKit.
Fig 23. Adding the component: PCI kit.
To add the ISP176x module to the platform, add module Catalog\ThirdParty\ STERICSSON\1761HostController.
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
Fig 24. Adding the component: ISP176x Host Controller.
5. Interfacing routines
The ISP176x Host Controller module is located below Microsoft defined USBD. The
ISP176x Host Controller module interacts with the ISP176x hardware located at the
bottom level and with the USBD located above this module.
Fig 25
shows interfacing the blocks of the ISP176x to an operating system.
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
OPERATING
SYSTEM
CORE USBD CLASS DRIVER AND OTHER OPERATING SYSTEM DEPENDENT UNITS
ISP176x OTG
CONTROLLER DRIVER
ISP176x HOST
CONTROLLER
DRIVER
ISP176x PERIPHERAL
CONTROLLER DRIVER
ISP176x HARDWARE ACCESS LAYER
ISP176x HARDWARE
IO INTERFACE
HARDWAREROOT HUB
TT HUB WITH THREE PORTS
HIGH-SPEED
USB PORT
HIGH-SPEED
USB PORT
OTG PORT
OPERATING
SYSTEM
Fig 25. ISP176x system interface.
6. Customizing the software
The software architecture supports PCI and GPIO modes. In PCI and GPIO modes, read
and write registers of the ISP176x can be memory mapped. You can configure the
interrupt for the ISP176x as either edge-triggered or level-triggered using the Hardware
Mode Control register. To customize the ISP176x, refer to the ISP176xHCDConfig.h file,
located under the ‘WINCE500\3rdparty\ST-ERICSSON\phISP176xHCD\phISP176xCOM’
directory.
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
6.1 PCI bus mode
The software is tested and proven on the PLX9054 bridge. PCI bridge chip PLX9054 in
the ISP176x PCI kit is used for the PCI host to transparently access the ISP176x.
PLX9054 requests PCI bus resources, such as I/O ports, interrupt line, on behalf of the
ISP176x. PLX9054, however, can only request one interrupt line for the ISP176x.
If required, customize file P1761bus.reg under WINCE500\3rdparty\STERICSSON\PhISP176xbus\.
Change the following, depending on your PCI bridge settings:
• VendorID
• DeviceID
• SubVendorID
• SubsystemID
• Class
• SubClass
• ProgIF
For example, the P1761bus.reg file looks as follows:
The driver will not be loaded, if these parameters do not match bridge settings.
6.2 GPIO bus mode
If working in GPIO mode, change registry settings of P1761HCD.dll.
Open registry file P1761HCPDD.reg under WINCE500\3rdparty\STERICSSON\phISP176xHCD\phISP176xPDD.
For example, the registry should look as follows, if you are working in GPIO mode.
Change ‘SysIntr’, ‘Irq’ and ‘MemBase’, according to your platform.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\P1761HCD]
; "Prefix"="PEHCD"
"Dll"="P1761HCD.dll"
"Order"=dword: 2
"Class"=dword:0c
"SubClass"=dword:03
"ProgIF"=dword: 20
"IsrDll"="giisr.dll"
"IsrHandler"="ISRHandler"
"HcdCapability"=dword:4 ;HCD_SUSPEND_ON_REQUEST
"SysIntr"=dword:1f ; decimal 31 ; you change your interrupt line here
"MemBase"=dword:08000000 ;you change your Memory Base Address here
"MemLen"=dword:100000
"InterfaceType"=dword:0 ; Internal
"Irq"=dword:3 ;you change your IRQ number here
6.3 Driver loading sequence in Windows CE Ver. 5.0
After switching on the Windows CE system with the ISP176x PCI kit, PCI BIOS initializes
the PCI kit and assigns I/O resource and PCI interrupt lines as requested by PLX9054.
Windows CE Ver. 5.0 PCI bus driver PCIbus.dll is then invoked. PCIbus.dll gets I/O
resource and PCI interrupt line of the ISP176x PCI kit and obtains an interrupt ID.
PCIbus.dll searches the registry, finds the ISP176x registry template by matching registry
key ‘Class’, ‘Subclass’, ‘VendorID’, ‘DeviceID’, ‘SubsystemID’ and ‘SubvendorID’, then
loads P1761Bus.dll.
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
To ensure that PCI bus driver PCIBus.dll loads P1761 bus driver P1761Bus.dll, porting
engineer should verify that the above-mentioned registry key matches with the PLX9054
setting in the P1761bus.reg file located under directory ST-ERICSSON\PhISP176xBus.
Once P1761Bus.dll is loaded and the system loads Host Controller stack P1761hcd.dll
by checking registry setting in P1761bus.reg under directory STERICSSON\PhISP176xbus.
This loading sequence will be different if you are working in GPIO mode. P1761Bus.dll
will not be loaded in GPIO mode.
6.4 I/O address translation in Windows CE Ver. 5.0
As soon as Host Controller stack p1761hcd.dll is loaded, its platform dependent PDD
code, system.c, (under ST-ERICSSON\PhISP176xHCD\PhISP176xPDD) gets the
hardware resources, I/O port and interrupt ID, from the registry. These I/O port
addresses are in the form of physical address.
Direct hardware accesses by using the physical address from user mode device drivers
or applications are prohibited by Windows. Physical addresses must be translated into
virtual addresses using either MemMapIoSpace () or VirtualAlloc () / Virtual Copy. The
translation can also be done by new Windows CE Ver. 5.0 function
BusTransBusAddrToVirtual ().
7. Building an image
To build an image, select BuildOS -> Build and Sysgen.
Fig 26. Building an image.
8. Creating boot disk for x86 SDB
To create a boot floppy disk for an x86 SDB:
1. Navigate to the %ProgramFiles%\Windows CE Platform Builder\5.00\CEPB\Utilities
directory, and then run WebSetup.exe to install utility programs to the default
Microsoft Windows directory on your PC. You only need to install WebSetup.exe
once.
2. On your PC, insert a blank 3.5-inch floppy disk in the floppy disk drive.
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
3. From the %ProgramFiles%\Windows CE Platform Builder\5.00\CEPB\Utilities
directory, run CEPCBoot.144. You can also run CEPCBoot.144 from the command
line.
4. If your floppy disk is not blank and formatted, check format before making disk box in
the Web Image NT window. This causes WebSetup.exe to format the boot floppy
disk with MS-DOS 6.22 before copying the CEPCBoot.144 disk image to the boot
floppy disk.
5. In the Web Image NT window, choose the A: drive. This copies the CEPCBoot.144
disk image to the boot floppy disk.
6. Choose Cancel to close the Web Image NT window.
9. Connecting to x86 SDB target
1. On the Target menu, select Connectivity Options.
Fig 27. Step 1.
2. If you want to download the image through Ethernet and want the debugger to be
KdStub, set Debugger to KdStub, Download and Transport to Ethernet.
ISP1760; ISP1761 Win CE 5.0 User Installation Guide
12. Legal information
Please Read Carefully:
The contents of this document are subject to change without prior notice. ST-Ericsson
makes no representation or warranty of any nature whatsoever (neither expressed nor
implied) with respect to the matters addressed in this document, including but not limited to
warranties of merchantability or fitness for a particular purpose, interpretability or
interoperability or, against infringement of third party intellectual property rights, and in no
event shall ST-Ericsson be liable to any party for any direct, indirect, incidental and or
consequential damages and or loss whatsoever (including but not limited to monetary losses
or loss of data), that might arise from the use of this document or the information in it.
ST-Ericsson and the ST-Ericsson logo are trademarks of the ST-Ericsson group of
companies or used under a license from STMicroelectronics NV or Telefonaktiebolaget LM
Ericsson.
All other names are the property of their respective owners.