summaryrefslogtreecommitdiffstats
path: root/include/s1d13706fb.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2007-07-05 18:01:22 +0200
committerSascha Hauer <sha@octopus.labnet.pengutronix.de>2007-07-05 18:01:22 +0200
commit2718e79db9ac613463504e5dd5c3b779a7d52443 (patch)
tree639457b2728967a8f0f225287ed81ee72c9fea0e /include/s1d13706fb.h
parente07edcb1079f015c7da98bd95ab06bc7181b6f74 (diff)
downloadbarebox-2718e79db9ac613463504e5dd5c3b779a7d52443.tar.gz
barebox-2718e79db9ac613463504e5dd5c3b779a7d52443.tar.xz
svn_rev_089
generic/u-boot-cmd-splash.diff
Diffstat (limited to 'include/s1d13706fb.h')
-rw-r--r--include/s1d13706fb.h119
1 files changed, 119 insertions, 0 deletions
diff --git a/include/s1d13706fb.h b/include/s1d13706fb.h
new file mode 100644
index 0000000000..43fc2483c9
--- /dev/null
+++ b/include/s1d13706fb.h
@@ -0,0 +1,119 @@
+/*
+ * (C) Copyright 2007 Pengutronix
+ * Sascha Hauer, <s.hauer@pengutronix.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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 the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+struct efb_info;
+
+struct fb_data *s1d13706fb_init(struct efb_info *info);
+
+/*
+ * This structure describes the machine which we are running on.
+ */
+struct efb_info {
+ struct fb_data fbd;
+
+ void *regs;
+
+ u_long pixclock;
+
+ u_char hsync_len;
+ u_char left_margin;
+ u_char right_margin;
+
+ u_char vsync_len;
+ u_char upper_margin;
+ u_char lower_margin;
+ u_char sync;
+
+ u_int cmap_greyscale:1,
+ unused:31;
+
+ u_char panel_type;
+
+ int (*init)(struct efb_info *);
+};
+
+#define EFB_RC 0x0
+
+#define EFB_PCLK_CONF 0x05
+#define PCLK_SOURCE_MCLK 0
+#define PCLK_SOURCE_BCLK 1
+#define PCLK_SOURCE_CLKI 2
+#define PCLK_SOURCE_CLKI2 3
+
+#define EFB_LUT_B_WRITE 0x08
+#define EFB_LUT_G_WRITE 0x09
+#define EFB_LUT_R_WRITE 0x0a
+#define EFB_LUT_ADR_WRITE 0x0b
+
+#define EFB_PANEL_TYPE 0x10
+#define PANEL_TYPE_STN 0
+#define PANEL_TYPE_TFT 1
+#define PANEL_TYPE_HR_TFT 2
+#define PANEL_TYPE_D_TFD 3
+#define PANEL_TYPE_WIDTH_4 (0 << 4)
+#define PANEL_TYPE_WIDTH_8 (1 << 4)
+#define PANEL_TYPE_WIDTH_9 (0 << 4)
+#define PANEL_TYPE_WIDTH_12 (1 << 4)
+#define PANEL_TYPE_WIDTH_16 (2 << 4)
+#define PANEL_TYPE_WIDTH_18 (2 << 4)
+#define PANEL_TYPE_COLOR (1 << 6)
+#define PANEL_TYPE_FORMAT_2 (1 << 7)
+
+#define EFB_HT 0x12
+#define EFB_HDP 0x14
+#define EFB_HDSP0 0x16
+#define EFB_HDSP1 0x17
+#define EFB_VT0 0x18
+#define EFB_VT1 0x19
+#define EFB_VDP0 0x1c
+#define EFB_VDP1 0x1d
+#define EFB_VDSP0 0x1e
+#define EFB_VDSP1 0x1f
+#define EFB_FPLINE_PULSE_WIDTH 0x20
+#define FPLINE_ACT_HIGH (1 << 7)
+#define EFB_FPLINE_PULSE_START0 0x22
+#define EFB_FPLINE_PULSE_START1 0x23
+#define EFB_FPFRAME_PULSE_WIDTH 0x24
+#define FPFRAME_ACT_HIGH (1 << 7)
+
+#define EFB_DISPLAY_MODE 0x70
+#define DISPLAY_MODE_BPP_1 0
+#define DISPLAY_MODE_BPP_2 1
+#define DISPLAY_MODE_BPP_4 2
+#define DISPLAY_MODE_BPP_8 3
+#define DISPLAY_MODE_BPP_16 4
+
+#define EFB_DISPLAY_START_ADDRESS0 0x74
+#define EFB_DISPLAY_START_ADDRESS1 0x75
+#define EFB_DISPLAY_START_ADDRESS2 0x76
+
+#define EFB_LINE_ADDRESS_OFFSET0 0x78
+#define EFB_LINE_ADDRESS_OFFSET1 0x79
+
+#define EFB_POWER_SAVE_CONF 0xa0
+
+#define EFB_GPIO_CONTROL0 0xac
+#define EFB_GPIO_CONTROL1 0xad
+#define GPIO_CONTROL0_GPO (1 << 7)
+
+