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

📄 cim_parm.h

📁 LX 800 WindowsCE 6.0 BSP
💻 H
📖 第 1 页 / 共 3 页
字号:
 /*
  * <LIC_AMD_STD>
  * Copyright (C) 2005 Advanced Micro Devices, Inc.  All Rights Reserved.
  * </LIC_AMD_STD>
  *
  * <CTL_AMD_STD>
  * </CTL_AMD_STD>
  *
  * <DOC_AMD_STD>
  * Cimarron user definitions.
  * </DOC_AMD_STD>
  *
  */

#ifndef _cim_parm_h
#define _cim_parm_h

/*===================================================*/
/*       CIMARRON RETURN VALUE DEFINITIONS           */
/*===================================================*/

#define CIM_STATUS_OK                     0x00000000
#define CIM_STATUS_ERROR                  0x00000001
#define CIM_STATUS_INVALIDPARAMS          0x00000002
#define CIM_STATUS_DEVNOTFOUND            0x00000004
#define CIM_STATUS_INVALIDSCALE           0x00000008
#define CIM_STATUS_INEXACTMATCH           0x00000010
#define CIM_STATUS_NOLOCK                 0x00000020
#define CIM_STATUS_CPUNOTFOUND            0x00000040
#define CIM_STATUS_DISPLAYUNAVAILABLE     0x00000080
#define CIM_STATUS_NOTFOUND               0x00000100

/*===================================================*/
/*       CIMARRON CPU DEFINITIONS                    */
/*===================================================*/

#define CIM_CPU_GEODEGX                   0x00000001
#define CIM_CPU_GEODELX                   0x00000002

#define CIM_SB_5535                       0x00000001
#define CIM_SB_5536                       0x00000002

/*===================================================*/
/* MSR PARAMETERS                                    */
/*===================================================*/

/*-------------------------------------------------------------*/
/* GEODELINK DEVICE IDS                                        */
/* These values uniquely identify all known GeodeLink devices  */
/* in GeodeLX and its companion, 5535/6.  For multiple devices */
/* of the same class (GLIU, USB, etc.) the table order is used */
/* to to identify the expected device order, in terms of on    */
/* which GLIU the device is found, and on which port.          */
/*-------------------------------------------------------------*/

#define MSR_DEVICE_GEODELX_GLIU0          0x00
#define MSR_DEVICE_GEODELX_GLIU1          0x01
#define MSR_DEVICE_5535_GLIU              0x02
#define MSR_DEVICE_GEODELX_GLCP           0x03
#define MSR_DEVICE_5535_GLCP              0x04
#define MSR_DEVICE_GEODELX_MPCI           0x05
#define MSR_DEVICE_5535_MPCI              0x06
#define MSR_DEVICE_GEODELX_MC             0x07
#define MSR_DEVICE_GEODELX_GP             0x08
#define MSR_DEVICE_GEODELX_VG             0x09
#define MSR_DEVICE_GEODELX_VIP            0x0A
#define MSR_DEVICE_GEODELX_AES            0x0B
#define MSR_DEVICE_GEODELX_DF             0x0C
#define MSR_DEVICE_GEODELX_FG             0x0D
#define MSR_DEVICE_GEODELX_VAIL           0x0E
#define MSR_DEVICE_5536_USB_2_0           0x0F
#define MSR_DEVICE_5535_USB2              0x10
#define MSR_DEVICE_5535_USB1              0x11
#define MSR_DEVICE_5535_ATAC              0x12
#define MSR_DEVICE_5535_MDD               0x13
#define MSR_DEVICE_5535_ACC               0x14
#define MSR_DEVICE_EMPTY                  0x15
#define MSR_DEVICE_REFLECTIVE             0x16
#define MSR_DEVICE_PRESENT                0x17
#define MSR_DEVICE_NOTFOUND               0x18

/*---------------------------------------------*/
/* GEODELINK TABLE ENTRY                       */
/* The following structure represents one port */
/* on a GeodeLink Interface Unit (GLIU)        */
/*---------------------------------------------*/

typedef struct tagGeodeLinkNode
{
	unsigned long address_from_cpu;
	unsigned long device_id;

} GEODELINK_NODE;

/*---------------------------------------------*/
/* QWORD DATA STRUCTURE                        */
/* 64-bit data structure for MSR acess.        */
/*---------------------------------------------*/

typedef struct tagQ_WORD
{
	unsigned long high;
	unsigned long low;

} Q_WORD;

/*===================================================*/
/*       INITIALIZATION USER PARAMETERS              */
/*===================================================*/

typedef struct tagInitBaseAddresses
{
	unsigned long framebuffer_base;
	unsigned long gp_register_base;
	unsigned long vg_register_base;
	unsigned long df_register_base;
	unsigned long vip_register_base;
	unsigned long framebuffer_size;

} INIT_BASE_ADDRESSES;

/*===================================================*/
/*          GP USER PARAMETER DEFINITIONS            */
/*===================================================*/

/*---------------------------*/
/* GP_DECLARE_BLT PARAMETERS */
/*---------------------------*/

#define CIMGP_BLTFLAGS_PRES_LUT          0x0001
#define CIMGP_BLTFLAGS_PRES_COLOR_PAT    0x0002
#define CIMGP_ENABLE_PREFETCH            0x0004
#define CIMGP_BLTFLAGS_HAZARD            0x0008
#define CIMGP_BLTFLAGS_INVERTMONO        0x0010
#define CIMGP_BLTFLAGS_LIMITBUFFER       0x0020

/*-----------------------------------*/
/* GP_SET_ALPHA_OPERATION PARAMETERS */
/*-----------------------------------*/

#define CIMGP_APPLY_BLEND_TO_RGB         1
#define CIMGP_APPLY_BLEND_TO_ALPHA       2
#define CIMGP_APPLY_BLEND_TO_ALL         3

#define CIMGP_ALPHA_TIMES_A              0
#define CIMGP_BETA_TIMES_B               1
#define CIMGP_A_PLUS_BETA_B              2
#define CIMGP_ALPHA_A_PLUS_BETA_B        3

#define CIMGP_CHANNEL_A_ALPHA            0
#define CIMGP_CHANNEL_B_ALPHA            1
#define CIMGP_CONSTANT_ALPHA             2
#define CIMGP_ALPHA_EQUALS_ONE           3
#define CIMGP_ALPHA_FROM_RGB_A           4
#define CIMGP_ALPHA_FROM_RGB_B           5
#define CIMGP_CONVERTED_ALPHA            6

#define CIMGP_CHANNEL_A_SOURCE           0
#define CIMGP_CHANNEL_A_DEST             1

/*---------------------------------*/
/* GP_SET_SOURCE_FORMAT PARAMETERS */
/*---------------------------------*/

#define CIMGP_SOURCE_FMT_3_3_2           0x00
#define CIMGP_SOURCE_FMT_8BPP_INDEXED    0x01
#define CIMGP_SOURCE_FMT_4_4_4_4         0x04
#define CIMGP_SOURCE_FMT_12BPP_BGR       0x14
#define CIMGP_SOURCE_FMT_1_5_5_5         0x05
#define CIMGP_SOURCE_FMT_15BPP_BGR       0x15
#define CIMGP_SOURCE_FMT_0_5_6_5         0x06
#define CIMGP_SOURCE_FMT_16BPP_BGR       0x16
#define CIMGP_SOURCE_FMT_YUYV            0x07
#define CIMGP_SOURCE_FMT_UYVY            0x17
#define CIMGP_SOURCE_FMT_8_8_8_8         0x08
#define CIMGP_SOURCE_FMT_32BPP_BGR       0x18
#define CIMGP_SOURCE_FMT_24BPP           0x0B
#define CIMGP_SOURCE_FMT_4BPP_INDEXED    0x0D

/*------------------------------------*/
/* GP_SCREEN_TO_SCREEN_BLT PARAMETERS */
/*------------------------------------*/

#define CIMGP_NEGXDIR                    1
#define CIMGP_NEGYDIR                    2

/*------------------------------------*/
/* GP_BRESENHAM_LINE PARAMETERS       */
/*------------------------------------*/

#define CIMGP_YMAJOR                     1
#define CIMGP_POSMAJOR                   2
#define CIMGP_POSMINOR                   4

/*----------------------------------------------*/
/* USER STRUCTURE FOR SAVING/RESTORING GP STATE */
/*----------------------------------------------*/

typedef struct tagGPSaveRestore
{
    unsigned long base_offset;
    unsigned long cmd_top;
    unsigned long cmd_bottom;
    unsigned long cmd_base;
    unsigned long cmd_read;

} GP_SAVE_RESTORE;

/*===================================================*/
/*          VG USER PARAMETER DEFINITIONS            */
/*===================================================*/

/*-------------------------------------------*/
/*       SUPPORTED TV ENCODERS               */
/*-------------------------------------------*/

#define VG_ENCODER_ADV7171                0x0001
#define VG_ENCODER_SAA7127                0x0002
#define VG_ENCODER_FS454                  0x0003
#define VG_ENCODER_ADV7300                0x0004

