blob: 57a234518d621a04077955d4c330cbdb757e9a03 [file] [log] [blame]
developer21ea8132022-07-11 11:52:59 +08001/*
2* switch_fun.h: switch function sets
3*/
4#ifndef SWITCH_FUN_H
5#define SWITCH_FUN_H
6
7#include <stdbool.h>
8
9#define MT7530_T10_TEST_CONTROL 0x145
10
11#define MAX_PORT 6
12#define CONFIG_MTK_7531_DVT 1
13
14extern int chip_name;
15extern struct mt753x_attr *attres;
16extern bool nl_init_flag;
17
18/*basic operation*/
19int reg_read(int offset, int *value);
20int reg_write(int offset, int value);
21int mii_mgr_read(unsigned int port_num, unsigned int reg, int *value);
22int mii_mgr_write(unsigned int port_num, unsigned int reg, unsigned int value);
23int mii_mgr_c45_read(unsigned int port_num, unsigned int dev, unsigned int reg, int *value);
24int mii_mgr_c45_write(unsigned int port_num, unsigned int dev, unsigned int reg, unsigned int value);
25
26/*phy setting*/
27int phy_dump(int phy_addr);
28void phy_crossover(int argc, char *argv[]);
29int rw_phy_token_ring(int argc, char *argv[]);
30/*arl setting*/
31void doArlAging(int argc, char *argv[]);
32
33/*acl setting*/
34void acl_mac_add(int argc, char *argv[]);
35void acl_dip_meter(int argc, char *argv[]);
36void acl_dip_trtcm(int argc, char *argv[]);
37void acl_ethertype(int argc, char *argv[]);
38void acl_ethertype(int argc, char *argv[]);
39void acl_dip_modify(int argc, char *argv[]);
40void acl_dip_pppoe(int argc, char *argv[]);
41void acl_dip_add(int argc, char *argv[]);
42void acl_l4_add(int argc, char *argv[]);
43void acl_sp_add(int argc, char *argv[]);
44
45void acl_port_enable(int argc, char *argv[]);
46void acl_table_add(int argc, char *argv[]);
47void acl_mask_table_add(int argc, char *argv[]);
48void acl_rule_table_add(int argc, char *argv[]);
49void acl_rate_table_add(int argc, char *argv[]);
50
51/*dip table*/
52void dip_dump(void);
53void dip_add(int argc, char *argv[]);
54void dip_del(int argc, char *argv[]);
55void dip_clear(void);
56
57/*sip table*/
58void sip_dump(void);
59void sip_add(int argc, char *argv[]);
60void sip_del(int argc, char *argv[]);
61void sip_clear(void);
62
63/*stp*/
64void doStp(int argc, char *argv[]);
65
66/*mac table*/
67void table_dump(void);
68void table_add(int argc, char *argv[]);
69void table_search_mac_vid(int argc, char *argv[]);
70void table_search_mac_fid(int argc, char *argv[]);
71void table_del_fid(int argc, char *argv[]);
72void table_del_vid(int argc, char *argv[]);
73void table_clear(void);
74
75/*vlan table*/
76void vlan_dump(void);
77void vlan_clear(int argc, char *argv[]);
78void vlan_set(int argc, char *argv[]);
79
80void doVlanSetPvid(int argc, char *argv[]);
81void doVlanSetVid(int argc, char *argv[]);
82void doVlanSetAccFrm(int argc, char *argv[]);
83void doVlanSetPortAttr(int argc, char *argv[]);
84void doVlanSetPortMode(int argc, char *argv[]);
85void doVlanSetEgressTagPCR(int argc, char *argv[]);
86void doVlanSetEgressTagPVC(int argc, char *argv[]);
87
88/*igmp function*/
89void igmp_on(int argc, char *argv[]);
90void igmp_off();
91void igmp_disable(int argc, char *argv[]);
92void igmp_enable(int argc, char *argv[]);
93
94/*mirror function*/
95void set_mirror_to(int argc, char *argv[]);
96void set_mirror_from(int argc, char *argv[]);
97void doMirrorPortBased(int argc, char *argv[]);
98void doMirrorEn(int argc, char *argv[]);
99
100/*rate control*/
101void rate_control(int argc, char *argv[]);
102int ingress_rate_set(int on_off, int port, int bw);
103int egress_rate_set(int on_off, int port, int bw);
104
105/*QoS*/
106int qos_sch_select(int argc, char *argv[]);
107void qos_set_base(int argc, char *argv[]);
108void qos_wfq_set_weight(int argc, char *argv[]);
109void qos_set_portpri(int argc, char *argv[]);
110void qos_set_dscppri(int argc, char *argv[]);
111void qos_pri_mapping_queue(int argc, char *argv[]);
112
113/*flow control*/
114int global_set_mac_fc(int argc, char *argv[]);
115int phy_set_fc(int argc, char *argv[]);
116int phy_set_an(int argc, char *argv[]);
117
118/* collision pool functions */
119int collision_pool_enable(int argc, char *argv[]);
120void collision_pool_mac_dump();
121void collision_pool_dip_dump();
122void collision_pool_sip_dump();
123
124/*pfc functions*/
125int set_mac_pfc(int argc, char *argv[]);
126void pfc_get_rx_counter(int argc, char *argv[]);
127void pfc_get_tx_counter(int argc, char *argv[]);
128
129/*switch reset*/
130void switch_reset(int argc, char *argv[]);
131
132void read_mib_counters();
133void clear_mib_counters();
134void read_output_queue_counters();
135void read_free_page_counters();
136
137void phy_crossover(int argc, char *argv[]);
138void exit_free();
139#endif