BSP for Windows* Embedded Compact* 7 and Windows* Embedded Compact 2013 for Mobile Intel 4th Generation Core TM Processors and Intel 8 Series Chipset



Similar documents
Intel Platform Controller Hub EG20T

Intel Desktop Board DP55WB

Hetero Streams Library 1.0

Intel Media SDK Library Distribution and Dispatching Process

Intel Desktop Board D101GGC Specification Update

with PKI Use Case Guide

Intel Desktop Board D945GCPE

Intel Desktop Board DG41BI

Intel Desktop Board DG43RK

Intel Desktop Board DG41WV

Intel Desktop Board DG41TY

EHCI Removal from 6 th Generation Intel Core Processor Family Platform Controller Hub (PCH)

Intel Desktop Board DG43NB

Intel Desktop Board DG31PR

Intel Desktop Board DG965RY

Intel Desktop Board DQ35JO

Intel Desktop Board DQ965GF

Intel Desktop Board DQ43AP

Intel Desktop Board D945GCPE Specification Update

Intel Desktop Board DG45FC

Intel Desktop Board DG33TL

Intel Desktop Board DP43BF

Intel Server Board S3420GPRX Intel Server System SR1630GPRX Intel Server System SR1630HGPRX

Intel Desktop Board D945GCZ

Intel Desktop Board D945GCL

Intel Retail Client Manager

Intel Desktop Board D925XECV2 Specification Update

Intel Server S3200SHL

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

Intel Server Board S3420GPV

Intel Unite. User Guide

Specification Update. January 2014

Intel Desktop Board D945GNT

Intel Desktop Board DG31GL

Intel Desktop Board DQ45CB

Intel Network Builders: Lanner and Intel Building the Best Network Security Platforms

How to Configure Intel X520 Ethernet Server Adapter Based Virtual Functions on Citrix* XenServer 6.0*

Intel Server Board S5000PALR Intel Server System SR1500ALR

Intel Chipset Compatibility with Microsoft Windows* 95

Intel Core i5 processor 520E CPU Embedded Application Power Guideline Addendum January 2011

The Case for Rack Scale Architecture

Intel Retail Client Manager Audience Analytics

Intel Solid-State Drive Pro 2500 Series Opal* Compatibility Guide

Intel Management Engine BIOS Extension (Intel MEBX) User s Guide

Intel IoT Gateways: Publishing Data to an MQTT Broker Using Python

Intel Extreme Memory Profile (Intel XMP) DDR3 Technology

Intel Server Board S5520HC

Intel Server Board S3420GPLX Intel Server Board S3420GPLC Intel Server System SR1630GP Intel Server System SR1630HGP

Internal LVDS Dynamic Backlight Brightness Control

Achieving Real-Time Performance on a Virtualized Industrial Control Platform

Intel SSD 520 Series Specification Update

System Image Recovery* Training Foils

RAID and Storage Options Available on Intel Server Boards and Systems

Intel X58 Express Chipset

Intel Identity Protection Technology (IPT)

This guide explains how to install an Intel Solid-State Drive (Intel SSD) in a SATA-based desktop or notebook computer.

Running Windows 8 on top of Android with KVM. 21 October Zhi Wang, Jun Nakajima, Jack Ren

Wake on LAN Hardware Implementation Utilizing the Intel EP80579 Integrated Processor Product Line

Extending PCIe NVMe Storage to Client. John Carroll Intel Corporation. Flash Memory Summit 2015 Santa Clara, CA 1

Intel Matrix Storage Manager 8.x

Intel Identity Protection Technology Enabling improved user-friendly strong authentication in VASCO's latest generation solutions

Intel Management and Security Status Application

Intel 810 and 815 Chipset Family Dynamic Video Memory Technology

Version Rev. 1.0

How to Configure Intel Ethernet Converged Network Adapter-Enabled Virtual Functions on VMware* ESXi* 5.1

Customizing Boot Media for Linux* Direct Boot

Intel Active Management Technology Embedded Host-based Configuration in Intelligent Systems

Hard Drive Installation Options Ontrack Data Recovery Technical Paper.2004

Intel Matrix Storage Console

Software Solutions for Multi-Display Setups

Creating Full Screen Applications Across Multiple Displays in Extended Mode

Intel architecture. Platform Basics. White Paper Todd Langley Systems Engineer/ Architect Intel Corporation. September 2010

System Event Log (SEL) Viewer User Guide

Intel System Event Log (SEL) Viewer Utility

Intel Cloud Builder Guide: Cloud Design and Deployment on Intel Platforms

Intel HTML5 Development Environment. Article - Native Application Facebook* Integration

Intel Rapid Storage Technology

Configuring RAID for Optimal Performance

Intel Network Builders

Intel Data Direct I/O Technology (Intel DDIO): A Primer >

Intel Server System S7000FC4URE-HWR

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Spread-Spectrum Clocking to Reduce EMI

Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

