diff options
author | Eric Anholt <eric@anholt.net> | 2007-03-20 23:32:19 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-03-20 23:32:19 -0700 |
commit | a50009604152bf9237c40bd098b3b1da3d018929 (patch) | |
tree | 69e7bdec353fd1448846416cbebe5f2c7441a4ba /src/i810_reg.h | |
parent | 0a612e7115ff993bb8e9a00df13c0b0d20122fd6 (diff) | |
parent | 223944878cf38f86580df5a7d3102d86cfc061b9 (diff) |
Merge branch 'master' into crestline
Conflicts:
src/i810_reg.h
src/i830_display.c
Diffstat (limited to 'src/i810_reg.h')
-rw-r--r-- | src/i810_reg.h | 53 |
1 files changed, 44 insertions, 9 deletions
diff --git a/src/i810_reg.h b/src/i810_reg.h index f50646bd..e4bebafa 100644 --- a/src/i810_reg.h +++ b/src/i810_reg.h @@ -1128,8 +1128,22 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define DVO_SRCDIM_HORIZONTAL_SHIFT 12 #define DVO_SRCDIM_VERTICAL_SHIFT 0 +/** @defgroup LVDS + * @{ + */ +/** + * This register controls the LVDS output enable, pipe selection, and data + * format selection. + * + * All of the clock/data pairs are force powered down by power sequencing. + */ #define LVDS 0x61180 +/** + * Enables the LVDS port. This bit must be set before DPLLs are enabled, as + * the DPLL semantics change when the LVDS is assigned to that pipe. + */ # define LVDS_PORT_EN (1 << 31) +/** Selects pipe B for LVDS data. Must be set on pre-965. */ # define LVDS_PIPEB_SELECT (1 << 30) /* on 965, dithering is enabled in this register, not PFIT_CONTROL */ @@ -1189,18 +1203,39 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ # define LVDS_POWER_DOWN_TRI_STATE (1 << 10) -/* - * Clock A control; overridden by LVDS power sequencing +/** + * Enables the A0-A2 data pairs and CLKA, containing 18 bits of color data per + * pixel. */ +# define LVDS_A0A2_CLKA_POWER_MASK (3 << 8) +# define LVDS_A0A2_CLKA_POWER_DOWN (0 << 8) +# define LVDS_A0A2_CLKA_POWER_UP (3 << 8) +/** + * Controls the A3 data pair, which contains the additional LSBs for 24 bit + * mode. Only enabled if LVDS_A0A2_CLKA_POWER_UP also indicates it should be + * on. + */ +# define LVDS_A3_POWER_MASK (3 << 6) +# define LVDS_A3_POWER_DOWN (0 << 6) +# define LVDS_A3_POWER_UP (3 << 6) +/** + * Controls the CLKB pair. This should only be set when LVDS_B0B3_POWER_UP + * is set. + */ +# define LVDS_CLKB_POWER_MASK (3 << 4) +# define LVDS_CLKB_POWER_DOWN (0 << 4) +# define LVDS_CLKB_POWER_UP (3 << 4) -/* power down everything including A3 (0V) */ -# define LVDS_CLKA_POWER_DOWN (0 << 8) - -/* Partially active. A0, A1, A2 set to 0, timing active, clock active */ -# define LVDS_CLKA_POWER_PARTIAL (1 << 8) +/** + * Controls the B0-B3 data pairs. This must be set to match the DPLL p2 + * setting for whether we are in dual-channel mode. The B3 pair will + * additionally only be powered up when LVDS_A3_POWER_UP is set. + */ +# define LVDS_B0B3_POWER_MASK (3 << 2) +# define LVDS_B0B3_POWER_DOWN (0 << 2) +# define LVDS_B0B3_POWER_UP (3 << 2) -/* running, data and clock active */ -# define LVDS_CLKA_POWER_UP (3 << 8) +/** @} */ /* * Two channel clock control. Turn this on if you need clkb for two channel mode |