97 lines
4.6 KiB
C
Executable File
97 lines
4.6 KiB
C
Executable File
/* 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__ */
|