aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/nand
diff options
context:
space:
mode:
authorJustin Hibbits <jhibbits@FreeBSD.org>2015-06-06 16:38:40 +0000
committerJustin Hibbits <jhibbits@FreeBSD.org>2015-06-06 16:38:40 +0000
commitcdd93ab812e1e787e8580c858b08864a7b8ba3a9 (patch)
tree4ffb1d5b5944939645d9ce8db8243c8cdaa8efbc /sys/dev/nand
parent068a3d319a3af8bf916fe3c42f73a5dd9b995d60 (diff)
Notes
Diffstat (limited to 'sys/dev/nand')
-rw-r--r--sys/dev/nand/nfc_rb.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/nand/nfc_rb.c b/sys/dev/nand/nfc_rb.c
index 64f888a2a157..20a4026304e8 100644
--- a/sys/dev/nand/nfc_rb.c
+++ b/sys/dev/nand/nfc_rb.c
@@ -49,6 +49,9 @@ __FBSDID("$FreeBSD$");
#include <dev/nand/nand.h>
#include <dev/nand/nandbus.h>
+
+#include <powerpc/mpc85xx/mpc85xx.h>
+
#include "nfc_if.h"
#include "gpio_if.h"
@@ -128,6 +131,7 @@ rb_nand_attach(device_t dev)
struct rb_nand_softc *sc;
phandle_t node;
uint32_t ale[2],cle[2],nce[2],rdy[2];
+ u_long size,start;
int err;
sc = device_get_softc(dev);
@@ -168,6 +172,14 @@ rb_nand_attach(device_t dev)
return (ENXIO);
}
+ start = rman_get_start(sc->sc_mem);
+ size = rman_get_size(sc->sc_mem);
+ if (law_enable(OCP85XX_TGTIF_LBC, start, size) != 0) {
+ bus_release_resource(dev, SYS_RES_MEMORY, sc->rid, sc->sc_mem);
+ device_printf(dev, "could not allocate local address window.\n");
+ return (ENXIO);
+ }
+
nand_init(&sc->nand_dev, dev, NAND_ECC_SOFT, 0, 0, NULL, NULL);
err = nandbus_create(dev);