summaryrefslogtreecommitdiff
path: root/include/uapi/linux/fmd/ioctls.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux/fmd/ioctls.h')
-rw-r--r--include/uapi/linux/fmd/ioctls.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/include/uapi/linux/fmd/ioctls.h b/include/uapi/linux/fmd/ioctls.h
new file mode 100644
index 0000000..4f36cb0
--- /dev/null
+++ b/include/uapi/linux/fmd/ioctls.h
@@ -0,0 +1,96 @@
+/* Copyright (c) 2008-2012 Freescale Semiconductor, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of Freescale Semiconductor nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") as published by the Free Software
+ * Foundation, either version 2 of that License or (at your option) any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**************************************************************************//**
+ @File ioctls.h
+
+ @Description Structures and definitions for Command Relay Ioctls
+*//***************************************************************************/
+
+#ifndef __IOCTLS_H__
+#define __IOCTLS_H__
+
+#include <asm/ioctl.h>
+
+#include "integration_ioctls.h"
+
+
+/**************************************************************************//**
+ @Group lnx_ioctl_ncsw_grp NetCommSw Linux User-Space (IOCTL) API
+ @{
+*//***************************************************************************/
+
+#define NCSW_IOC_TYPE_BASE 0xe0 /**< defines the IOCTL type for all
+ the NCSW Linux module commands */
+
+
+/**************************************************************************//**
+ @Description IOCTL Memory allocation types.
+*//***************************************************************************/
+typedef enum ioc_mem_type {
+ e_IOC_MEM_INVALID = 0x00000000, /**< Invalid memory type (error) */
+ e_IOC_MEM_CACHABLE_SYS = 0x00000001, /**< Primary DDR, cacheable segment */
+ e_IOC_MEM_NOCACHE_SYS = 0x00000004, /**< Primary DDR, non-cacheable segment */
+ e_IOC_MEM_SECONDARY = 0x00000002, /**< Either secondary DDR or SDRAM */
+ e_IOC_MEM_PRAM = 0x00000008 /**< Multi-user RAM identifier */
+} ioc_mem_type;
+
+/**************************************************************************//**
+ @Description Enumeration (bit flags) of communication modes (Transmit,
+ receive or both).
+*//***************************************************************************/
+typedef enum ioc_comm_mode {
+ e_IOC_COMM_MODE_NONE = 0 /**< No transmit/receive communication */
+ , e_IOC_COMM_MODE_RX = 1 /**< Only receive communication */
+ , e_IOC_COMM_MODE_TX = 2 /**< Only transmit communication */
+ , e_IOC_COMM_MODE_RX_AND_TX = 3 /**< Both transmit and receive communication */
+} ioc_comm_mode;
+
+/**************************************************************************//**
+ @Description General Diagnostic Mode
+*//***************************************************************************/
+typedef enum ioc_diag_mode
+{
+ e_IOC_DIAG_MODE_NONE = 0,
+ e_IOC_DIAG_MODE_CTRL_LOOPBACK, /**< loopback in the controller; E.g. MAC, TDM, etc. */
+ e_IOC_DIAG_MODE_CHIP_LOOPBACK, /**< loopback in the chip but not in controller;
+ E.g. IO-pins, SerDes, etc. */
+ e_IOC_DIAG_MODE_PHY_LOOPBACK, /**< loopback in the external PHY */
+ e_IOC_DIAG_MODE_LINE_LOOPBACK, /**< loopback in the external line */
+ e_IOC_DIAG_MODE_CTRL_ECHO, /**< */
+ e_IOC_DIAG_MODE_PHY_ECHO /**< */
+} ioc_diag_mode;
+
+/** @} */ /* end of lnx_ioctl_ncsw_grp */
+
+
+#endif /* __IOCTLS_H__ */