[coreboot] New patch to review for coreboot: d1d7a8e samsung/exynos5: add resource functions for the display port

Ronald G. Minnich (rminnich@gmail.com) gerrit at coreboot.org
Sat Mar 9 00:26:29 CET 2013


Ronald G. Minnich (rminnich at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2615

-gerrit

commit d1d7a8ef71e0618c6e0553c8868bb2b88e7a9be5
Author: Ronald G. Minnich <rminnich at gmail.com>
Date:   Fri Mar 8 15:24:44 2013 -0800

    samsung/exynos5: add resource functions for the display port
    
    Not working, seemingly, but we need to add a 4M resource for
    memory, and it seems it needs to be fixed at the address shown.
    This address chosen from current hardware.
    
    Change-Id: Ied65a554f833566be817540702f79a02e7b6cb6e
    Signed-off-by: Ronald G. Minnich <rminnich at gmail.com>
---
 .../exynos5-common/displayport/displayport.c       | 35 ++++++++++++++++++----
 1 file changed, 30 insertions(+), 5 deletions(-)

diff --git a/src/cpu/samsung/exynos5-common/displayport/displayport.c b/src/cpu/samsung/exynos5-common/displayport/displayport.c
index 1c08bc7..e965833 100644
--- a/src/cpu/samsung/exynos5-common/displayport/displayport.c
+++ b/src/cpu/samsung/exynos5-common/displayport/displayport.c
@@ -83,22 +83,47 @@ static void exynos_displayport_init(void)
 #endif
 }
 
-static void exynos_displayport_noop(device_t dummy)
+static void exynos_displayport_read_resources(device_t dev)
 {
+        struct resource *resource;
+	printk(BIOS_SPEW, "%s: dev %p\n", __function__, dev);
+	/* claim a resource for the UMA graphics.
+	 * Follow the current convention of starting at 24M
+	 * from the start.
+	 */
+	resource = new_resource(dev, 0);
+	resource->base = 0x20000000 + 24*1048576;
+	resource->size = 1366 * 768 * 4;
+	resource->flags = IORESOURCE_MEM | IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
+	printk(BIOS_DEBUG, "Adding graphics at %p, size %08lx\n", (void *)resource->base, resource->size);
+}
+
+static void exynos_displayport_set_resources(device_t dev)
+{
+	printk(BIOS_SPEW, "%s: dev %p\n", __function__, dev);
+}
+
+static void exynos_displayport_enable_resources(device_t dev)
+{
+	printk(BIOS_SPEW, "%s: dev %p\n", __function__, dev);
 }
 
 static struct device_operations exynos_displayport_operations  = {
-	.read_resources   = exynos_displayport_noop,
-	.set_resources    = exynos_displayport_noop,
-	.enable_resources = exynos_displayport_noop,
+	.read_resources   = exynos_displayport_read_resources,
+	.set_resources    = exynos_displayport_set_resources,
+	.enable_resources = exynos_displayport_enable_resources,
 	.init		  = exynos_displayport_init,
 	.scan_bus	  = exynos_displayport_noop,
 };
 
 static void exynos_displayport_enable(struct device *dev)
 {
-	if (dev->link_list != NULL)
+	printk(BIOS_SPEW, "%s: ", __function__);
+	if (dev->link_list != NULL){
+		printk(BIOS_SPEW, "set ops");
 		dev->ops = &exynos_displayport_operations;
+	}
+	printk(BIOS_SPEW, "\n");
 }
 
 struct chip_operations drivers_i2c_exynos_displayport_ops = {



More information about the coreboot mailing list