/*-------------------------------------------*/
/*       SUPPORTED TV RESOLUTIONS            */
/*-------------------------------------------*/

#define VG_TVMODE_NTSC                    0x00000000
#define VG_TVMODE_PAL                     0x00000001
#define VG_TVMODE_480P                    0x00000002
#define VG_TVMODE_720P                    0x00000003
#define VG_TVMODE_1080I                   0x00000004
#define VG_TVMODE_6X4_NTSC                0x00000005
#define VG_TVMODE_8X6_NTSC                0x00000006
#define VG_TVMODE_10X7_NTSC               0x00000007
#define VG_TVMODE_6X4_PAL                 0x00000008
#define VG_TVMODE_8X6_PAL                 0x00000009
#define VG_TVMODE_10X7_PAL                0x0000000A

/*-------------------------------------------*/
/* USER STRUCTURE FOR SETTING A DISPLAY MODE */
/*-------------------------------------------*/

#define VG_SUPPORTFLAG_8BPP               0x00000001
#define VG_SUPPORTFLAG_12BPP              0x00000002
#define VG_SUPPORTFLAG_15BPP              0x00000004
#define VG_SUPPORTFLAG_16BPP              0x00000008
#define VG_SUPPORTFLAG_24BPP              0x00000010
#define VG_SUPPORTFLAG_32BPP              0x00000020
#define VG_SUPPORTFLAG_56HZ               0x00000040
#define VG_SUPPORTFLAG_60HZ               0x00000080
#define VG_SUPPORTFLAG_70HZ               0x00000100
#define VG_SUPPORTFLAG_72HZ               0x00000200
#define VG_SUPPORTFLAG_75HZ               0x00000400
#define VG_SUPPORTFLAG_85HZ               0x00000800
#define VG_SUPPORTFLAG_90HZ               0x00001000
#define VG_SUPPORTFLAG_100HZ              0x00002000
#define VG_SUPPORTFLAG_HZMASK             0x00003FC0
#define VG_SUPPORTFLAG_ADV7171            0x00004000
#define VG_SUPPORTFLAG_SAA7127            0x00008000
#define VG_SUPPORTFLAG_FS454              0x00010000
#define VG_SUPPORTFLAG_ADV7300            0x00020000
#define VG_SUPPORTFLAG_ENCODERMASK        0x0003C000
#define VG_SUPPORTFLAG_PANEL              0x00040000
#define VG_SUPPORTFLAG_TVOUT              0x00080000
#define VG_SUPPORTFLAG_NTSC               0x00000000
#define VG_SUPPORTFLAG_PAL                0x00100000
#define VG_SUPPORTFLAG_480P               0x00200000
#define VG_SUPPORTFLAG_720P               0x00300000
#define VG_SUPPORTFLAG_1080I              0x00400000
#define VG_SUPPORTFLAG_6X4_NTSC           0x00500000
#define VG_SUPPORTFLAG_8X6_NTSC           0x00600000
#define VG_SUPPORTFLAG_10X7_NTSC          0x00700000
#define VG_SUPPORTFLAG_6X4_PAL            0x00800000
#define VG_SUPPORTFLAG_8X6_PAL            0x00900000
#define VG_SUPPORTFLAG_10X7_PAL           0x00A00000
#define VG_SUPPORTFLAG_TVMODEMASK         0x00F00000

#define VG_MODEFLAG_NEG_HSYNC             0x00000001
#define VG_MODEFLAG_NEG_VSYNC             0x00000002
#define VG_MODEFLAG_INTERLACED            0x00000004
#define VG_MODEFLAG_PANELOUT              0x00000008
#define VG_MODEFLAG_CENTERED              0x00000010
#define VG_MODEFLAG_LINEARPITCH           0x00000020
#define VG_MODEFLAG_TVOUT                 0x00000040
#define VG_MODEFLAG_HALFCLOCK             0x00000080
#define VG_MODEFLAG_QVGA                  0x00000100
#define VG_MODEFLAG_EXCLUDEPLL            0x00000200
#define VG_MODEFLAG_NOPANELTIMINGS        0x00000400
#define VG_MODEFLAG_XVGA_TFT              0x00000800
#define VG_MODEFLAG_CUSTOM_PANEL          0x00001000
#define VG_MODEFLAG_CRT_AND_FP            0x00002000
#define VG_MODEFLAG_LOW_BAND              0x00000000
#define VG_MODEFLAG_AVG_BAND              0x00004000
#define VG_MODEFLAG_HIGH_BAND             0x00008000
#define VG_MODEFLAG_LEGACY_BAND           0x0000C000
#define VG_MODEFLAG_BANDWIDTHMASK         0x0000C000
#define VG_MODEFLAG_OVERRIDE_BAND         0x00010000
#define VG_MODEFLAG_INT_ADDRESS           0x00000000
#define VG_MODEFLAG_INT_LINEDOUBLE        0x00020000
#define VG_MODEFLAG_INT_FLICKER           0x00040000
#define VG_MODEFLAG_INT_MASK              0x00060000
#define VG_MODEFLAG_INT_OVERRIDE          0x00080000
#define VG_MODEFLAG_INVERT_SHFCLK         0x00100000
#define VG_MODEFLAG_MANUAL_FREQUENCY      0x00200000
#define VG_MODEFLAG_PLL_BYPASS            0x00400000
#define VG_MODEFLAG_VIP_TO_DOT_CLOCK      0x00800000

