aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rldp.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2020-10-24 21:15:20 +0200
committerDaniel Golle <daniel@makrotopia.org>2021-02-28 00:45:56 +0000
commitc46ccb69d17e584479df849a107423175a143c83 (patch)
tree10c0b329ba571cbdd366e48e61173a64e56c841d /target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rldp.h
parent11425c9de29c8b9c5e4d7eec163a6afbb7fbdce2 (diff)
downloadupstream-c46ccb69d17e584479df849a107423175a143c83.tar.gz
upstream-c46ccb69d17e584479df849a107423175a143c83.tar.bz2
upstream-c46ccb69d17e584479df849a107423175a143c83.zip
mediatek: mt7622: add Linux 5.10 support
Switch mt7622 subtarget to Linux 5.10, it has been tested by many of us on several devices for a couple of weeks already. Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rldp.h')
-rw-r--r--target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rldp.h264
1 files changed, 264 insertions, 0 deletions
diff --git a/target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rldp.h b/target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rldp.h
new file mode 100644
index 0000000000..111de0c093
--- /dev/null
+++ b/target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rldp.h
@@ -0,0 +1,264 @@
+/*
+ * Copyright (C) 2013 Realtek Semiconductor Corp.
+ * All Rights Reserved.
+ *
+ * Unless you and Realtek execute a separate written software license
+ * agreement governing use of this software, this software is licensed
+ * to you under the terms of the GNU General Public License version 2,
+ * available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
+ *
+ * $Revision: 76306 $
+ * $Date: 2017-03-08 15:13:58 +0800 (¶g¤T, 08 ¤T¤ë 2017) $
+ *
+ * Purpose : Declaration of RLDP and RLPP API
+ *
+ * Feature : The file have include the following module and sub-modules
+ * 1) RLDP and RLPP configuration and status
+ *
+ */
+
+
+#ifndef __RTK_RLDP_H__
+#define __RTK_RLDP_H__
+
+
+/*
+ * Include Files
+ */
+
+
+/*
+ * Symbol Definition
+ */
+typedef enum rtk_rldp_trigger_e
+{
+ RTK_RLDP_TRIGGER_SAMOVING = 0,
+ RTK_RLDP_TRIGGER_PERIOD,
+ RTK_RLDP_TRIGGER_END
+} rtk_rldp_trigger_t;
+
+typedef enum rtk_rldp_cmpType_e
+{
+ RTK_RLDP_CMPTYPE_MAGIC = 0, /* Compare the RLDP with magic only */
+ RTK_RLDP_CMPTYPE_MAGIC_ID, /* Compare the RLDP with both magic + ID */
+ RTK_RLDP_CMPTYPE_END
+} rtk_rldp_cmpType_t;
+
+typedef enum rtk_rldp_loopStatus_e
+{
+ RTK_RLDP_LOOPSTS_NONE = 0,
+ RTK_RLDP_LOOPSTS_LOOPING,
+ RTK_RLDP_LOOPSTS_END
+} rtk_rldp_loopStatus_t;
+
+typedef enum rtk_rlpp_trapType_e
+{
+ RTK_RLPP_TRAPTYPE_NONE = 0,
+ RTK_RLPP_TRAPTYPE_CPU,
+ RTK_RLPP_TRAPTYPE_END
+} rtk_rlpp_trapType_t;
+
+typedef struct rtk_rldp_config_s
+{
+ rtk_enable_t rldp_enable;
+ rtk_rldp_trigger_t trigger_mode;
+ rtk_mac_t magic;
+ rtk_rldp_cmpType_t compare_type;
+ rtk_uint32 interval_check; /* Checking interval for check state */
+ rtk_uint32 num_check; /* Checking number for check state */
+ rtk_uint32 interval_loop; /* Checking interval for loop state */
+ rtk_uint32 num_loop; /* Checking number for loop state */
+} rtk_rldp_config_t;
+
+typedef struct rtk_rldp_portConfig_s
+{
+ rtk_enable_t tx_enable;
+} rtk_rldp_portConfig_t;
+
+typedef struct rtk_rldp_status_s
+{
+ rtk_mac_t id;
+} rtk_rldp_status_t;
+
+typedef struct rtk_rldp_portStatus_s
+{
+ rtk_rldp_loopStatus_t loop_status;
+ rtk_rldp_loopStatus_t loop_enter;
+ rtk_rldp_loopStatus_t loop_leave;
+} rtk_rldp_portStatus_t;
+
+/*
+ * Data Declaration
+ */
+
+
+/*
+ * Macro Declaration
+ */
+
+#define RTK_RLDP_INTERVAL_MAX 0xffff
+#define RTK_RLDP_NUM_MAX 0xff
+
+
+/*
+ * Function Declaration
+ */
+
+/* Module Name : RLDP */
+
+
+/* Function Name:
+ * rtk_rldp_config_set
+ * Description:
+ * Set RLDP module configuration
+ * Input:
+ * pConfig - configuration structure of RLDP
+ * Output:
+ * None
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_INPUT
+ * RT_ERR_NULL_POINTER
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_rldp_config_set(rtk_rldp_config_t *pConfig);
+
+
+/* Function Name:
+ * rtk_rldp_config_get
+ * Description:
+ * Get RLDP module configuration
+ * Input:
+ * None
+ * Output:
+ * pConfig - configuration structure of RLDP
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_INPUT
+ * RT_ERR_NULL_POINTER
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_rldp_config_get(rtk_rldp_config_t *pConfig);
+
+
+/* Function Name:
+ * rtk_rldp_portConfig_set
+ * Description:
+ * Set per port RLDP module configuration
+ * Input:
+ * port - port number to be configured
+ * pPortConfig - per port configuration structure of RLDP
+ * Output:
+ * None
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_INPUT
+ * RT_ERR_NULL_POINTER
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_rldp_portConfig_set(rtk_port_t port, rtk_rldp_portConfig_t *pPortConfig);
+
+
+/* Function Name:
+ * rtk_rldp_portConfig_get
+ * Description:
+ * Get per port RLDP module configuration
+ * Input:
+ * port - port number to be get
+ * Output:
+ * pPortConfig - per port configuration structure of RLDP
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_INPUT
+ * RT_ERR_NULL_POINTER
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_rldp_portConfig_get(rtk_port_t port, rtk_rldp_portConfig_t *pPortConfig);
+
+
+/* Function Name:
+ * rtk_rldp_status_get
+ * Description:
+ * Get RLDP module status
+ * Input:
+ * None
+ * Output:
+ * pStatus - status structure of RLDP
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_NULL_POINTER
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_rldp_status_get(rtk_rldp_status_t *pStatus);
+
+
+/* Function Name:
+ * rtk_rldp_portStatus_get
+ * Description:
+ * Get RLDP module status
+ * Input:
+ * port - port number to be get
+ * Output:
+ * pPortStatus - per port status structure of RLDP
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_INPUT
+ * RT_ERR_NULL_POINTER
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_rldp_portStatus_get(rtk_port_t port, rtk_rldp_portStatus_t *pPortStatus);
+
+
+/* Function Name:
+ * rtk_rldp_portStatus_clear
+ * Description:
+ * Clear RLDP module status
+ * Input:
+ * port - port number to be clear
+ * pPortStatus - per port status structure of RLDP
+ * Output:
+ * None
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_INPUT
+ * RT_ERR_NULL_POINTER
+ * Note:
+ * Clear operation effect loop_enter and loop_leave only, other field in
+ * the structure are don't care
+ */
+extern rtk_api_ret_t rtk_rldp_portStatus_set(rtk_port_t port, rtk_rldp_portStatus_t *pPortStatus);
+
+
+/* Function Name:
+ * rtk_rldp_portLoopPair_get
+ * Description:
+ * Get RLDP port loop pairs
+ * Input:
+ * port - port number to be get
+ * Output:
+ * pPortmask - per port related loop ports
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_INPUT
+ * RT_ERR_NULL_POINTER
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_rldp_portLoopPair_get(rtk_port_t port, rtk_portmask_t *pPortmask);
+
+#endif /* __RTK_RLDP_H__ */
+