summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/arm
diff options
context:
space:
mode:
authorSichen Zhao <1473996754@qq.com>2017-07-13 10:24:05 +0800
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-07-13 07:30:06 +0200
commit9121570cf2ffc84cdd3051728ad9e68ec9cb5e05 (patch)
tree8d91bf71708fc78304bc4e80f007322b50abde6f /freebsd/sys/arm
parentImport am335x usb driver file from FreeBSD. (diff)
downloadrtems-libbsd-9121570cf2ffc84cdd3051728ad9e68ec9cb5e05.tar.bz2
Port am335x usb driver to RTEMS.
Add FDT and umass support for am335x USB driver. Now RTEMS can mount and open USB disk.
Diffstat (limited to 'freebsd/sys/arm')
-rw-r--r--freebsd/sys/arm/ti/am335x/am335x_prcm.c2
-rw-r--r--freebsd/sys/arm/ti/ti_cpuid.h19
2 files changed, 21 insertions, 0 deletions
diff --git a/freebsd/sys/arm/ti/am335x/am335x_prcm.c b/freebsd/sys/arm/ti/am335x/am335x_prcm.c
index 1d10f7f2..a05647d5 100644
--- a/freebsd/sys/arm/ti/am335x/am335x_prcm.c
+++ b/freebsd/sys/arm/ti/am335x/am335x_prcm.c
@@ -438,7 +438,9 @@ am335x_prcm_attach(device_t dev)
sc->bsh = rman_get_bushandle(sc->res[0]);
am335x_prcm_sc = sc;
+#ifndef __rtems__
ti_cpu_reset = am335x_prcm_reset;
+#endif /* __rtems__ */
if (am335x_clk_get_sysclk_freq(NULL, &sysclk) != 0)
sysclk = 0;
diff --git a/freebsd/sys/arm/ti/ti_cpuid.h b/freebsd/sys/arm/ti/ti_cpuid.h
index 715f080e..213714b3 100644
--- a/freebsd/sys/arm/ti/ti_cpuid.h
+++ b/freebsd/sys/arm/ti/ti_cpuid.h
@@ -29,6 +29,9 @@
#ifndef _TI_CPUID_H_
#define _TI_CPUID_H_
+#ifdef __rtems__
+#include <bsp.h>
+#endif /* __rtems__ */
#define OMAP_MAKEREV(d, a, b, c) \
(uint32_t)(((d) << 16) | (((a) & 0xf) << 8) | (((b) & 0xf) << 4) | ((c) & 0xf))
@@ -70,7 +73,23 @@
#define CHIP_OMAP_4 0
#define CHIP_AM335X 1
+#ifdef __rtems__
+#ifdef IS_AM335X
+#define SOC_TI_AM335X
+#else
+#warning Unknown SOC.
+#endif
+
+#if defined(SOC_TI_AM335X)
+#define _ti_chip CHIP_AM335X
+#elif defined(SOC_OMAP4)
+#define _ti_chip CHIP_OMAP_4
+#else
+#define _ti_chip -1
+#endif
+#else /* __rtems__ */
extern int _ti_chip;
+#endif /* __rtems__ */
static __inline int ti_chip(void)
{