#define VG_MODEFLAG_VALIDUSERFLAGS        (VG_MODEFLAG_CRT_AND_FP     | \
                                           VG_MODEFLAG_XVGA_TFT       | \
                                           VG_MODEFLAG_NOPANELTIMINGS | \
                                           VG_MODEFLAG_EXCLUDEPLL     | \
                                           VG_MODEFLAG_LINEARPITCH)

typedef struct tagVGDisplayMode
{
	/* DISPLAY MODE FLAGS */
	/* Includes BPP, refresh rate information, interlacing, etc. */

    unsigned long internal_flags;
	unsigned long flags;

	/* SOURCE RESOLUTION */
	/* The following values reflect the resolution of the data in the frame */
	/* buffer.  These values are used to enable scaling and filtering.      */

	unsigned long src_width;
	unsigned long src_height;

	/* PANEL SETTINGS */
	/* These allow a user to set a panel mode through the vg_set_custom_mode */
	/* routine.  These values are only relevant if the VG_MODEFLAG_PANEL is  */
	/* also set.                                                             */

	unsigned long mode_width;
	unsigned long mode_height;
	unsigned long panel_width;
	unsigned long panel_height;
    unsigned long panel_tim1;
    unsigned long panel_tim2;
    unsigned long panel_dither_ctl;
    unsigned long panel_pad_sel_low;
    unsigned long panel_pad_sel_high;

	/* OUTPUT TIMINGS */
	/* If the active width and height do not match the source */
	/* dimensions the graphics data will be scaled.           */

	unsigned long hactive;
	unsigned long hblankstart;
	unsigned long hsyncstart;
	unsigned long hsyncend;
	unsigned long hblankend;
	unsigned long htotal;

	unsigned long vactive;
	unsigned long vblankstart;
	unsigned long vsyncstart;
	unsigned long vsyncend;
	unsigned long vblankend;
	unsigned long vtotal;

    unsigned long vactive_even;
	unsigned long vblankstart_even;
	unsigned long vsyncstart_even;
	unsigned long vsyncend_even;
	unsigned long vblankend_even;
	unsigned long vtotal_even;

	/* CLOCK FREQUENCY */

	unsigned long frequency;

} VG_DISPLAY_MODE;

/*-------------------------------------------*/
/*                PLL FLAGS                  */
/*-------------------------------------------*/

#define VG_PLL_DIVIDE_BY_2                0x00000001
#define VG_PLL_DIVIDE_BY_4                0x00000002
#define VG_PLL_BYPASS                     0x00000004
#define VG_PLL_MANUAL                     0x00000008
#define VG_PLL_VIP_CLOCK                  0x00000010

/*-------------------------------------------*/
/* USER STRUCTURE FOR QUERYING DISPLAY MODES */
/*-------------------------------------------*/

typedef struct tagQueryDisplayMode
{
    int interlaced;
    int halfclock;
	unsigned long active_width;
	unsigned long active_height;
	unsigned long panel_width;
	unsigned long panel_height;
	unsigned long total_width;
	unsigned long total_height;
	unsigned long bpp;
	unsigned long hz;
	unsigned long frequency;
	unsigned long query_flags;
    unsigned long encoder;
    unsigned long tvmode;

} VG_QUERY_MODE;

/*-------------------------------------------*/
/* USER STRUCTURE FOR QUERYING CURSOR DATA   */
/*-------------------------------------------*/

typedef struct tagCursorData
{
	int enable;
	int color_cursor;
	unsigned long cursor_offset;
	unsigned long cursor_x;
	unsigned long cursor_y;
	unsigned long clipx;
	unsigned long clipy;
	unsigned long mono_color0;
	unsigned long mono_color1;
	unsigned long flags;

⌨️ 快捷键说明

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