kolibrios/drivers/video/radeonhd/AtomBios/includes/CD_Opcodes.h
Sergey Semyonov (Serge) fb8dc89b4d move drivers from programs/system/drivers into /drivers
git-svn-id: svn://kolibrios.org@1029 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-02-11 06:52:01 +00:00

182 lines
6.2 KiB
C

/*
* Copyright 2006-2007 Advanced Micro Devices, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/*++
Module Name:
CD_OPCODEs.h
Abstract:
Defines Command Decoder OPCODEs
Revision History:
NEG:24.09.2002 Initiated.
--*/
#ifndef _CD_OPCODES_H_
#define _CD_OPCODES_H_
typedef enum _OPCODE {
Reserved_00= 0, // 0 = 0x00
// MOVE_ group
MOVE_REG_OPCODE, // 1 = 0x01
FirstValidCommand=MOVE_REG_OPCODE,
MOVE_PS_OPCODE, // 2 = 0x02
MOVE_WS_OPCODE, // 3 = 0x03
MOVE_FB_OPCODE, // 4 = 0x04
MOVE_PLL_OPCODE, // 5 = 0x05
MOVE_MC_OPCODE, // 6 = 0x06
// Logic group
AND_REG_OPCODE, // 7 = 0x07
AND_PS_OPCODE, // 8 = 0x08
AND_WS_OPCODE, // 9 = 0x09
AND_FB_OPCODE, // 10 = 0x0A
AND_PLL_OPCODE, // 11 = 0x0B
AND_MC_OPCODE, // 12 = 0x0C
OR_REG_OPCODE, // 13 = 0x0D
OR_PS_OPCODE, // 14 = 0x0E
OR_WS_OPCODE, // 15 = 0x0F
OR_FB_OPCODE, // 16 = 0x10
OR_PLL_OPCODE, // 17 = 0x11
OR_MC_OPCODE, // 18 = 0x12
SHIFT_LEFT_REG_OPCODE, // 19 = 0x13
SHIFT_LEFT_PS_OPCODE, // 20 = 0x14
SHIFT_LEFT_WS_OPCODE, // 21 = 0x15
SHIFT_LEFT_FB_OPCODE, // 22 = 0x16
SHIFT_LEFT_PLL_OPCODE, // 23 = 0x17
SHIFT_LEFT_MC_OPCODE, // 24 = 0x18
SHIFT_RIGHT_REG_OPCODE, // 25 = 0x19
SHIFT_RIGHT_PS_OPCODE, // 26 = 0x1A
SHIFT_RIGHT_WS_OPCODE, // 27 = 0x1B
SHIFT_RIGHT_FB_OPCODE, // 28 = 0x1C
SHIFT_RIGHT_PLL_OPCODE, // 29 = 0x1D
SHIFT_RIGHT_MC_OPCODE, // 30 = 0x1E
// Arithmetic group
MUL_REG_OPCODE, // 31 = 0x1F
MUL_PS_OPCODE, // 32 = 0x20
MUL_WS_OPCODE, // 33 = 0x21
MUL_FB_OPCODE, // 34 = 0x22
MUL_PLL_OPCODE, // 35 = 0x23
MUL_MC_OPCODE, // 36 = 0x24
DIV_REG_OPCODE, // 37 = 0x25
DIV_PS_OPCODE, // 38 = 0x26
DIV_WS_OPCODE, // 39 = 0x27
DIV_FB_OPCODE, // 40 = 0x28
DIV_PLL_OPCODE, // 41 = 0x29
DIV_MC_OPCODE, // 42 = 0x2A
ADD_REG_OPCODE, // 43 = 0x2B
ADD_PS_OPCODE, // 44 = 0x2C
ADD_WS_OPCODE, // 45 = 0x2D
ADD_FB_OPCODE, // 46 = 0x2E
ADD_PLL_OPCODE, // 47 = 0x2F
ADD_MC_OPCODE, // 48 = 0x30
SUB_REG_OPCODE, // 49 = 0x31
SUB_PS_OPCODE, // 50 = 0x32
SUB_WS_OPCODE, // 51 = 0x33
SUB_FB_OPCODE, // 52 = 0x34
SUB_PLL_OPCODE, // 53 = 0x35
SUB_MC_OPCODE, // 54 = 0x36
// Control grouop
SET_ATI_PORT_OPCODE, // 55 = 0x37
SET_PCI_PORT_OPCODE, // 56 = 0x38
SET_SYS_IO_PORT_OPCODE, // 57 = 0x39
SET_REG_BLOCK_OPCODE, // 58 = 0x3A
SET_FB_BASE_OPCODE, // 59 = 0x3B
COMPARE_REG_OPCODE, // 60 = 0x3C
COMPARE_PS_OPCODE, // 61 = 0x3D
COMPARE_WS_OPCODE, // 62 = 0x3E
COMPARE_FB_OPCODE, // 63 = 0x3F
COMPARE_PLL_OPCODE, // 64 = 0x40
COMPARE_MC_OPCODE, // 65 = 0x41
SWITCH_OPCODE, // 66 = 0x42
JUMP__OPCODE, // 67 = 0x43
JUMP_EQUAL_OPCODE, // 68 = 0x44
JUMP_BELOW_OPCODE, // 69 = 0x45
JUMP_ABOVE_OPCODE, // 70 = 0x46
JUMP_BELOW_OR_EQUAL_OPCODE, // 71 = 0x47
JUMP_ABOVE_OR_EQUAL_OPCODE, // 72 = 0x48
JUMP_NOT_EQUAL_OPCODE, // 73 = 0x49
TEST_REG_OPCODE, // 74 = 0x4A
TEST_PS_OPCODE, // 75 = 0x4B
TEST_WS_OPCODE, // 76 = 0x4C
TEST_FB_OPCODE, // 77 = 0x4D
TEST_PLL_OPCODE, // 78 = 0x4E
TEST_MC_OPCODE, // 79 = 0x4F
DELAY_MILLISEC_OPCODE, // 80 = 0x50
DELAY_MICROSEC_OPCODE, // 81 = 0x51
CALL_TABLE_OPCODE, // 82 = 0x52
REPEAT_OPCODE, // 83 = 0x53
// Miscellaneous group
CLEAR_REG_OPCODE, // 84 = 0x54
CLEAR_PS_OPCODE, // 85 = 0x55
CLEAR_WS_OPCODE, // 86 = 0x56
CLEAR_FB_OPCODE, // 87 = 0x57
CLEAR_PLL_OPCODE, // 88 = 0x58
CLEAR_MC_OPCODE, // 89 = 0x59
NOP_OPCODE, // 90 = 0x5A
EOT_OPCODE, // 91 = 0x5B
MASK_REG_OPCODE, // 92 = 0x5C
MASK_PS_OPCODE, // 93 = 0x5D
MASK_WS_OPCODE, // 94 = 0x5E
MASK_FB_OPCODE, // 95 = 0x5F
MASK_PLL_OPCODE, // 96 = 0x60
MASK_MC_OPCODE, // 97 = 0x61
// BIOS dedicated group
POST_CARD_OPCODE, // 98 = 0x62
BEEP_OPCODE, // 99 = 0x63
SAVE_REG_OPCODE, // 100 = 0x64
RESTORE_REG_OPCODE, // 101 = 0x65
SET_DATA_BLOCK_OPCODE, // 102 = 0x66
XOR_REG_OPCODE, // 103 = 0x67
XOR_PS_OPCODE, // 104 = 0x68
XOR_WS_OPCODE, // 105 = 0x69
XOR_FB_OPCODE, // 106 = 0x6a
XOR_PLL_OPCODE, // 107 = 0x6b
XOR_MC_OPCODE, // 108 = 0x6c
SHL_REG_OPCODE, // 109 = 0x6d
SHL_PS_OPCODE, // 110 = 0x6e
SHL_WS_OPCODE, // 111 = 0x6f
SHL_FB_OPCODE, // 112 = 0x70
SHL_PLL_OPCODE, // 113 = 0x71
SHL_MC_OPCODE, // 114 = 0x72
SHR_REG_OPCODE, // 115 = 0x73
SHR_PS_OPCODE, // 116 = 0x74
SHR_WS_OPCODE, // 117 = 0x75
SHR_FB_OPCODE, // 118 = 0x76
SHR_PLL_OPCODE, // 119 = 0x77
SHR_MC_OPCODE, // 120 = 0x78
DEBUG_OPCODE, // 121 = 0x79
CTB_DS_OPCODE, // 122 = 0x7A
LastValidCommand = CTB_DS_OPCODE,
// Extension specificaTOR
Extension = 0x80, // 128 = 0x80 // Next byte is an OPCODE as well
Reserved_FF = 255 // 255 = 0xFF
}OPCODE;
#endif // _CD_OPCODES_H_