⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 大名鼎鼎的SM501 2D显卡驱动
💻 TXT
字号:

Windows CE .NET VoyagerGX driver information
==============================================

Introduction
------------
Silicon Motion, Inc. VoyagerGX Driver is architected from the beginning
to support variety of features and extension of Windows CE .NET, such as 
DirectDraw feature, Dynamic Rotation feature, Multimon feature, SMI Multimon
Emulation feature (using single VoyagerGX chip to drive two independent
displays), WCEfA (Windows CE for Automotive) feature, and more. 


Setup
-----
VoyagerGX driver initial setup information for Windows CE .NET
* Copy source codes or binary dll file to 
  "$(_WINCEROOT)\public\common\oak\DRIVERS\DISPLAY\SMIVGX\"
  Where $(_WINCEROOT) is the installation location of the Windows CE .NET,
  usually defaulted to C:\WINCE400

* Import VoyagerGX driver feature to Catalog, as follows:
  - Click on File\Manage Catalog Features. 
  - Remove any older smivgx.cec file from the list, if any.
  - Click Import and get the smivgx.cec from the directory above.
  - Click Refresh, if necessary.

* Include VoyagerGX driver to the platform, as follows:
  - Find any Display driver instances on the FeatureView of Platform builder
    (including older VoyagerGX and NULL instances) and remove them all.
  - Drag ONLY one of the Catalog\Device Driver\SMI VoyagerGX Family features 
    (source code or binary dll only) to the FeatureView

* Change the build settings of VoyagerGX driver, ie. Rotation driver, 
  Non Direct Draw driver, etc., as follows:
  - Right click on VoyagerGX driver, and select Settings
  - Select "Custom Build" tab, in Build Step "Feature Build", 
    Change any necessary environment settings (See Environment Settings section 
    for more info).

* Change the VoyagerGX Windows CE registry settings
  - The registry is used to specify the special modes and panels
  - Click on "Parameters" tab, edit common.reg (or any .reg files, as preferred)
  - Add the following lines, and specify the registry options (See Registry Settings 
    section):

    IF BSP_DISPLAY_SMIVGX
    [HKEY_LOCAL_MACHINE\System\GDI\Drivers]
       "Display"="ddi_vgx.dll"
    
    [HKEY_LOCAL_MACHINE\Drivers\Display\SMIVGX]
	; Specify VoyagerGX registry options below here

    ENDIF


* No need to add ddi_vgx.dll module info to .BIB files, it is already included by
  smivgx.cec

* Build the VoyagerGX driver
  - To build the whole platform, click Build\Build Platform or Build\Rebuild Platform
  - To rebuild the driver separately, right click on VoyagerGX and 
     select "Build Selected Features" and then click Build\MakeImg
  

Enviroment Settings
-------------------
The enviroment settings should be set before building the driver (See Setup section on
how to specify them), thus the binary-dll driver is not affected by this settings.

If no enviroment settings are set, the DirectDraw-based driver will be built

Where options are:
* SMI_NOLIB: Turn this flag to 1, if you get "gpe_lib.lib not found" error
  messages.

* SMI_HOST: Turn this flag to 1, the compiler will enable the Host interface
  mode. See registry settings below to set the base and register physical 
  address for different platforms.

* SMI_ACCELENT: Turn this flag to 1, together with SMI_HOST to enable Accelent
  host platform compiling.

* SMI_NODD: When this option is set to 1, the compiler will disable the
  DirectDraw feature.

* SMI_WCEFA: When this option is set to 1, the compiler will enable the 
  WCEfA (Windows CE for Automotive) API feature.

* SMI_ROTATION: When this option is set to 1, the compiler will enable the
  special Dynamic Rotation feature. This option automatically set SMI_NODD to 1.

* SMI_MMEMU: When this option is set to 1, the compiler will enable the
  special SMI MultiMon Emulation using single chip to power two different screens
  in any resolutions specified in the registry.

* SMI_DISPPERF: When this option is set to 1, the compiler will enable the
  profiling information for the driver. 

* SMI_UMA: When this option is set to 1, the compiler will enable the UMA support
  for Vytek platform only.

* SMI_DISABLE_INT_MGR: When this option is set to 1, the compiler will disable the 
  interrupt management support.

* SMI_DISABLE_AUTO_PWRMGR: When this option is set to 1, the compiler will disable the 
  auto power management support.

