aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/ti/ti_machdep.c
diff options
context:
space:
mode:
authorOlivier Houchard <cognet@FreeBSD.org>2016-11-18 23:48:20 +0000
committerOlivier Houchard <cognet@FreeBSD.org>2016-11-18 23:48:20 +0000
commit31a2ddf253d39cd37af3cb0093985929162b45e4 (patch)
tree016eddc9f75542dcbb8760e562dab96213c70b35 /sys/arm/ti/ti_machdep.c
parentfcef00c336a7cb18f4aa12ca667df7ca09d2e5f2 (diff)
downloadsrc-31a2ddf253d39cd37af3cb0093985929162b45e4.tar.gz
src-31a2ddf253d39cd37af3cb0093985929162b45e4.zip
Guess the TI chip based on the PLATFORM infos, instead of relying on the
kernel config file.
Notes
Notes: svn path=/head/; revision=308818
Diffstat (limited to 'sys/arm/ti/ti_machdep.c')
-rw-r--r--sys/arm/ti/ti_machdep.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/arm/ti/ti_machdep.c b/sys/arm/ti/ti_machdep.c
index 5d50809db615..3e9ba4701937 100644
--- a/sys/arm/ti/ti_machdep.c
+++ b/sys/arm/ti/ti_machdep.c
@@ -54,11 +54,32 @@ __FBSDID("$FreeBSD$");
#include <arm/ti/omap4/omap4_reg.h>
#include <arm/ti/omap4/omap4_mp.h>
+#include <arm/ti/ti_cpuid.h>
#include "platform_if.h"
void (*ti_cpu_reset)(void) = NULL;
+int _ti_chip = -1;
+
+#if defined(SOC_OMAP4)
+static int
+omap4_attach(platform_t plat)
+{
+ _ti_chip = CHIP_OMAP_4;
+ return (0);
+}
+#endif
+
+#if defined(SOC_TI_AM335X)
+static int
+ti_am335x_attach(platform_t plat)
+{
+ _ti_chip = CHIP_AM335X;
+ return (0);
+}
+#endif
+
static vm_offset_t
ti_lastaddr(platform_t plat)
{
@@ -107,6 +128,7 @@ ti_plat_cpu_reset(platform_t plat)
#if defined(SOC_OMAP4)
static platform_method_t omap4_methods[] = {
+ PLATFORMMETHOD(platform_attach, omap4_attach),
PLATFORMMETHOD(platform_devmap_init, ti_omap4_devmap_init),
PLATFORMMETHOD(platform_lastaddr, ti_lastaddr),
PLATFORMMETHOD(platform_cpu_reset, ti_plat_cpu_reset),
@@ -122,6 +144,7 @@ FDT_PLATFORM_DEF(omap4, "omap4", 0, "ti,omap4430", 0);
#if defined(SOC_TI_AM335X)
static platform_method_t am335x_methods[] = {
+ PLATFORMMETHOD(platform_attach, ti_am335x_attach),
PLATFORMMETHOD(platform_devmap_init, ti_am335x_devmap_init),
PLATFORMMETHOD(platform_lastaddr, ti_lastaddr),
PLATFORMMETHOD(platform_cpu_reset, ti_plat_cpu_reset),