summaryrefslogtreecommitdiffstats
path: root/src/cpu/samsung/exynos5-common/displayport/chip.h
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2013-03-01 10:18:14 -0800
committerRonald G. Minnich <rminnich@gmail.com>2013-03-06 23:41:42 +0100
commit6bde149d9c56a824eff5db7bb06d7c386fb2be30 (patch)
tree2e7e5254a29d53e2a24f42d723bbac9e66a03af5 /src/cpu/samsung/exynos5-common/displayport/chip.h
parenta4b802ce866a1f3397f0e93e530bf77e253f60ee (diff)
downloadcoreboot-staging-6bde149d9c56a824eff5db7bb06d7c386fb2be30.zip
coreboot-staging-6bde149d9c56a824eff5db7bb06d7c386fb2be30.tar.gz
samsung/exynos5: add display port and framebuffer defines and initialization
These are essential functions for setting up the display port and framebuffer, and also enable such things as aux channel communications. We do some very simple initialization in romstage, mainly set a GPIO so that the graphics is powering up, but the complex parts are done in the ramstage. This mirrors the way in which graphics is done in the x86 size. I've added a first pass at a real device, and put it in the mainboard Kconfig, hoping for corrections. Because startup is so complex, depending on device type, I've created a 'displayport' device that removes some of the complexity and makes the flow *much* clearer. You can actually follow the flow by looking at the code, which is not true on other implementations. Since display port is perhaps the main port used on these chips, that's a reasonable compromise. All parameters of importance are now in the device tree. Change-Id: I56400ec9016ecb8716ec5a5dae41fdfbfff4817a Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-on: http://review.coreboot.org/2570 Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/cpu/samsung/exynos5-common/displayport/chip.h')
-rw-r--r--src/cpu/samsung/exynos5-common/displayport/chip.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/cpu/samsung/exynos5-common/displayport/chip.h b/src/cpu/samsung/exynos5-common/displayport/chip.h
new file mode 100644
index 0000000..53b7836
--- /dev/null
+++ b/src/cpu/samsung/exynos5-common/displayport/chip.h
@@ -0,0 +1,40 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2013 Google Inc.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef CPU_SAMSUNG_EXYNOS5_COMMON_DISPLAYPORT_H
+#define CPU_SAMSUNG_EXYNOS5_COMMON_DISPLAYPORT_H
+
+struct cpu_samsung_exynos5_common_displayport_config {
+ /* special magic numbers! */
+ int clkval_f;
+ int upper_margin;
+ int lower_margin;
+ int vsync;
+ int left_margin;
+ int right_margin;
+ int hsync;
+
+ int xres;
+ int yres;
+ int bpp;
+
+ u32 lcdbase;
+};
+
+#endif /* CPU_SAMSUNG_EXYNOS5-COMMON_DISPLAYPORT_H */
OpenPOWER on IntegriCloud