Intel Desktop Board DP35DP. MLP Report. Motherboard Logo Program (MLP) 6/17/2008

Intel System Event Log (SEL) Viewer Utility

Intel Core TM i3 Processor Series Embedded Application Power Guideline Addendum

Revision History. Revision Revision History Date

RAID and Storage Options Available on Intel Server Boards and Systems based on Intel 5500/5520 and 3420 PCH Chipset

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

WHITE PAPER. LVDS Flat Panel Display Interface on Intel Desktop Boards. July 2009 Order Number: E

Software Evaluation Guide for Autodesk 3ds Max 2009* and Enemy Territory: Quake Wars* Render a 3D character while playing a game

A Superior Hardware Platform for Server Virtualization

Intel Desktop public roadmap

Intel Compute Stick STCK1A32WFC User Guide. Intel Compute Stick STCK1A32WFC

Intel System Event Log (SEL) Viewer Utility. User Guide SELViewer Version 10.0 /11.0 December 2012 Document number: G

Intel Data Migration Software

Intel HTML5 Development Environment. Tutorial Building an Apple ios* Application Binary

Transcription:

BSP for Windows* Embedded Compact* 7 and Windows* Embedded Compact 2013 for Mobile Intel 4th Generation Core TM Processors and Intel 8 Series Chipset Software Developer Guide February 2015 Software Release Version: Gold Release Document Number: 332077-001US

Legal Disclaimer Legal Disclaimer By using this document, in addition to any agreements you have with Intel, you accept the terms set forth below. You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein. INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm Intel, Core, and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. 2015, Intel Corporation Software Developer Guide February 2015 2 Document Number: 332077-001US

Contents 1.0 Introduction... 5 1.1 Scope of document... 5 1.2 Terminology... 5 1.3 Reference Documents... 6 1.4 System Requirements... 6 2.0 Software Developer Manual... 7 2.1 WEC7* and WEC2013* IO Control Code Structure... 7 2.1.1 GPIO Driver... 7 2.1.2 GPIOPublic.h... 9 Figures Figure 2-1. Code Example... 7 Figure 2-2. GPIO Driver... 7 Figure 2-3. GPIOPublic.h... 9 Tables Table 1-1. Terminology... 5 Table 1-2. Reference Documents... 6 Table 2-1. IOCTL_GPIO_READ... 8 Table 2-2. IOCTL_GPIO_WRITE... 8 Table 2-3. IOCTL_GPIO_DIRECTION... 8 Table 2-4. IOCTL_GPIO_MIX... 8 Table 2-5. IOCTL_GPIO_QUERY... 9 February 2015 Software Developer Guide Document Number: 332077-001US 3

Revision History Revision History Date Revision February 2015 1.0 Initial release. Corresponds to Gold Software Version. Software Developer Guide February 2015 4 Document Number: 332077-001US

Introduction 1.0 Introduction 1.1 Scope of document This document provides information for software developers on control codes and header files for GPIO drivers on the Windows* Embedded Compact 7 (WEC7*) and 2013 (WEC2013*). 1.2 Terminology Table 1-1. Terminology Term API Application Programming Interface ATAPI ATA Packet Interface BSP Board Support Package CRB Customer Reference Board DMA GPIO HSUART I 2 C IO IOCTL KITL LAN MSDN OS Direct Memory Access General Purpose Input/Output High Speed Universal Asynchronous Receiver/Transmitter Inter-Integrated Circuit Input Ouput Input Output Control Kernel Independent Transport Layer Local Area Network Microsoft Developer Network Operating System February 2015 Software Developer Guide Document Number: 332077-001US 5

