1*49b49cdaSZbigniew Bodek /******************************************************************************* 2*49b49cdaSZbigniew Bodek Copyright (C) 2015 Annapurna Labs Ltd. 3*49b49cdaSZbigniew Bodek 4*49b49cdaSZbigniew Bodek This file may be licensed under the terms of the Annapurna Labs Commercial 5*49b49cdaSZbigniew Bodek License Agreement. 6*49b49cdaSZbigniew Bodek 7*49b49cdaSZbigniew Bodek Alternatively, this file can be distributed under the terms of the GNU General 8*49b49cdaSZbigniew Bodek Public License V2 as published by the Free Software Foundation and can be 9*49b49cdaSZbigniew Bodek found at http://www.gnu.org/licenses/gpl-2.0.html 10*49b49cdaSZbigniew Bodek 11*49b49cdaSZbigniew Bodek Alternatively, redistribution and use in source and binary forms, with or 12*49b49cdaSZbigniew Bodek without modification, are permitted provided that the following conditions are 13*49b49cdaSZbigniew Bodek met: 14*49b49cdaSZbigniew Bodek 15*49b49cdaSZbigniew Bodek * Redistributions of source code must retain the above copyright notice, 16*49b49cdaSZbigniew Bodek this list of conditions and the following disclaimer. 17*49b49cdaSZbigniew Bodek 18*49b49cdaSZbigniew Bodek * Redistributions in binary form must reproduce the above copyright 19*49b49cdaSZbigniew Bodek notice, this list of conditions and the following disclaimer in 20*49b49cdaSZbigniew Bodek the documentation and/or other materials provided with the 21*49b49cdaSZbigniew Bodek distribution. 22*49b49cdaSZbigniew Bodek 23*49b49cdaSZbigniew Bodek THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 24*49b49cdaSZbigniew Bodek ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 25*49b49cdaSZbigniew Bodek WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 26*49b49cdaSZbigniew Bodek DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 27*49b49cdaSZbigniew Bodek ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 28*49b49cdaSZbigniew Bodek (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 29*49b49cdaSZbigniew Bodek LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 30*49b49cdaSZbigniew Bodek ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31*49b49cdaSZbigniew Bodek (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32*49b49cdaSZbigniew Bodek SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33*49b49cdaSZbigniew Bodek 34*49b49cdaSZbigniew Bodek *******************************************************************************/ 35*49b49cdaSZbigniew Bodek 36*49b49cdaSZbigniew Bodek /** 37*49b49cdaSZbigniew Bodek * @defgroup group_eth_alu_api API 38*49b49cdaSZbigniew Bodek * Ethernet Controller generic ALU API 39*49b49cdaSZbigniew Bodek * @ingroup group_eth 40*49b49cdaSZbigniew Bodek * @{ 41*49b49cdaSZbigniew Bodek * @file al_hal_eth_alu.h 42*49b49cdaSZbigniew Bodek * 43*49b49cdaSZbigniew Bodek * @brief Header file for control parameters for the generic ALU unit in the Ethernet Datapath for Advanced Ethernet port. 44*49b49cdaSZbigniew Bodek * 45*49b49cdaSZbigniew Bodek */ 46*49b49cdaSZbigniew Bodek 47*49b49cdaSZbigniew Bodek #ifndef __AL_HAL_ETH_ALU_H__ 48*49b49cdaSZbigniew Bodek #define __AL_HAL_ETH_ALU_H__ 49*49b49cdaSZbigniew Bodek 50*49b49cdaSZbigniew Bodek /* *INDENT-OFF* */ 51*49b49cdaSZbigniew Bodek #ifdef __cplusplus 52*49b49cdaSZbigniew Bodek extern "C" { 53*49b49cdaSZbigniew Bodek #endif 54*49b49cdaSZbigniew Bodek /* *INDENT-ON* */ 55*49b49cdaSZbigniew Bodek 56*49b49cdaSZbigniew Bodek enum AL_ETH_ALU_OPCODE 57*49b49cdaSZbigniew Bodek { 58*49b49cdaSZbigniew Bodek AL_ALU_FWD_A = 0, 59*49b49cdaSZbigniew Bodek AL_ALU_ARITHMETIC_ADD = 1, 60*49b49cdaSZbigniew Bodek AL_ALU_ARITHMETIC_SUBTRACT = 2, 61*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_AND = 3, 62*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_OR = 4, 63*49b49cdaSZbigniew Bodek AL_ALU_SHIFT_RIGHT_A_BY_B = 5, 64*49b49cdaSZbigniew Bodek AL_ALU_SHIFT_LEFT_A_BY_B = 6, 65*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_XOR = 7, 66*49b49cdaSZbigniew Bodek AL_ALU_FWD_INV_A = 16, 67*49b49cdaSZbigniew Bodek AL_ALU_ARITHMETIC_ADD_INV_A_AND_B = 17, 68*49b49cdaSZbigniew Bodek AL_ALU_ARITHMETIC_SUBTRACT_INV_A_AND_B = 18, 69*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_AND_INV_A_AND_B = 19, 70*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_OR_INV_A_AND_B = 20, 71*49b49cdaSZbigniew Bodek AL_ALU_SHIFT_RIGHT_INV_A_BY_B = 21, 72*49b49cdaSZbigniew Bodek AL_ALU_SHIFT_LEFT_INV_A_BY_B = 22, 73*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_XOR_INV_A_AND_B = 23, 74*49b49cdaSZbigniew Bodek AL_ALU_ARITHMETIC_ADD_A_AND_INV_B = 33, 75*49b49cdaSZbigniew Bodek AL_ALU_ARITHMETIC_SUBTRACT_A_AND_INV_B = 34, 76*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_AND_A_AND_INV_B = 35, 77*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_OR_A_AND_INV_B = 36, 78*49b49cdaSZbigniew Bodek AL_ALU_SHIFT_RIGHT_A_BY_INV_B = 37, 79*49b49cdaSZbigniew Bodek AL_ALU_SHIFT_LEFT_A_BY_INV_B = 38, 80*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_XOR_A_AND_INV_B = 39, 81*49b49cdaSZbigniew Bodek AL_ALU_ARITHMETIC_ADD_INV_A_AND_INV_B = 49, 82*49b49cdaSZbigniew Bodek AL_ALU_ARITHMETIC_SUBTRACT_INV_A_AND = 50, 83*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_AND_INV_A_AND_INV_B = 51, 84*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_OR_INV_A_AND_INV_B = 52, 85*49b49cdaSZbigniew Bodek AL_ALU_SHIFT_RIGHT_INV_A_BY_INV_B = 53, 86*49b49cdaSZbigniew Bodek AL_ALU_SHIFT_LEFT_INV_A_BY_INV_B = 54, 87*49b49cdaSZbigniew Bodek AL_ALU_BITWISE_XOR_INV_A_AND_INV_B = 55 88*49b49cdaSZbigniew Bodek }; 89*49b49cdaSZbigniew Bodek 90*49b49cdaSZbigniew Bodek #ifdef __cplusplus 91*49b49cdaSZbigniew Bodek } 92*49b49cdaSZbigniew Bodek #endif 93*49b49cdaSZbigniew Bodek /* *INDENT-ON* */ 94*49b49cdaSZbigniew Bodek #endif /* __AL_HAL_ETH_ALU_H__ */ 95*49b49cdaSZbigniew Bodek /** @} end of Ethernet group */ 96