add doc
This commit is contained in:
parent
53b2753e64
commit
6d73be14cc
BIN
doc/R3xx_3D_Registers.pdf
Normal file
BIN
doc/R3xx_3D_Registers.pdf
Normal file
Binary file not shown.
BIN
doc/R5xx_Acceleration_v1.5.pdf
Normal file
BIN
doc/R5xx_Acceleration_v1.5.pdf
Normal file
Binary file not shown.
63526
doc/RRG-216M56-03oOEM.pdf
Normal file
63526
doc/RRG-216M56-03oOEM.pdf
Normal file
File diff suppressed because one or more lines are too long
BIN
doc/kgrids-atom.zip
Normal file
BIN
doc/kgrids-atom.zip
Normal file
Binary file not shown.
48
doc/kgrids-atom/atom-bits.h
Normal file
48
doc/kgrids-atom/atom-bits.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2008 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.
|
||||||
|
*
|
||||||
|
* Author: Stanislaw Skowronek
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ATOM_BITS_H
|
||||||
|
#define ATOM_BITS_H
|
||||||
|
|
||||||
|
static inline uint8_t get_u8(void *bios, int ptr)
|
||||||
|
{
|
||||||
|
return ((unsigned char *)bios)[ptr];
|
||||||
|
}
|
||||||
|
#define U8(ptr) get_u8(ctx->ctx->bios,(ptr))
|
||||||
|
#define CU8(ptr) get_u8(ctx->bios,(ptr))
|
||||||
|
static inline uint16_t get_u16(void *bios, int ptr)
|
||||||
|
{
|
||||||
|
return get_u8(bios,ptr)|(((uint16_t)get_u8(bios,ptr+1))<<8);
|
||||||
|
}
|
||||||
|
#define U16(ptr) get_u16(ctx->ctx->bios,(ptr))
|
||||||
|
#define CU16(ptr) get_u16(ctx->bios,(ptr))
|
||||||
|
static inline uint32_t get_u32(void *bios, int ptr)
|
||||||
|
{
|
||||||
|
return get_u16(bios,ptr)|(((uint32_t)get_u16(bios,ptr+2))<<16);
|
||||||
|
}
|
||||||
|
#define U32(ptr) get_u32(ctx->ctx->bios,(ptr))
|
||||||
|
#define CU32(ptr) get_u32(ctx->bios,(ptr))
|
||||||
|
#define CSTR(ptr) (((char *)(ctx->bios))+(ptr))
|
||||||
|
|
||||||
|
#endif
|
||||||
100
doc/kgrids-atom/atom-names.h
Normal file
100
doc/kgrids-atom/atom-names.h
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2008 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.
|
||||||
|
*
|
||||||
|
* Author: Stanislaw Skowronek
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ATOM_NAMES_H
|
||||||
|
#define ATOM_NAMES_H
|
||||||
|
|
||||||
|
#include "atom.h"
|
||||||
|
|
||||||
|
#ifdef ATOM_DEBUG
|
||||||
|
|
||||||
|
#define ATOM_OP_NAMES_CNT 123
|
||||||
|
static char *atom_op_names[ATOM_OP_NAMES_CNT]={
|
||||||
|
"RESERVED", "MOVE_REG", "MOVE_PS", "MOVE_WS", "MOVE_FB", "MOVE_PLL",
|
||||||
|
"MOVE_MC", "AND_REG", "AND_PS", "AND_WS", "AND_FB", "AND_PLL", "AND_MC",
|
||||||
|
"OR_REG", "OR_PS", "OR_WS", "OR_FB", "OR_PLL", "OR_MC", "SHIFT_LEFT_REG",
|
||||||
|
"SHIFT_LEFT_PS", "SHIFT_LEFT_WS", "SHIFT_LEFT_FB", "SHIFT_LEFT_PLL",
|
||||||
|
"SHIFT_LEFT_MC", "SHIFT_RIGHT_REG", "SHIFT_RIGHT_PS", "SHIFT_RIGHT_WS",
|
||||||
|
"SHIFT_RIGHT_FB", "SHIFT_RIGHT_PLL", "SHIFT_RIGHT_MC", "MUL_REG",
|
||||||
|
"MUL_PS", "MUL_WS", "MUL_FB", "MUL_PLL", "MUL_MC", "DIV_REG", "DIV_PS",
|
||||||
|
"DIV_WS", "DIV_FB", "DIV_PLL", "DIV_MC", "ADD_REG", "ADD_PS", "ADD_WS",
|
||||||
|
"ADD_FB", "ADD_PLL", "ADD_MC", "SUB_REG", "SUB_PS", "SUB_WS", "SUB_FB",
|
||||||
|
"SUB_PLL", "SUB_MC", "SET_ATI_PORT", "SET_PCI_PORT", "SET_SYS_IO_PORT",
|
||||||
|
"SET_REG_BLOCK", "SET_FB_BASE", "COMPARE_REG", "COMPARE_PS",
|
||||||
|
"COMPARE_WS", "COMPARE_FB", "COMPARE_PLL", "COMPARE_MC", "SWITCH",
|
||||||
|
"JUMP", "JUMP_EQUAL", "JUMP_BELOW", "JUMP_ABOVE", "JUMP_BELOW_OR_EQUAL",
|
||||||
|
"JUMP_ABOVE_OR_EQUAL", "JUMP_NOT_EQUAL", "TEST_REG", "TEST_PS", "TEST_WS",
|
||||||
|
"TEST_FB", "TEST_PLL", "TEST_MC", "DELAY_MILLISEC", "DELAY_MICROSEC",
|
||||||
|
"CALL_TABLE", "REPEAT", "CLEAR_REG", "CLEAR_PS", "CLEAR_WS", "CLEAR_FB",
|
||||||
|
"CLEAR_PLL", "CLEAR_MC", "NOP", "EOT", "MASK_REG", "MASK_PS", "MASK_WS",
|
||||||
|
"MASK_FB", "MASK_PLL", "MASK_MC", "POST_CARD", "BEEP", "SAVE_REG",
|
||||||
|
"RESTORE_REG", "SET_DATA_BLOCK", "XOR_REG", "XOR_PS", "XOR_WS", "XOR_FB",
|
||||||
|
"XOR_PLL", "XOR_MC", "SHL_REG", "SHL_PS", "SHL_WS", "SHL_FB", "SHL_PLL",
|
||||||
|
"SHL_MC", "SHR_REG", "SHR_PS", "SHR_WS", "SHR_FB", "SHR_PLL", "SHR_MC",
|
||||||
|
"DEBUG", "CTB_DS",
|
||||||
|
};
|
||||||
|
|
||||||
|
#define ATOM_TABLE_NAMES_CNT 74
|
||||||
|
static char *atom_table_names[ATOM_TABLE_NAMES_CNT]={
|
||||||
|
"ASIC_Init", "GetDisplaySurfaceSize", "ASIC_RegistersInit",
|
||||||
|
"VRAM_BlockVenderDetection", "SetClocksRatio", "MemoryControllerInit",
|
||||||
|
"GPIO_PinInit", "MemoryParamAdjust", "DVOEncoderControl",
|
||||||
|
"GPIOPinControl", "SetEngineClock", "SetMemoryClock", "SetPixelClock",
|
||||||
|
"DynamicClockGating", "ResetMemoryDLL", "ResetMemoryDevice",
|
||||||
|
"MemoryPLLInit", "EnableMemorySelfRefresh", "AdjustMemoryController",
|
||||||
|
"EnableASIC_StaticPwrMgt", "ASIC_StaticPwrMgtStatusChange",
|
||||||
|
"DAC_LoadDetection", "TMDS2EncoderControl", "LCD1OutputControl",
|
||||||
|
"DAC1EncoderControl", "DAC2EncoderControl", "DVOOutputControl",
|
||||||
|
"CV1OutputControl", "SetCRTC_DPM_State", "TVEncoderControl",
|
||||||
|
"TMDS1EncoderControl", "LVDSEncoderControl", "TV1OutputControl",
|
||||||
|
"EnableScaler", "BlankCRTC", "EnableCRTC", "GetPixelClock",
|
||||||
|
"EnableVGA_Render", "EnableVGA_Access", "SetCRTC_Timing",
|
||||||
|
"SetCRTC_OverScan", "SetCRTC_Replication", "SelectCRTC_Source",
|
||||||
|
"EnableGraphSurfaces", "UpdateCRTC_DoubleBufferRegisters",
|
||||||
|
"LUT_AutoFill", "EnableHW_IconCursor", "GetMemoryClock",
|
||||||
|
"GetEngineClock", "SetCRTC_UsingDTDTiming", "TVBootUpStdPinDetection",
|
||||||
|
"DFP2OutputControl", "VRAM_BlockDetectionByStrap", "MemoryCleanUp",
|
||||||
|
"ReadEDIDFromHWAssistedI2C", "WriteOneByteToHWAssistedI2C",
|
||||||
|
"ReadHWAssistedI2CStatus", "SpeedFanControl", "PowerConnectorDetection",
|
||||||
|
"MC_Synchronization", "ComputeMemoryEnginePLL", "MemoryRefreshConversion",
|
||||||
|
"VRAM_GetCurrentInfoBlock", "DynamicMemorySettings", "MemoryTraining",
|
||||||
|
"EnableLVDS_SS", "DFP1OutputControl", "SetVoltage", "CRT1OutputControl",
|
||||||
|
"CRT2OutputControl", "SetupHWAssistedI2CStatus", "ClockSource",
|
||||||
|
"MemoryDeviceInit", "EnableYUV",
|
||||||
|
};
|
||||||
|
|
||||||
|
#define ATOM_IO_NAMES_CNT 5
|
||||||
|
static char *atom_io_names[ATOM_IO_NAMES_CNT]={
|
||||||
|
"MM", "PLL", "MC", "PCIE", "PCIE PORT",
|
||||||
|
};
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define ATOM_OP_NAMES_CNT 0
|
||||||
|
#define ATOM_TABLE_NAMES_CNT 0
|
||||||
|
#define ATOM_IO_NAMES_CNT 0
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
1112
doc/kgrids-atom/atom.c
Normal file
1112
doc/kgrids-atom/atom.c
Normal file
File diff suppressed because it is too large
Load Diff
134
doc/kgrids-atom/atom.h
Normal file
134
doc/kgrids-atom/atom.h
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2008 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.
|
||||||
|
*
|
||||||
|
* Author: Stanislaw Skowronek
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ATOM_H
|
||||||
|
#define ATOM_H
|
||||||
|
|
||||||
|
#include <linux/types.h>
|
||||||
|
#include "card.h"
|
||||||
|
|
||||||
|
#define ATOM_BIOS_MAGIC 0xAA55
|
||||||
|
#define ATOM_ATI_MAGIC_PTR 0x30
|
||||||
|
#define ATOM_ATI_MAGIC " 761295520"
|
||||||
|
#define ATOM_ROM_TABLE_PTR 0x48
|
||||||
|
|
||||||
|
#define ATOM_ROM_MAGIC "ATOM"
|
||||||
|
#define ATOM_ROM_MAGIC_PTR 4
|
||||||
|
|
||||||
|
#define ATOM_ROM_MSG_PTR 0x10
|
||||||
|
#define ATOM_ROM_CMD_PTR 0x1E
|
||||||
|
#define ATOM_ROM_DATA_PTR 0x20
|
||||||
|
|
||||||
|
#define ATOM_CMD_INIT 0
|
||||||
|
#define ATOM_CMD_SETSCLK 0x0A
|
||||||
|
#define ATOM_CMD_SETMCLK 0x0B
|
||||||
|
#define ATOM_CMD_SETPCLK 0x0C
|
||||||
|
|
||||||
|
#define ATOM_DATA_FWI_PTR 0xC
|
||||||
|
#define ATOM_DATA_IIO_PTR 0x32
|
||||||
|
|
||||||
|
#define ATOM_FWI_DEFSCLK_PTR 8
|
||||||
|
#define ATOM_FWI_DEFMCLK_PTR 0xC
|
||||||
|
#define ATOM_FWI_MAXSCLK_PTR 0x24
|
||||||
|
#define ATOM_FWI_MAXMCLK_PTR 0x28
|
||||||
|
|
||||||
|
#define ATOM_CT_SIZE_PTR 0
|
||||||
|
#define ATOM_CT_WS_PTR 4
|
||||||
|
#define ATOM_CT_PS_PTR 5
|
||||||
|
#define ATOM_CT_PS_MASK 0x7F
|
||||||
|
#define ATOM_CT_CODE_PTR 6
|
||||||
|
|
||||||
|
#define ATOM_OP_CNT 123
|
||||||
|
#define ATOM_OP_EOT 91
|
||||||
|
|
||||||
|
#define ATOM_CASE_MAGIC 0x63
|
||||||
|
#define ATOM_CASE_END 0x5A5A
|
||||||
|
|
||||||
|
#define ATOM_ARG_REG 0
|
||||||
|
#define ATOM_ARG_PS 1
|
||||||
|
#define ATOM_ARG_WS 2
|
||||||
|
#define ATOM_ARG_ID 4
|
||||||
|
#define ATOM_ARG_FB 3
|
||||||
|
#define ATOM_ARG_IMM 5
|
||||||
|
#define ATOM_ARG_PLL 6
|
||||||
|
#define ATOM_ARG_MC 7
|
||||||
|
|
||||||
|
#define ATOM_SRC_DWORD 0
|
||||||
|
#define ATOM_SRC_WORD0 1
|
||||||
|
#define ATOM_SRC_WORD8 2
|
||||||
|
#define ATOM_SRC_WORD16 3
|
||||||
|
#define ATOM_SRC_BYTE0 4
|
||||||
|
#define ATOM_SRC_BYTE8 5
|
||||||
|
#define ATOM_SRC_BYTE16 6
|
||||||
|
#define ATOM_SRC_BYTE24 7
|
||||||
|
|
||||||
|
#define ATOM_WS_QUOTIENT 0x40
|
||||||
|
#define ATOM_WS_REMAINDER 0x41
|
||||||
|
#define ATOM_WS_DATAPTR 0x42
|
||||||
|
#define ATOM_WS_SHIFT 0x43
|
||||||
|
#define ATOM_WS_OR_MASK 0x44
|
||||||
|
#define ATOM_WS_AND_MASK 0x45
|
||||||
|
#define ATOM_WS_FB_WINDOW 0x46
|
||||||
|
#define ATOM_WS_ATTRIBUTES 0x47
|
||||||
|
|
||||||
|
#define ATOM_IIO_NOP 0
|
||||||
|
#define ATOM_IIO_START 1
|
||||||
|
#define ATOM_IIO_READ 2
|
||||||
|
#define ATOM_IIO_WRITE 3
|
||||||
|
#define ATOM_IIO_CLEAR 4
|
||||||
|
#define ATOM_IIO_SET 5
|
||||||
|
#define ATOM_IIO_MOVE_INDEX 6
|
||||||
|
#define ATOM_IIO_MOVE_ATTR 7
|
||||||
|
#define ATOM_IIO_MOVE_DATA 8
|
||||||
|
#define ATOM_IIO_END 9
|
||||||
|
|
||||||
|
#define ATOM_IO_MM 0
|
||||||
|
#define ATOM_IO_PCI 1
|
||||||
|
#define ATOM_IO_SYSIO 2
|
||||||
|
#define ATOM_IO_IIO 0x80
|
||||||
|
|
||||||
|
typedef struct atom_context_s {
|
||||||
|
card_info *card;
|
||||||
|
void *bios;
|
||||||
|
uint32_t cmd_table, data_table;
|
||||||
|
uint16_t *iio;
|
||||||
|
|
||||||
|
uint16_t data_block;
|
||||||
|
uint32_t fb_base;
|
||||||
|
uint32_t divmul[2];
|
||||||
|
uint16_t io_attr;
|
||||||
|
uint16_t reg_block;
|
||||||
|
uint8_t shift;
|
||||||
|
int cs_equal, cs_above;
|
||||||
|
int io_mode;
|
||||||
|
} atom_context;
|
||||||
|
|
||||||
|
extern int atom_debug;
|
||||||
|
|
||||||
|
atom_context *atom_parse(card_info *, void *);
|
||||||
|
void atom_execute_table(atom_context *, int, uint32_t *);
|
||||||
|
int atom_asic_init(atom_context *);
|
||||||
|
void atom_destroy(atom_context *);
|
||||||
|
|
||||||
|
#endif
|
||||||
BIN
doc/radeon_x1x00_programming_guide.pdf
Normal file
BIN
doc/radeon_x1x00_programming_guide.pdf
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user