* SMI_NOBOOTARG: When this option is set to 1, the compiler will disable the 
  boot argument support.

* SMI_VGXDMA: Turn this flag to 1, Voyager GX DMA API will be available to use by 
  applications. Utility vgxdma is a sample code to use the DMA API.

Registry Settings
-----------------
Registry Settings determine the mode sets by the driver when it first loads up
(See Setup section on how to specify them). 

* The default registry format is as follows:

[HKEY_LOCAL_MACHINE\Drivers\Display\SMIVGX]
; For Screen Size, Panel Size, and Bpp
  "CxPanel"		=	dword:{any value in hex, as supported by driver}
  "CyPanel"		=	dword:{any value in hex, as supported by driver}
  "CxScreen"	=	dword:{any value in hex, as supported by driver}
  "CyScreen"	=	dword:{any value in hex, as supported by driver}
  "CxZoom"		=	dword:{any value in hex, as supported by driver}
  "CyZoom"		=	dword:{any value in hex, as supported by driver}
  "CursorZoom"	=	dword:{0, 1}
  "Bpp"	  		=	dword:{8, 10, 20}
  "RefreshRate"	=	dword:{any value in hex, as supported by driver}
  "TestClock"	=	dword:{any value in hex, as installed on the VGX board}
  "DisplayType" =   dword:{1 = panel, 2 = CRT, 3 = panel + CRT}
  "SaveRestore" =   dword:{0, 1}
  "SaveSurface" =   dword:{0, 1}
  "PowerMonitor" =  dword:{0, 1}
  "OverlayDisabled" = dword:{0,1} 
  "CSCDisabled" = dword:{0,1}

; For Host-based driver
  "FB_BASE" 	= dword:{base physical address in hex}
  "FG_BASE" 	= dword:{register physical address in hex}

;Hitachi PFM_DS8P
  "FB_BASE"		= dword:10000000
  "FG_BASE"		= dword:13E00000

;ACCELENT IDP_PXA250_NET
  "FB_BASE"		= dword:08000000
  "FG_BASE"		= dword:0BE00000

;STELLCOM Peacock
  "FB_BASE"		= dword:10000000
  "FG_BASE"		= dword:13E00000

; For DMA API on STELLCOM Peacock, should be same as in config.bib file. 
;   VGXDMA    84040000  000E0000  RESERVED	; in config.bib
  "SDRAM_BASE"      = dword:84000000
  "VGXDMABUF_ADDR"  = dword:84040000 
  "VGXDMABUF_SIZE"  = dword:E0000

; For enabling Gamma correction function
  "Gamma" 		=   dword:{0, 1}

; For SMI Special Modes and Panel Types
  "PanelType" = dword:{as specified below}
; For Hitachi Mono STN 320x240 panel - SP14Q003
  "PanelType" = dword:100
; For special timings of 800x600 TFT panel requested by Plexus
  "PanelType" = dword:200

; For special panel settings by modifying hardware register directly
; See definition below for detail explanation.
  "PanelSettings" = hex:xx0,xx0,xx0,xx0, xx1,xx1,xx1,xx1,....

; For Rotation Feature
  "Angle"		=	dword:{0,5A,B4,10E}

; For Multimon support
[HKEY_LOCAL_MACHINE\SYSTEM\GDI\MONITORS]
  "TOTAL MONITORS" = dword:{number of monitors} 

; NOTE: Bpp option has to be the same across all monitors (WinCE limitation)
[HKEY_LOCAL_MACHINE\Drivers\Display\SMIVGX\MONITOR0]
; Specify Panel settings and refresh rate for first monitor, as necessary

[HKEY_LOCAL_MACHINE\Drivers\Display\SMIVGX\MONITOR1]
; Specify Panel settings and refresh rate for second monitor, as necessary

[HKEY_LOCAL_MACHINE\Drivers\Display\SMIVGX\MONITOR2]
; Specify Panel settings and refresh rate for third monitor, as necessary

[HKEY_LOCAL_MACHINE\Drivers\Display\SMIVGX\MONITOR3]
; Specify Panel settings and refresh rate for fourth monitor, as necessary



