diff --git a/hw/omap.h b/hw/omap.h
index 0724ffe..656251d 100644
--- a/hw/omap.h
+++ b/hw/omap.h
@@ -94,8 +94,6 @@
     const struct omap_l4_region_s *regions,
     const struct omap_l4_agent_info_s *agents,
     int cs);
-target_phys_addr_t omap_l4_attach(struct omap_target_agent_s *ta, int region,
-                int iotype);
 target_phys_addr_t omap_l4_attach_region(struct omap_target_agent_s *ta,
                                          int region, MemoryRegion *mr);
 target_phys_addr_t omap_l4_region_base(struct omap_target_agent_s *ta,
diff --git a/hw/omap_l4.c b/hw/omap_l4.c
index cf4b971..78f02d9 100644
--- a/hw/omap_l4.c
+++ b/hw/omap_l4.c
@@ -143,26 +143,6 @@
     return ta;
 }
 
-target_phys_addr_t omap_l4_attach(struct omap_target_agent_s *ta, int region,
-                int iotype)
-{
-    target_phys_addr_t base;
-    ssize_t size;
-
-    if (region < 0 || region >= ta->regions) {
-        fprintf(stderr, "%s: bad io region (%i)\n", __FUNCTION__, region);
-        exit(-1);
-    }
-
-    base = ta->bus->base + ta->start[region].offset;
-    size = ta->start[region].size;
-    if (iotype) {
-        cpu_register_physical_memory(base, size, iotype);
-    }
-
-    return base;
-}
-
 target_phys_addr_t omap_l4_attach_region(struct omap_target_agent_s *ta,
                                          int region, MemoryRegion *mr)
 {