Introduction Term PCI SATA SPI USB Peripheral Component Interconnect Serial ATA Serial Peripheral Interface Universal Serial Bus 1.3 Reference Documents Table 1-2. Reference Documents Document BSP for Windows* Embedded Compact 7 and 2013 for Intel 4th Generation Core TM s User Guide BSP for Microsoft Windows* Embedded Compact 7 and 2013 for Mobile Intel 4th Generation Core TM Processors and Intel 8 Series Chipsets Release Notes Document No./Location 332072-001US 332074-001US 1.4 System Requirements The following are required to build Intel Windows* Embedded Compact 7 (WEC*7)/2013 (WEC2013*) IO BSP on Walnut Canyon platform. 1. For WEC*7: Install WEC* 7 Platform Builder with August 2014 QFE Update (7.1.2843). This creates a WINCE700 base directory on the default hard drive (for example, the following path should exist on C: drive: C:\WINCE700. If a WINCE700 base directory does not exist, the installation will fail. 2. For WEC2013*: Install Microsoft Windows* Embedded Compact 2013 Platform Builder with update August 2014 (WEC2013-8.0.6204.0). This creates a WINCE800 base directory on the default hard drive (for example, the following path should exist on C: drive: C:\WINCE800. If a WINCE800 base directory does not exist, the installation will fail. 3. Haswell Walnut Canyon fabb Rev 02 platform and C0 (i5) processor 4. Intel BIOS Version: Walnut Canyon 2 BIOS 94.1 5. Intel WEC IO Board Support Package (BSP) version: Intel Processor WEC IO BSP.msi Software Developer Guide February 2015 6 Document Number: 332077-001US

Software Developer Manual 2.0 Software Developer Manual 2.1 WEC7* and WEC2013* IO Control Code Structure This section describes the control code and data structures that are exposed to end user on GPIO drivers. Intel developed a set of IOCTL control code and data structures. End user or OEM code will call the Microsoft WEC7*/2013* Framework API with the Intel developed IOCTL and data structure as parameters. For example, Intel developed test application will call the WEC7*/2013* Framework API function DeviceIoControl()and pass in Intel created IOCTL code and data structure as a parameter. Note: Refer to MSDN website for the detail of DeviceIoControl() API function: http://msdn.microsoft.com/en-us/library/ms898288.aspx Figure 2-1. Code Example result = (BOOL)DeviceIoControl(hI2CCtrl, (DWORD)IOCTL_I2C_EXECUTE_WRITE, (LPVOID)pTransBuf, sizeof(ptransbuf), NULL, NULL, &BytesHandled, NULL); 2.1.1 GPIO Driver Figure 2-2. GPIO Driver typedef struct { ULONG pin; union { ULONG data; GPIO_CONNECT_IO_PINS_MODE ConnectMode; } u; } GPIO_PIN_PARAMETERS, *PGPIO_PIN_PARAMETERS; February 2015 Software Developer Guide Document Number: 332077-001US 7

Software Developer Manual 2.1.1.1 IOCTL for GPIO Table 2-1. IOCTL_GPIO_READ Defined Macro Returns This function allows the user to read an input pin. IOCTL_GPIO_READ \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x900, METHOD_BUFFERED, FILE_ANY_ACCESS ) None Table 2-2. IOCTL_GPIO_WRITE Defined Macro Returns This function allows the user to write high or low an output selected pin. IOCTL_GPIO_WRITE \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x901, METHOD_BUFFERED, FILE_ANY_ACCESS ) None Table 2-3. IOCTL_GPIO_DIRECTION Defined Macro Returns This function allows the user to set as input or output pin. IOCTL_GPIO_DIRECTION \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x902, METHOD_BUFFERED, FILE_ANY_ACCESS ) None Table 2-4. IOCTL_GPIO_MIX Defined Macro Returns This function allows the user to configure multiplexing for selected GPIO pins. IOCTL_GPIO_MUX \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x903, METHOD_BUFFERED, FILE_ANY_ACCESS ) None Software Developer Guide February 2015 8 Document Number: 332077-001US

Software Developer Manual Table 2-5. IOCTL_GPIO_QUERY Defined Macro Returns This function allows the user to query current pin's setting. IOCTL_GPIO_QUERY \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x904, METHOD_BUFFERED, FILE_ANY_ACCESS ) None 2.1.2 GPIOPublic.h Figure 2-3. GPIOPublic.h #ifndef GPIOPUBLIC_H #define GPIOPUBLIC_H // Windows Header Files: #include <windows.h> #include <winioctl.h> // C RunTime Header Files #include <stdlib.h> //********************************************************************** ***** // IOCTL code definition //********************************************************************** ***** // // The IOCTL function codes from 0x800 to 0xFFF are for customer use. // #define IOCTL_GPIO_READ \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x900, METHOD_BUFFERED, FILE_ANY_ACCESS ) #define IOCTL_GPIO_WRITE \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x901, METHOD_BUFFERED, FILE_ANY_ACCESS ) #define IOCTL_GPIO_DIRECTION \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x902, METHOD_BUFFERED, FILE_ANY_ACCESS ) #define IOCTL_GPIO_MUX \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x903, METHOD_BUFFERED, FILE_ANY_ACCESS ) #define IOCTL_GPIO_QUERY \ CTL_CODE( FILE_DEVICE_UNKNOWN, 0x904, METHOD_BUFFERED, FILE_ANY_ACCESS ) February 2015 Software Developer Guide Document Number: 332077-001US 9

Software Developer Manual typedef enum { CONNECT_MODE_INVALID = 0, CONNECT_MODE_INPUT, CONNECT_MODE_OUTPUT, CONNECT_MODE_MAXIMUM = CONNECT_MODE_OUTPUT } GPIO_CONNECT_IO_PINS_MODE; typedef struct { ULONG pin; union { ULONG data; GPIO_CONNECT_IO_PINS_MODE ConnectMode; } u; } GPIO_PIN_PARAMETERS, *PGPIO_PIN_PARAMETERS; #endif /* GPIOPUBLIC_H */ Software Developer Guide February 2015 10 Document Number: 332077-001US