--- /dev/null
+++ b/drivers/bcmdrivers/gmac/src/include/hndarm.h
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2013, Broadcom Corporation. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * HND SiliconBackplane ARM core software interface.
+ *
+ * $Id: hndarm.h 325951 2012-04-05 06:03:27Z $
+ */
+
+#ifndef _hndarm_h_
+#define _hndarm_h_
+
+#include <sbhndarm.h>
+
+extern void *hndarm_armr;
+extern uint32 hndarm_rev;
+
+
+extern void si_arm_init(si_t *sih);
+
+#ifdef	__ARM_ARCH_7A__
+extern uint32 si_memc_get_ncdl(si_t *sih);
+#endif
+
+extern void enable_arm_ints(uint32 which);
+extern void disable_arm_ints(uint32 which);
+
+extern uint32 get_arm_cyclecount(void);
+extern void set_arm_cyclecount(uint32 ticks);
+
+#ifdef	__ARM_ARCH_7R__
+extern uint32 get_arm_perfcount_enable(void);
+extern void set_arm_perfcount_enable(uint32 which);
+extern uint32 set_arm_perfcount_disable(void);
+
+extern uint32 get_arm_perfcount_sel(void);
+extern void set_arm_perfcount_sel(uint32 which);
+
+extern uint32 get_arm_perfcount_event(void);
+extern void set_arm_perfcount_event(uint32 which);
+
+extern uint32 get_arm_perfcount(void);
+extern void set_arm_perfcount(uint32 which);
+
+extern void enable_arm_cyclecount(void);
+extern void disable_arm_cyclecount(void);
+#endif	/* __ARM_ARCH_7R__ */
+
+extern uint32 get_arm_inttimer(void);
+extern void set_arm_inttimer(uint32 ticks);
+
+extern uint32 get_arm_intmask(void);
+extern void set_arm_intmask(uint32 ticks);
+
+extern uint32 get_arm_intstatus(void);
+extern void set_arm_intstatus(uint32 ticks);
+
+extern uint32 get_arm_firqmask(void);
+extern void set_arm_firqmask(uint32 ticks);
+
+extern uint32 get_arm_firqstatus(void);
+extern void set_arm_firqstatus(uint32 ticks);
+
+extern void arm_wfi(si_t *sih);
+extern void arm_jumpto(void *addr);
+
+extern void traptest(void);
+
+#ifdef BCMOVLHW
+#define	BCMOVLHW_ENAB(sih)		TRUE
+
+extern int si_arm_ovl_remap(si_t *sih, void *virt, void *phys, uint size);
+extern int si_arm_ovl_reset(si_t *sih);
+extern bool si_arm_ovl_vaildaddr(si_t *sih, void *virt);
+extern bool si_arm_ovl_isenab(si_t *sih);
+extern bool si_arm_ovl_int(si_t *sih, uint32 pc);
+#else
+#define	BCMOVLHW_ENAB(sih)		FALSE
+
+#define si_arm_ovl_remap(a, b, c, d)	do {} while (0)
+#define si_arm_ovl_reset(a)		do {} while (0)
+#define si_arm_ovl_int(a, b)		FALSE
+#endif
+
+#endif /* _hndarm_h_ */
diff --git a/drivers/bcmdrivers/gmac/src/include/hndchipc.h b/drivers/bcmdrivers/gmac/src/include/hndchipc.h
new file mode 100755
index 0000000..878276f