* The definitions are:
  - CxPanel, CyPanel: Panel width and height.
  		If not specified, CxPanel and CyPanel will be defaulted to 800x600 

  - CxScreen, CyScreen: Screen width and height (Display mode resolution).
		If not specified, CxScreen and CyScreen will be the same as on 
		CxPanel and CyPanel.
	NOTE1: The difference between Panel and Screen is that CxPanel and CyPanel
	    determine the physical dimension of the panel while CxScreen and 
		CyScreen determine the dimension of the screen desktop.
	NOTE2: CxScreen & CyScreen less than CxPanel & CyPanel, zoom feature will be enabled.
		When Zoom feature is enabled, Overlay Capability will be disabled.
	NOTE3: Panning is NOT supported for the second monitor in the DualMon feature.

  - CxZoom, CyZoom: Zoom width and height.
  		If not specified, CxZoom and CyZoom will be disabled. 
  
  - CursorZoom: Enable or Disable Cursor Zooming in Zoom-In/Zoom-Out mode.
		If not specified, CursorZooom will be disabled.

  - Bpp: Number of bits of colors for one pixel.  
 	    If not specified, Bpp is defaulted to 16-bpp mode.

  - RefreshRate: Refresh rate / vertical frequency of monitors/panels.
 	    If not specified, RefreshRate is defaulted to 60 Hz.

  - TestClock: The frequency of the test clock installed and used on the board.
		Do NOT set this setting if internal clock is used!
		This registry ONLY for SPECIAL cases only!
		If not specified, TestClock is defaulted to 133Mhz for rev. A chips.

  - DisplayType: 1 - Enable panel output only
                 2 - Enable CRT output only
                 3 - Enable both panel & CRT outputs

  - SaveRestore: 0 - The driver will not save/restore VGX registers and memory
                     to/from system memory
                 1 - Otherwise

  - SaveSurface: Valid only if 'SaveRestore' registry key is 1
                 0 - The driver will not save/restore all surfaces to/from system memory
                 1 - Otherwise

  - PowerMonitor: The driver monitors AC/DC change and 2D activity to determine if 
  				  voltage and/or clock frequencies need to be reduced or not.  Please 
  				  refer to SMI power management spec for details.
  				  0 - ReduceOn disable
				  1 - ReduceOn enable

  - VgxSysIntr: Determines the SYSINTR value to use for Voyager interrupt handling.
                If the varibale is not specified, the driver will attempt to get the value from OS.

  - OverlayDisabled: Enable or disable the back-end Overlay video feature in the driver.
				If not specified, Overlay video feature will be enabled.
				If 1, Overlay video feature will be disabled.

  - CSCDisabled: Enable or disable the front-end Color Space Conversion feature in the driver.
				If not specified, CSC feature will be enabled.
				If 1, CSC feature will be disabled.

  - FB_BASE:  For Host-based driver only!
        Specify the physical address of the VGX frame buffer.

  - FG_BASE:  For Host-based driver only!
        Specify the physical address of the VGX register MMIO.

  - PanelType: For special panel type. Certain number corresponds to certain panel type, 
        as listed below (all values are hex values):
		100 = For Hitachi Mono STN 320x240 panel - SP14Q003
		200 = For special timings of 800x600 TFT panel requested by Plexus

  - PanelSettings: For special panel settings. Allow direct hardware accesses using this feature.
        "PanelSettings" = hex:aa,bb,cc,dd, ee,ff,gg,hh, ii,jj,kk,ll....
		All entries are treated as DWORD values, so for the example above - in little endian:
		Mask = ddccbbaa
		Values = hhggffee, llkkjjii, ....
		
		Options in the mask are:
		PANEL_HORIZONTAL_TOTAL		0x00000001
		PANEL_HORIZONTAL_SYNC		0x00000002
		PANEL_VERTICAL_TOTAL		0x00000004
		PANEL_VERTICAL_SYNC			0x00000008
		POWER_MODE_CLOCK			0x00000010
		PANEL_DISPLAY_CTRL			0x00000020

        eg. "PanelSettings"=hex:0a,00,00,00,7f,03,d4,00,58,02,18,00
		Mask = 0x0000000a
		Values = 0x00d4037f, 0x00180258 (based on mask bit from LSB to MSB)
		so register PANEL_HORIZONTAL_SYNC = 0x00d4037f, PANEL_VERTICAL_SYNC = 0x00180258

  - Angle: Angle of rotation 0(0), 90(0x5A), 180(0xB4), and 270(0x10E),
  		only if Rotation feature is enabled.
		If not specified, Angle is defaulted to 0.


Troubleshooting
---------------
Note: Due to internal clock issue on rev.A chips, certain settings
      (resolutions & refresh rate) may not work and may hang the system.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -