diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/nthals/halfire/ppc/fpbt445.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/ntos/nthals/halfire/ppc/fpbt445.h')
-rw-r--r-- | private/ntos/nthals/halfire/ppc/fpbt445.h | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/private/ntos/nthals/halfire/ppc/fpbt445.h b/private/ntos/nthals/halfire/ppc/fpbt445.h new file mode 100644 index 000000000..3b2d721f6 --- /dev/null +++ b/private/ntos/nthals/halfire/ppc/fpbt445.h @@ -0,0 +1,180 @@ +/* + * Copyright (c) 1995 FirePower Systems, Inc. + * DO NOT DISTRIBUTE without permission + * + * $RCSfile: fpbt445.h $ + * $Revision: 1.7 $ + * $Date: 1996/01/11 07:05:32 $ + * $Locker: $ + * + * This file contains references to registers in the BrookTree Bt445 RamDac. + * + */ + +#ifndef FPBT445_H +#define FPBT445_H +/* +** The Bt445 organizes it's registers into a complex index based arrangement. +** The final data registers are actually accessed via some control bits which +** show up memory mapped. However, since each control address can access +** several registers, the register desired must be specified through the Bt445 +** index register. For example, if you want to read the ID value of the chip, +** you must write the id register value ( 0x00 ) to the Bt445 address ( index ). +** Then you must read the address that corresponds to control register 2. +** +*/ + +// +// defines for access to control register 0 ( c bits = 000 ) +// Use rRamDacAddr to access the Bt445 address register +// +#define BT_Address 0x00 // index register into the Bt445. + +// +// defines for access to control register 1 ( c bits = 001 ) +// Use rDacPrimeLut to access the primary color palette register +// NOTE: This register requires MODULO 3 loading and reading +// + + +// +// defines for access to control register 2 ( c bits = 010 ) +// use rRamDacCntl to access +// +#define DAC_ID_REG 0x00 // +#define DAC_REVISION_REG 0x01 +#define DAC_READ_ENABLE 0x04 +#define DAC_BLINK_ENABLE 0x05 +#define DAC_COMMAND_REG0 0x06 +#define DAC_TEST_REG0 0x07 + +// +// defines for access to control register 3 ( c bits = 011 ) +// use rDacOvlayLut to access the overlay color palette +// NOTE: This register requires MODULO 3 loading and reading +// + + +// +// defines for access to control register 5 ( c bits = 101 ) +// use rDacPixelBit to access the rgb pixel layout register +// +#define RED_MSB_POSITION 0x00 +#define RED_WIDTH_CNTL 0x01 +#define RED_DISPLAY_ENBL 0x02 +#define RED_BLINK_ENBL 0x03 + +#define GREEN_MSB_POSITION 0x08 +#define GREEN_WIDTH_CNTL 0x09 +#define GREEN_DISPLAY_ENBL 0x0A +#define GREEN_BLINK_ENBL 0x0B + +#define BLUE_MSB_POSITION 0x10 +#define BLUE_WIDTH_CNTL 0x11 +#define BLUE_DISPLAY_ENBL 0x12 +#define BLUE_BLINK_ENBL 0x13 + +#define OVRLY_MSB_POSITION 0x18 +#define OVRLY_WIDTH_CNTL 0x19 +#define OVRLY_DISPLAY_ENBL 0x1A +#define OVRLY_BLINK_ENBL 0x1B + +#define CURSOR_MSB_POSITION 0x20 +#define CURSOR_WIDTH_CNTL 0x21 +#define CURSOR_DISPLAY_ENBL 0x22 +#define CURSOR_BLINK_ENBL 0x23 + + + +// +// defines for access to control register 6 ( c bits = 110 ) +// use rDacPixelClks to access +// +#define TEST_REG1 0x00 +#define COMMAND_REG1 0x01 +#define DIGI_OUT_CNTL 0x02 +#define VIDCLK_CYCLE 0x03 +#define PIXEL_PLL_RATE0 0x05 +#define PIXEL_PLL_RATE1 0x06 +#define PLL_CONTROL 0x07 +#define PIXEL_LOAD_CNTL 0x08 +#define PIXEL_PORT_START 0x09 +#define PIXEL_FORMAT_CNTL 0x0A +#define MPX_RATE_REG 0x0B +#define SIG_ANLYS_REG 0x0C +#define PIXEL_DEPTH_CNTL 0x0D +#define PALETTE_BYPASS_POS 0x0E +#define PALETTE_BYPASS_WIDTH 0x0F + +// +// defines for access to control register 7 ( c bits = 111 ) +// use rRamDacCursor to access the cursor color register +// NOTE: This register requires MODULO 3 loading and reading +// +#define CURSOR_CLR0 0x00 +#define CURSOR_CLR1 0x01 +#define CURSOR_CLR2 0x02 +#define CURSOR_CLR3 0x03 + +/* +** +**.................... Bit Field Definitions........................ +** +*/ + +// +// Command Register 0 bit masks: +// +#define USE_PALETTE 0x40 // use color palette not overlay color 0 +// +// These defines cover TWO bits: bit positions 4 and 5 +// +#define BLINK_16ON_48OFF 0x00 +#define BLINK_16ON_16OFF 0x10 +#define BLINK_32ON_32OFF 0x20 +#define BLINK_64ON_64OFF 0x30 +#define ENBL_OVRLY0_BLINK 0x04 +#define ENBL_OVRLY1_BLINK 0x08 +#define ENBL_OVRLY0_DSPLY 0x02 +#define ENBL_OVRLY1_DSPLY 0x01 + +// +// COMMAND_REG1: Bit fields +// +#define ENABLE_GREEN_SYNC 0x80 // generate sync on the IOG output +#define IRE75_PEDESTAL 0x40 // generate a blank pedestal of 7.5 IRE +#define NORMAL_POWER_OP 0x00 // normal operations ( i.e. no pwr dwn ) +#define PWR_OFF_DACS 0x08 // Turn off DACs. functionally still ops +#define DAC_RAM_OFF 0x10 // Dac and Ram off: no functions out +#define DAC_RAM_CLKS_OFF 0x18 // turn off clocks too +#define RIGHT_JSTFY_PIXBITS 0x04 // right justify pixels and zero extend +#define ENABLE_SIG_ANLYS 0x02 // turn on SAR +#define RESET_PIPE_DEPTH 0x01 + +// Pixel Timing Register: Field definitions: +// + +/* +** Pixel Format Control Fields ( PIXEL_FORMAT_CNTL register ) +** +*/ +#define UNPACK_LSB_FIRST 0x80 +#define ENABLE_CURSOR 0x20 +#define ENABLE_CURSOR_COLOR0 0x10 +#define ENABLE_OVERLAY 0x08 +#define USE_COLOR_PALETTE 0x00 +#define BYPASS_COLOR_PALETTE 0x01 +#define USE_INPUT_PIXEL_FIELD 0x02 + +/* +** Pixel PLL Rate Register 0 +*/ + +// +// Prototype Declarations +// + +VOID HalpSetupBt445( ULONG, ULONG ); +ULONG HalpSetPixelColorMap( ULONG Color, ULONG Pixel ); + +#endif |