mediatek: add support for rtl8367c
[openwrt/staging/jow.git] / target / linux / mediatek / files-5.4 / drivers / net / phy / rtk / rtl8367c / include / rtl8367c_asicdrv_rma.h
1 /*
2 * Copyright (C) 2013 Realtek Semiconductor Corp.
3 * All Rights Reserved.
4 *
5 * Unless you and Realtek execute a separate written software license
6 * agreement governing use of this software, this software is licensed
7 * to you under the terms of the GNU General Public License version 2,
8 * available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
9 *
10 * $Revision: 64716 $
11 * $Date: 2015-12-31 16:31:55 +0800 (¶g¥|, 31 ¤Q¤G¤ë 2015) $
12 *
13 * Purpose : RTL8367C switch high-level API for RTL8367C
14 * Feature : RMA related functions
15 *
16 */
17
18 #ifndef _RTL8367C_ASICDRV_RMA_H_
19 #define _RTL8367C_ASICDRV_RMA_H_
20
21 #include <rtl8367c_asicdrv.h>
22
23 #define RTL8367C_RMAMAX 0x2F
24
25 enum RTL8367C_RMAOP
26 {
27 RMAOP_FORWARD = 0,
28 RMAOP_TRAP_TO_CPU,
29 RMAOP_DROP,
30 RMAOP_FORWARD_EXCLUDE_CPU,
31 RMAOP_END
32 };
33
34
35 typedef struct rtl8367c_rma_s{
36
37 rtk_uint16 operation;
38 rtk_uint16 discard_storm_filter;
39 rtk_uint16 trap_priority;
40 rtk_uint16 keep_format;
41 rtk_uint16 vlan_leaky;
42 rtk_uint16 portiso_leaky;
43
44 }rtl8367c_rma_t;
45
46
47 extern ret_t rtl8367c_setAsicRma(rtk_uint32 index, rtl8367c_rma_t* pRmacfg);
48 extern ret_t rtl8367c_getAsicRma(rtk_uint32 index, rtl8367c_rma_t* pRmacfg);
49 extern ret_t rtl8367c_setAsicRmaCdp(rtl8367c_rma_t* pRmacfg);
50 extern ret_t rtl8367c_getAsicRmaCdp(rtl8367c_rma_t* pRmacfg);
51 extern ret_t rtl8367c_setAsicRmaCsstp(rtl8367c_rma_t* pRmacfg);
52 extern ret_t rtl8367c_getAsicRmaCsstp(rtl8367c_rma_t* pRmacfg);
53 extern ret_t rtl8367c_setAsicRmaLldp(rtk_uint32 enabled, rtl8367c_rma_t* pRmacfg);
54 extern ret_t rtl8367c_getAsicRmaLldp(rtk_uint32 *pEnabled, rtl8367c_rma_t* pRmacfg);
55
56 #endif /*#ifndef _RTL8367C_ASICDRV_RMA_H_*/
57