mediatek: mt7622: add Linux 5.10 support
[openwrt/openwrt.git] / target / linux / mediatek / files-5.10 / drivers / net / phy / rtk / rtl8367c / include / rtl8367c_asicdrv_rldp.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: 42321 $
11 * $Date: 2013-08-26 13:51:29 +0800 (¶g¤@, 26 ¤K¤ë 2013) $
12 *
13 * Purpose : RTL8367C switch high-level API for RTL8367C
14 * Feature : RLDP related functions
15 *
16 */
17
18 #ifndef _RTL8367C_ASICDRV_RLDP_H_
19 #define _RTL8367C_ASICDRV_RLDP_H_
20
21 #include <rtl8367c_asicdrv.h>
22 #include <string.h>
23
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);
43
44
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);
49
50 extern ret_t rtl8367c_setAsicRldpLeaveLoopedPortmask(rtk_uint32 portmask);
51 extern ret_t rtl8367c_getAsicRldpLeaveLoopedPortmask(rtk_uint32 *pPortmask);
52
53 extern ret_t rtl8367c_setAsicRldpEnterLoopedPortmask(rtk_uint32 portmask);
54 extern ret_t rtl8367c_getAsicRldpEnterLoopedPortmask(rtk_uint32 *pPortmask);
55
56 extern ret_t rtl8367c_setAsicRldpTriggerMode(rtk_uint32 enabled);
57 extern ret_t rtl8367c_getAsicRldpTriggerMode(rtk_uint32 *pEnabled);
58
59 #endif /*_RTL8367C_ASICDRV_RLDP_H_*/
60