aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/geode/gxfb.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/geode/gxfb.h')
-rw-r--r--drivers/video/geode/gxfb.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/drivers/video/geode/gxfb.h b/drivers/video/geode/gxfb.h
index c21f9dc5e0c..b8db7f82646 100644
--- a/drivers/video/geode/gxfb.h
+++ b/drivers/video/geode/gxfb.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2008 Andres Salomon <dilinger@debian.org>
*
- * Geode GX2 register tables
+ * Geode GX2 header information
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -13,6 +13,23 @@
#include <linux/io.h>
+struct gxfb_par {
+ int enable_crt;
+ void __iomem *dc_regs;
+ void __iomem *vid_regs;
+};
+
+unsigned int gx_frame_buffer_size(void);
+int gx_line_delta(int xres, int bpp);
+void gx_set_mode(struct fb_info *info);
+void gx_set_hw_palette_reg(struct fb_info *info, unsigned regno,
+ unsigned red, unsigned green, unsigned blue);
+
+void gx_set_dclk_frequency(struct fb_info *info);
+void gx_configure_display(struct fb_info *info);
+int gx_blank_display(struct fb_info *info, int blank_mode);
+
+
/* Display Controller registers (table 6-38 from the data book) */
enum dc_registers {
DC_UNLOCK = 0,
@@ -221,33 +238,33 @@ enum fp_registers {
/* register access functions */
-static inline uint32_t read_dc(struct geodefb_par *par, int reg)
+static inline uint32_t read_dc(struct gxfb_par *par, int reg)
{
return readl(par->dc_regs + 4*reg);
}
-static inline void write_dc(struct geodefb_par *par, int reg, uint32_t val)
+static inline void write_dc(struct gxfb_par *par, int reg, uint32_t val)
{
writel(val, par->dc_regs + 4*reg);
}
-static inline uint32_t read_vp(struct geodefb_par *par, int reg)
+static inline uint32_t read_vp(struct gxfb_par *par, int reg)
{
return readl(par->vid_regs + 8*reg);
}
-static inline void write_vp(struct geodefb_par *par, int reg, uint32_t val)
+static inline void write_vp(struct gxfb_par *par, int reg, uint32_t val)
{
writel(val, par->vid_regs + 8*reg);
}
-static inline uint32_t read_fp(struct geodefb_par *par, int reg)
+static inline uint32_t read_fp(struct gxfb_par *par, int reg)
{
return readl(par->vid_regs + 8*reg + VP_FP_START);
}
-static inline void write_fp(struct geodefb_par *par, int reg, uint32_t val)
+static inline void write_fp(struct gxfb_par *par, int reg, uint32_t val)
{
writel(val, par->vid_regs + 8*reg + VP_FP_START);
}