make the exynos code compile without fdt
authorjsg <jsg@openbsd.org>
Wed, 27 May 2015 00:06:14 +0000 (00:06 +0000)
committerjsg <jsg@openbsd.org>
Wed, 27 May 2015 00:06:14 +0000 (00:06 +0000)
ok bmercer@

15 files changed:
sys/arch/armv7/conf/Makefile.armv7
sys/arch/armv7/conf/files.armv7
sys/arch/armv7/exynos/exclock.c
sys/arch/armv7/exynos/exdisplay.c
sys/arch/armv7/exynos/exdog.c
sys/arch/armv7/exynos/exehci.c
sys/arch/armv7/exynos/exesdhc.c
sys/arch/armv7/exynos/exgpio.c
sys/arch/armv7/exynos/exiic.c
sys/arch/armv7/exynos/exmct.c
sys/arch/armv7/exynos/expower.c
sys/arch/armv7/exynos/exsysreg.c
sys/arch/armv7/exynos/exuart.c
sys/arch/armv7/exynos/exynos.c
sys/arch/armv7/exynos/exynos_machdep.c

index 6322655..cb17b7d 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Makefile.armv7,v 1.9 2015/05/20 01:44:20 jsg Exp $
+#      $OpenBSD: Makefile.armv7,v 1.10 2015/05/27 00:06:14 jsg Exp $
 
 # For instructions on building kernels consult the config(8) and options(4)
 # manual pages.
@@ -179,8 +179,9 @@ install-kernel-${MACHINE_NAME}:
 KERNADDR_OMAP=0x80300000
 KERNADDR_IMX=0x10300000
 KERNADDR_SUNXI=0x40300000
+KERNADDR_EXYNOS=0x40300000
 
-.for SOC in IMX OMAP SUNXI
+.for SOC in IMX OMAP SUNXI EXYNOS
 bsd.${SOC}.umg: bsd
        mkuboot -a arm -o linux -e ${KERNADDR_${SOC}} -l ${KERNADDR_${SOC}} \
            bsd bsd.${SOC}.umg
index eaa97fb..514ebd1 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: files.armv7,v 1.11 2015/05/19 03:30:54 jsg Exp $
+#      $OpenBSD: files.armv7,v 1.12 2015/05/27 00:06:14 jsg Exp $
 
 maxpartitions  16
 maxusers       2 8 64
@@ -8,6 +8,9 @@ major   {sd = 24}
 major  {cd = 26}
 major  {rd = 18}
 
+define fdt {}
+file   arch/armv7/fdt/fdt_machdep.c    fdt     needs-flag
+
 file   arch/arm/arm/conf.c
 
 #interrupt API layer
@@ -60,3 +63,4 @@ include "dev/onewire/files.onewire"
 include "arch/armv7/imx/files.imx"
 include "arch/armv7/omap/files.omap"
 include "arch/armv7/sunxi/files.sunxi"
+include "arch/armv7/exynos/files.exynos"
index 85f595a..fdc3cbd 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: exclock.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/* $OpenBSD: exclock.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2012-2013 Patrick Wildt <patrick@blueri.se>
  *
@@ -15,6 +15,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/queue.h>
@@ -26,7 +28,9 @@
 #include <sys/timeout.h>
 #include <machine/intr.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 #include <armv7/armv7/armv7var.h>
 
 /* registers */
