-# $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.
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
-# $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
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
include "arch/armv7/imx/files.imx"
include "arch/armv7/omap/files.omap"
include "arch/armv7/sunxi/files.sunxi"
+include "arch/armv7/exynos/files.exynos"
-/* $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>
*
* 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>
#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 */
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;
}
{
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;
}
-/* $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>
*
* 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>
#include <machine/intr.h>
#include <machine/bus.h>
+#if NFDT > 0
#include <machine/fdt.h>
+#endif
#include <armv7/armv7/armv7var.h>
/* registers */
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;
}
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__);
-/* $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>
*
* 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>
#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>
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;
}
{
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;
}
-/* $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>
*
* 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>
#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>
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;
}
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__);
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;
-/* $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>
/* i.MX SD/MMC support derived from /sys/dev/sdmmc/sdhc.c */
+#include "fdt.h"
#include <sys/param.h>
#include <sys/device.h>
#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>
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;
}
{
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__);
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;
-/* $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>
* 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>
#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>
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;
}
{
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;
}
* 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>
#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>
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;
}
{
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;
-/* $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>
*
* 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>
#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 */
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;
}
{
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;
}
-/* $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>
*
* 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>
#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>
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;
}
{
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;
}
-/* $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>
*
* 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>
#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>
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;
}
{
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;
}
-/* $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>
*
* 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>
#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>
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;
}
{
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__);
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;
-/* $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>
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);
}
-/* $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>
{
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;
size = betoh32(*mem);
}
}
+#else
+ paddr = 0xbfc00000;
+ size = 0x202000;
+#endif
exdisplay_cnattach(&armv7_bs_tag, paddr, size);
break;
default: