2 * Copyright (C) 2013 Realtek Semiconductor Corp.
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
11 * $Date: 2013-08-26 13:51:29 +0800 (¶g¤@, 26 ¤K¤ë 2013) $
13 * Purpose : RTL8367C switch high-level API for RTL8367C
14 * Feature : RLDP related functions
18 #ifndef _RTL8367C_ASICDRV_RLDP_H_
19 #define _RTL8367C_ASICDRV_RLDP_H_
21 #include <rtl8367c_asicdrv.h>
24 extern ret_t
rtl8367c_setAsicRldp(rtk_uint32 enabled
);
25 extern ret_t
rtl8367c_getAsicRldp(rtk_uint32
*pEnabled
);
26 extern ret_t
rtl8367c_setAsicRldpEnable8051(rtk_uint32 enabled
);
27 extern ret_t
rtl8367c_getAsicRldpEnable8051(rtk_uint32
*pEnabled
);
28 extern ret_t
rtl8367c_setAsicRldpCompareRandomNumber(rtk_uint32 enabled
);
29 extern ret_t
rtl8367c_getAsicRldpCompareRandomNumber(rtk_uint32
*pEnabled
);
30 extern ret_t
rtl8367c_setAsicRldpIndicatorSource(rtk_uint32 src
);
31 extern ret_t
rtl8367c_getAsicRldpIndicatorSource(rtk_uint32
*pSrc
);
32 extern ret_t
rtl8367c_setAsicRldpCheckingStatePara(rtk_uint32 retryCount
, rtk_uint32 retryPeriod
);
33 extern ret_t
rtl8367c_getAsicRldpCheckingStatePara(rtk_uint32
*pRetryCount
, rtk_uint32
*pRetryPeriod
);
34 extern ret_t
rtl8367c_setAsicRldpLoopStatePara(rtk_uint32 retryCount
, rtk_uint32 retryPeriod
);
35 extern ret_t
rtl8367c_getAsicRldpLoopStatePara(rtk_uint32
*pRetryCount
, rtk_uint32
*pRetryPeriod
);
36 extern ret_t
rtl8367c_setAsicRldpTxPortmask(rtk_uint32 portmask
);
37 extern ret_t
rtl8367c_getAsicRldpTxPortmask(rtk_uint32
*pPortmask
);
38 extern ret_t
rtl8367c_setAsicRldpMagicNum(ether_addr_t seed
);
39 extern ret_t
rtl8367c_getAsicRldpMagicNum(ether_addr_t
*pSeed
);
40 extern ret_t
rtl8367c_getAsicRldpLoopedPortmask(rtk_uint32
*pPortmask
);
41 extern ret_t
rtl8367c_setAsicRldp8051Portmask(rtk_uint32 portmask
);
42 extern ret_t
rtl8367c_getAsicRldp8051Portmask(rtk_uint32
*pPortmask
);
45 extern ret_t
rtl8367c_getAsicRldpRandomNumber(ether_addr_t
*pRandNumber
);
46 extern ret_t
rtl8367c_getAsicRldpLoopedPortPair(rtk_uint32 port
, rtk_uint32
*pLoopedPair
);
47 extern ret_t
rtl8367c_setAsicRlppTrap8051(rtk_uint32 enabled
);
48 extern ret_t
rtl8367c_getAsicRlppTrap8051(rtk_uint32
*pEnabled
);
50 extern ret_t
rtl8367c_setAsicRldpLeaveLoopedPortmask(rtk_uint32 portmask
);
51 extern ret_t
rtl8367c_getAsicRldpLeaveLoopedPortmask(rtk_uint32
*pPortmask
);
53 extern ret_t
rtl8367c_setAsicRldpEnterLoopedPortmask(rtk_uint32 portmask
);
54 extern ret_t
rtl8367c_getAsicRldpEnterLoopedPortmask(rtk_uint32
*pPortmask
);
56 extern ret_t
rtl8367c_setAsicRldpTriggerMode(rtk_uint32 enabled
);
57 extern ret_t
rtl8367c_getAsicRldpTriggerMode(rtk_uint32
*pEnabled
);
59 #endif /*_RTL8367C_ASICDRV_RLDP_H_*/