@@ -109,10 +113,12 @@ struct cfdriver exclock_cd = {
 int
 exclock_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos5250-clock", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -122,15 +128,22 @@ exclock_attach(struct device *parent, struct device *self, void *args)
 {
        struct armv7_attach_args *aa = args;
        struct exclock_softc *sc = (struct exclock_softc *) self;
-       struct fdt_memory mem;
+       struct armv7mem mem;
 
        exclock_sc = sc;
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               struct fdt_memory fdtmem;
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
-       } else {
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+       } else
+#endif
+       {
+
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
        }
index 6c7663f..bb7c1a8 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: exdisplay.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/* $OpenBSD: exdisplay.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2013 Patrick Wildt <patrick@blueri.se>
  *
@@ -15,6 +15,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/queue.h>
@@ -33,7 +35,9 @@
 
 #include <machine/intr.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 #include <armv7/armv7/armv7var.h>
 
 /* registers */
@@ -102,10 +106,12 @@ struct wsdisplay_accessops exdisplay_accessops = {
 int
 exdisplay_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos5250-fimd", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -117,17 +123,23 @@ exdisplay_attach(struct device *parent, struct device *self, void *args)
        struct exdisplay_softc *sc = (struct exdisplay_softc *) self;
        struct wsemuldisplaydev_attach_args waa;
        struct rasops_info *ri = &exdisplay_ri;
-       struct fdt_memory mem;
-
-       if (aa->aa_node == NULL) {
-               printf(": not configured without FDT\n");
-               return;
-       }
+       struct armv7mem mem;
 
        sc->sc_iot = aa->aa_iot;
-       if (fdt_get_memory_address(aa->aa_node, 0, &mem))
-               panic("%s: could not extract memory data from FDT",
-                   __func__);
+#if NFDT > 0
+       if (aa->aa_node) {
+               struct fdt_memory fdtmem;
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
+                       panic("%s: could not extract memory data from FDT",
+                           __func__);
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+       } else
+#endif
+       {
+               mem.addr = aa->aa_dev->mem[0].addr;
+               mem.size = aa->aa_dev->mem[0].size;
+       }
 
        if (bus_space_map(sc->sc_iot, mem.addr, mem.size, 0, &sc->sc_ioh))
                panic("%s: bus_space_map failed!", __func__);
index d5e285a..6240cc1 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: exdog.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/* $OpenBSD: exdog.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2012-2013 Patrick Wildt <patrick@blueri.se>
  *
@@ -15,6 +15,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/queue.h>
@@ -24,7 +26,9 @@
 #include <sys/socket.h>
 #include <sys/timeout.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 #include <machine/intr.h>
 #include <armv7/armv7/armv7var.h>
 
@@ -71,10 +75,12 @@ struct cfdriver exdog_cd = {
 int
 exdog_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos5250-wdt", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -84,14 +90,20 @@ exdog_attach(struct device *parent, struct device *self, void *args)
 {
        struct armv7_attach_args *aa = args;
        struct exdog_softc *sc = (struct exdog_softc *) self;
-       struct fdt_memory mem;
+       struct armv7mem mem;
 
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               struct fdt_memory fdtmem;
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
-       } else {
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+       } else
+#endif
+       {
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
        }
index a73f628..8d7d537 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: exehci.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/*     $OpenBSD: exehci.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2012-2013 Patrick Wildt <patrick@blueri.se>
  *
@@ -15,6 +15,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/device.h>
@@ -24,7 +26,9 @@
 
 #include <machine/intr.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 
 #include <dev/usb/usb.h>
 #include <dev/usb/usbdi.h>
@@ -104,10 +108,12 @@ void      exehci_setup(struct exehci_softc *);
 int
 exehci_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos4210-ehci", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -118,23 +124,25 @@ exehci_attach(struct device *parent, struct device *self, void *aux)
        struct exehci_softc             *sc = (struct exehci_softc *)self;
        struct ehci_softc               *esc;
        struct armv7_attach_args        *aa = aux;
-       struct fdt_memory                hmem, pmem;
+       struct armv7mem                  hmem, pmem;
        int                              irq;
        usbd_status                      r;
 
        sc->sc_iot = aa->aa_iot;
        sc->sc_dmat = aa->aa_dmat;
 
+#if NFDT > 0
        if (aa->aa_node) {
+               struct fdt_memory fhmem, fpmem;
                uint32_t ints[3];
 
-               if (fdt_get_memory_address(aa->aa_node, 0, &hmem))
+               if (fdt_get_memory_address(aa->aa_node, 0, &fhmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
 
                /* XXX: In a different way, please. */
                void *node = fdt_find_compatible("samsung,exynos5250-usb2-phy");
-               if (node == NULL || fdt_get_memory_address(node, 0, &pmem))
+               if (node == NULL || fdt_get_memory_address(node, 0, &fpmem))
                        panic("%s: could not extract phy data from FDT",
                            __func__);
 
@@ -144,8 +152,15 @@ exehci_attach(struct device *parent, struct device *self, void *aux)
                        panic("%s: could not extract interrupt data from FDT",
                            __func__);
 
+               hmem.addr = fhmem.addr;
+               hmem.size = fhmem.size;
+               pmem.addr = fpmem.addr;
+               pmem.size = fpmem.size;
+
                irq = ints[1];
-       } else {
+       } else
+#endif
+       {
                hmem.addr = aa->aa_dev->mem[0].addr;
                hmem.size = aa->aa_dev->mem[0].size;
                pmem.addr = aa->aa_dev->mem[1].addr;
index 2a48896..f275679 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: exesdhc.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $     */
+/*     $OpenBSD: exesdhc.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2009 Dale Rahn <drahn@openbsd.org>
  * Copyright (c) 2006 Uwe Stuehler <uwe@openbsd.org>
@@ -19,6 +19,7 @@
 
 /* i.MX SD/MMC support derived from /sys/dev/sdmmc/sdhc.c */
 
+#include "fdt.h"
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -27,7 +28,9 @@
 #include <sys/malloc.h>
 #include <sys/systm.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 
 #include <dev/sdmmc/sdmmcchip.h>
 #include <dev/sdmmc/sdmmcvar.h>
@@ -248,10 +251,12 @@ struct cfattach exesdhc_fdt_ca = {
 int
 exesdhc_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos5250-dw-mshc", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -261,19 +266,21 @@ exesdhc_attach(struct device *parent, struct device *self, void *args)
 {
        struct exesdhc_softc            *sc = (struct exesdhc_softc *) self;
        struct armv7_attach_args        *aa = args;
-       struct fdt_memory                mem;
        struct sdmmcbus_attach_args      saa;
+       struct armv7mem                  mem;
        int                              error = 1, irq;
        uint32_t                         caps;
 
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
+               struct fdt_memory fdtmem;
                static int unit = 0;
                uint32_t ints[3];
 
                sc->unit = unit++;
 
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
 
@@ -283,8 +290,13 @@ exesdhc_attach(struct device *parent, struct device *self, void *args)
                        panic("%s: could not extract interrupt data from FDT",
                            __func__);
 
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+
                irq = ints[1];
-       } else {
+       } else
+#endif
+       {
                irq = aa->aa_dev->irq[0];
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
index fa8bbf3..f767770 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: exgpio.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/* $OpenBSD: exgpio.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2007,2009 Dale Rahn <drahn@openbsd.org>
  * Copyright (c) 2012-2013 Patrick Wildt <patrick@blueri.se>
@@ -16,6 +16,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/queue.h>
@@ -26,7 +28,9 @@
 #include <arm/cpufunc.h>
 
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 #include <machine/intr.h>
 
 #include <armv7/armv7/armv7var.h>
@@ -103,10 +107,12 @@ struct cfdriver exgpio_cd = {
 int
 exgpio_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos5250-pinctrl", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -116,14 +122,20 @@ exgpio_attach(struct device *parent, struct device *self, void *args)
 {
        struct armv7_attach_args *aa = args;
        struct exgpio_softc *sc = (struct exgpio_softc *) self;
-       struct fdt_memory mem;
+       struct armv7mem mem;
 
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               struct fdt_memory fdtmem;
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
-       } else {
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+       } else
+#endif
+       {
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
        }
index e47f156..0d4e284 100644 (file)
@@ -14,6 +14,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/device.h>
 #include <sys/kernel.h>
@@ -21,7 +23,9 @@
 #include <sys/malloc.h>
 #include <sys/systm.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 
 #include <armv7/armv7/armv7var.h>
 #include <armv7/exynos/exgpiovar.h>
@@ -115,10 +119,12 @@ struct cfdriver exiic_cd = {
 int
 exiic_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,s3c2440-i2c", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -128,17 +134,23 @@ exiic_attach(struct device *parent, struct device *self, void *args)
 {
        struct exiic_softc *sc = (struct exiic_softc *)self;
        struct armv7_attach_args *aa = args;
-       struct fdt_memory mem;
+       struct armv7mem mem;
 
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
+               struct fdt_memory fdtmem;
                static int unit = 0;
 
                sc->unit = unit++;
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
-       } else {
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+       } else
+#endif
+       {
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
                sc->unit = aa->aa_dev->unit;
index 37c7180..6d9f9ad 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: exmct.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/* $OpenBSD: exmct.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2012-2013 Patrick Wildt <patrick@blueri.se>
  *
@@ -15,6 +15,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/queue.h>
@@ -26,7 +28,9 @@
 #include <arm/cpufunc.h>
 #include <machine/intr.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 #include <armv7/armv7/armv7var.h>
 
 /* registers */
@@ -63,10 +67,12 @@ struct cfdriver exmct_cd = {
 int
 exmct_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos4210-mct", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -76,15 +82,21 @@ exmct_attach(struct device *parent, struct device *self, void *args)
 {
        struct armv7_attach_args *aa = args;
        struct exmct_softc *sc = (struct exmct_softc *) self;
-       struct fdt_memory mem;
+       struct armv7mem mem;
        uint32_t i, mask, reg;
 
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               struct fdt_memory fdtmem;
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
-       } else {
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+       } else
+#endif
+       {
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
        }
index 4bb4a2b..aa36522 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: expower.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/* $OpenBSD: expower.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2012-2013 Patrick Wildt <patrick@blueri.se>
  *
@@ -15,6 +15,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/queue.h>
@@ -26,7 +28,9 @@
 #include <sys/timeout.h>
 #include <machine/intr.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 #include <armv7/armv7/armv7var.h>
 #include <armv7/exynos/expowervar.h>
 
@@ -70,10 +74,12 @@ struct cfdriver expower_cd = {
 int
 expower_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos5250-pmu", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -83,14 +89,20 @@ expower_attach(struct device *parent, struct device *self, void *args)
 {
        struct armv7_attach_args *aa = args;
        struct expower_softc *sc = (struct expower_softc *) self;
-       struct fdt_memory mem;
+       struct armv7mem mem;
 
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               struct fdt_memory fdtmem;
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
-       } else {
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+       } else
+#endif
+       {
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
        }
index 169ecc0..bc6682d 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: exsysreg.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/* $OpenBSD: exsysreg.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2012-2013 Patrick Wildt <patrick@blueri.se>
  *
@@ -15,6 +15,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/queue.h>
@@ -26,7 +28,9 @@
 #include <sys/timeout.h>
 #include <machine/intr.h>
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 #include <armv7/armv7/armv7var.h>
 #include <armv7/exynos/exsysregvar.h>
 
@@ -70,10 +74,12 @@ struct cfdriver exsysreg_cd = {
 int
 exsysreg_match(struct device *parent, void *v, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos5-sysreg", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -83,14 +89,20 @@ exsysreg_attach(struct device *parent, struct device *self, void *args)
 {
        struct armv7_attach_args *aa = args;
        struct exsysreg_softc *sc = (struct exsysreg_softc *) self;
-       struct fdt_memory mem;
+       struct armv7mem mem;
 
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               struct fdt_memory fdtmem;
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
-       } else {
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+       } else
+#endif
+       {
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
        }
index 9e2c114..8e51735 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: exuart.c,v 1.1 2015/01/26 02:48:24 bmercer Exp $ */
+/* $OpenBSD: exuart.c,v 1.2 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2005 Dale Rahn <drahn@motorola.com>
  *
@@ -15,6 +15,8 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/ioctl.h>
 #include <sys/proc.h>
@@ -37,7 +39,9 @@
 #endif
 
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 #include <armv7/exynos/exuartreg.h>
 #include <armv7/exynos/exuartvar.h>
 #include <armv7/armv7/armv7var.h>
@@ -139,10 +143,12 @@ exuartprobe(struct device *parent, void *self, void *aux)
 int
 exuartprobe_fdt(struct device *parent, void *self, void *aux)
 {
+#if NFDT > 0
        struct armv7_attach_args *aa = aux;
 
        if (fdt_node_compatible("samsung,exynos4210-uart", aa->aa_node))
                return 1;
+#endif
 
        return 0;
 }
@@ -155,14 +161,16 @@ exuartattach(struct device *parent, struct device *self, void *args)
 {
        struct armv7_attach_args *aa = args;
        struct exuart_softc *sc = (struct exuart_softc *) self;
-       struct fdt_memory mem;
+       struct armv7mem mem;
        int irq;
 
        sc->sc_iot = aa->aa_iot;
+#if NFDT > 0
        if (aa->aa_node) {
+               struct fdt_memory fdtmem;
                uint32_t ints[3];
 
-               if (fdt_get_memory_address(aa->aa_node, 0, &mem))
+               if (fdt_get_memory_address(aa->aa_node, 0, &fdtmem))
                        panic("%s: could not extract memory data from FDT",
                            __func__);
 
@@ -172,8 +180,13 @@ exuartattach(struct device *parent, struct device *self, void *args)
                        panic("%s: could not extract interrupt data from FDT",
                            __func__);
 
+               mem.addr = fdtmem.addr;
+               mem.size = fdtmem.size;
+
                irq = ints[1];
-       } else {
+       } else
+#endif
+       {
                irq = aa->aa_dev->irq[0];
                mem.addr = aa->aa_dev->mem[0].addr;
                mem.size = aa->aa_dev->mem[0].size;
index 239634a..06369bb 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: exynos.c,v 1.5 2015/05/24 11:01:48 jsg Exp $ */
+/* $OpenBSD: exynos.c,v 1.6 2015/05/27 00:06:14 jsg Exp $ */
 /*
  * Copyright (c) 2005,2008 Dale Rahn <drahn@openbsd.com>
  * Copyright (c) 2012-2013 Patrick Wildt <patrick@blueri.se>
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 
 #include <machine/bus.h>
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 
 #include <armv7/armv7/armv7var.h>
 
@@ -108,10 +112,12 @@ exynos_board_name(void)
 int
 exynos_match(struct device *parent, void *cfdata, void *aux)
 {
+#if NFDT > 0
        /* If we're running with fdt, do not attach. */
        /* XXX: Find a better way. */
        if (fdt_next_node(0))
                return (0);
+#endif
 
        return (exynos_board_devs() != NULL);
 }
index e82e7ca..76665a8 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: exynos_machdep.c,v 1.3 2015/05/19 03:30:54 jsg Exp $  */
+/*     $OpenBSD: exynos_machdep.c,v 1.4 2015/05/27 00:06:14 jsg Exp $  */
 /*
  * Copyright (c) 2013 Patrick Wildt <patrick@blueri.se>
  *
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include "fdt.h"
+
 #include <sys/param.h>
 #include <sys/types.h>
 #include <sys/systm.h>
 #include <sys/termios.h>
 
 #include <machine/bus.h>
+
+#if NFDT > 0
 #include <machine/fdt.h>
+#endif
 
 #include <arm/cortex/smc.h>
 #include <arm/armv7/armv7var.h>
@@ -48,10 +53,11 @@ exynos_platform_init_cons(void)
 {
        paddr_t paddr;
        size_t size;
-       void *node;
 
        switch (board_id) {
        case BOARD_ID_EXYNOS5_CHROMEBOOK:
+#if NFDT > 0
+               void *node;
                node = fdt_find_node("/framebuffer");
                if (node != NULL) {
                        uint32_t *mem;
@@ -60,6 +66,10 @@ exynos_platform_init_cons(void)
                                size = betoh32(*mem);
                        }
                }
+#else
+               paddr = 0xbfc00000;
+               size = 0x202000;
+#endif
                exdisplay_cnattach(&armv7_bs_tag, paddr, size);
                break;
        default: