Revert "hikey960: Remove hifi dsp support."

This reverts commit 1d7e5889cd761a9eaecb130c52582d2b0707a08d.

Reason for revert: previous commit broke build_test target, b/219798815

Change-Id: If678459053b79b81de27a1b7d514cc0c6101d97d
diff --git a/hifi/xaf/host-apf/include/xf-debug.h b/hifi/xaf/host-apf/include/xf-debug.h
new file mode 100644
index 0000000..8317230
--- /dev/null
+++ b/hifi/xaf/host-apf/include/xf-debug.h
@@ -0,0 +1,194 @@
+/*******************************************************************************
+* Copyright (C) 2018 Cadence Design Systems, Inc.
+* 
+* Permission is hereby granted, free of charge, to any person obtaining
+* a copy of this software and associated documentation files (the
+* "Software"), to use this Software with Cadence processor cores only and 
+* not with any other processors and platforms, subject to
+* the following conditions:
+* 
+* The above copyright notice and this permission notice shall be included
+* in all copies or substantial portions of the Software.
+* 
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+******************************************************************************/
+
+#ifndef __XF_H
+#error  "xf-debug.h mustn't be included directly"
+#endif
+
+/*******************************************************************************
+ * Auxiliary macros (put into "xf-types.h"?)
+ ******************************************************************************/
+
+#ifndef offset_of
+#define offset_of(type, member)         \
+    ((int)(intptr_t)&(((const type *)(0))->member))
+#endif
+
+#ifndef container_of
+#define container_of(ptr, type, member) \
+    ((type *)((void *)(ptr) - offset_of(type, member)))
+#endif 
+
+/*******************************************************************************
+ * Bug check for constant conditions (file scope)
+ ******************************************************************************/
+
+#define __C_BUG(n)      __C_BUG2(n)
+#define __C_BUG2(n)     __c_bug_##n
+#define C_BUG(expr)     typedef char __C_BUG(__LINE__)[(expr) ? -1 : 1]
+
+/*******************************************************************************
+ * Compilation-time types control
+ ******************************************************************************/
+
+#if XF_DEBUG
+#define __C_TYPE_CONTROL(d, type)       ((void) ((d) != (type*) 0))
+#else
+#define __C_TYPE_CONTROL(d, type)       ((void) 0)
+#endif
+
+/*******************************************************************************
+ * Unused variable
+ ******************************************************************************/
+
+#define C_UNUSED(v)                     (void)(0 ? (v) = (v), 1 : 0)
+
+/*******************************************************************************
+ * Auxiliary macros
+ ******************************************************************************/
+
+/* ...define a stub for unused declarator */
+#define __xf_stub(tag, line)            __xf_stub2(tag, line)
+#define __xf_stub2(tag, line)           typedef int __xf_##tag##_##line
+
+/* ...convert anything into string */
+#define __xf_string(x)                  __xf_string2(x)
+#define __xf_string2(x)                 #x
+
+/*******************************************************************************
+ * Tracing facility
+ ******************************************************************************/
+
+#if XF_TRACE
+
+/* ...tracing to communication processor */
+extern int  xf_trace(const char *format, ...);
+
+/* ...tracing facility initialization */
+extern void xf_trace_init(const char *banner);
+
+/* ...initialize tracing facility */
+#define TRACE_INIT(banner)              (xf_trace_init(banner))
+
+/* ...trace tag definition */
+#define TRACE_TAG(tag, on)              enum { __xf_trace_##tag = on }
+
+/* ...check if the trace tag is enabled */
+#define TRACE_CFG(tag)                  (__xf_trace_##tag)
+
+/* ...tagged tracing primitive */
+#define TRACE(tag, fmt, ...)            (void)(__xf_trace_##tag ? __xf_trace(tag, __xf_format##fmt, ## __VA_ARGS__), 1 : 0)
+
+/*******************************************************************************
+ * Tagged tracing formats
+ ******************************************************************************/
+
+/* ...tracing primitive */
+#define __xf_trace(tag, fmt, ...)       \
+    ({ __attribute__((unused)) const char *__xf_tag = #tag; xf_trace(fmt, ## __VA_ARGS__); })
+
+/* ...just a format string */
+#define __xf_format_n(fmt)              fmt
+
+/* ...module tag and trace tag shown */
+#define __xf_format_b(fmt)              "[%s.%s] " fmt, __xf_string(MODULE_TAG), __xf_tag
+
+/* ...module tag, trace tag, file name and line shown */
+#define __xf_format_x(fmt)              "[%s.%s] - %s@%d - " fmt,  __xf_string(MODULE_TAG), __xf_tag, __FILE__, __LINE__
+
+/*******************************************************************************
+ * Globally defined tags
+ ******************************************************************************/
+
+/* ...unconditionally OFF */
+TRACE_TAG(0, 0);
+
+/* ...unconditionally ON */
+TRACE_TAG(1, 1);
+
+/* ...error output - on by default */
+TRACE_TAG(ERROR, 1);
+
+#else
+
+#define TRACE_INIT(banner)              (void)0
+#define TRACE_TAG(tag, on)              __xf_stub(trace_##tag, __LINE__)
+#define TRACE(tag, fmt, ...)            (void)0
+#define __xf_trace(tag, fmt, ...)       (void)0
+
+#endif  /* XF_TRACE */
+
+/*******************************************************************************
+ * Bugchecks
+ ******************************************************************************/
+
+#if XF_DEBUG
+
+/* ...run-time bugcheck */
+#define BUG(cond, fmt, ...)                                     \
+do                                                              \
+{                                                               \
+    if (cond)                                                   \
+    {                                                           \
+        /* ...output message */                                 \
+        __xf_trace(BUG, __xf_format##fmt, ## __VA_ARGS__);      \
+                                                                \
+        /* ...and die  */                                       \
+        abort();                                                \
+    }                                                           \
+}                                                               \
+while (0)
+
+#else
+#define BUG(cond, fmt, ...)             (void)0
+#endif  /* XF_DEBUG */
+
+/*******************************************************************************
+ * Run-time error processing
+ ******************************************************************************/
+
+/* ...check the API call succeeds */
+#define XF_CHK_API(cond)                                \
+({                                                      \
+    int __ret;                                          \
+                                                        \
+    if ((__ret = (int)(cond)) < 0)                      \
+    {                                                   \
+        TRACE(ERROR, _x("API error: %d"), __ret);       \
+        return __ret;                                   \
+    }                                                   \
+    __ret;                                              \
+})
+
+/* ...check the condition is true */
+#define XF_CHK_ERR(cond, error)                 \
+({                                              \
+    intptr_t __ret;                             \
+                                                \
+    if (!(__ret = (intptr_t)(cond)))            \
+    {                                           \
+        TRACE(ERROR, _x("check failed"));       \
+        return (error);                         \
+    }                                           \
+    (int)__ret;                                 \
+})
+