Re: [PATCH 4/6] Port am335x usb driver to RTEMS.

2017-07-12 Thread Sebastian Huber

On 11/07/17 12:53, Sichen Zhao wrote:


+#ifndef __rtems__
  #include 
+#endif /* __rtems__ */


https://github.com/RTEMS/rtems-libbsd/blob/master/CONTRIBUTING.md

"In general, provide empty header files and do not guard includes."

Each #if __rtems__ makes it harder to stay in synchronization with 
FreeBSD. Its not a problem to import unmodified FreeBSD header files to 
get rid of a guarded include.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

[PATCH 4/6] Port am335x usb driver to RTEMS.

2017-07-11 Thread Sichen Zhao
---
 freebsd/sys/arm/ti/am335x/am335x_prcm.c |  8 
 freebsd/sys/arm/ti/ti_cpuid.h   | 19 +++
 freebsd/sys/arm/ti/ti_prcm.c|  2 ++
 freebsd/sys/arm/ti/ti_scm.c |  2 ++
 libbsd.py   | 30 ++
 libbsd_waf.py   |  6 ++
 6 files changed, 67 insertions(+)

diff --git a/freebsd/sys/arm/ti/am335x/am335x_prcm.c 
b/freebsd/sys/arm/ti/am335x/am335x_prcm.c
index 1d10f7f..5494e86 100644
--- a/freebsd/sys/arm/ti/am335x/am335x_prcm.c
+++ b/freebsd/sys/arm/ti/am335x/am335x_prcm.c
@@ -36,12 +36,18 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#ifndef __rtems__
 #include 
+#endif /* __rtems__ */
 #include 
+#ifndef __rtems__
 #include 
+#endif /* __rtems__ */
 #include 
 #include 
+#ifndef __rtems__
 #include 
+#endif /* __rtems__ */
 
 #include 
 #include 
@@ -438,7 +444,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, ) != 0)
sysclk = 0;
diff --git a/freebsd/sys/arm/ti/ti_cpuid.h b/freebsd/sys/arm/ti/ti_cpuid.h
index 715f080..213714b 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 
+#endif /* __rtems__ */
 
 #defineOMAP_MAKEREV(d, a, b, c) \
(uint32_t)(((d) << 16) | (((a) & 0xf) << 8) | (((b) & 0xf) << 4) | ((c) 
& 0xf))
@@ -70,7 +73,23 @@
 #defineCHIP_OMAP_4 0
 #defineCHIP_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)
 {
diff --git a/freebsd/sys/arm/ti/ti_prcm.c b/freebsd/sys/arm/ti/ti_prcm.c
index b4dd03f..04b1b6b 100644
--- a/freebsd/sys/arm/ti/ti_prcm.c
+++ b/freebsd/sys/arm/ti/ti_prcm.c
@@ -55,7 +55,9 @@ __FBSDID("$FreeBSD$");
 
 #include 
 #include 
+#ifndef __rtems__
 #include 
+#endif /* __rtems__ */
 
 #include 
 #include 
diff --git a/freebsd/sys/arm/ti/ti_scm.c b/freebsd/sys/arm/ti/ti_scm.c
index 2e54262..d3cbb4f 100644
--- a/freebsd/sys/arm/ti/ti_scm.c
+++ b/freebsd/sys/arm/ti/ti_scm.c
@@ -66,7 +66,9 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#ifndef __rtems__
 #include 
+#endif /* __rtems__ */
 
 #include "ti_scm.h"
 
diff --git a/libbsd.py b/libbsd.py
index e171a9d..c53d5a00 100644
--- a/libbsd.py
+++ b/libbsd.py
@@ -890,6 +890,35 @@ def dev_usb_storage_add_on(mm):
 return mod
 
 #
+# BBB USB
+#
+def dev_usb_controller_bbb(mm):
+mod = builder.Module('dev_usb_controller_bbb')
+mod.addDependency(mm['dev_usb'])
+mod.addKernelSpaceHeaderFiles(
+[
+'sys/arm/ti/ti_cpuid.h',
+'sys/arm/ti/ti_prcm.h',
+'sys/arm/ti/ti_scm.h',
+'sys/arm/ti/tivar.h',
+'sys/arm/ti/am335x/am335x_scm.h',
+'sys/dev/usb/controller/musb_otg.h',
+]
+)
+mod.addKernelSpaceSourceFiles(
+[
+'sys/arm/ti/ti_scm.c',
+'sys/arm/ti/am335x/am335x_prcm.c',
+'sys/arm/ti/am335x/am335x_usbss.c',
+'sys/arm/ti/ti_prcm.c',
+'sys/arm/ti/am335x/am335x_musb.c',
+'sys/dev/usb/controller/musb_otg.c',
+],
+mm.generator['source']()
+)
+return mod
+
+#
 # USB Template
 #
 def dev_usb_template(mm):
@@ -3195,6 +3224,7 @@ def sources(mm):
 mm.addModule(cam(mm))
 mm.addModule(dev_usb_storage(mm))
 #mm.addModule(dev_usb_storage_add_on(mm))
+mm.addModule(dev_usb_controller_bbb(mm))
 
 #mm.addModule(dev_usb_template(mm))
 
diff --git a/libbsd_waf.py b/libbsd_waf.py
index 30765de..5d0d5d0 100644
--- a/libbsd_waf.py
+++ b/libbsd_waf.py
@@ -731,6 +731,11 @@ def build(bld):
 
 source = ['freebsd/sys/arm/lpc/if_lpe.c',
   'freebsd/sys/arm/lpc/lpc_pwr.c',
+  'freebsd/sys/arm/ti/am335x/am335x_musb.c',
+  'freebsd/sys/arm/ti/am335x/am335x_prcm.c',
+  'freebsd/sys/arm/ti/am335x/am335x_usbss.c',
+  'freebsd/sys/arm/ti/ti_prcm.c',
+  'freebsd/sys/arm/ti/ti_scm.c',
   'freebsd/sys/arm/xilinx/zy7_slcr.c',
   'freebsd/sys/cam/cam.c',
   'freebsd/sys/cam/scsi/scsi_all.c',
@@ -896,6 +901,7 @@ def build(bld):
   'freebsd/sys/dev/tsec/if_tsec_fdt.c',
   'freebsd/sys/dev/usb/controller/dwc_otg.c',
   'freebsd/sys/dev/usb/controller/ehci.c',
+  'freebsd/sys/dev/usb/controller/musb_otg.c',
   'freebsd/sys/dev/usb/controller/ohci.c',