| 1 | /* SPDX-License-Identifier: MIT */ | 
|---|
| 2 | /* | 
|---|
| 3 | * Copyright © 2022 Intel Corporation | 
|---|
| 4 | */ | 
|---|
| 5 |  | 
|---|
| 6 | #ifndef __INTEL_DVO_REGS_H__ | 
|---|
| 7 | #define __INTEL_DVO_REGS_H__ | 
|---|
| 8 |  | 
|---|
| 9 | #include "intel_display_reg_defs.h" | 
|---|
| 10 |  | 
|---|
| 11 | #define _DVOA			0x61120 | 
|---|
| 12 | #define _DVOB			0x61140 | 
|---|
| 13 | #define _DVOC			0x61160 | 
|---|
| 14 | #define DVO(port)		_MMIO_PORT((port), _DVOA, _DVOB) | 
|---|
| 15 | #define   DVO_ENABLE				REG_BIT(31) | 
|---|
| 16 | #define   DVO_PIPE_SEL_MASK			REG_BIT(30) | 
|---|
| 17 | #define   DVO_PIPE_SEL(pipe)			REG_FIELD_PREP(DVO_PIPE_SEL_MASK, (pipe)) | 
|---|
| 18 | #define   DVO_PIPE_STALL_MASK			REG_GENMASK(29, 28) | 
|---|
| 19 | #define   DVO_PIPE_STALL_UNUSED			REG_FIELD_PREP(DVO_PIPE_STALL_MASK, 0) | 
|---|
| 20 | #define   DVO_PIPE_STALL			REG_FIELD_PREP(DVO_PIPE_STALL_MASK, 1) | 
|---|
| 21 | #define   DVO_PIPE_STALL_TV			REG_FIELD_PREP(DVO_PIPE_STALL_MASK, 2) | 
|---|
| 22 | #define   DVO_INTERRUPT_SELECT			REG_BIT(27) | 
|---|
| 23 | #define   DVO_DEDICATED_INT_ENABLE		REG_BIT(26) | 
|---|
| 24 | #define   DVO_PRESERVE_MASK			REG_GENMASK(25, 24) | 
|---|
| 25 | #define   DVO_USE_VGA_SYNC			REG_BIT(15) | 
|---|
| 26 | #define   DVO_DATA_ORDER_MASK			REG_BIT(14) | 
|---|
| 27 | #define   DVO_DATA_ORDER_I740			REG_FIELD_PREP(DVO_DATA_ORDER_MASK, 0) | 
|---|
| 28 | #define   DVO_DATA_ORDER_FP			REG_FIELD_PREP(DVO_DATA_ORDER_MASK, 1) | 
|---|
| 29 | #define   DVO_VSYNC_DISABLE			REG_BIT(11) | 
|---|
| 30 | #define   DVO_HSYNC_DISABLE			REG_BIT(10) | 
|---|
| 31 | #define   DVO_VSYNC_TRISTATE			REG_BIT(9) | 
|---|
| 32 | #define   DVO_HSYNC_TRISTATE			REG_BIT(8) | 
|---|
| 33 | #define   DVO_BORDER_ENABLE			REG_BIT(7) | 
|---|
| 34 | #define   DVO_ACT_DATA_ORDER_MASK		REG_BIT(6) | 
|---|
| 35 | #define   DVO_ACT_DATA_ORDER_RGGB		REG_FIELD_PREP(DVO_ACT_DATA_ORDER_MASK, 0) | 
|---|
| 36 | #define   DVO_ACT_DATA_ORDER_GBRG		REG_FIELD_PREP(DVO_ACT_DATA_ORDER_MASK, 1) | 
|---|
| 37 | #define   DVO_ACT_DATA_ORDER_GBRG_ERRATA	REG_FIELD_PREP(DVO_ACT_DATA_ORDER_MASK, 0) | 
|---|
| 38 | #define   DVO_ACT_DATA_ORDER_RGGB_ERRATA	REG_FIELD_PREP(DVO_ACT_DATA_ORDER_MASK, 1) | 
|---|
| 39 | #define   DVO_VSYNC_ACTIVE_HIGH			REG_BIT(4) | 
|---|
| 40 | #define   DVO_HSYNC_ACTIVE_HIGH			REG_BIT(3) | 
|---|
| 41 | #define   DVO_BLANK_ACTIVE_HIGH			REG_BIT(2) | 
|---|
| 42 | #define   DVO_OUTPUT_CSTATE_PIXELS		REG_BIT(1) /* SDG only */ | 
|---|
| 43 | #define   DVO_OUTPUT_SOURCE_SIZE_PIXELS		REG_BIT(0) /* SDG only */ | 
|---|
| 44 |  | 
|---|
| 45 | #define _DVOA_SRCDIM		0x61124 | 
|---|
| 46 | #define _DVOB_SRCDIM		0x61144 | 
|---|
| 47 | #define _DVOC_SRCDIM		0x61164 | 
|---|
| 48 | #define DVO_SRCDIM(port)	_MMIO_PORT((port), _DVOA_SRCDIM, _DVOB_SRCDIM) | 
|---|
| 49 | #define   DVO_SRCDIM_HORIZONTAL_MASK		REG_GENMASK(22, 12) | 
|---|
| 50 | #define   DVO_SRCDIM_HORIZONTAL(x)		REG_FIELD_PREP(DVO_SRCDIM_HORIZONTAL_MASK, (x)) | 
|---|
| 51 | #define   DVO_SRCDIM_VERTICAL_MASK		REG_GENMASK(10, 0) | 
|---|
| 52 | #define   DVO_SRCDIM_VERTICAL(x)		REG_FIELD_PREP(DVO_SRCDIM_VERTICAL_MASK, (x)) | 
|---|
| 53 |  | 
|---|
| 54 | #endif /* __INTEL_DVO_REGS_H__ */ | 
|---|
| 55 |  | 
|---|