aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/oam.h
diff options
context:
space:
mode:
authorJohn Crispin <john@phrozen.org>2020-04-03 17:42:44 +0200
committerJohn Crispin <john@phrozen.org>2020-04-06 07:07:42 +0200
commitaf5a17dbb268b79be6fa9ae16a330bd7303ee843 (patch)
treefd6261bf9902d37e3cd51e4d3ad0c56ead85d060 /target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/oam.h
parent08df22e2abf053e2d5ddef6393fe26b277fa7d18 (diff)
downloadupstream-af5a17dbb268b79be6fa9ae16a330bd7303ee843.tar.gz
upstream-af5a17dbb268b79be6fa9ae16a330bd7303ee843.tar.bz2
upstream-af5a17dbb268b79be6fa9ae16a330bd7303ee843.zip
mediatek: add support for rtl8367c
Signed-off-by: John Crispin <john@phrozen.org>
Diffstat (limited to 'target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/oam.h')
-rw-r--r--target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/oam.h188
1 files changed, 188 insertions, 0 deletions
diff --git a/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/oam.h b/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/oam.h
new file mode 100644
index 0000000000..1fc14bd62f
--- /dev/null
+++ b/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/include/oam.h
@@ -0,0 +1,188 @@
+/*
+ * 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 (週三, 08 三月 2017) $
+ *
+ * Purpose : RTL8367/RTL8367C switch high-level API
+ *
+ * Feature : The file includes the following modules and sub-modules
+ * (1) OAM (802.3ah) configuration
+ *
+ */
+
+#ifndef __RTK_OAM_H__
+#define __RTK_OAM_H__
+
+/*
+ * Symbol Definition
+ */
+
+
+/*
+ * Data Declaration
+ */
+
+
+/*
+ * Macro Declaration
+ */
+
+typedef enum rtk_oam_parser_act_e
+{
+ OAM_PARSER_ACTION_FORWARD = 0,
+ OAM_PARSER_ACTION_LOOPBACK,
+ OAM_PARSER_ACTION_DISCARD,
+ OAM_PARSER_ACTION_END,
+
+} rtk_oam_parser_act_t;
+
+typedef enum rtk_oam_multiplexer_act_e
+{
+ OAM_MULTIPLEXER_ACTION_FORWARD = 0,
+ OAM_MULTIPLEXER_ACTION_DISCARD,
+ OAM_MULTIPLEXER_ACTION_CPUONLY,
+ OAM_MULTIPLEXER_ACTION_END,
+
+} rtk_oam_multiplexer_act_t;
+
+
+/*
+ * Function Declaration
+ */
+
+/* Function Name:
+ * rtk_oam_init
+ * Description:
+ * Initialize oam module.
+ * Input:
+ * None
+ * Output:
+ * None
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * Note:
+ * Must initialize oam module before calling any oam APIs.
+ */
+extern rtk_api_ret_t rtk_oam_init(void);
+
+/* Function Name:
+ * rtk_oam_state_set
+ * Description:
+ * This API set OAM state.
+ * Input:
+ * enabled -OAMstate
+ * Output:
+ * None.
+ * Return:
+ * RT_ERR_OK - OK
+ * RT_ERR_FAILED - Failed
+ * RT_ERR_SMI - SMI access error
+ * RT_ERR_INPUT - Error parameter
+ * Note:
+ * This API set OAM state.
+ */
+extern rtk_api_ret_t rtk_oam_state_set(rtk_enable_t enabled);
+
+/* Function Name:
+ * rtk_oam_state_get
+ * Description:
+ * This API get OAM state.
+ * Input:
+ * None.
+ * Output:
+ * pEnabled - H/W IGMP state
+ * Return:
+ * RT_ERR_OK - OK
+ * RT_ERR_FAILED - Failed
+ * RT_ERR_SMI - SMI access error
+ * RT_ERR_INPUT - Error parameter
+ * Note:
+ * This API set current OAM state.
+ */
+extern rtk_api_ret_t rtk_oam_state_get(rtk_enable_t *pEnabled);
+
+
+/* Module Name : OAM */
+
+/* Function Name:
+ * rtk_oam_parserAction_set
+ * Description:
+ * Set OAM parser action
+ * Input:
+ * port - port id
+ * action - parser action
+ * Output:
+ * None
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_PORT_ID - invalid port id
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_oam_parserAction_set(rtk_port_t port, rtk_oam_parser_act_t action);
+
+/* Function Name:
+ * rtk_oam_parserAction_set
+ * Description:
+ * Get OAM parser action
+ * Input:
+ * port - port id
+ * Output:
+ * pAction - parser action
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_PORT_ID - invalid port id
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_oam_parserAction_get(rtk_port_t port, rtk_oam_parser_act_t *pAction);
+
+
+/* Function Name:
+ * rtk_oam_multiplexerAction_set
+ * Description:
+ * Set OAM multiplexer action
+ * Input:
+ * port - port id
+ * action - parser action
+ * Output:
+ * None
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_PORT_ID - invalid port id
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_oam_multiplexerAction_set(rtk_port_t port, rtk_oam_multiplexer_act_t action);
+
+/* Function Name:
+ * rtk_oam_multiplexerAction_set
+ * Description:
+ * Get OAM multiplexer action
+ * Input:
+ * port - port id
+ * Output:
+ * pAction - parser action
+ * Return:
+ * RT_ERR_OK
+ * RT_ERR_FAILED
+ * RT_ERR_PORT_ID - invalid port id
+ * Note:
+ * None
+ */
+extern rtk_api_ret_t rtk_oam_multiplexerAction_get(rtk_port_t port, rtk_oam_multiplexer_act_t *pAction);
+
+
+#endif /* __RTK_OAM_H__ */
+