summaryrefslogtreecommitdiff
path: root/src/mainboard/google/link/i915io.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/link/i915io.h')
-rw-r--r--src/mainboard/google/link/i915io.h31
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);