TI.h revision 706f2543
1 2#include <xf86RamDac.h> 3 4extern _X_EXPORT unsigned long TIramdacCalculateMNPForClock(unsigned long RefClock, 5 unsigned long ReqClock, char IsPixClock, unsigned long MinClock, 6 unsigned long MaxClock, unsigned long *rM, unsigned long *rN, 7 unsigned long *rP); 8extern _X_EXPORT RamDacHelperRecPtr TIramdacProbe(ScrnInfoPtr pScrn, RamDacSupportedInfoRecPtr ramdacs); 9extern _X_EXPORT void TIramdacSave(ScrnInfoPtr pScrn, RamDacRecPtr RamDacRec, RamDacRegRecPtr RamDacRegRec); 10extern _X_EXPORT void TIramdacRestore(ScrnInfoPtr pScrn, RamDacRecPtr RamDacRec, RamDacRegRecPtr RamDacRegRec); 11extern _X_EXPORT void TIramdac3026SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr RamDacRegRec); 12extern _X_EXPORT void TIramdac3030SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr RamDacRegRec); 13extern _X_EXPORT void TIramdacHWCursorInit(xf86CursorInfoPtr infoPtr); 14extern _X_EXPORT void TIramdacLoadPalette( ScrnInfoPtr pScrn, int numColors, int *indices, 15 LOCO *colors, VisualPtr pVisual); 16 17typedef void TIramdacLoadPaletteProc(ScrnInfoPtr, int, int *, LOCO *, 18 VisualPtr); 19extern _X_EXPORT TIramdacLoadPaletteProc *TIramdacLoadPaletteWeak(void); 20 21#define TI3030_RAMDAC (VENDOR_TI << 16) | 0x00 22#define TI3026_RAMDAC (VENDOR_TI << 16) | 0x01 23 24/* 25 * TI Ramdac registers 26 */ 27 28#define TIDAC_rev 0x01 29#define TIDAC_ind_curs_ctrl 0x06 30#define TIDAC_byte_router_ctrl 0x07 31#define TIDAC_latch_ctrl 0x0f 32#define TIDAC_true_color_ctrl 0x18 33#define TIDAC_multiplex_ctrl 0x19 34#define TIDAC_clock_select 0x1a 35#define TIDAC_palette_page 0x1c 36#define TIDAC_general_ctrl 0x1d 37#define TIDAC_misc_ctrl 0x1e 38#define TIDAC_pll_addr 0x2c 39#define TIDAC_pll_pixel_data 0x2d 40#define TIDAC_pll_memory_data 0x2e 41#define TIDAC_pll_loop_data 0x2f 42#define TIDAC_key_over_low 0x30 43#define TIDAC_key_over_high 0x31 44#define TIDAC_key_red_low 0x32 45#define TIDAC_key_red_high 0x33 46#define TIDAC_key_green_low 0x34 47#define TIDAC_key_green_high 0x35 48#define TIDAC_key_blue_low 0x36 49#define TIDAC_key_blue_high 0x37 50#define TIDAC_key_ctrl 0x38 51#define TIDAC_clock_ctrl 0x39 52#define TIDAC_sense_test 0x3a 53#define TIDAC_test_mode_data 0x3b 54#define TIDAC_crc_remain_lsb 0x3c 55#define TIDAC_crc_remain_msb 0x3d 56#define TIDAC_crc_bit_select 0x3e 57#define TIDAC_id 0x3f 58 59/* These are pll values that are accessed via TIDAC_pll_pixel_data */ 60#define TIDAC_PIXEL_N 0x80 61#define TIDAC_PIXEL_M 0x81 62#define TIDAC_PIXEL_P 0x82 63#define TIDAC_PIXEL_VALID 0x83 64 65/* These are pll values that are accessed via TIDAC_pll_loop_data */ 66#define TIDAC_LOOP_N 0x90 67#define TIDAC_LOOP_M 0x91 68#define TIDAC_LOOP_P 0x92 69#define TIDAC_LOOP_VALID 0x93 70 71/* Direct mapping addresses */ 72#define TIDAC_INDEX 0xa0 73#define TIDAC_PALETTE_DATA 0xa1 74#define TIDAC_READ_MASK 0xa2 75#define TIDAC_READ_ADDR 0xa3 76#define TIDAC_CURS_WRITE_ADDR 0xa4 77#define TIDAC_CURS_COLOR 0xa5 78#define TIDAC_CURS_READ_ADDR 0xa7 79#define TIDAC_CURS_CTL 0xa9 80#define TIDAC_INDEXED_DATA 0xaa 81#define TIDAC_CURS_RAM_DATA 0xab 82#define TIDAC_CURS_XLOW 0xac 83#define TIDAC_CURS_XHIGH 0xad 84#define TIDAC_CURS_YLOW 0xae 85#define TIDAC_CURS_YHIGH 0xaf 86 87#define TIDAC_sw_reset 0xff 88 89/* Constants */ 90#define TIDAC_TVP_3026_ID 0x26 91#define TIDAC_TVP_3030_ID 0x30 92