summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/arm
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-09 13:04:41 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-21 10:29:37 +0200
commite4a8065910cd6b2e7e0448cc6431ca2906322389 (patch)
tree73492991cfa40f994c20d761d476e6bc16304536 /freebsd/sys/arm
parentUpdate to FreeBSD head 2017-08-01 (diff)
downloadrtems-libbsd-e4a8065910cd6b2e7e0448cc6431ca2906322389.tar.bz2
Update to FreeBSD head 2017-10-01
Git mirror commit b2f0376b45428f13151d229c5ae9d4d8f74acbd1. Update #3472.
Diffstat (limited to 'freebsd/sys/arm')
-rw-r--r--freebsd/sys/arm/ti/am335x/am335x_prcm.c4
-rw-r--r--freebsd/sys/arm/ti/ti_cpuid.h6
-rw-r--r--freebsd/sys/arm/ti/ti_scm.c5
-rw-r--r--freebsd/sys/arm/ti/ti_sdhci.c4
4 files changed, 13 insertions, 6 deletions
diff --git a/freebsd/sys/arm/ti/am335x/am335x_prcm.c b/freebsd/sys/arm/ti/am335x/am335x_prcm.c
index a05647d5..bc61c9f8 100644
--- a/freebsd/sys/arm/ti/am335x/am335x_prcm.c
+++ b/freebsd/sys/arm/ti/am335x/am335x_prcm.c
@@ -469,8 +469,8 @@ static driver_t am335x_prcm_driver = {
static devclass_t am335x_prcm_devclass;
-DRIVER_MODULE(am335x_prcm, simplebus, am335x_prcm_driver,
- am335x_prcm_devclass, 0, 0);
+EARLY_DRIVER_MODULE(am335x_prcm, simplebus, am335x_prcm_driver,
+ am335x_prcm_devclass, 0, 0, BUS_PASS_TIMER + BUS_PASS_ORDER_EARLY);
MODULE_VERSION(am335x_prcm, 1);
MODULE_DEPEND(am335x_prcm, ti_scm, 1, 1, 1);
diff --git a/freebsd/sys/arm/ti/ti_cpuid.h b/freebsd/sys/arm/ti/ti_cpuid.h
index 213714b3..7a3fcd5e 100644
--- a/freebsd/sys/arm/ti/ti_cpuid.h
+++ b/freebsd/sys/arm/ti/ti_cpuid.h
@@ -99,4 +99,10 @@ static __inline int ti_chip(void)
uint32_t ti_revision(void);
+static __inline bool ti_soc_is_supported(void)
+{
+
+ return (_ti_chip != -1);
+}
+
#endif /* _TI_CPUID_H_ */
diff --git a/freebsd/sys/arm/ti/ti_scm.c b/freebsd/sys/arm/ti/ti_scm.c
index 2e54262e..96b284c9 100644
--- a/freebsd/sys/arm/ti/ti_scm.c
+++ b/freebsd/sys/arm/ti/ti_scm.c
@@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$");
#include <dev/fdt/fdt_pinctrl.h>
#include "ti_scm.h"
+#include "ti_cpuid.h"
static struct resource_spec ti_scm_res_spec[] = {
{ SYS_RES_MEMORY, 0, RF_ACTIVE }, /* Control memory window */
@@ -88,6 +89,10 @@ static struct ti_scm_softc *ti_scm_sc;
static int
ti_scm_probe(device_t dev)
{
+
+ if (!ti_soc_is_supported())
+ return (ENXIO);
+
if (!ofw_bus_status_okay(dev))
return (ENXIO);
diff --git a/freebsd/sys/arm/ti/ti_sdhci.c b/freebsd/sys/arm/ti/ti_sdhci.c
index 76e4b750..58d178a0 100644
--- a/freebsd/sys/arm/ti/ti_sdhci.c
+++ b/freebsd/sys/arm/ti/ti_sdhci.c
@@ -685,11 +685,7 @@ ti_sdhci_attach(device_t dev)
bus_generic_probe(dev);
bus_generic_attach(dev);
-#ifdef MMCCAM
- sdhci_cam_start_slot(&sc->slot);
-#else
sdhci_start_slot(&sc->slot);
-#endif
return (0);
fail: