diff options
Diffstat (limited to 'src/mainboard/google/link/i915io.h')
-rw-r--r-- | src/mainboard/google/link/i915io.h | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/src/mainboard/google/link/i915io.h b/src/mainboard/google/link/i915io.h index 06114c4eb4..dd97fffd5b 100644 --- a/src/mainboard/google/link/i915io.h +++ b/src/mainboard/google/link/i915io.h @@ -18,6 +18,21 @@ */ #include "i915_reg.h" +#include "drm_dp_helper.h" + +/* things that are, strangely, not defined anywhere? */ +#define PCH_PP_UNLOCK 0xabcd0000 +#define WMx_LP_SR_EN (1<<31) + +/* Google Link-specific defines */ +/* how many 4096-byte pages do we need for the framebuffer? + * There are 32 bits per pixel, or 4 bytes, + * which means 1024 pixels per page. + * HencetThere are 4250 GTTs on Link: + * 2650 (X) * 1700 (Y) pixels / 1024 pixels per page. + */ +#define FRAME_BUFFER_PAGES ((2560*1700)/1024) +#define FRAME_BUFFER_BYTES (FRAME_BUFFER_PAGES*4096) /* One-letter commands for code not meant to be ready for humans. * The code was generated by a set of programs/scripts. @@ -46,10 +61,10 @@ */ #define M 1 #define R 2 -#define W 3 -#define V 4 -#define I 8 -#define P 16 +#define W 4 +#define V 8 +#define I 16 +#define P 32 struct iodef { unsigned char op; @@ -65,8 +80,8 @@ unsigned long io_i915_READ32(unsigned long addr); void io_i915_WRITE32(unsigned long val, unsigned long addr); /* intel_dp.c */ -u32 pack_aux(u8 *src, int src_bytes); -void unpack_aux(u32 src, u8 *dst, int dst_bytes); -int intel_dp_aux_ch(u32 ch_ctl, u32 ch_data, u8 *send, int send_bytes, - u8 *recv, int recv_size); +u32 pack_aux(u32 *src, int src_bytes); +void unpack_aux(u32 src, u32 *dst, int dst_bytes); +int intel_dp_aux_ch(u32 ch_ctl, u32 ch_data, u32 *send, int send_bytes, + u32 *recv, int recv_size); |