aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/flash
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <loos@FreeBSD.org>2016-03-30 17:00:33 +0000
committerLuiz Otavio O Souza <loos@FreeBSD.org>2016-03-30 17:00:33 +0000
commit8f74c88a7330cfb9f8be768c1ddfb48159eb74af (patch)
tree3faee8be8bc8b21284063d9e66b0677ed0433169 /sys/dev/flash
parent320d8421018097b8036064db704edeedfc97d7a4 (diff)
downloadsrc-8f74c88a7330cfb9f8be768c1ddfb48159eb74af.tar.gz
src-8f74c88a7330cfb9f8be768c1ddfb48159eb74af.zip
Add basic FDT support for the mx25l SPI flash.
Sponsored by: Rubicon Communications (Netgate)
Notes
Notes: svn path=/head/; revision=297423
Diffstat (limited to 'sys/dev/flash')
-rw-r--r--sys/dev/flash/mx25l.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/dev/flash/mx25l.c b/sys/dev/flash/mx25l.c
index c4dad4b28775..c43b751fb1fb 100644
--- a/sys/dev/flash/mx25l.c
+++ b/sys/dev/flash/mx25l.c
@@ -26,6 +26,8 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+#include "opt_platform.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bio.h>
@@ -40,6 +42,12 @@ __FBSDID("$FreeBSD$");
#include <sys/mutex.h>
#include <geom/geom_disk.h>
+#ifdef FDT
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/ofw_bus_subr.h>
+#include <dev/ofw/openfirm.h>
+#endif
+
#include <dev/spibus/spi.h>
#include "spibus_if.h"
@@ -360,7 +368,15 @@ mx25l_read(device_t dev, off_t offset, caddr_t data, off_t count)
static int
mx25l_probe(device_t dev)
{
+
+#ifdef FDT
+ if (!ofw_bus_status_okay(dev))
+ return (ENXIO);
+ if (!ofw_bus_is_compatible(dev, "st,m25p"))
+ return (ENXIO);
+#endif
device_set_desc(dev, "M25Pxx Flash Family");
+
return (0);
}