mirror of
https://github.com/plappermaul/realtek-doc.git
synced 2025-12-10 07:44:41 +01:00
add Cudy GP3000 GPL - SDK
This commit is contained in:
parent
69d2890a2e
commit
781b6dac21
1570 changed files with 1865546 additions and 0 deletions
731
sources/rtk-gp3000/Kconfig
Executable file
731
sources/rtk-gp3000/Kconfig
Executable file
|
|
@ -0,0 +1,731 @@
|
|||
|
||||
# RTL86900 SDK configuration
|
||||
#
|
||||
|
||||
config MODULE_BUILD_IN
|
||||
tristate "Realtek RTL86900 SDK"
|
||||
default y
|
||||
help
|
||||
|
||||
To compile it as a module, choose M here. If unsure, say N.
|
||||
|
||||
config SDK_MODULES
|
||||
bool "Support RTK Apollo Modules"
|
||||
help
|
||||
Say Y if you want to enable RTK Apollo modules.
|
||||
|
||||
if LUNA_G3_SERIES=y
|
||||
config GPON_FEATURE
|
||||
bool "Support RTK GPON"
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Say Y if your machine has pon phy port.
|
||||
|
||||
config RTK_OMCI_V1
|
||||
bool "Support RTK OMCI V1"
|
||||
depends on GPON_FEATURE
|
||||
help
|
||||
Choice for enable RTK OMCI V1.
|
||||
|
||||
config 10G_GPON_FEATURE
|
||||
bool "Support 10G RTK GPON"
|
||||
depends on GPON_FEATURE
|
||||
help
|
||||
Say Y if your machine has 10G GPON phy ports.
|
||||
|
||||
config CA_RTK_GPON_FEATURE
|
||||
bool "Support CA RTK GPON"
|
||||
depends on GPON_FEATURE
|
||||
help
|
||||
Say Y if your machine has pon phy port.
|
||||
|
||||
endif
|
||||
|
||||
if LUNA_G3_SERIES!=y
|
||||
config GPON_FEATURE
|
||||
bool "Support RTK GPON"
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Say Y if your machine has pon phy port.
|
||||
|
||||
config RTK_OMCI_V1
|
||||
bool "Support RTK OMCI V1"
|
||||
depends on GPON_FEATURE
|
||||
help
|
||||
Choice for enable RTK OMCI V1.
|
||||
|
||||
config TX_SD_GPIO_PIN
|
||||
int "gpio pin for tx_sd"
|
||||
range 0 159
|
||||
depends on SDK_MODULES
|
||||
default "3"
|
||||
help
|
||||
the GPIO pin for tx_sd
|
||||
|
||||
config PONMISC_ROGUE_SELF_DETECT
|
||||
bool "Support PONMAC rogue ONU self detect"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Choice for enable PONMAC rogue self detection.
|
||||
|
||||
|
||||
|
||||
endif
|
||||
|
||||
config REDUCED_OMCI_BIN
|
||||
bool "Support REDUCED OMCI BIN"
|
||||
depends on RTK_OMCI_V1
|
||||
help
|
||||
Choice for enable REDUCED OMCI BIN.
|
||||
|
||||
config GPON_ROGUE_SELF_DETECT
|
||||
bool "Support GPON rogue ONU self detect"
|
||||
depends on GPON_FEATURE
|
||||
default n
|
||||
help
|
||||
Choice for enable GPON rogue self detection.
|
||||
|
||||
config RTK_GPON_EXCEP_LOG
|
||||
bool "Support GPON exception log"
|
||||
depends on GPON_FEATURE
|
||||
default n
|
||||
help
|
||||
Choice for enable GPON exception log.
|
||||
|
||||
config RTK_IGMP
|
||||
bool "Support RTK IGMP"
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Say Y if you want to enable RTK IGMP.
|
||||
|
||||
config RLDP_FEATURE
|
||||
bool "Support RTK RLDP"
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Say Y if you want to enable RTK RLDP.
|
||||
|
||||
config OE_RESET_AFTER_TX_DIS_OFF
|
||||
bool "Reset OE module"
|
||||
depends on GPON_FEATURE
|
||||
default n
|
||||
help
|
||||
Choice for enable mechanism for reset OE module after turn off tx_disable.
|
||||
|
||||
if LUNA_G3_SERIES=y
|
||||
config EPON_FEATURE
|
||||
bool "Support RTK EPON"
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Say Y if your machine has EPON phy ports.
|
||||
|
||||
config 10G_EPON_FEATURE
|
||||
bool "Support 10G RTK EPON"
|
||||
depends on EPON_FEATURE
|
||||
help
|
||||
Say Y if your machine has 10G EPON phy ports.
|
||||
|
||||
config CA_RTK_EPON_FEATURE
|
||||
bool "Support CA RTK EPON"
|
||||
depends on EPON_FEATURE
|
||||
help
|
||||
Say Y if your machine has EPON phy ports.
|
||||
|
||||
config CA_RTK_EPON_TEST_FEATURE
|
||||
bool "Support CA RTK EPON Test"
|
||||
depends on CA_RTK_EPON_FEATURE
|
||||
help
|
||||
Say Y if your machine has EPON phy ports.
|
||||
|
||||
config RTK_OAM_V1
|
||||
bool "Support RTK OAM V1"
|
||||
depends on CA_RTK_EPON_FEATURE
|
||||
help
|
||||
Choice for enable RTK OAM V1
|
||||
|
||||
config RTK_OAM_BY_BUFFER
|
||||
bool "Support Sending OAM message by OAM Buffer"
|
||||
depends on CA_RTK_EPON_FEATURE
|
||||
default n
|
||||
help
|
||||
Choice OAM sending path by OAM Buffer
|
||||
|
||||
config PON_DETECT_FEATURE
|
||||
bool "Support GPON/EPON detect"
|
||||
depends on GPON_FEATURE && EPON_FEATURE
|
||||
default y
|
||||
help
|
||||
Say Y if your machine has GPON/EPON detect function.
|
||||
|
||||
config PON_AUTO_SELECT_FEATURE
|
||||
bool "Support GPON/EPON auto selection"
|
||||
depends on PON_DETECT_FEATURE
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has GPON/EPON auto selection function.
|
||||
|
||||
config L3FE_FLOW_CONTROL_CONFIG_FOR_SINGLE_WAN
|
||||
bool "Support Flow Control configuration for single WAN port"
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has GPON/EPON auto selection function.
|
||||
|
||||
endif
|
||||
|
||||
if LUNA_G3_SERIES!=y
|
||||
config EPON_FEATURE
|
||||
bool "Support RTK EPON"
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Say Y if your machine has EPON phy ports.
|
||||
|
||||
config RTK_OAM_V1
|
||||
bool "Support RTK OAM V1"
|
||||
depends on EPON_FEATURE
|
||||
default y
|
||||
help
|
||||
Choice for enable RTK OAM V1
|
||||
|
||||
config RTK_OAM_BY_BUFFER
|
||||
bool "Support Sending OAM message by OAM buffer"
|
||||
depends on RTK_OAM_V1
|
||||
default n
|
||||
help
|
||||
Choice OAM sending path by OAM Buffer
|
||||
|
||||
config EPON_LOS_RECOVER
|
||||
bool "Support EPON LOS recover"
|
||||
depends on RTK_OAM_V1
|
||||
default n
|
||||
|
||||
config EPON_OAM_DUMMY_MODE
|
||||
bool "Support EPON OAM dummy mode"
|
||||
depends on RTK_OAM_V1
|
||||
default n
|
||||
|
||||
config PON_DETECT_FEATURE
|
||||
bool "Support GPON/EPON detect"
|
||||
depends on GPON_FEATURE && EPON_FEATURE
|
||||
default y
|
||||
help
|
||||
Say Y if your machine has GPON/EPON detect function.
|
||||
|
||||
config PON_AUTO_SELECT_FEATURE
|
||||
bool "Support GPON/EPON auto selection"
|
||||
depends on PON_DETECT_FEATURE
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has GPON/EPON auto selection function.
|
||||
endif
|
||||
|
||||
config COMMON_RT_API
|
||||
bool "Support Common RT API"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has Common RT API.
|
||||
|
||||
config COMMON_RT_API_NO_BOA
|
||||
bool "Support Common RT API without BOA"
|
||||
depends on COMMON_RT_API
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has Common RT API without using BOA flash command.
|
||||
|
||||
config COMMON_RT_PONMISC
|
||||
bool "Support Common Pon Misc feature of RT API"
|
||||
depends on COMMON_RT_API
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has Common Pon Misc feature of RT API.
|
||||
|
||||
config RT_DIAGSHELL_ONLY
|
||||
bool "Support Diagshell only support Common RT API"
|
||||
depends on COMMON_RT_API && LUNA_G3_SERIES
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has RT Diagshell function.
|
||||
|
||||
config PON_MONITOR_FEATURE
|
||||
bool "Support PON monitor function"
|
||||
depends on GPON_FEATURE
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has PON monitoring function.
|
||||
|
||||
config RTK_PTP_MASTER
|
||||
bool "Support RTK PTP Master Time Synchronous"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has PTP Master Time Synchronous function.
|
||||
|
||||
config RTK_PTP_SLAVE
|
||||
bool "Support RTK PTP Slave Time Synchronous"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has PTP Slave Time Synchronous function.
|
||||
|
||||
config RTK_PPSTOD
|
||||
bool "Support RTK Software 1PPS+ToD"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has PPSTOD function.
|
||||
|
||||
config RTK_TIME_SYNC
|
||||
bool "Support RTK Time Synchronous"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has Time Synchronous function.
|
||||
|
||||
config RTK_SWITCH_ISSUE_LOG
|
||||
bool "Support RTK Switch Issue Log"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has Switch Issue Log function.
|
||||
|
||||
config RTK_PON_TOD_TIME_FREQ
|
||||
bool "Support RTK PON ToD tune Time Frequency"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Say Y if your machine has PON ToD tune Time Frequency function.
|
||||
|
||||
config FIBER_FEATURE
|
||||
bool "Support RTK FIBER"
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Say Y if using PON port as Fiber or Serdes port.
|
||||
|
||||
choice
|
||||
prompt "Select PON port Fiber configuration or other Serdes mode"
|
||||
depends on FIBER_FEATURE
|
||||
default FIBER_SPEED_AUTO
|
||||
|
||||
config FIBER_SPEED_1G
|
||||
bool "AN 1G only"
|
||||
|
||||
config FIBER_SPEED_100M
|
||||
bool "AN 100M only"
|
||||
|
||||
config FIBER_SPEED_AUTO
|
||||
bool "Auto 100M/1G"
|
||||
|
||||
config FIBER_SPEED_FORCE_1G
|
||||
bool "Force 1G"
|
||||
|
||||
config FIBER_SPEED_FORCE_100M
|
||||
bool "Force 100M"
|
||||
|
||||
config SDS_SGMII_1G
|
||||
bool "SDS SGMII 1G"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Fiber module detection method, SD output level or fiber signal"
|
||||
depends on FIBER_FEATURE
|
||||
default FIBER_DETECT_SD
|
||||
|
||||
config FIBER_DETECT_OOBS
|
||||
bool "OOBS"
|
||||
|
||||
config FIBER_DETECT_SD
|
||||
bool "SD"
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Fiber module output signal detect(SD) or loss"
|
||||
depends on FIBER_FEATURE && FIBER_DETECT_SD
|
||||
default FIBER_MODULE_LOSS
|
||||
|
||||
config FIBER_MODULE_LOSS
|
||||
bool "Loss"
|
||||
|
||||
config FIBER_MODULE_SD
|
||||
bool "SD"
|
||||
endchoice
|
||||
|
||||
config DYING_GASP_FEATURE
|
||||
bool "Support RTK DYING GASP of ETHER or FIBER"
|
||||
depends on SDK_MODULES && !(GPON_FEATURE || EPON_FEATURE)
|
||||
help
|
||||
Say Y if your machine want dying gasp in fiber or ether WAN.
|
||||
|
||||
config PBO_MEM_USAGE
|
||||
int "DRAM size in MB for PBO usage"
|
||||
range 0 8
|
||||
depends on RTL9601B_SERIES
|
||||
default "8"
|
||||
help
|
||||
Causion! this value will correlate with the memory size and the kernel memory in CONFIG_CMDLINE
|
||||
|
||||
choice
|
||||
prompt "PON PBO upstream page size"
|
||||
depends on RTL9607C_SERIES || RTL9603CVD_SERIES
|
||||
default PON_PBO_US_PAGE_SIZE_128
|
||||
|
||||
config PON_PBO_US_PAGE_SIZE_128
|
||||
bool "128"
|
||||
|
||||
config PON_PBO_US_PAGE_SIZE_256
|
||||
bool "256"
|
||||
|
||||
config PON_PBO_US_PAGE_SIZE_512
|
||||
bool "512"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "PON PBO downstream page size"
|
||||
depends on RTL9607C_SERIES || RTL9603CVD_SERIES
|
||||
default PON_PBO_DS_PAGE_SIZE_128
|
||||
|
||||
config PON_PBO_DS_PAGE_SIZE_128
|
||||
bool "128"
|
||||
|
||||
config PON_PBO_DS_PAGE_SIZE_256
|
||||
bool "256"
|
||||
|
||||
config PON_PBO_DS_PAGE_SIZE_512
|
||||
bool "512"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Switch PBO page size"
|
||||
depends on RTL9607C_SERIES || RTL9603CVD_SERIES
|
||||
default SWITCH_PBO_PAGE_SIZE_128
|
||||
|
||||
config SWITCH_PBO_PAGE_SIZE_128
|
||||
bool "128"
|
||||
|
||||
config SWITCH_PBO_PAGE_SIZE_256
|
||||
bool "256"
|
||||
|
||||
config SWITCH_PBO_PAGE_SIZE_512
|
||||
bool "512"
|
||||
|
||||
config SWITCH_PBO_PAGE_SIZE_1024
|
||||
depends on RTL9603CVD_SERIES
|
||||
bool "1024"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Switch PBO page count"
|
||||
depends on RTL9603CVD_SERIES
|
||||
default SWITCH_PBO_PAGE_COUNT_2048
|
||||
|
||||
config SWITCH_PBO_PAGE_COUNT_512
|
||||
bool "512"
|
||||
|
||||
config SWITCH_PBO_PAGE_COUNT_1024
|
||||
bool "1024"
|
||||
|
||||
config SWITCH_PBO_PAGE_COUNT_2048
|
||||
bool "2048"
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
config TX_DISABLE_GPIO_PIN
|
||||
int "gpio pin for disable tx"
|
||||
range 0 159
|
||||
depends on SDK_MODULES
|
||||
default "34"
|
||||
help
|
||||
the GPIO pin for disable tx
|
||||
|
||||
config TX_DISABLE_POLARITY_REVERSE
|
||||
bool "Reverse the polarity of TX_DISABLE PIN"
|
||||
depends on LUNA_G3_SERIES
|
||||
default n
|
||||
help
|
||||
Say Y if TX_DISABLE of transeiver is low-active.
|
||||
|
||||
config TX_POWER_TURN_ON_FEATURE
|
||||
bool "Support GPON/EPON/Fiber Turn On TX Power"
|
||||
depends on GPON_FEATURE || EPON_FEATURE || FIBER_FEATURE
|
||||
default n
|
||||
help
|
||||
Say Y if your board is default turn off TX power and want GPON/EPON turn on TX power in intial state.
|
||||
|
||||
config TX_POWER_GPO_PIN
|
||||
int "gpio pin for TX power"
|
||||
range 0 159
|
||||
depends on TX_POWER_TURN_ON_FEATURE
|
||||
default "0"
|
||||
help
|
||||
the GPIO pin for TX power
|
||||
|
||||
config TRX_SWITCH_GPIO_PIN
|
||||
int "gpio pin for switching transceiver module"
|
||||
range 0 255
|
||||
depends on SDK_MODULES
|
||||
default "255"
|
||||
help
|
||||
the GPIO pin for switching transceiver module, 255 for disable
|
||||
|
||||
config TRX_SWITCH_GPIO_POLARITY_REVERSE
|
||||
bool "Reverse the polarity of TRX_SWITCH PIN"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Say Y to swap the polarity of TRX_SWITCH PIN, default low for GPON/EPON/1G module.
|
||||
|
||||
config RTK_L34_DEMO
|
||||
tristate "Support RTK L34 Lite Auto Learning"
|
||||
depends on SDK_MODULES && !RTK_L34_ENABLE && RTL9607_SERIES
|
||||
default n
|
||||
help
|
||||
Choice for enable L34 Lite Auto Learning mechanism.
|
||||
|
||||
config RTK_FT2_MODULE
|
||||
bool "Support RTK FT2 module"
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Choice for enable Factory Test module.
|
||||
|
||||
config EUROPA
|
||||
tristate "Support Europa module"
|
||||
depends on SDK_MODULES
|
||||
default n
|
||||
help
|
||||
Choice for enable Europa module.
|
||||
|
||||
config EUROPA_FEATURE
|
||||
bool "Support RTL8290B Feature"
|
||||
depends on EUROPA
|
||||
default n
|
||||
help
|
||||
Choice for enable 8290B feature.
|
||||
|
||||
config EUROPA_INTERRUPT
|
||||
bool "Support EUROPA interrupt"
|
||||
depends on EUROPA_FEATURE
|
||||
default n
|
||||
help
|
||||
Choice for enable EUROPA interrupt.
|
||||
|
||||
config EUROPA_INTERRUPT_GPIO_PIN
|
||||
int "gpio pin for Europa interrupt"
|
||||
range 0 71
|
||||
depends on EUROPA_INTERRUPT
|
||||
default "13"
|
||||
help
|
||||
GPIO pinf for interrup.
|
||||
|
||||
config RTL8290C_FEATURE
|
||||
bool "Support RTL8290C Feature"
|
||||
depends on EUROPA
|
||||
default n
|
||||
help
|
||||
Choice for enable 8290C feature.
|
||||
|
||||
config RTL8291_FEATURE
|
||||
bool "Support RTL8291 10G LDD Feature"
|
||||
depends on EUROPA
|
||||
default n
|
||||
help
|
||||
Choice for enable RTL8291 feature.
|
||||
|
||||
config EXTERNAL_SWITCH
|
||||
bool "Support External Switch "
|
||||
default n
|
||||
help
|
||||
Choice for enable external switch.
|
||||
|
||||
config EXTERNAL_SWITCH_PORT_OFFSET
|
||||
int "external switch port offset"
|
||||
range 0 31
|
||||
depends on EXTERNAL_SWITCH
|
||||
default "24"
|
||||
help
|
||||
external switch port offset.
|
||||
|
||||
config EXTERNAL_PHY_POLLING
|
||||
bool "Support Switch External PHY Polling using asic mdc/mdio"
|
||||
default n
|
||||
help
|
||||
Choice for enable external phy polling with asic mdc/mdio.
|
||||
|
||||
|
||||
config MDC_MDIO_HW_SET
|
||||
int "assign using which hw mdc/mdio group"
|
||||
range 0 1
|
||||
depends on RTL9607C_SERIES && EXTERNAL_PHY_POLLING
|
||||
default 0
|
||||
help
|
||||
Choice for select which mdc/mdio will be used.
|
||||
|
||||
config MDC_MDIO_EXT_PORT
|
||||
int "assign which mac port using external phy"
|
||||
range 5 8
|
||||
depends on RTL9607C_SERIES && EXTERNAL_PHY_POLLING
|
||||
default 6
|
||||
help
|
||||
Choice which mac port using external phy.
|
||||
|
||||
|
||||
|
||||
config EXTERNAL_PHY_POLLING_USING_GPIO
|
||||
bool "Support Switch External PHY Polling using GPIO"
|
||||
default n
|
||||
depends on !EXTERNAL_PHY_POLLING
|
||||
default n
|
||||
help
|
||||
Choice for enable external phy polling with GPIO emulation mdc/mdio.
|
||||
|
||||
config EXTERNAL_PHY_MII_CLOCK_GPIO_PIN
|
||||
int "gpio pin for MII clock"
|
||||
range 0 71
|
||||
depends on EXTERNAL_PHY_POLLING_USING_GPIO
|
||||
default "60"
|
||||
help
|
||||
the GPIO pin for external phy MII clock pin
|
||||
|
||||
config EXTERNAL_PHY_MII_DATA_GPIO_PIN
|
||||
int "gpio pin for MII data"
|
||||
range 0 71
|
||||
depends on EXTERNAL_PHY_POLLING_USING_GPIO
|
||||
default "61"
|
||||
help
|
||||
the GPIO pin for external phy MII data pin
|
||||
|
||||
choice
|
||||
prompt "Select the target board profile for LED display"
|
||||
depends on FIBER_FEATURE || GPON_FEATURE || EPON_FEATURE || RTL8198X_SERIES
|
||||
default PON_LED_PROFILE_DEMO_RTL9607
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9607
|
||||
bool "RTL9607 demo board"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9607_IAD_V00
|
||||
bool "RTL9607 demo board for IAD v0.0"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9601
|
||||
bool "RTL9601 demo board"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9601B
|
||||
bool "RTL9601B demo board"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9602B
|
||||
bool "RTL9602B demo board"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9602C
|
||||
bool "RTL9602C demo board"
|
||||
|
||||
config PON_LED_PROFILE_DEOM_RTL9601C
|
||||
bool "RTL9601C demo board"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9607P
|
||||
bool "RTL9607P demo board"
|
||||
|
||||
config PON_LED_PROFILE_001
|
||||
bool "Board profile #001"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9607C
|
||||
bool "RTL9607C demo board"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9607C_TBL_B
|
||||
bool "RTL9607C demo board GPIO table B"
|
||||
|
||||
config PON_LDE_PROFILE_DEMO_CA8277_REVB
|
||||
bool "CA8277 demo board"
|
||||
|
||||
config PON_LED_PROFILE_DEMO_RTL9601D_SFU_HGU
|
||||
bool "RTL9601D SFU/HGU demo board"
|
||||
|
||||
endchoice
|
||||
|
||||
config SWITCH_INIT_LINKDOWN
|
||||
bool "switch init default link down"
|
||||
default n
|
||||
help
|
||||
Say Y if switch driver will linkdown switch port by default.
|
||||
|
||||
config REDUCED_DIAG
|
||||
bool "Reduce some diag shell command for specific condition"
|
||||
default n
|
||||
depends on SDK_MODULES
|
||||
help
|
||||
Say Y if you would like to use reduced diag shell, most of the case this SHOULD NOT be selected
|
||||
|
||||
config LAN_SDS_FEATURE
|
||||
bool "Support LAN serdes feature"
|
||||
default n
|
||||
help
|
||||
Say Y if you would like to use LAN serdes feature
|
||||
|
||||
config SFP_APPLICATION
|
||||
bool "Support SFP application"
|
||||
default n
|
||||
depends on LAN_SDS_FEATURE && (RTL9601B_SERIES || RTL9602C_SERIES)
|
||||
help
|
||||
Say Y if you would like to run the SFP demo application
|
||||
|
||||
config LAN_SDS1_FEATURE
|
||||
bool "Support LAN serdes 1 feature"
|
||||
default n
|
||||
help
|
||||
Say Y if you would like to use LAN serdes 1 feature
|
||||
|
||||
choice
|
||||
prompt "Support OE module access using I2C port 0 or port 1"
|
||||
default OE_MODULE_I2C_PORT_0
|
||||
|
||||
config OE_MODULE_I2C_PORT_0
|
||||
bool "I2C port 0"
|
||||
|
||||
config OE_MODULE_I2C_PORT_1
|
||||
bool "I2C port 1"
|
||||
endchoice
|
||||
|
||||
config I2C_SLAVE_ACCESS
|
||||
bool "Support I2C slave register access from external device"
|
||||
default n
|
||||
depends on RTL9602C_SERIES
|
||||
help
|
||||
Say Y if you would like to access switch/SoC register through I2C interface
|
||||
|
||||
config FORCE_SDK_RTL9602B
|
||||
bool "Force chip subtype to RTL9602B"
|
||||
default n
|
||||
depends on RTL9600_SERIES
|
||||
help
|
||||
Say Y if you would like to force asic to RTL9602B
|
||||
|
||||
config SWITCH_CLOCK_TUNING
|
||||
bool "Tune switch clock for RTL9603C"
|
||||
default n
|
||||
depends on RTL9607C_SERIES
|
||||
select SWITCH_SYS_CLOCK_TUNE
|
||||
select PBO_CLOCK_TUNE
|
||||
help
|
||||
Say Y if you would like to tune clock for RTL9603C
|
||||
|
||||
config SWITCH_SYS_CLOCK_TUNE
|
||||
bool
|
||||
|
||||
config PBO_CLOCK_TUNE
|
||||
bool
|
||||
|
||||
config EPON_WAIT_OLT_DBA_READY_DELAY
|
||||
bool "epon upstream normal tx enable must wait OLT DBA ready"
|
||||
default n
|
||||
depends on EPON_FEATURE
|
||||
help
|
||||
Say Y if olt need onu to wait oam complete.
|
||||
|
||||
|
||||
config EPON_WAIT_OLT_DBA_READY_DELAY_MSEC
|
||||
int "delay time for wait olt dba ready(msec)"
|
||||
depends on EPON_WAIT_OLT_DBA_READY_DELAY
|
||||
default "5000"
|
||||
help
|
||||
wait olt dba ready delay value msec.
|
||||
174
sources/rtk-gp3000/Makefile
Executable file
174
sources/rtk-gp3000/Makefile
Executable file
|
|
@ -0,0 +1,174 @@
|
|||
#
|
||||
# Makefile for the Linux Wireless network device drivers.
|
||||
#
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
SDK_RTCOREDIR = $(SDKDIR)/system/linux/rtcore
|
||||
SDK_RTKDIR = $(SDKDIR)/src
|
||||
SDK_UTDIR = $(SDKDIR)/unittest
|
||||
SDK_RTDRVDIR = $(SDKDIR)/system/linux/rtdrv
|
||||
SDK_INCLUDE = $(SDKDIR)/include
|
||||
SYS_INCLUDE = $(SDKDIR)/system/include
|
||||
DRV_INCLUDE = $(SDKDIR)/system/linux
|
||||
UT_INCLUDE = $(SDKDIR)/unittest
|
||||
SDK_MODULE = $(SDKDIR)/src/module
|
||||
SDK_ETCDIR = $(SDKDIR)/rtk.etc
|
||||
|
||||
ifeq ($(CONFIG_DIAGSHELL_MODE),CONFIG_DIAGSHELL_RTK)
|
||||
DIAGSHELL_DIR := $(SDKDIR)/src/app/diag_rtk
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_DIAGSHELL_MODE),CONFIG_DIAGSHELL_RAW)
|
||||
DIAGSHELL_DIR := $(SDKDIR)/src/app/diag
|
||||
endif
|
||||
|
||||
|
||||
CONFIG_SDK_KERNEL_LINUX_KERNEL_MODE=y
|
||||
|
||||
|
||||
export SDKDIR SDK_INCLUDE SYS_INCLUDE DRV_INCLUDE UT_INCLUDE
|
||||
export CONFIG_SDK_KERNEL_LINUX_KERNEL_MODE
|
||||
|
||||
ifeq ($(filter y, $(CONFIG_LUNA_G3_SERIES)),y)
|
||||
obj-y += src/
|
||||
obj-y += system/linux/rtcore/
|
||||
obj-y += system/linux/rtdrv/
|
||||
ifeq ($(CONFIG_SDK_MODULES),y)
|
||||
obj-y += src/module/
|
||||
endif
|
||||
else
|
||||
ifneq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
obj-y += src/
|
||||
endif
|
||||
ifeq ($(CONFIG_SDK_DRIVER_UNITTEST),y)
|
||||
obj-y += unittest/
|
||||
endif
|
||||
obj-y += system/linux/rtcore/
|
||||
obj-y += system/linux/rtdrv/
|
||||
ifeq ($(CONFIG_SDK_MODULES),y)
|
||||
obj-y += src/module/
|
||||
endif
|
||||
endif
|
||||
|
||||
all:
|
||||
$(MAKE) -C $(SDK_MODULE) SRC_DIR=$(SDK_MODULE) all;
|
||||
|
||||
install:
|
||||
$(MAKE) -C $(SDK_MODULE) SRC_DIR=$(SDK_MODULE) install;
|
||||
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_ENABLE),y)
|
||||
DEF += -D CONFIG_RTK_L34_ENABLE
|
||||
ifeq ($(CONFIG_RTL9600_SERIES),y)
|
||||
DEF += -D CONFIG_RTL9600_SERIES
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL9607C_SERIES),y)
|
||||
DEF += -D CONFIG_RTL9607C_SERIES
|
||||
endif
|
||||
ifeq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
DEF += -D CONFIG_LUNA_G3_SERIES
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL9603CVD_SERIES),y)
|
||||
DEF += -D CONFIG_RTL9603CVD_SERIES
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_FLEETCONNTRACK_ENABLE),y)
|
||||
DEF += -D CONFIG_RTK_L34_FLEETCONNTRACK_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_IGMP_MLD_SNOOPING_MODULE),m)
|
||||
DEF += -D CONFIG_RTK_IGMP_MLD_SNOOPING_MODULE
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
DEF += -D CONFIG_XDSL_RG_DIAGSHELL
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_OPENWRT_RG),y)
|
||||
DEF += -D CONFIG_OPENWRT_RG
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_OPENWRT_DIAG),y)
|
||||
DEF += -D CONFIG_OPENWRT_DIAG
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9601B),y)
|
||||
DEF += -D CONFIG_SDK_RTL9601B
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_DRIVER_UNITTEST),y)
|
||||
DEF += -D CONFIG_SDK_DRIVER_UNITTEST
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
DEF += -D CONFIG_GPON_FEATURE
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_10G_GPON_FEATURE),y)
|
||||
DEF += -D CONFIG_10G_GPON_FEATURE
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EPON_FEATURE),y)
|
||||
DEF += -D CONFIG_EPON_FEATURE
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_OAM_BY_BUFFER),y)
|
||||
DEF += -D CONFIG_RTK_OAM_BY_BUFFER
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_10G_EPON_FEATURE),y)
|
||||
DEF += -D CONFIG_10G_EPON_FEATURE
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RLDP_FEATURE),y)
|
||||
DEF += -D CONFIG_RLDP_FEATURE
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_REDUCED_DIAG),y)
|
||||
DEF += -D CONFIG_REDUCED_DIAG
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_L34_TABLE_BASE_DIAG),y)
|
||||
DEF += -D CONFIG_L34_TABLE_BASE_DIAG
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EUROPA_FEATURE),y)
|
||||
DEF += -D CONFIG_EUROPA_FEATURE
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EXTERNAL_SWITCH),y)
|
||||
DEF += -D CONFIG_EXTERNAL_SWITCH
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
DEF += -D CONFIG_COMMON_RT_API
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_PONMISC),y)
|
||||
DEF += -D CONFIG_COMMON_RT_PONMISC
|
||||
endif
|
||||
|
||||
clean:
|
||||
$(MAKE) -C $(SDK_RTKDIR) clean
|
||||
$(MAKE) -C $(SDK_RTCOREDIR) clean
|
||||
$(MAKE) -C $(SDK_UTDIR) clean
|
||||
rm -rf *.o
|
||||
|
||||
|
||||
shell_tree:
|
||||
rm -f $(DIAGSHELL_DIR)/../diag_rtk/src/parser/*.o
|
||||
ifeq ($(CONFIG_RT_DIAGSHELL_ONLY),y)
|
||||
cd $(DIAGSHELL_DIR)/config; \
|
||||
./script/mk_parser.py $(DEF) rt/diag_shell.cli -c cparser_rt_tree.c -i cparser_rt_tree.h -fd ../include/flag/ -f cmd_flag.h; \
|
||||
mv ../config/cparser_rt_tree.c ../src/parser/cparser_rt_tree.c; \
|
||||
mv ../config/cparser_rt_tree.h ../include/parser/cparser_rt_tree.h; \
|
||||
cd - ;
|
||||
else
|
||||
cd $(DIAGSHELL_DIR)/config; \
|
||||
./script/mk_parser.py $(DEF) diag_shell.cli -fd ../include/flag/ -f cmd_flag.h; \
|
||||
mv ../config/cparser_tree.c ../src/parser/cparser_tree.c; \
|
||||
mv ../config/cparser_tree.h ../include/parser/cparser_tree.h; \
|
||||
cd - ;
|
||||
endif
|
||||
372
sources/rtk-gp3000/build/Makefile.app.diag
Executable file
372
sources/rtk-gp3000/build/Makefile.app.diag
Executable file
|
|
@ -0,0 +1,372 @@
|
|||
#
|
||||
# Copyright (C) 2011 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Diag Shell Source
|
||||
#
|
||||
|
||||
APOLLO_SDK_PATH = $(SDKDIR)
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
EXTRA_CFLAGS+=$(PON_CFLAGS)
|
||||
LIB = $(RTK_LIB)
|
||||
ifeq ($(CONFIG_SDK_DRIVER_UNITTEST),y)
|
||||
LIB += -lut
|
||||
endif
|
||||
|
||||
|
||||
#ASIC mode
|
||||
ifeq ($(CONFIG_RTK_DEV_AP),y)
|
||||
CFLAGS += -DRTK_X86_CLE -DRTK_X86_ASICDRV -DCONFIG_APOLLO_CMD -DCONFIG_SMIDA1011 -DDISABLE_VLAN_SHADOW -DCONFIG_LINUX_USER_SHELL
|
||||
else
|
||||
CFLAGS := -DRTK_X86_CLE -DRTK_X86_ASICDRV -DCONFIG_APOLLO_CMD -DCONFIG_SMIDA1011 -DDISABLE_VLAN_SHADOW -DCONFIG_LINUX_USER_SHELL
|
||||
endif
|
||||
|
||||
|
||||
SDK_ROOT_DIR = $(APOLLO_SDK_PATH)
|
||||
SDK_INCLUDE = $(SDK_ROOT_DIR)/include
|
||||
SYS_DIR = $(SDK_ROOT_DIR)/system/linux
|
||||
SYS_INCLUDE = $(SDK_ROOT_DIR)/system/include
|
||||
RTUSR_INC = $(SYS_DIR)/rtk/rtusr/include
|
||||
COMMON_DIR = $(SDK_ROOT_DIR)/src/common
|
||||
UT_INCLUDE = $(SDK_ROOT_DIR)/unittest
|
||||
ifeq ($(CONFIG_RTK_L34_ENABLE),y)
|
||||
RG_INCLUDE = $(SDK_ROOT_DIR)/../romeDriver
|
||||
#for userspace which include some data structure defined in apollo-liteRomeDriver
|
||||
endif
|
||||
ifeq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
RG_INCLUDE = $(SDK_ROOT_DIR)/../romeDriver
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_2_6_30),y)
|
||||
EXTRA_CFLAGS += -include $(KDIR)/include/linux/autoconf.h
|
||||
else
|
||||
EXTRA_CFLAGS += -include $(KDIR)/include/generated/autoconf.h
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_DIAGSHELL_MODE),CONFIG_DIAGSHELL_RTK)
|
||||
DIAGSHELL_DIR := $(SDKDIR)/src/app/diag_rtk
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_DIAGSHELL_MODE),CONFIG_DIAGSHELL_RAW)
|
||||
DIAGSHELL_DIR := ../../../sdk/src/app/diag
|
||||
endif
|
||||
|
||||
DIAG_INCLUDE = $(DIAGSHELL_DIR)/include
|
||||
DIAGSHELL_SRC_DIR := $(DIAGSHELL_DIR)/src
|
||||
DIAG_CFG = $(DIAGSHELL_DIR)/config
|
||||
|
||||
|
||||
INCLUDE += -I$(DIAG_INCLUDE) \
|
||||
-I$(SDK_INCLUDE) \
|
||||
-I$(SYS_INCLUDE) \
|
||||
-I$(SDK_INCLUDE)/hal/chipdef/apollo \
|
||||
-I$(UT_INCLUDE) \
|
||||
-I.. \
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_ENABLE),y)
|
||||
INCLUDE += -I$(RG_INCLUDE) -I$(RG_INCLUDE)/asicDriver
|
||||
ifeq ($(CONFIG_HWNAT_FLEETCONNTRACK_EDP),y)
|
||||
INCLUDE += -I$(RG_INCLUDE)/../FleetConntrackDriver/include -I$(RG_INCLUDE)/../FleetConntrackDriver/core
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
INCLUDE += -I$(RG_INCLUDE)
|
||||
INCLUDE += -I$(KDIR)/include
|
||||
ifeq ($(CONFIG_DEFAULTS_KERNEL_3_18),y)
|
||||
INCLUDE += -I$(KDIR)/drivers/net/ethernet/realtek/rtl819x
|
||||
else
|
||||
INCLUDE += -I$(KDIR)/drivers/net/rtl819x
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_OPENWRT_DIAG),y)
|
||||
INCLUDE += -I$(KDIR)/drivers/net/ethernet/realtek/rtl819x
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EUROPA_I2C_PORT_0),y)
|
||||
EXTRA_CFLAGS += -DEUROPA_I2C_PORT=0
|
||||
else
|
||||
EXTRA_CFLAGS += -DEUROPA_I2C_PORT=1
|
||||
endif
|
||||
|
||||
CFLAGS += -DCONFIG_RTL865X \
|
||||
-DCONFIG_RTL865XC \
|
||||
-DRTL865X_MODEL_USER \
|
||||
|
||||
CFLAGS += -Wcomment \
|
||||
-Winit-self \
|
||||
-Wmissing-braces \
|
||||
-Wparentheses \
|
||||
-Wreturn-type \
|
||||
-Wunused-value \
|
||||
-Wunused-label \
|
||||
-Werror
|
||||
|
||||
include $(CHECKSEC_CONFIG)
|
||||
CFLAGS += $(SECLDFLAGS)
|
||||
|
||||
EXEC = diag
|
||||
BIN = bin
|
||||
TARGET := obj
|
||||
#SRC = $(CMDS)
|
||||
#OBJ += $(shell for i in $(SRC); do n=`basename $$i`; echo -n $(TARGET)/$${n%%.*}.o ""; done)
|
||||
BASE_OBJ :=\
|
||||
$(DIAGSHELL_SRC_DIR)/diag_main.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_util.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_str.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_om.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_cmd.o
|
||||
|
||||
PARSER_OBJ =\
|
||||
$(DIAGSHELL_SRC_DIR)/parser/cparser.o \
|
||||
$(DIAGSHELL_SRC_DIR)/parser/cparser_fsm.o \
|
||||
$(DIAGSHELL_SRC_DIR)/parser/cparser_io_unix.o \
|
||||
$(DIAGSHELL_SRC_DIR)/parser/cparser_line.o \
|
||||
$(DIAGSHELL_SRC_DIR)/parser/cparser_token.o \
|
||||
$(DIAGSHELL_SRC_DIR)/parser/cparser_token_tbl.o
|
||||
|
||||
TREE_OBJ =\
|
||||
$(DIAGSHELL_SRC_DIR)/parser/cparser_tree.o
|
||||
|
||||
RT_TREE_OBJ =\
|
||||
$(DIAGSHELL_SRC_DIR)/parser/cparser_rt_tree.o
|
||||
|
||||
OBJ = $(BASE_OBJ) $(PARSER_OBJ) $(TREE_OBJ)
|
||||
|
||||
ifeq ($(CONFIG_DIAGSHELL_MODE),CONFIG_DIAGSHELL_RAW)
|
||||
ifeq ($(CONFIG_SDK_APOLLO),y)
|
||||
OBJ += \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_debug.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_sdk.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_reg.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_l2.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_vlan.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_svlan.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_mirror.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_port.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_qos.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_dot1x.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_trunk.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_rate.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_oam.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_trap.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_counter.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_acl.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_ext.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_gpon.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_classf.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_l34.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_sec.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_stp.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_switch.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_flowctrl.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_auto_fallback.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_eee.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_cpu.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_intr.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_rldp.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_ponmac.o
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_DIAGSHELL_MODE),CONFIG_DIAGSHELL_RTK)
|
||||
OBJ += \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_reg.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_acl.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_vlan.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_l2.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_igmp.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_port.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_classf.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_qos.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_bandwidth.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_meter.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_switch.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_storm_control.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_stp.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_counter.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_trap.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_rma.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_oam.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_cpu.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_iol.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_svlan.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_debug.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_flowctrl.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_ponmac.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_intr.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_i2c.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_led.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_pbo.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_ppstod.o
|
||||
|
||||
ifneq ($(CONFIG_REDUCED_DIAG),y)
|
||||
OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_time.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_rldp.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_trunk.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_dot1x.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_mirror.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_sec.o
|
||||
|
||||
ifeq ($(CONFIG_L34_TABLE_BASE_DIAG),y)
|
||||
OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_l34.o
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_DRIVER_UNITTEST),y)
|
||||
OBJ += \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_sdk.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_gpon.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EPON_FEATURE),y)
|
||||
OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_epon.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_ENABLE),y)
|
||||
OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_rg.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_rg_acl.o
|
||||
endif
|
||||
ifeq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_rg.o \
|
||||
$(DIAGSHELL_SRC_DIR)/diag_rg_acl.o
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
RT_OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_switch.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_counter.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_i2c.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_trap.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_igmp.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_oam.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_sec.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_port.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_intr.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_qos.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_rate.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_cls.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_l2.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_mirror.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_mdio.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_time.o
|
||||
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
RT_OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_gpon.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EPON_FEATURE),y)
|
||||
RT_OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_epon.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_FLEETCONNTRACK_ENABLE),y)
|
||||
RT_OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_rate_ext.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_igmp_ext.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_flow_ext.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_counter_ext.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_acl_ext.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_qos_ext.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_pe_ext.o \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_misc_ext.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_RTK_IGMP_MLD_SNOOPING_MODULE),m)
|
||||
RT_OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_igmpHook_ext.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_PONMISC),y)
|
||||
RT_OBJ+= \
|
||||
$(DIAGSHELL_SRC_DIR)/rt/diag_rt_ponmisc.o
|
||||
endif
|
||||
|
||||
OBJ+= $(RT_OBJ)
|
||||
|
||||
endif
|
||||
|
||||
#RM_EXE:
|
||||
# rm -f $(BIN)/$(EXEC)
|
||||
|
||||
#Remove the obj file to force rebuild
|
||||
RM_OBJ:
|
||||
rm -f $(DIAGSHELL_SRC_DIR)/diag_debug.o
|
||||
|
||||
|
||||
$(EXEC): $(OBJ)
|
||||
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(EXTRA_SEC_EXE_LDFLAGS) $(INCLUDE) $(OBJ) $(LIB) -o $(BIN)/$@
|
||||
$(STRIP) $(BIN)/$@
|
||||
|
||||
RT_EXEC = rt_diag
|
||||
|
||||
$(RT_EXEC): $(BASE_OBJ) $(PARSER_OBJ) $(RT_TREE_OBJ) $(RT_OBJ)
|
||||
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(EXTRA_SEC_EXE_LDFLAGS) $(INCLUDE) $(BASE_OBJ) $(PARSER_OBJ) $(RT_TREE_OBJ) $(RT_OBJ) $(LIB) -o $(BIN)/$@
|
||||
$(STRIP) $(BIN)/$@
|
||||
|
||||
ifeq ($(CONFIG_OPENWRT_DIAG),y)
|
||||
$(TARGET)/%.o: %.c
|
||||
$(CC) $(INCLUDE) $(CFLAGS) $(EXTRA_CFLAGS) -c -fPIC -o $@ $<
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(INCLUDE) $(CFLAGS) $(EXTRA_CFLAGS) -c -fPIC -o $@ $<
|
||||
else
|
||||
$(TARGET)/%.o: %.c
|
||||
$(CC) $(INCLUDE) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(INCLUDE) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
|
||||
endif
|
||||
|
||||
|
||||
#all: RM_EXE $(EXEC)
|
||||
|
||||
ifeq ($(CONFIG_RT_DIAGSHELL_ONLY),y)
|
||||
all: RM_OBJ $(RT_EXEC)
|
||||
else
|
||||
all: RM_OBJ $(EXEC)
|
||||
endif
|
||||
|
||||
install: all
|
||||
cp -af $(APOLLODIR)/object/src/app/lib/librtk.so $(ROMFSDIR)/lib/
|
||||
ifeq ($(CONFIG_SDK_DRIVER_UNITTEST),y)
|
||||
cp -af $(APOLLODIR)/object/src/app/lib/libut.so $(ROMFSDIR)/lib/
|
||||
endif
|
||||
ifeq ($(CONFIG_RT_DIAGSHELL_ONLY),y)
|
||||
cp $(BIN)/$(RT_EXEC) $(BINDIR)
|
||||
else
|
||||
cp $(BIN)/$(EXEC) $(BINDIR)
|
||||
endif
|
||||
|
||||
clean:
|
||||
ifeq ($(CONFIG_RT_DIAGSHELL_ONLY),y)
|
||||
rm -f $(BASE_OBJ) $(PARSER_OBJ) $(RT_TREE_OBJ) $(RT_OBJ) $(BIN)/$(RT_EXEC) *.gdb *.elf *.elf2flt
|
||||
rm -f $(DIAGSHELL_SRC_DIR)/parser/cparser_rt_tree.c
|
||||
rm -f $(DIAG_INCLUDE)/parser/cparser_rt_tree.h
|
||||
else
|
||||
rm -f $(OBJ) $(BIN)/$(EXEC) *.gdb *.elf *.elf2flt
|
||||
rm -f $(DIAGSHELL_SRC_DIR)/parser/cparser_tree.c
|
||||
rm -f $(DIAG_INCLUDE)/parser/cparser_tree.h
|
||||
endif
|
||||
|
||||
tgz: clean
|
||||
cd ..; cd ..; tar zcvf $(EXEC).tgz $(EXEC)
|
||||
|
||||
467
sources/rtk-gp3000/build/Makefile.app.list
Executable file
467
sources/rtk-gp3000/build/Makefile.app.list
Executable file
|
|
@ -0,0 +1,467 @@
|
|||
# Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Kernel Modules
|
||||
#
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
SDK_INCLUDE = $(SDKDIR)/include
|
||||
SYS_INCLUDE = $(SDKDIR)/system/include
|
||||
DRV_INCLUDE = $(SDKDIR)/system/linux
|
||||
|
||||
ifeq ($(CONFIG_OPENWRT_SDK),y)
|
||||
include $(TOPDIR)/.config
|
||||
endif
|
||||
EXTRA_CFLAGS+= $(PON_CFLAGS)
|
||||
FLAGS+="-I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(DRV_INCLUDE)"
|
||||
ifeq ($(CONFIG_OPENWRT_DIAG),y)
|
||||
RTK_LIB +="-L$(APOLLODIR)/object/src/app/lib -lrtk"
|
||||
else
|
||||
RTK_LIB +="-L$(APOLLODIR)/object/src/app/lib -lrtk -lpthread"
|
||||
endif
|
||||
|
||||
APPS:= diag_rtk
|
||||
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
APPS+= pkt_redirect
|
||||
else
|
||||
ifeq ($(CONFIG_EPON_FEATURE),y)
|
||||
APPS+= pkt_redirect
|
||||
else
|
||||
ifeq ($(CONFIG_SDK_LUNA_G3),y)
|
||||
APPS+= pkt_redirect
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#ifeq ($(CONFIG_RTK_IGMP),y)
|
||||
#APPS+= rtk_igmp
|
||||
#endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_OMCI_V1),y)
|
||||
ifeq ($(CONFIG_OPENWRT_SDK),y)
|
||||
ifeq ($(CONFIG_ARCH), "aarch64")
|
||||
OMCI_DIR= omci_v1_arm_openwrt
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH), "mips")
|
||||
OMCI_DIR= omci_v1_mips_openwrt
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_KERNEL_2_6_30),y)
|
||||
ifeq ($(CONFIG_LUNA_DUAL_LINUX),y)
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR_MASTER) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_2_6_30-"$$3"-"$$6}')
|
||||
else
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_2_6_30-"$$3"-"$$6}')
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_KERNEL_3_18_x),y)
|
||||
ifeq ($(CONFIG_LUNA_DUAL_LINUX),y)
|
||||
ifeq ($(CONFIG_SMP),y)
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR_MASTER) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_3_18-"$$3"-"$$6}')
|
||||
else
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR_MASTER) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_3_18-"$$3"-"$$6"-no-smp"}')
|
||||
endif
|
||||
else
|
||||
ifeq ($(CONFIG_SMP),y)
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_3_18-"$$3"-"$$6}')
|
||||
else
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_3_18-"$$3"-"$$6"-no-smp"}')
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_KERNEL_4_4_x),y)
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
ifeq ($(CONFIG_ARM),y)
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_4_4-"$$3"-"$$6"-rt-arm32"}')
|
||||
else
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_4_4-"$$3"-"$$6"-rt"}')
|
||||
endif
|
||||
else
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_4_4-"$$3"-"$$6}')
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_KERNEL_5_10_x),y)
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
ifeq ($(CONFIG_ARM),y)
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_5_10-"$$3"-"$$6"-rt-arm32"}')
|
||||
else
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_5_10-"$$3"-"$$6"-rt"}')
|
||||
endif
|
||||
else
|
||||
ifeq ($(CONFIG_SMP),y)
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_5_10-"$$3"-"$$6}')
|
||||
else
|
||||
OMCI_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "omci_v1_5_10-"$$3"-"$$6"-no-smp"}')
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
APPS+= omci_v1
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_IGMP),y)
|
||||
APPS+= rtk_igmp
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_OMCI_V2),y)
|
||||
APPS+= omci_v2
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_OAM_V1),y)
|
||||
ifneq ($(shell test -e oam_v1 || test -e oam_v1_fc && echo true),)
|
||||
ifeq ($(CONFIG_RTK_L34_FLEETCONNTRACK_ENABLE),y)
|
||||
APPS+= oam_v1_fc
|
||||
else
|
||||
APPS+= oam_v1
|
||||
endif
|
||||
else
|
||||
APPS+= epon_oam_v1
|
||||
endif
|
||||
endif
|
||||
|
||||
APPS+= pon_detect
|
||||
|
||||
ifeq ($(CONFIG_SFP_APPLICATION),y)
|
||||
APPS+= sfp_app
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EUROPA),m)
|
||||
APPS+= europa
|
||||
ifeq ($(CONFIG_EUROPA_FEATURE),y)
|
||||
ifeq ($(CONFIG_KERNEL_2_6_30),y)
|
||||
ifeq ($(CONFIG_KALLSYMS),y)
|
||||
EUROPA_8290B_DRV_DIR= drv_8290b_2_6_30
|
||||
else
|
||||
EUROPA_8290B_DRV_DIR= drv_8290b_2_6_30_no_kallsyms
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_3_18_x),y)
|
||||
ifeq ($(CONFIG_SMP),y)
|
||||
EUROPA_8290B_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290b_3_18-"$$3"-"$$6}')
|
||||
else
|
||||
EUROPA_8290B_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290b_3_18-"$$3"-"$$6"-no-smp"}')
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_4_4_x),y)
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
EUROPA_8290B_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290b_4_4-"$$3"-"$$6"-rt"}')
|
||||
else
|
||||
EUROPA_8290B_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290b_4_4-"$$3"-"$$6}')
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_5_10_x),y)
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
EUROPA_8290B_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290b_5_10-"$$3"-"$$6"-rt"}')
|
||||
else
|
||||
EUROPA_8290B_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290b_5_10-"$$3"-"$$6}')
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8290C_FEATURE),y)
|
||||
ifeq ($(CONFIG_KERNEL_2_6_30),y)
|
||||
ifeq ($(CONFIG_KALLSYMS),y)
|
||||
EUROPA_8290C_DRV_DIR= drv_8290c_2_6_30
|
||||
else
|
||||
EUROPA_8290C_DRV_DIR= drv_8290c_2_6_30_no_kallsyms
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_3_18_x),y)
|
||||
ifeq ($(CONFIG_SMP),y)
|
||||
EUROPA_8290C_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290c_3_18-"$$3"-"$$6}')
|
||||
else
|
||||
EUROPA_8290C_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290c_3_18-"$$3"-"$$6"-no-smp"}')
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_4_4_x),y)
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
EUROPA_8290C_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290c_4_4-"$$3"-"$$6"-rt"}')
|
||||
else
|
||||
EUROPA_8290C_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290c_4_4-"$$3"-"$$6}')
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_5_10_x),y)
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
EUROPA_8290C_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290c_5_10-"$$3"-"$$6"-rt"}')
|
||||
else
|
||||
EUROPA_8290C_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8290c_5_10-"$$3"-"$$6}')
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8291_FEATURE),y)
|
||||
ifeq ($(CONFIG_KERNEL_2_6_30),y)
|
||||
ifeq ($(CONFIG_KALLSYMS),y)
|
||||
EUROPA_8291_DRV_DIR= drv_8291_2_6_30
|
||||
else
|
||||
EUROPA_8291_DRV_DIR= drv_8291_2_6_30_no_kallsyms
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_3_18_x),y)
|
||||
ifeq ($(CONFIG_SMP),y)
|
||||
EUROPA_8291_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8291_3_18-"$$3"-"$$6}')
|
||||
else
|
||||
EUROPA_8291_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8291_3_18-"$$3"-"$$6"-no-smp"}')
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_4_4_x),y)
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
EUROPA_8291_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8291_4_4-"$$3"-"$$6"-rt"}')
|
||||
else
|
||||
EUROPA_8291_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8291_4_4-"$$3"-"$$6}')
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KERNEL_5_10_x),y)
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
EUROPA_8291_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8291_5_10-"$$3"-"$$6"-rt"}')
|
||||
else
|
||||
EUROPA_8291_DRV_DIR= $(shell echo $(CONFIG_RSDK_DIR) | awk -F/ '{print $$NF}' | awk -F- '{print "drv_8291_5_10-"$$3"-"$$6}')
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_PTP_MASTER),y)
|
||||
APPS+=ptp_master
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_PTP_SLAVE),y)
|
||||
APPS+=ptp_slave
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_TIME_SYNC),y)
|
||||
APPS+=time_sync
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_PON_TOD_TIME_FREQ),y)
|
||||
APPS+=pon_tod_cal_freq
|
||||
endif
|
||||
|
||||
#CONFIG_CA8277B_SERIES=y
|
||||
#CONFIG_RTL8277C_SERIES=y
|
||||
#export CONFIG_CA8277B_SERIES
|
||||
#export CONFIG_RTL8277C_SERIES
|
||||
|
||||
ifeq ($(CONFIG_MULTICHIP_ONEIMAGE),y)
|
||||
#mkdir -p $(shell find ca-scfg-1.0 -type d | sed 's/ca-scfg-1.0/ca-scfg-1.0-77c/')
|
||||
dest-venus-dir = $(shell find $(SDKDIR)/src/module/ca_rtk_epon_drv -type d | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-venus/')
|
||||
dest-77c-dir = $(shell find $(SDKDIR)/src/module/ca_rtk_epon_drv -type d | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-77c/')
|
||||
dest-07f-dir = $(shell find $(SDKDIR)/src/module/ca_rtk_epon_drv -type d | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-07f/')
|
||||
src-file = $(shell find $(SDKDIR)/src/module/ca_rtk_epon_drv -type f ! -name *.mod.c \( -iname "*.c" -or -iname "*.h" -or -iname "Makefile" -or -iname "Kbuild" \))
|
||||
|
||||
|
||||
endif
|
||||
|
||||
all:
|
||||
ifeq ($(CONFIG_RTK_OMCI_V1),y)
|
||||
@if [ -L omci_v1 ] ; then \
|
||||
ln -sfn $(OMCI_DIR) omci_v1; \
|
||||
fi
|
||||
@if [ ! -d omci_v1 ] ; then \
|
||||
ln -sfn $(OMCI_DIR) omci_v1; \
|
||||
fi
|
||||
endif
|
||||
ifeq ($(CONFIG_EUROPA),m)
|
||||
ifeq ($(CONFIG_EUROPA_FEATURE),y)
|
||||
@if [ ! -d europa/drv_8290b ] ; then \
|
||||
ln -sfn $(EUROPA_8290B_DRV_DIR) europa/drv_8290b; \
|
||||
fi
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8290C_FEATURE),y)
|
||||
@if [ ! -d europa/drv_8290c ] ; then \
|
||||
ln -sfn $(EUROPA_8290C_DRV_DIR) europa/drv_8290c; \
|
||||
fi
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8291_FEATURE),y)
|
||||
@if [ ! -d europa/drv_8291 ] ; then \
|
||||
ln -sfn $(EUROPA_8291_DRV_DIR) europa/drv_8291; \
|
||||
fi
|
||||
endif
|
||||
endif
|
||||
for dir in $(APPS) ; do $(MAKE) -C $$dir FLAGS=$(FLAGS) PON_CFLAGS="$(PON_CFLAGS)" RTK_LIB=$(RTK_LIB) all || exit 1; done
|
||||
ifeq ($(CONFIG_SDK_LUNA_G3),y)
|
||||
ifeq ($(CONFIG_ARCH_RTL8198F),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl8198f
|
||||
else
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/luna_g3
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_SDK_CA8279),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/ca8279
|
||||
endif
|
||||
ifeq ($(CONFIG_MULTICHIP_ONEIMAGE),y)
|
||||
ifeq ($(CONFIG_CA8277B_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/ca8277b EXTRA_CFLAGS=" "
|
||||
for i in $(dest-venus-dir); do \
|
||||
echo "mkdir -p $$i"; \
|
||||
mkdir -p $$i; \
|
||||
done
|
||||
for i in $(src-file); do \
|
||||
echo "ln -sf $$i $$(echo $$i | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-venus/')"; \
|
||||
ln -sf $$i $$(echo $$i | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-venus/'); \
|
||||
done
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-venus CA_TARGET=venus EXTRA_CFLAGS=" "
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8277C_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl8277c EXTRA_CFLAGS=" "
|
||||
for i in $(dest-77c-dir); do \
|
||||
echo "mkdir -p $$i"; \
|
||||
mkdir -p $$i; \
|
||||
done
|
||||
for i in $(src-file); do \
|
||||
echo "ln -sf $$i $$(echo $$i | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-77c/')"; \
|
||||
ln -sf $$i $$(echo $$i | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-77c/'); \
|
||||
done
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-77c CA_TARGET=77c EXTRA_CFLAGS=" "
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL9607F_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl9607f EXTRA_CFLAGS=" "
|
||||
for i in $(dest-07f-dir); do \
|
||||
echo "mkdir -p $$i"; \
|
||||
mkdir -p $$i; \
|
||||
done
|
||||
for i in $(src-file); do \
|
||||
echo "ln -sf $$i $$(echo $$i | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-07f/')"; \
|
||||
ln -sf $$i $$(echo $$i | sed 's/ca_rtk_epon_drv/ca_rtk_epon_drv-07f/'); \
|
||||
done
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-07f CA_TARGET=07f EXTRA_CFLAGS=" "
|
||||
endif
|
||||
else
|
||||
ifeq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv
|
||||
ifeq ($(CONFIG_CA_RTK_EPON_TEST_FEATURE),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv/ca_rtk_epon_test
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
install:
|
||||
for dir in $(APPS) ; do $(MAKE) -C $$dir BINDIR="../bin" RTK_LIB=$(RTK_LIB) install || exit 1; done
|
||||
ifeq ($(CONFIG_COMMON_RT_API_NO_BOA),y)
|
||||
cp -af $(SDKDIR)/common.etc/flash.sh $(ROMFSDIR)/etc/scripts/flash
|
||||
cp -af $(SDKDIR)/common.etc/cfg.txt $(ROMFSDIR)/etc/
|
||||
endif
|
||||
@if [ "$(CONFIG_RTK_OMCI_V1)" = "y" ] || [ "$(CONFIG_RTK_OAM_V1)" = "y" ] ; then \
|
||||
cp -af $(SDKDIR)/rtk.etc/runoam.sh $(ROMFSDIR)/etc/ ; \
|
||||
cp -af $(SDKDIR)/rtk.etc/runsdk.sh $(ROMFSDIR)/etc/ ; \
|
||||
cp -af $(SDKDIR)/rtk.etc/run_customized_sdk.sh $(ROMFSDIR)/etc/ ; \
|
||||
else \
|
||||
if [ "$(CONFIG_FIBER_FEATURE)" = "y" ] ; then \
|
||||
cp -af $(SDKDIR)/rtk.etc/runsdk.sh $(ROMFSDIR)/etc/ ; \
|
||||
fi \
|
||||
fi
|
||||
ifeq ($(CONFIG_LAN_SDS_FEATURE),y)
|
||||
cp -af $(SDKDIR)/rtk.etc/runlansds.sh $(ROMFSDIR)/etc/
|
||||
endif
|
||||
ifeq ($(CONFIG_LAN_SDS1_FEATURE),y)
|
||||
cp -af $(SDKDIR)/rtk.etc/runlansds1.sh $(ROMFSDIR)/etc/
|
||||
endif
|
||||
ifeq ($(CONFIG_RTK_FT2_MODULE),y)
|
||||
cp -af $(SDKDIR)/rtk.etc/eqc_test.sh $(ROMFSDIR)/etc/
|
||||
cp -af $(SDKDIR)/rtk.etc/*.sh $(ROMFSDIR)/etc/
|
||||
endif
|
||||
ifeq ($(CONFIG_SDK_LUNA_G3),y)
|
||||
ifeq ($(CONFIG_ARCH_RTL8198F),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl8198f modules_install
|
||||
else
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/luna_g3 modules_install
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_SDK_CA8279),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/ca8279 modules_install
|
||||
endif
|
||||
ifeq ($(CONFIG_MULTICHIP_ONEIMAGE),y)
|
||||
ifeq ($(CONFIG_CA8277B_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/ca8277b modules_install
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-venus CA_TARGET=venus modules_install
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8277C_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl8277c modules_install
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-77c CA_TARGET=77c modules_install
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL9607F_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl9607f modules_install
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-07f CA_TARGET=07f modules_install
|
||||
endif
|
||||
else
|
||||
ifeq ($(CONFIG_SDK_CA8277B),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/ca8277b modules_install
|
||||
endif
|
||||
ifeq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv modules_install
|
||||
ifeq ($(CONFIG_CA_RTK_EPON_TEST_FEATURE),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv/ca_rtk_epon_test modules_install
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
clean:
|
||||
ifeq ($(CONFIG_RTK_OMCI_V1),y)
|
||||
@if [ -L omci_v1 ] ; then \
|
||||
unlink omci_v1 ; \
|
||||
fi
|
||||
endif
|
||||
ifeq ($(CONFIG_EUROPA),m)
|
||||
ifeq ($(CONFIG_EUROPA_FEATURE),y)
|
||||
@if [ -L europa/drv_8290b ] ; then \
|
||||
unlink europa/drv_8290b ; \
|
||||
fi
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8290C_FEATURE),y)
|
||||
@if [ -L europa/drv_8290c ] ; then \
|
||||
unlink europa/drv_8290c ; \
|
||||
fi
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8291_FEATURE),y)
|
||||
@if [ -L europa/drv_8291 ] ; then \
|
||||
unlink europa/drv_8291 ; \
|
||||
fi
|
||||
endif
|
||||
endif
|
||||
for dir in $(APPS) ; do $(MAKE) -C $$dir clean; done
|
||||
ifeq ($(CONFIG_SDK_LUNA_G3),y)
|
||||
ifeq ($(CONFIG_ARCH_RTL8198F),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl8198f clean
|
||||
else
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/luna_g3 clean
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CONFIG_SDK_CA8279),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/ca8279 clean
|
||||
endif
|
||||
ifeq ($(CONFIG_MULTICHIP_ONEIMAGE),y)
|
||||
ifeq ($(CONFIG_CA8277B_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/ca8277b clean
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-venus CA_TARGET=venus clean
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL8277C_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl8277c clean
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-77c CA_TARGET=77c clean
|
||||
endif
|
||||
ifeq ($(CONFIG_RTL9607F_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl9607f clean
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv-07f CA_TARGET=07f clean
|
||||
endif
|
||||
else
|
||||
ifeq ($(CONFIG_SDK_CA8277B),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/ca8277b clean
|
||||
endif
|
||||
ifeq ($(CONFIG_SDK_RTL8277C),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl8277c clean
|
||||
endif
|
||||
ifeq ($(CONFIG_SDK_RTL9607F),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/dal/rtl9607f clean
|
||||
endif
|
||||
ifeq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv clean
|
||||
ifeq ($(CONFIG_CA_RTK_EPON_TEST_FEATURE),y)
|
||||
$(MAKE) -C $(SDKDIR)/src/module/ca_rtk_epon_drv/ca_rtk_epon_test clean
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
26
sources/rtk-gp3000/build/Makefile.linux.drivers
Normal file
26
sources/rtk-gp3000/build/Makefile.linux.drivers
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
#
|
||||
# Copyright (C) 2009 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Driver Switch Directory
|
||||
#
|
||||
|
||||
ifeq ($(SDK_CONFIG), $(wildcard $(SDK_CONFIG)))
|
||||
include $(SDK_CONFIG)
|
||||
endif
|
||||
|
||||
CFLAGS += -Wall -Werror -Wuninitialized -Wstrict-prototypes
|
||||
|
||||
obj-$(CONFIG_SDK_DRIVER_RTCORE) += rtcore/
|
||||
obj-$(CONFIG_SDK_DRIVER_RTNIC) += rtnic/
|
||||
|
||||
ifeq ($(CONFIG_SDK_KERNEL_LINUX_KERNEL_MODE),y)
|
||||
obj-$(CONFIG_SDK_DRIVER_RTK) += rtk/
|
||||
ifneq ($(CONFIG_SDK_DRIVER_TEST),)
|
||||
obj-$(CONFIG_SDK_DRIVER_TEST) += unittest/
|
||||
endif
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_SYS_PLAT_LXSKI) += ski/
|
||||
|
||||
obj-$(CONFIG_SYS_PLAT_LXBOARD) += board/
|
||||
|
||||
204
sources/rtk-gp3000/build/Makefile.linux.kernel.module
Executable file
204
sources/rtk-gp3000/build/Makefile.linux.kernel.module
Executable file
|
|
@ -0,0 +1,204 @@
|
|||
# Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Kernel Modules
|
||||
#
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
SDK_INCLUDE = $(SDKDIR)/include
|
||||
SYS_INCLUDE = $(SDKDIR)/system/include
|
||||
DRV_INCLUDE = $(SDKDIR)/system/linux
|
||||
PR_INCLUDE = $(SDKDIR)/src/module/pkt_redirect
|
||||
|
||||
EXTRA_CFLAGS=$(PON_CFLAGS)
|
||||
|
||||
FLAGS+="-I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(DRV_INCLUDE) -I$(PR_INCLUDE) -I$(SDK_INCLUDE)/hal/chipdef/apollo -I$(KERNEL_DIR)/drivers/net"
|
||||
|
||||
ifeq ($(CONFIG_MODULE_BUILD_IN),y)
|
||||
BUILD_MODE=y
|
||||
else
|
||||
BUILD_MODE=m
|
||||
endif
|
||||
|
||||
|
||||
MODULES:=
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
ifeq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
#
|
||||
else
|
||||
ifeq ($(CONFIG_GPON_VERSION),2)
|
||||
MODULES+= gpon
|
||||
obj-$(BUILD_MODE)+=gpon/
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
ifeq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
#ca_rtk_gpon_feature not support
|
||||
else
|
||||
ifeq ($(CONFIG_GPON_VERSION),2)
|
||||
MODULES+= gpon
|
||||
obj-$(BUILD_MODE)+=gpon/
|
||||
endif
|
||||
MODULES += gpon_pppoe_adv
|
||||
obj-$(BUILD_MODE) += gpon_pppoe_adv/
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#MODULES+= europa
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_DEMO),y)
|
||||
MODULES += netvd
|
||||
obj-$(BUILD_MODE)+=netvd/
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_DEMO),m)
|
||||
MODULES +=netvd
|
||||
obj-$(BUILD_MODE)+=netvd/
|
||||
endif
|
||||
|
||||
# Add for redirect packet from kernal <-> user space
|
||||
ifeq ($(CONFIG_SDK_MODULES),y)
|
||||
MODULES += pkt_redirect
|
||||
obj-$(BUILD_MODE)+=pkt_redirect/
|
||||
endif
|
||||
|
||||
# Interrupt broadcaster
|
||||
ifeq ($(CONFIG_SDK_MODULES),y)
|
||||
MODULES += intr_bcaster
|
||||
obj-$(BUILD_MODE)+=intr_bcaster/
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RLDP_FEATURE),y)
|
||||
MODULES += rldp_detect
|
||||
obj-m+=rldp_detect/
|
||||
endif
|
||||
|
||||
# DS packet broadcaster
|
||||
ifeq ($(CONFIG_SDK_MODULES),y)
|
||||
MODULES += ds_pkt_bcaster
|
||||
obj-m+=ds_pkt_bcaster/
|
||||
endif
|
||||
|
||||
# EPON modules
|
||||
ifeq ($(CONFIG_EPON_FEATURE),y)
|
||||
ifeq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
#moving to ca_rtk_epon_drv building at Makefile.app.list
|
||||
else
|
||||
MODULES += epon_drv
|
||||
obj-m+=epon_drv/
|
||||
MODULES += epon_polling
|
||||
obj-m+= epon_polling/
|
||||
MODULES += epon_mpcp
|
||||
obj-m+= epon_mpcp/
|
||||
endif
|
||||
endif
|
||||
|
||||
# Fiber support
|
||||
ifneq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
ifeq ($(CONFIG_FIBER_FEATURE),y)
|
||||
MODULES += fiber
|
||||
obj-$(BUILD_MODE)+= fiber/
|
||||
endif
|
||||
endif
|
||||
|
||||
# Dying Gasp support
|
||||
ifeq ($(CONFIG_DYING_GASP_FEATURE),y)
|
||||
MODULES += dying_gasp
|
||||
obj-$(BUILD_MODE)+= dying_gasp/
|
||||
endif
|
||||
|
||||
#Factory Test
|
||||
ifeq ($(CONFIG_RTK_FT2_MODULE),y)
|
||||
MODULES += ft2
|
||||
obj-$(BUILD_MODE)+= ft2/
|
||||
endif
|
||||
|
||||
#Europa
|
||||
#ifeq ($(CONFIG_EUROPA_FEATURE),y)
|
||||
#MODULES += europa_drv
|
||||
#obj-$(BUILD_MODE)+= europa_drv/
|
||||
#endif
|
||||
|
||||
#Lan serdes
|
||||
ifeq ($(CONFIG_LAN_SDS_FEATURE),y)
|
||||
MODULES += lan_sds
|
||||
obj-$(BUILD_MODE) += lan_sds/
|
||||
else
|
||||
ifeq ($(CONFIG_LAN_SDS1_FEATURE),y)
|
||||
MODULES += lan_sds
|
||||
obj-$(BUILD_MODE) += lan_sds/
|
||||
endif
|
||||
endif
|
||||
|
||||
#PTP
|
||||
ifeq ($(CONFIG_RTK_PTP_MASTER),y)
|
||||
MODULES += ptp_drv
|
||||
obj-m += ptp_drv/
|
||||
else
|
||||
ifeq ($(CONFIG_RTK_PTP_SLAVE),y)
|
||||
MODULES += ptp_drv
|
||||
obj-m += ptp_drv/
|
||||
endif
|
||||
endif
|
||||
|
||||
#PPSTOD
|
||||
ifeq ($(CONFIG_RTK_PPSTOD),y)
|
||||
MODULES += ppstod_drv
|
||||
obj-$(BUILD_MODE) += ppstod/
|
||||
endif
|
||||
|
||||
#Crash Log
|
||||
ifeq ($(CONFIG_RTK_SWITCH_ISSUE_LOG),y)
|
||||
MODULES += switch_issue_log
|
||||
obj-$(BUILD_MODE) += switch_issue_log/
|
||||
endif
|
||||
|
||||
#PON ToD tune Time Frequency
|
||||
ifeq ($(CONFIG_RTK_PON_TOD_TIME_FREQ),y)
|
||||
MODULES += pontod_freq_drv
|
||||
obj-$(BUILD_MODE) += pontod_freq/
|
||||
endif
|
||||
|
||||
#I2C slave access driver
|
||||
ifeq ($(CONFIG_I2C_SLAVE_ACCESS),y)
|
||||
MODULES += i2c_slave_drv
|
||||
obj-$(BUILD_MODE) += i2c_slave_drv/
|
||||
endif
|
||||
|
||||
#External phy auto polling support
|
||||
ifeq ($(CONFIG_EXTERNAL_PHY_POLLING),y)
|
||||
MODULES += ext_phy_polling
|
||||
obj-$(BUILD_MODE) += ext_phy_polling/
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_PON_MONITOR_FEATURE),y)
|
||||
MODULES += pon_mon
|
||||
obj-$(BUILD_MODE) += pon_mon/
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
MODULES += dspbo_queue
|
||||
obj-$(BUILD_MODE) += dspbo_queue/
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_MODULE_BUILD_IN),y)
|
||||
|
||||
all:
|
||||
install:
|
||||
clean:
|
||||
|
||||
else
|
||||
all:
|
||||
for dir in $(MODULES) ; do $(MAKE) -C $$dir FLAGS=$(FLAGS) all || exit 1; done
|
||||
|
||||
install:
|
||||
for dir in $(MODULES) ; do $(MAKE) -C $$dir install || exit 1; done
|
||||
|
||||
clean:
|
||||
for dir in $(MODULES) ; do $(MAKE) -C $$dir clean || exit 1; done
|
||||
endif
|
||||
110
sources/rtk-gp3000/build/Makefile.linux.kernel.rtcore
Executable file
110
sources/rtk-gp3000/build/Makefile.linux.kernel.rtcore
Executable file
|
|
@ -0,0 +1,110 @@
|
|||
#
|
||||
# Copyright (C) 2009 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Rtcore Kernel Module
|
||||
#
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
ifeq ($(SDK_CONFIG), $(wildcard $(SDK_CONFIG)))
|
||||
include $(SDK_CONFIG)
|
||||
endif
|
||||
|
||||
SDK_SYS_DIR = ../..
|
||||
|
||||
EXTRA_CFLAGS += $(PON_CFLAGS)
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(DRV_INCLUDE)
|
||||
|
||||
ifneq ($(CONFIG_SDK_DRIVER_TEST),)
|
||||
EXTRA_CFLAGS += -I$(UT_INCLUDE)
|
||||
endif
|
||||
|
||||
#ifeq ($(CONFIG_SDK_DRIVER_RTCORE),m)
|
||||
#CFLAGS += -mlong-calls -fno-pic -mno-abicalls
|
||||
#endif
|
||||
|
||||
RTCORE_OBJ := \
|
||||
rtcore_drv.o
|
||||
|
||||
#ifneq ($(CONFIG_MODULE_BUILD_IN),m)
|
||||
RTCORE_OBJ += \
|
||||
rtcore_export.o
|
||||
#endif
|
||||
|
||||
SYS_DIR := $(SDK_SYS_DIR)/linux
|
||||
SYS_OBJ := \
|
||||
$(SYS_DIR)/dev_config.o
|
||||
|
||||
COMMON_DIR := $(SDK_SYS_DIR)/common
|
||||
COMMON_OBJ := \
|
||||
$(COMMON_DIR)/debug/rt_log.o \
|
||||
$(COMMON_DIR)/debug/mem.o \
|
||||
$(COMMON_DIR)/rtcore/init.o
|
||||
|
||||
OSAL_DIR := $(SDK_SYS_DIR)/osal/linux
|
||||
OSAL_OBJ := \
|
||||
$(OSAL_DIR)/cache.o \
|
||||
$(OSAL_DIR)/isr.o \
|
||||
$(OSAL_DIR)/lib.o \
|
||||
$(OSAL_DIR)/memory.o \
|
||||
$(OSAL_DIR)/sem.o \
|
||||
$(OSAL_DIR)/thread.o \
|
||||
$(OSAL_DIR)/time.o \
|
||||
$(OSAL_DIR)/spl.o
|
||||
|
||||
IOAL_DIR := $(SDK_SYS_DIR)/ioal
|
||||
IOAL_OBJ := \
|
||||
$(IOAL_DIR)/mem32.o
|
||||
ifeq ($( CONFIG_SDK_MODEL_MODE),y)
|
||||
IOAL_OBJ += \
|
||||
$(IOAL_DIR)/model/ioal_init.o
|
||||
else
|
||||
IOAL_OBJ += \
|
||||
$(IOAL_DIR)/ioal_init.o
|
||||
endif
|
||||
|
||||
IOAL_OBJ += \
|
||||
$(IOAL_DIR)/linux/kernel/io_mii.o
|
||||
|
||||
IOAL_OBJ += \
|
||||
$(IOAL_DIR)/linux/kernel/io_spi.o
|
||||
|
||||
ifneq ($(CONFIG_OPENWRT_RG),y)
|
||||
IOAL_OBJ += \
|
||||
$(IOAL_DIR)/linux/kernel/mac_debug.o
|
||||
|
||||
ifeq ($(CONFIG_LUNA_G3_SERIES),y)
|
||||
CFLAGS_mac_debug.o += -I$(APOLLODIR)/ca-ne/
|
||||
endif
|
||||
ifdef CONFIG_DEFAULTS_KERNEL_3_18
|
||||
CFLAGS_mac_debug.o += -I$(KERNEL_DIR)/drivers/net/ethernet/realtek/
|
||||
else
|
||||
CFLAGS_mac_debug.o += -I$(KERNEL_DIR)/drivers/net/
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGET := rtcore
|
||||
|
||||
ALL_OBJ := $(RTCORE_OBJ) $(SYS_OBJ) $(DRV_OBJ) $(COMMON_OBJ) $(OSAL_OBJ) $(IOAL_OBJ) $(NIC_OBJ)
|
||||
|
||||
|
||||
ifneq ($(CONFIG_MODULE_BUILD_IN),y)
|
||||
obj-m := $(TARGET).o
|
||||
else
|
||||
obj-y += $(TARGET).o
|
||||
endif
|
||||
|
||||
$(TARGET)-objs := $(ALL_OBJ)
|
||||
|
||||
|
||||
ifneq ($(CONFIG_MODULE_BUILD_IN),y)
|
||||
all:
|
||||
$(MAKE) -C $(KERNEL_DIR) M=$(SRC_DIR) ARCH=rlx CROSS_COMPILE=$(CROSS_COMPILE)
|
||||
|
||||
endif
|
||||
|
||||
clean:
|
||||
@$(RM) $(ALL_OBJ)
|
||||
@find $(SDK_SYS_DIR) \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
|
||||
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \
|
||||
-type f -print | xargs rm -f
|
||||
67
sources/rtk-gp3000/build/Makefile.linux.kernel.rtdrv
Executable file
67
sources/rtk-gp3000/build/Makefile.linux.kernel.rtdrv
Executable file
|
|
@ -0,0 +1,67 @@
|
|||
#
|
||||
# Copyright (C) 2009 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Rtdrv Kernel Module
|
||||
#
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
ifeq ($(CONFIG_OPENWRT_RG),y)
|
||||
EXTRA_CFLAGS += -I$(RTKDRV_DIR)/rtl819x
|
||||
EXTRA_CFLAGS += -I$(RTKDRV_DIR)/rtl86900
|
||||
EXTRA_CFLAGS += -I$(RTKDRV_DIR)/rtl86900/romeDriver
|
||||
endif
|
||||
|
||||
EXTRA_CFLAGS += $(PON_CFLAGS)
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(DRV_INCLUDE)
|
||||
EXTRA_CFLAGS += -I$(SDKDIR)/../..
|
||||
|
||||
ifneq ($(CONFIG_SDK_DRIVER_TEST),)
|
||||
EXTRA_CFLAGS += -I$(UT_INCLUDE)
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
EXTRA_CFLAGS += -I$(KDIR)/drivers/net/rtl819x/romeDriver
|
||||
EXTRA_CFLAGS += -I$(KDIR)/drivers/net/rtl819x
|
||||
EXTRA_CFLAGS += -I$(KDIR)/include/net/rtl
|
||||
endif
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDKDIR)/src/module/pkt_redirect
|
||||
|
||||
ifeq ($(CONFIG_SDK_DRIVER_RTDRV),m)
|
||||
CFLAGS += -mlong-calls -fno-pic -mno-abicalls
|
||||
CFLAGS += -D__RTDRV_MODULE__
|
||||
endif
|
||||
|
||||
TARGET = rtdrv
|
||||
|
||||
|
||||
ifneq ($(CONFIG_MODULE_BUILD_IN),y)
|
||||
obj-m := $(TARGET).o
|
||||
else
|
||||
obj-y += $(TARGET).o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
obj-y += $(TARGET).o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
ifeq ($(CONFIG_RTK_L34_FLEETCONNTRACK_ENABLE),y)
|
||||
$(TARGET)-objs := rtdrv_netfilter.o rtdrv_ext_netfilter.o
|
||||
else
|
||||
$(TARGET)-objs := rtdrv_netfilter.o
|
||||
endif
|
||||
ifeq ($(CONFIG_RTK_IGMP_MLD_SNOOPING_MODULE),m)
|
||||
EXTRA_CFLAGS += -I$(APOLLODIR)/igmpHookModule
|
||||
EXTRA_CFLAGS += -I$(APOLLODIR)/igmpHookModule/rt_igmpHook/include
|
||||
$(TARGET)-objs += rtdrv_ext_igmpHook_netfilter.o
|
||||
endif
|
||||
else
|
||||
$(TARGET)-objs := rtdrv_netfilter.o
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_MODULE_BUILD_IN),y)
|
||||
all:
|
||||
$(MAKE) -C $(KERNEL_DIR) M=$(SRC_DIR) ARCH=rlx CROSS_COMPILE=$(CROSS_COMPILE)
|
||||
endif
|
||||
655
sources/rtk-gp3000/build/Makefile.linux.kernel.rtk
Executable file
655
sources/rtk-gp3000/build/Makefile.linux.kernel.rtk
Executable file
|
|
@ -0,0 +1,655 @@
|
|||
#
|
||||
# Copyright (C) 2009 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Rtk Kernel Module
|
||||
#
|
||||
|
||||
ifeq ($(SDK_CONFIG), $(wildcard $(SDK_CONFIG)))
|
||||
include $(SDK_CONFIG)
|
||||
endif
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
EXTRA_CFLAGS += $(PON_CFLAGS)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(SDK_INCLUDE)/hal/chipdef/apollo
|
||||
|
||||
EXTRA_CFLAGS += -I$(KERNEL_DIR)/drivers/net
|
||||
|
||||
ifeq ($(CONFIG_SDK_MODULES),y)
|
||||
EXTRA_CFLAGS += -I$(APOLLODIR)/sdk/src/module/pkt_redirect
|
||||
endif
|
||||
|
||||
TARGET := rtk
|
||||
|
||||
DRV_DIR := ../system/linux
|
||||
MOD_DIR := $(DRV_DIR)/rtk
|
||||
MOD_OBJ := \
|
||||
$(MOD_DIR)/module.o
|
||||
|
||||
COMMON_DIR := common
|
||||
COMMON_UTIL_DIR := $(COMMON_DIR)/util
|
||||
COMMON_OBJ := \
|
||||
$(COMMON_DIR)/rt_error.o \
|
||||
$(COMMON_UTIL_DIR)/rt_bitop.o \
|
||||
$(COMMON_UTIL_DIR)/rt_util.o
|
||||
|
||||
HAL_DIR := hal
|
||||
HAL_CHIPDEF_DIR := $(HAL_DIR)/chipdef
|
||||
HAL_COMMON_DIR := $(HAL_DIR)/common
|
||||
HAL_MAC_DIR := $(HAL_DIR)/mac
|
||||
HAL_PHY_DIR := $(HAL_DIR)/phy
|
||||
|
||||
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_CHIPDEF_DIR)/driver.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_COMMON_DIR)/miim.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o \
|
||||
$(HAL_MAC_DIR)/mac_probe_tool.klib \
|
||||
$(HAL_MAC_DIR)/drv.o \
|
||||
$(HAL_MAC_DIR)/mem.o \
|
||||
$(HAL_MAC_DIR)/reg.o \
|
||||
$(HAL_PHY_DIR)/identify.o \
|
||||
$(HAL_PHY_DIR)/phy_probe.o \
|
||||
$(HAL_PHY_DIR)/phy_8218b.o \
|
||||
$(HAL_PHY_DIR)/phy_common.o
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLO),y)
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/chip_apollo.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_SW_def.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLOMP),y)
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/chip_apollomp.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_SW_def.o
|
||||
endif
|
||||
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9601B),y)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE)/hal/chipdef/rtl9601b \
|
||||
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/rtk_rtl9601b_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/rtk_rtl9601b_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/rtk_rtl9601b_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/rtk_rtl9601b_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/chip_rtl9601b.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9602C),y)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE)/hal/chipdef/rtl9602c \
|
||||
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/rtk_rtl9602c_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/rtk_rtl9602c_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/rtk_rtl9602c_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/rtk_rtl9602c_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/chip_rtl9602c.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9607C),y)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE)/hal/chipdef/rtl9607c \
|
||||
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/rtk_rtl9607c_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/rtk_rtl9607c_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/rtk_rtl9607c_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/rtk_rtl9607c_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/chip_rtl9607c.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9603CVD),y)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE)/hal/chipdef/rtl9603cvd \
|
||||
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/rtk_rtl9603cvd_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/rtk_rtl9603cvd_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/rtk_rtl9603cvd_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/rtk_rtl9603cvd_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/chip_rtl9603cvd.o
|
||||
endif
|
||||
|
||||
|
||||
DAL_DIR := $(SDK_SRC_DIR)/dal
|
||||
DAL_APOLLO_DIR := $(DAL_DIR)/apollo
|
||||
DAL_OBJ := \
|
||||
$(DAL_DIR)/dal_mgmt.o \
|
||||
$(DAL_DIR)/dal_common.o
|
||||
|
||||
ifeq ($(CONFIG_EXTERNAL_SWITCH),y)
|
||||
DAL_OBJ += \
|
||||
$(DAL_DIR)/dal_ext_switch_mapper.o
|
||||
endif
|
||||
|
||||
DAL_OBJ += \
|
||||
$(DAL_DIR)/dal_ext_phy_mapper.o
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLO),y)
|
||||
DAL_OBJ += \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_dot1x.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_vlan.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_l2.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_acl.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_epon.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_switch.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_port.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_trap.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_sec.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_stat.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_l34.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_svlan.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_flowctrl.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_hwmisc.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_cf.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_congest.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_trunk.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_storm.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_meter.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_mirror.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_oam.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_qos.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_autofallback.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_cpu.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_rldp.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_intr.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_rldp.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_ponmac.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_eee.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_mapper.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_l2.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_port.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_stp.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_vlan.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_qos.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_l34.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_switch.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_ponmac.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_trap.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_led.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_svlan.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_acl.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_classify.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_stat.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_rate.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_sec.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_mirror.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_trunk.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_dot1x.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_oam.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_cpu.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_intr.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_gpio.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_i2c.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_time.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_gpon.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_gpon.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_debug.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_res.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_alm.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_fsm.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_int.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_ploam.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_omci.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_pm.o \
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLOMP),y)
|
||||
DAL_APOLLOMP_DIR := $(DAL_DIR)/apollomp
|
||||
DAL_OBJ += \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_vlan.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_switch.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_qos.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_acl.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_trap.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_l34.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_epon.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_ponmac.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_hwmisc.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_cf.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_flowctrl.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_trunk.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_port.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_l2.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_mirror.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_mapper.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_svlan.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_switch.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_qos.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_stp.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_rate.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_sec.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_l34.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_acl.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_port.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_ponmac.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_oam.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_classify.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_stat.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_trunk.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_vlan.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_trap.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_l2.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_mirror.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_rldp.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_intr.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_cpu.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_dot1x.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_gpio.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_i2c.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_epon.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_led.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_time.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_tool.klib \
|
||||
|
||||
ifeq ($(CONFIG_GPON_VERSION),1)
|
||||
DAL_OBJ+= $(DAL_APOLLOMP_DIR)/dal_apollomp_gpon.o
|
||||
else
|
||||
DAL_OBJ+= $(DAL_APOLLOMP_DIR)/dal_apollomp_gponv2.o
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9601B),y)
|
||||
DAL_RTL9601B_DIR := $(DAL_DIR)/rtl9601b
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_mapper.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_switch.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_oam.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_classify.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_gpon.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_vlan.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_stp.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_ponmac.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_gpio.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_intr.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_l2.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_port.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_rate.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_flowctrl.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_stat.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_qos.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_intr.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_i2c.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_trap.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_svlan.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_epon.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_acl.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_hwmisc.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_cpu.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_led.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_pbo.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9602C),y)
|
||||
DAL_RTL9602C_DIR := $(DAL_DIR)/rtl9602c
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_mapper.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_switch.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_port.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_oam.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_stat.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_flowctrl.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_trap.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_vlan.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_svlan.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_mirror.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_stp.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_rate.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_time.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_acl.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_dot1x.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_l2.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_cpu.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_qos.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_l34.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_ponmac.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_gpon.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_classify.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_intr.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_gpio.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_hwmisc.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_sec.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_epon.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_pbo.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_rldp.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_led.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_i2c.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_ppstod.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_tool.klib
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9607C),y)
|
||||
DAL_RTL9607C_DIR := $(DAL_DIR)/rtl9607c
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_mapper.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_sec.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_l2.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_intr.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_ponmac.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_acl.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_vlan.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_svlan.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_stat.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_classify.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_switch.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_trap.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_time.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_cpu.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_flowctrl.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_pbo.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_gpon.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_mirror.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_port.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_epon.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_rate.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_oam.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_stp.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_qos.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_gpio.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_i2c.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_led.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_rldp.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_ppstod.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_hwmisc.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_mdio.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_tool.klib
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9603CVD),y)
|
||||
DAL_RTL9603CVD_DIR := $(DAL_DIR)/rtl9603cvd
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_mapper.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_switch.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_acl.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_l2.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_ponmac.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_epon.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_mirror.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_stp.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_stat.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_vlan.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_svlan.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_trap.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_intr.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_hwmisc.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_port.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_flowctrl.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_pbo.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_gpon.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_sec.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_rate.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_oam.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_gpio.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_qos.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_led.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_i2c.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_cpu.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_time.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_ppstod.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_tool.klib
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_LUNA_G3),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
ifeq ($(CONFIG_ARCH_RTL8198F),y)
|
||||
DAL_LUNA_G3_DIR := $(DAL_DIR)/rtl8198f
|
||||
DAL_OBJ += \
|
||||
$(DAL_LUNA_G3_DIR)/dal_rtl8198f_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/rtl8198f/DAL_Compiler_Flag
|
||||
else
|
||||
DAL_LUNA_G3_DIR := $(DAL_DIR)/luna_g3
|
||||
DAL_OBJ += \
|
||||
$(DAL_LUNA_G3_DIR)/dal_luna_g3_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/luna_g3/DAL_Compiler_Flag
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_CA8279),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
DAL_CA8279_DIR := $(DAL_DIR)/ca8279
|
||||
DAL_OBJ += \
|
||||
$(DAL_CA8279_DIR)/dal_ca8279_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/ca8279/DAL_Compiler_Flag
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_CA8277B),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
DAL_CA8277B_DIR := $(DAL_DIR)/ca8277b
|
||||
DAL_OBJ += \
|
||||
$(DAL_CA8277B_DIR)/dal_ca8277b_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/ca8277b/DAL_Compiler_Flag
|
||||
ifeq ($(CONFIG_OPENWRT_SDK),y)
|
||||
obj-m += $(DAL_CA8277B_DIR)/
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL8277C),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
DAL_RTL8277C_DIR := $(DAL_DIR)/rtl8277c
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL8277C_DIR)/dal_rtl8277c_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/rtl8277c/DAL_Compiler_Flag
|
||||
|
||||
obj-m += $(DAL_RTL8277C_DIR)/
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9607F),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
DAL_RTL9607F_DIR := $(DAL_DIR)/rtl9607f
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9607F_DIR)/dal_rtl9607f_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/rtl9607f/DAL_Compiler_Flag
|
||||
|
||||
obj-m += $(DAL_RTL9607F_DIR)/
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLO),n)
|
||||
ifeq ($(CONFIG_SDK_APOLLOMP),y)
|
||||
ifeq ($(CONFIG_GPON_VERSION),1)
|
||||
DAL_OBJ += \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_gpon.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_debug.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_res.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_alm.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_fsm.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_int.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_ploam.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_omci.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_pm.o
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
RTK_DIR := rtk
|
||||
ifeq ($(CONFIG_GPON_VERSION),1)
|
||||
RTK_OBJ := \
|
||||
$(RTK_DIR)/k_gpon.o \
|
||||
$(RTK_DIR)/gpon.o
|
||||
else
|
||||
RTK_OBJ :=\
|
||||
$(RTK_DIR)/gponv2.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_EUROPA),m)
|
||||
RTK_OBJ+=$(RTK_DIR)/ldd.o
|
||||
endif
|
||||
|
||||
|
||||
|
||||
RTK_OBJ+= \
|
||||
$(RTK_DIR)/irq.o \
|
||||
$(RTK_DIR)/init.o \
|
||||
$(RTK_DIR)/l2.o \
|
||||
$(RTK_DIR)/port.o \
|
||||
$(RTK_DIR)/l34.o \
|
||||
$(RTK_DIR)/stp.o \
|
||||
$(RTK_DIR)/vlan.o \
|
||||
$(RTK_DIR)/trap.o \
|
||||
$(RTK_DIR)/qos.o \
|
||||
$(RTK_DIR)/ponmac.o \
|
||||
$(RTK_DIR)/switch.o \
|
||||
$(RTK_DIR)/svlan.o \
|
||||
$(RTK_DIR)/acl.o \
|
||||
$(RTK_DIR)/classify.o \
|
||||
$(RTK_DIR)/stat.o \
|
||||
$(RTK_DIR)/sec.o \
|
||||
$(RTK_DIR)/rate.o \
|
||||
$(RTK_DIR)/mirror.o \
|
||||
$(RTK_DIR)/led.o \
|
||||
$(RTK_DIR)/trunk.o \
|
||||
$(RTK_DIR)/dot1x.o \
|
||||
$(RTK_DIR)/oam.o \
|
||||
$(RTK_DIR)/intr.o \
|
||||
$(RTK_DIR)/rldp.o \
|
||||
$(RTK_DIR)/cpu.o \
|
||||
$(RTK_DIR)/gpio.o \
|
||||
$(RTK_DIR)/i2c.o \
|
||||
$(RTK_DIR)/time.o \
|
||||
$(RTK_DIR)/epon.o \
|
||||
$(RTK_DIR)/ppstod.o \
|
||||
$(RTK_DIR)/pon_led.o \
|
||||
$(RTK_DIR)/pbo.o \
|
||||
$(RTK_DIR)/mdio.o
|
||||
|
||||
ALL_OBJ := $(COMMON_OBJ) $(HAL_OBJ) $(DAL_OBJ) $(RTK_OBJ)
|
||||
ALL_OBJ += $(MOD_OBJ)
|
||||
|
||||
ifeq ($(CONFIG_SDK_DRIVER_COMPILE),m)
|
||||
ALL_OBJ += $(MOD_OBJ)
|
||||
CFLAGS += -mlong-calls -fno-pic -mno-abicalls
|
||||
endif
|
||||
|
||||
|
||||
#ifeq ($(CONFIG_RTK_L34_ENABLE),y)
|
||||
#include $(SDKDIR)/src/rg/Makefile.rtk
|
||||
#ALL_OBJ += $(RG_MODULE_OBJ)
|
||||
#EXTRA_CFLAGS+= $(RG_FLAG)
|
||||
#endif
|
||||
|
||||
ifneq ($(CONFIG_MODULE_BUILD_IN),y)
|
||||
obj-m := $(TARGET).o
|
||||
else
|
||||
obj-y += $(TARGET).o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
RT_OBJ+= \
|
||||
$(RTK_DIR)/rt/rt_switch.o \
|
||||
$(RTK_DIR)/rt/rt_stat.o \
|
||||
$(RTK_DIR)/rt/rt_rate.o \
|
||||
$(RTK_DIR)/rt/rt_qos.o \
|
||||
$(RTK_DIR)/rt/rt_intr.o \
|
||||
$(RTK_DIR)/rt/rt_sec.o \
|
||||
$(RTK_DIR)/rt/rt_trap.o \
|
||||
$(RTK_DIR)/rt/rt_i2c.o \
|
||||
$(RTK_DIR)/rt/rt_port.o \
|
||||
$(RTK_DIR)/rt/rt_cls.o \
|
||||
$(RTK_DIR)/rt/rt_l2.o \
|
||||
$(RTK_DIR)/rt/rt_mirror.o \
|
||||
$(RTK_DIR)/rt/rt_init.o \
|
||||
$(RTK_DIR)/rt/rt_mdio.o \
|
||||
$(RTK_DIR)/rt/rt_time.o
|
||||
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
RT_OBJ += \
|
||||
$(RTK_DIR)/rt/rt_gpon.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EPON_FEATURE),y)
|
||||
RT_OBJ += \
|
||||
$(RTK_DIR)/rt/rt_epon.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_FLEETCONNTRACK_ENABLE),y)
|
||||
RT_OBJ += \
|
||||
$(RTK_DIR)/rt/rt_ext_mapper.o \
|
||||
$(RTK_DIR)/rt/rt_rate_ext.o \
|
||||
$(RTK_DIR)/rt/rt_igmp_ext.o \
|
||||
$(RTK_DIR)/rt/rt_flow_ext.o \
|
||||
$(RTK_DIR)/rt/rt_stat_ext.o \
|
||||
$(RTK_DIR)/rt/rt_acl_ext.o \
|
||||
$(RTK_DIR)/rt/rt_qos_ext.o \
|
||||
$(RTK_DIR)/rt/rt_pe_ext.o \
|
||||
$(RTK_DIR)/rt/rt_misc_ext.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_IGMP_MLD_SNOOPING_MODULE),m)
|
||||
EXTRA_CFLAGS += -I$(APOLLODIR)/igmpHookModule
|
||||
EXTRA_CFLAGS += -I$(APOLLODIR)/igmpHookModule/rt_igmpHook/include
|
||||
RT_OBJ += \
|
||||
$(RTK_DIR)/rt/rt_ext_igmpHook_mapper.o \
|
||||
$(RTK_DIR)/rt/rt_igmpHook_ext.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_PONMISC),y)
|
||||
RT_OBJ += \
|
||||
$(RTK_DIR)/rt/rt_ponmisc.o
|
||||
endif
|
||||
|
||||
ALL_OBJ += $(RT_OBJ)
|
||||
endif
|
||||
|
||||
$(TARGET)-objs := $(ALL_OBJ)
|
||||
|
||||
|
||||
ifneq ($(CONFIG_MODULE_BUILD_IN),y)
|
||||
all:
|
||||
$(MAKE) -C $(KERNEL_DIR) M=$(SRC_DIR) ARCH=rlx CROSS_COMPILE=$(CROSS_COMPILE)
|
||||
endif
|
||||
|
||||
clean:
|
||||
@$(RM) $(ALL_OBJ)
|
||||
@$(RM) -rf $(APOLLODIR)/object
|
||||
@find \( -name '*.[os]' -o -name '*.ko' -o -name '.*.cmd' \
|
||||
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \
|
||||
-type f -print | xargs rm -f
|
||||
|
||||
24
sources/rtk-gp3000/build/Makefile.linux.kernel.rtnic
Normal file
24
sources/rtk-gp3000/build/Makefile.linux.kernel.rtnic
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#
|
||||
# Copyright (C) 2009 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Rtnic Kernel Module
|
||||
#
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(DRV_INCLUDE)
|
||||
|
||||
ifeq ($(CONFIG_SDK_DRIVER_RTNIC),m)
|
||||
CFLAGS += -mlong-calls -fno-pic -mno-abicalls
|
||||
CFLAGS += -D__RTNIC_MODULE__
|
||||
endif
|
||||
|
||||
TARGET = rtnic
|
||||
|
||||
obj-$(CONFIG_SDK_DRIVER_RTNIC) += $(TARGET).o
|
||||
$(TARGET)-objs := rtnic_drv.o
|
||||
|
||||
clean:
|
||||
@$(RM) $(ALL_OBJ)
|
||||
@find \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
|
||||
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \
|
||||
-type f -print | xargs rm -f
|
||||
|
||||
121
sources/rtk-gp3000/build/Makefile.linux.kernel.ut
Normal file
121
sources/rtk-gp3000/build/Makefile.linux.kernel.ut
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
#
|
||||
# Copyright (C) 2009 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Unit Test Directory
|
||||
#
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
COMMONUTIL_DIR := common
|
||||
SDKTEST_DIR := sdk
|
||||
HALTEST_DIR := hal
|
||||
DALTEST_DIR := dal
|
||||
NICTEST_DIR := nic
|
||||
OSALTEST_DIR := osal
|
||||
|
||||
EXTRA_CFLAGS += $(PON_CFLAGS)
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(DRV_INCLUDE)
|
||||
EXTRA_CFLAGS += -I$(UT_INCLUDE)
|
||||
|
||||
ifeq ($(CONFIG_SDK_DRIVER_TEST),m)
|
||||
CFLAGS += -mlong-calls -fno-pic -mno-abicalls
|
||||
endif
|
||||
|
||||
SDKTEST_OBJ := \
|
||||
$(SDKTEST_DIR)/sdk_test.o
|
||||
|
||||
COMMONUTIL_OBJ := \
|
||||
$(COMMONUTIL_DIR)/unittest_util.o
|
||||
|
||||
#OSALTEST_OBJ := \
|
||||
# $(OSALTEST_DIR)/osal_test_memory_cache.o \
|
||||
# $(OSALTEST_DIR)/osal_test_isr.o \
|
||||
# $(OSALTEST_DIR)/osal_test_time.o \
|
||||
# $(OSALTEST_DIR)/osal_test_thread.o \
|
||||
# $(OSALTEST_DIR)/osal_test_mutex.o \
|
||||
# $(OSALTEST_DIR)/osal_test_sem.o
|
||||
|
||||
HALTEST_OBJ := \
|
||||
$(HALTEST_DIR)/hal_api_test_case.o \
|
||||
$(HALTEST_DIR)/hal_reg_test_case.o
|
||||
# $(HALTEST_DIR)/hal_database_test_case.o \
|
||||
# $(HALTEST_DIR)/hal_mechanism_test_case.o
|
||||
|
||||
DALTEST_OBJ := \
|
||||
$(DALTEST_DIR)/dal_svlan_test_case.o \
|
||||
$(DALTEST_DIR)/dal_qos_test_case.o \
|
||||
$(DALTEST_DIR)/dal_ponmac_test_case.o \
|
||||
$(DALTEST_DIR)/dal_l34_test_case.o \
|
||||
$(DALTEST_DIR)/dal_acl_test_case.o \
|
||||
$(DALTEST_DIR)/dal_oam_test_case.o \
|
||||
$(DALTEST_DIR)/dal_classf_test_case.o \
|
||||
$(DALTEST_DIR)/dal_led_test_case.o \
|
||||
$(DALTEST_DIR)/dal_switch_test_case.o \
|
||||
$(DALTEST_DIR)/dal_stp_test_case.o \
|
||||
$(DALTEST_DIR)/dal_sec_test_case.o \
|
||||
$(DALTEST_DIR)/dal_rate_test_case.o \
|
||||
$(DALTEST_DIR)/dal_vlan_test_case.o \
|
||||
$(DALTEST_DIR)/dal_cpu_test_case.o \
|
||||
$(DALTEST_DIR)/dal_mirror_test_case.o \
|
||||
$(DALTEST_DIR)/dal_trunk_test_case.o \
|
||||
$(DALTEST_DIR)/dal_port_test_case.o \
|
||||
$(DALTEST_DIR)/dal_stat_test_case.o \
|
||||
$(DALTEST_DIR)/dal_rldp_test_case.o \
|
||||
$(DALTEST_DIR)/dal_l2_test_case.o \
|
||||
$(DALTEST_DIR)/dal_trap_test_case.o \
|
||||
$(DALTEST_DIR)/dal_dot1x_test_case.o \
|
||||
$(DALTEST_DIR)/dal_intr_test_case.o
|
||||
|
||||
ifeq ($(CONFIG_GPON_VERSION),1)
|
||||
DALTEST_OBJ+= $(DALTEST_DIR)/dal_gpon_test_case.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLO),y)
|
||||
DALTEST_OBJ += \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_acl_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_l34_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_cf_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_lut_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_rate_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_qos_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_dot1x_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_vlan_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_svlan_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_cpu_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_meter_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_rma_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_isolation_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_port_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_intr_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_port_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_flowctrl_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_trap_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_trunk_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_mirror_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_storm_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_autofallback_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_stat_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_sec_test_case.o
|
||||
endif
|
||||
|
||||
#NICTEST_OBJ := \
|
||||
# $(NICTEST_DIR)/nic_test_case.o
|
||||
|
||||
TARGET = sdktest
|
||||
|
||||
ALL_OBJ := $(SDKTEST_OBJ) $(OSALTEST_OBJ) $(HALTEST_OBJ) $(DALTEST_OBJ) $(NICTEST_OBJ) $(COMMONUTIL_OBJ)
|
||||
|
||||
obj-y += $(TARGET).o
|
||||
$(TARGET)-objs := $(ALL_OBJ)
|
||||
|
||||
ifeq ($(CONFIG_SDK_DRIVER_TEST),m)
|
||||
$(TARGET)-objs += \
|
||||
$(SDKTEST_DIR)/sdk_test_module.o
|
||||
endif
|
||||
|
||||
|
||||
clean:
|
||||
@$(RM) $(ALL_OBJ)
|
||||
@find \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
|
||||
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \
|
||||
-type f -print | xargs rm -f
|
||||
824
sources/rtk-gp3000/build/Makefile.linux.user.rtk
Executable file
824
sources/rtk-gp3000/build/Makefile.linux.user.rtk
Executable file
|
|
@ -0,0 +1,824 @@
|
|||
#
|
||||
# Copyright (C) 2011 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Rtk User Library
|
||||
#
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
SDK_ROOT_DIR = ..
|
||||
SDK_INCLUDE = $(SDK_ROOT_DIR)/include
|
||||
SYS_INCLUDE = $(SDK_ROOT_DIR)/system/include
|
||||
SYS_LINUX_INCLUDE = $(SDK_ROOT_DIR)/system/linux
|
||||
ifeq ($(CONFIG_RTK_L34_ENABLE),y)
|
||||
RG_INCLUDE = $(SDK_ROOT_DIR)/../romeDriver/diagshell
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
ifeq ($(CONFIG_OPENWRT_RG),y)
|
||||
RG_INCLUDE = $(KDIR)/drivers/net/ethernet/realtek/rtl86900/romeDriver
|
||||
else
|
||||
RG_INCLUDE = $(KDIR)/drivers/net/rtl819x/romeDriver
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGET_A := librtk.a
|
||||
TARGET_SO := librtk.so
|
||||
|
||||
EXTRA_CFLAGS += $(PON_CFLAGS)
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE) \
|
||||
-I$(SYS_INCLUDE) \
|
||||
-I$(SDK_INCLUDE)/hal/chipdef/apollo \
|
||||
-I$(SYS_LINUX_INCLUDE)
|
||||
ifeq ($(CONFIG_RTK_L34_ENABLE),y)
|
||||
EXTRA_CFLAGS += \
|
||||
-I$(RG_INCLUDE)
|
||||
ifeq ($(CONFIG_HWNAT_FLEETCONNTRACK_EDP),y)
|
||||
EXTRA_CFLAGS += -I$(RG_INCLUDE)/../../FleetConntrackDriver/include -I$(RG_INCLUDE)/../../FleetConntrackDriver/core
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_OPENWRT_RG),y)
|
||||
EXTRA_CFLAGS += \
|
||||
-I$(RG_INCLUDE) \
|
||||
-I$(KDIR)/drivers/net/ethernet/realtek/rtl819x \
|
||||
-I$(KDIR)/include
|
||||
else
|
||||
ifdef CONFIG_DEFAULTS_KERNEL_5_10
|
||||
EXTRA_CFLAGS += \
|
||||
-I$(RG_INCLUDE) \
|
||||
-I$(KDIR)/drivers/net/rtl819x
|
||||
else
|
||||
EXTRA_CFLAGS += \
|
||||
-I$(RG_INCLUDE) \
|
||||
-I$(KDIR)/drivers/net/rtl819x \
|
||||
-I$(KDIR)/include
|
||||
endif
|
||||
endif
|
||||
|
||||
COMMON_DIR := common
|
||||
COMMON_UTIL_DIR := $(COMMON_DIR)/util
|
||||
COMMON_OBJ := \
|
||||
$(COMMON_DIR)/rt_error.o \
|
||||
$(COMMON_UTIL_DIR)/rt_bitop.o \
|
||||
$(COMMON_UTIL_DIR)/rt_util.o
|
||||
|
||||
HAL_DIR := hal
|
||||
HAL_CHIPDEF_DIR := $(HAL_DIR)/chipdef
|
||||
HAL_COMMON_DIR := $(HAL_DIR)/common
|
||||
HAL_MAC_DIR := $(HAL_DIR)/mac
|
||||
HAL_PHY_DIR := $(HAL_DIR)/phy
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_CHIPDEF_DIR)/driver.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_COMMON_DIR)/miim.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o \
|
||||
$(HAL_MAC_DIR)/mac_probe_tool.ulib \
|
||||
$(HAL_MAC_DIR)/drv.o \
|
||||
$(HAL_MAC_DIR)/mem.o \
|
||||
$(HAL_MAC_DIR)/reg.o \
|
||||
$(HAL_PHY_DIR)/identify.o \
|
||||
$(HAL_PHY_DIR)/phy_probe.o \
|
||||
$(HAL_PHY_DIR)/phy_8218b.o \
|
||||
$(HAL_PHY_DIR)/phy_common.o
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLO),y)
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/chip_apollo.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollo/apollo_SW_def.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLOMP),y)
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/chip_apollomp.o \
|
||||
$(HAL_CHIPDEF_DIR)/apollomp/rtk_apollomp_SW_def.o
|
||||
endif
|
||||
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9601B),y)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE)/hal/chipdef/rtl9601b \
|
||||
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/rtk_rtl9601b_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/rtk_rtl9601b_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/rtk_rtl9601b_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/rtk_rtl9601b_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9601b/chip_rtl9601b.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9602C),y)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE)/hal/chipdef/rtl9602c \
|
||||
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/rtk_rtl9602c_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/rtk_rtl9602c_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/rtk_rtl9602c_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/rtk_rtl9602c_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9602c/chip_rtl9602c.o
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9607C),y)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE)/hal/chipdef/rtl9607c \
|
||||
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/rtk_rtl9607c_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/rtk_rtl9607c_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/rtk_rtl9607c_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/rtk_rtl9607c_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9607c/chip_rtl9607c.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9603CVD),y)
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE)/hal/chipdef/rtl9603cvd \
|
||||
|
||||
HAL_OBJ += \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/rtk_rtl9603cvd_reg_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/rtk_rtl9603cvd_regField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/rtk_rtl9603cvd_table_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/rtk_rtl9603cvd_tableField_list.o \
|
||||
$(HAL_CHIPDEF_DIR)/rtl9603cvd/chip_rtl9603cvd.o
|
||||
endif
|
||||
|
||||
DAL_DIR := dal
|
||||
DAL_APOLLO_DIR := $(DAL_DIR)/apollo
|
||||
DAL_OBJ := \
|
||||
$(DAL_DIR)/dal_mgmt.o \
|
||||
$(DAL_DIR)/dal_common.o
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLO),y)
|
||||
DAL_OBJ += \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_dot1x.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_vlan.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_l2.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_acl.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_epon.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_gpon.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_switch.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_port.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_trap.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_sec.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_stat.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_l34.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_svlan.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_flowctrl.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_hwmisc.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_cf.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_congest.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_trunk.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_storm.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_meter.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_mirror.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_oam.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_qos.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_autofallback.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_cpu.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_intr.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_rldp.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_ponmac.o \
|
||||
$(DAL_APOLLO_DIR)/raw/apollo_raw_eee.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_mapper.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_l2.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_port.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_stp.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_vlan.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_qos.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_l34.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_switch.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_ponmac.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_trap.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_led.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_gpon.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_svlan.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_acl.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_classify.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_stat.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_rate.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_sec.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_mirror.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_trunk.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_dot1x.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_oam.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_cpu.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_rldp.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_intr.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_gpio.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_i2c.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_debug.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_res.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_alm.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_fsm.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_int.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_ploam.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_omci.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_pm.o \
|
||||
$(DAL_APOLLO_DIR)/dal_apollo_time.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLOMP),y)
|
||||
DAL_APOLLOMP_DIR := $(DAL_DIR)/apollomp
|
||||
DAL_OBJ += \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_vlan.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_switch.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_qos.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_acl.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_trap.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_l34.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_epon.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_ponmac.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_hwmisc.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_cf.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_flowctrl.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_trunk.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_port.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_l2.o \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_mirror.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_mapper.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_svlan.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_switch.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_qos.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_stp.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_rate.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_sec.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_l34.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_acl.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_port.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_ponmac.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_oam.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_classify.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_stat.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_trunk.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_vlan.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_trap.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_l2.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_mirror.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_rldp.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_intr.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_cpu.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_dot1x.o\
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_gpio.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_i2c.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_epon.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_led.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_time.o \
|
||||
$(DAL_APOLLOMP_DIR)/dal_apollomp_tool.ulib \
|
||||
|
||||
ifeq ($(CONFIG_GPON_VERSION),1)
|
||||
DAL_OBJ+= $(DAL_APOLLOMP_DIR)/dal_apollomp_gpon.o
|
||||
else
|
||||
DAL_OBJ+= $(DAL_APOLLOMP_DIR)/dal_apollomp_gponv2.o
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9601B),y)
|
||||
DAL_RTL9601B_DIR := $(DAL_DIR)/rtl9601b
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_mapper.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_switch.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_oam.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_classify.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_gpon.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_vlan.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_stp.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_ponmac.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_gpio.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_intr.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_l2.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_port.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_rate.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_flowctrl.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_stat.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_qos.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_i2c.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_svlan.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_trap.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_epon.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_acl.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_cpu.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_hwmisc.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_led.o \
|
||||
$(DAL_RTL9601B_DIR)/dal_rtl9601b_pbo.o
|
||||
endif
|
||||
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9602C),y)
|
||||
DAL_RTL9602C_DIR := $(DAL_DIR)/rtl9602c
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_mapper.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_switch.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_port.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_oam.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_stat.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_flowctrl.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_trap.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_vlan.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_svlan.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_mirror.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_stp.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_rate.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_time.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_acl.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_dot1x.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_l2.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_cpu.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_qos.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_l34.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_ponmac.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_gpon.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_classify.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_intr.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_gpio.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_hwmisc.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_sec.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_epon.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_pbo.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_rldp.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_led.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_i2c.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_ppstod.o \
|
||||
$(DAL_RTL9602C_DIR)/dal_rtl9602c_tool.ulib
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9607C),y)
|
||||
DAL_RTL9607C_DIR := $(DAL_DIR)/rtl9607c
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_mapper.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_sec.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_l2.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_intr.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_ponmac.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_acl.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_vlan.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_svlan.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_stat.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_classify.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_switch.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_gpio.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_trap.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_time.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_cpu.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_flowctrl.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_pbo.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_mirror.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_port.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_epon.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_gpon.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_rate.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_oam.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_stp.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_hwmisc.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_qos.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_i2c.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_led.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_rldp.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_ppstod.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_mdio.o \
|
||||
$(DAL_RTL9607C_DIR)/dal_rtl9607c_tool.ulib
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9603CVD),y)
|
||||
DAL_RTL9603CVD_DIR := $(DAL_DIR)/rtl9603cvd
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_mapper.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_switch.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_l2.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_acl.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_ponmac.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_epon.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_mirror.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_stp.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_stat.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_vlan.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_trap.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_intr.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_hwmisc.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_port.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_flowctrl.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_pbo.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_gpon.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_sec.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_rate.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_qos.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_svlan.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_i2c.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_led.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_gpio.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_oam.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_cpu.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_time.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_ppstod.o \
|
||||
$(DAL_RTL9603CVD_DIR)/dal_rtl9603cvd_tool.ulib
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_LUNA_G3),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
ifeq ($(CONFIG_ARCH_RTL8198F),y)
|
||||
DAL_LUNA_G3_DIR := $(DAL_DIR)/rtl8198f
|
||||
DAL_OBJ += \
|
||||
$(DAL_LUNA_G3_DIR)/dal_rtl8198f_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/rtl8198f/DAL_Compiler_Flag
|
||||
else
|
||||
DAL_LUNA_G3_DIR := $(DAL_DIR)/luna_g3
|
||||
DAL_OBJ += \
|
||||
$(DAL_LUNA_G3_DIR)/dal_luna_g3_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/luna_g3/DAL_Compiler_Flag
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_CA8279),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
DAL_CA8279_DIR := $(DAL_DIR)/ca8279
|
||||
DAL_OBJ += \
|
||||
$(DAL_CA8279_DIR)/dal_ca8279_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/ca8279/DAL_Compiler_Flag
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_CA8277B),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
DAL_CA8277B_DIR := $(DAL_DIR)/ca8277b
|
||||
DAL_OBJ += \
|
||||
$(DAL_CA8277B_DIR)/dal_ca8277b_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/ca8277b/DAL_Compiler_Flag
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL8277C),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
DAL_RTL8277C_DIR := $(DAL_DIR)/rtl8277c
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL8277C_DIR)/dal_rtl8277c_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/rtl8277c/DAL_Compiler_Flag
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_RTL9607F),y)
|
||||
HAL_OBJ := \
|
||||
$(HAL_CHIPDEF_DIR)/chip.o \
|
||||
$(HAL_COMMON_DIR)/halctrl.o \
|
||||
$(HAL_MAC_DIR)/mac_probe.o
|
||||
|
||||
DAL_RTL9607F_DIR := $(DAL_DIR)/rtl9607f
|
||||
DAL_OBJ += \
|
||||
$(DAL_RTL9607F_DIR)/dal_rtl9607f_mapper.o
|
||||
#If you want build DAL Object please put DAL object to dal/rtl9607f/DAL_Compiler_Flag
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLO),n)
|
||||
ifeq ($(CONFIG_SDK_APOLLOMP),y)
|
||||
ifeq ($(CONFIG_GPON_VERSION),1)
|
||||
DAL_OBJ += \
|
||||
$(DAL_APOLLOMP_DIR)/raw/apollomp_raw_gpon.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_debug.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_res.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_alm.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_fsm.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_int.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_ploam.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_omci.o \
|
||||
$(DAL_APOLLO_DIR)/gpon/gpon_pm.o
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_USER_MODE),y)
|
||||
|
||||
RTK_DIR := rtk
|
||||
|
||||
|
||||
RTK_OBJ+= \
|
||||
$(RTK_DIR)/init.o
|
||||
|
||||
SYSTEM_DIR := ../system
|
||||
ifeq ($(CONFIG_OPENWRT_DIAG),y)
|
||||
SYSTEM_OBJ := \
|
||||
$(SYSTEM_DIR)/osal/linux/user/memory.o \
|
||||
$(SYSTEM_DIR)/osal/linux/user/time.o \
|
||||
$(SYSTEM_DIR)/ioal/ioal_init.o \
|
||||
$(SYSTEM_DIR)/ioal/mem32.o \
|
||||
$(SYSTEM_DIR)/ioal/io_rsp.o \
|
||||
$(SYSTEM_DIR)/ioal/linux/user/io_mii.o
|
||||
else
|
||||
SYSTEM_OBJ := \
|
||||
$(SYSTEM_DIR)/osal/linux/user/memory.o \
|
||||
$(SYSTEM_DIR)/osal/linux/user/sem.o \
|
||||
$(SYSTEM_DIR)/osal/linux/user/time.o \
|
||||
$(SYSTEM_DIR)/osal/linux/user/thread.o \
|
||||
$(SYSTEM_DIR)/ioal/ioal_init.o \
|
||||
$(SYSTEM_DIR)/ioal/mem32.o \
|
||||
$(SYSTEM_DIR)/ioal/io_rsp.o \
|
||||
$(SYSTEM_DIR)/ioal/linux/user/io_mii.o
|
||||
endif
|
||||
|
||||
NETDRV_OBJ := \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_reg.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_gpon.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_rate.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_vlan.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_acl.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_debug.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_pkt.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_gpio.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_i2c.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_intr.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_ponmac.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_stp.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_switch.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_led.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_qos.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_rldp.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_svlan.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_classify.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_l2.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_l34.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_port.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_trunk.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_mirror.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_dot1x.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_cpu.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_epon.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_oam.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_stat.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_sec.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_time.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_trap.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_pon_led.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_ppstod.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_pbo.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_mdio.o
|
||||
|
||||
|
||||
#ifeq ($(CONFIG_EUROPA_FEATURE),y)
|
||||
#NETDRV_OBJ += \
|
||||
# $(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_ldd.o
|
||||
#endif
|
||||
|
||||
ifeq ($(CONFIG_EUROPA),m)
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_ldd.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_ENABLE),y)
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_rg.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_XDSL_RG_DIAGSHELL),y)
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_rg.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_API),y)
|
||||
RTK_OBJ+= \
|
||||
$(RTK_DIR)/rt/rt_init.o \
|
||||
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_switch.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_stat.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_rate.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_qos.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_intr.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_sec.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_trap.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_i2c.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_port.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_cls.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_l2.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_mirror.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_mdio.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_time.o
|
||||
|
||||
ifeq ($(CONFIG_GPON_FEATURE),y)
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_gpon.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_EPON_FEATURE),y)
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_epon.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_L34_FLEETCONNTRACK_ENABLE),y)
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_rate_ext.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_igmp_ext.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_flow_ext.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_stat_ext.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_acl_ext.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_qos_ext.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_pe_ext.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_misc_ext.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RTK_IGMP_MLD_SNOOPING_MODULE),m)
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_igmpHook_ext.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COMMON_RT_PONMISC),y)
|
||||
NETDRV_OBJ += \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rt/rtusr_rt_ponmisc.o
|
||||
endif
|
||||
endif
|
||||
|
||||
# rgAsic +++
|
||||
# ifeq ($(CONFIG_SDK_RTL9607B),y)
|
||||
# NETDRV_OBJ += \
|
||||
# $(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_rg.o
|
||||
# endif
|
||||
# rgAsic ---
|
||||
|
||||
else
|
||||
|
||||
|
||||
RTK_DIR := rtk
|
||||
|
||||
ifeq ($(CONFIG_GPON_VERSION),1)
|
||||
RTK_OBJ := \
|
||||
$(RTK_DIR)/gpon.o
|
||||
endif
|
||||
|
||||
RTK_OBJ+= \
|
||||
$(RTK_DIR)/init.o \
|
||||
$(RTK_DIR)/l2.o \
|
||||
$(RTK_DIR)/port.o \
|
||||
$(RTK_DIR)/l34.o \
|
||||
$(RTK_DIR)/stp.o \
|
||||
$(RTK_DIR)/vlan.o \
|
||||
$(RTK_DIR)/trap.o \
|
||||
$(RTK_DIR)/qos.o \
|
||||
$(RTK_DIR)/ponmac.o \
|
||||
$(RTK_DIR)/switch.o \
|
||||
$(RTK_DIR)/svlan.o \
|
||||
$(RTK_DIR)/acl.o \
|
||||
$(RTK_DIR)/stat.o \
|
||||
$(RTK_DIR)/sec.o \
|
||||
$(RTK_DIR)/rate.o \
|
||||
$(RTK_DIR)/mirror.o \
|
||||
$(RTK_DIR)/led.o \
|
||||
$(RTK_DIR)/trunk.o \
|
||||
$(RTK_DIR)/dot1x.o \
|
||||
$(RTK_DIR)/oam.o \
|
||||
$(RTK_DIR)/time.o \
|
||||
$(RTK_DIR)/cpu.o \
|
||||
$(RTK_DIR)/epon.o \
|
||||
$(RTK_DIR)/ppstod.o
|
||||
|
||||
|
||||
SYSTEM_DIR := ../system
|
||||
SYSTEM_OBJ := \
|
||||
$(SYSTEM_DIR)/osal/linux/user/memory.o \
|
||||
$(SYSTEM_DIR)/osal/linux/user/sem.o \
|
||||
$(SYSTEM_DIR)/osal/linux/user/time.o \
|
||||
$(SYSTEM_DIR)/osal/linux/user/thread.o \
|
||||
$(SYSTEM_DIR)/ioal/ioal_init.o \
|
||||
$(SYSTEM_DIR)/ioal/mem32.o \
|
||||
$(SYSTEM_DIR)/ioal/io_rsp.o \
|
||||
$(SYSTEM_DIR)/ioal/linux/user/io_mii.o \
|
||||
$(SYSTEM_DIR)/common/debug/rt_log.o
|
||||
|
||||
NETDRV_OBJ := \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_reg.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_gpon.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_pkt.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_gpio.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_i2c.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_intr.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_rldp.o \
|
||||
$(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_classify.o \
|
||||
|
||||
endif
|
||||
|
||||
|
||||
#ifeq ($(CONFIG_OPENWRT_RG),y)
|
||||
#NETDRV_OBJ := \
|
||||
# $(SYSTEM_DIR)/linux/rtk/rtusr/src/rtusr_rg.o \
|
||||
|
||||
#ALL_OBJ := $(NETDRV_OBJ)
|
||||
#else
|
||||
ALL_OBJ := $(SYSTEM_OBJ) $(COMMON_OBJ) $(HAL_OBJ) $(DAL_OBJ) $(RTK_OBJ) $(NETDRV_OBJ)
|
||||
#endif
|
||||
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(DRV_INCLUDE)
|
||||
|
||||
|
||||
CFLAGS += -Wcomment \
|
||||
-Winit-self \
|
||||
-Wmissing-braces \
|
||||
-Wparentheses \
|
||||
-Wreturn-type \
|
||||
-Wunused-parameter \
|
||||
-Wunused-variable \
|
||||
-Wunused-value \
|
||||
-Wdeclaration-after-statement \
|
||||
-Wmissing-prototypes \
|
||||
-Wimplicit \
|
||||
-g -O2 -fPIC
|
||||
|
||||
|
||||
#CFLAGS += -DRTK_X86_ASICDRV -DDISABLE_VLAN_SHADOW -DLINUX_KERNEL_MDIO_IO -DCONFIG_LINUX_USER_SHELL
|
||||
CFLAGS += -DRTK_X86_ASICDRV -DDISABLE_VLAN_SHADOW -DCONFIG_LINUX_USER_SHELL
|
||||
|
||||
include $(CHECKSEC_LIB_CONFIG)
|
||||
|
||||
.PHONY: $(TARGET_A) $(TARGET_SO) clone
|
||||
|
||||
# workaround: there will be some problem in union-fs if no twice 'find'
|
||||
ifneq ($(origin BUILD_IN_UNIONFS), undefined)
|
||||
_PREFIND_FOR_UNIONFS:= $(shell cd $(SDKDIR) && ls -l `find . -name \*` > /dev/null)
|
||||
endif
|
||||
|
||||
OBJDIR:=$(APOLLODIR)/object
|
||||
_ORIGIN_SUB:= $(shell cd $(SDKDIR) && find -path "*/.svn" -prune -o -type d ! -name "." ! -name "build" ! -print | grep -v autogen)
|
||||
_ORIGIN_FILE:=$(shell cd $(SDKDIR) && find -path "*/.svn" -prune -o ! -type d ! -name "*.o" ! -name "*.cmd" ! -name "*.ko" -print | grep -v build | grep -v autogen)
|
||||
|
||||
OBJDIR:=$(APOLLODIR)/object
|
||||
_ORIGIN_SUB:= $(shell cd $(SDKDIR) && find -path "*/.svn" -prune -o -type d ! -name "." ! -name "build" ! -print | grep -v autogen)
|
||||
_ORIGIN_FILE:=$(shell cd $(SDKDIR) && find -path "*/.svn" -prune -o ! -type d ! -name "*.o" ! -name "*.cmd" ! -name "*.ko" ! -name "libpr.so" -print | grep -v build | grep -v autogen)
|
||||
|
||||
DOCLONE:=( \
|
||||
if [ "`pwd`" = "$(SDKDIR)" ] ; then exit ; fi && \
|
||||
echo Cloning directories... && \
|
||||
for dir in $(_ORIGIN_SUB) ; do \
|
||||
mkdir -p "$$dir"; done && \
|
||||
echo Cloning files... && \
|
||||
for file in $(_ORIGIN_FILE) ; do\
|
||||
ln -sf $(SDKDIR)/$$file $$file ;\
|
||||
done \
|
||||
)
|
||||
|
||||
all:
|
||||
@if [ ! -d $(OBJDIR) ] ; then \
|
||||
mkdir -p $(OBJDIR); \
|
||||
cd $(SDKDIR); \
|
||||
find . -path "*/.svn" -prune -o -type d ! -name "." ! -name "build" ! -exec mkdir $(OBJDIR)/{} -p \; ;\
|
||||
find . -path "*/.svn" -prune -o ! -type d ! -name "*.o" ! -name "*.cmd" ! -name "*.ko" ! -name "libpr.so" -exec ln -sf $(SDKDIR)/{} $(OBJDIR)/{} \; ;\
|
||||
cd $(OBJDIR); \
|
||||
fi
|
||||
$(MAKE) -C $(OBJDIR)/src $(TARGET_A);
|
||||
$(MAKE) -C $(OBJDIR)/src $(TARGET_SO);
|
||||
|
||||
$(TARGET_A): $(ALL_OBJ)
|
||||
$(AR) rcs $@ $(ALL_OBJ)
|
||||
cp -af $@ $(OBJDIR)/src/app/lib/
|
||||
|
||||
$(TARGET_SO): $(ALL_OBJ)
|
||||
$(CC) $(LDFLAGS) $(EXTRA_SEC_SO_LDFLAGS) -shared -o $@ $(ALL_OBJ)
|
||||
cp -af $@ $(OBJDIR)/src/app/lib/
|
||||
|
||||
fpic =
|
||||
ifeq ($(CONFIG_OPENWRT_RG),y)
|
||||
fpic = 1
|
||||
endif
|
||||
ifeq ($(CONFIG_OPENWRT_DIAG),y)
|
||||
fpic = 1
|
||||
endif
|
||||
|
||||
ifdef fpic
|
||||
%.o: %.c
|
||||
$(CC) -c $(EXTRA_CFLAGS) $(CFLAGS) -g -O2 -fPIC -o $@ $<
|
||||
else
|
||||
%.o: %.c
|
||||
$(CC) -c $(EXTRA_CFLAGS) $(CFLAGS) -o $@ $<
|
||||
endif
|
||||
|
||||
romfs:
|
||||
|
||||
clean:
|
||||
rm -rf $(OBJDIR);
|
||||
|
||||
143
sources/rtk-gp3000/build/Makefile.linux.user.ut
Normal file
143
sources/rtk-gp3000/build/Makefile.linux.user.ut
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
#
|
||||
# Copyright (C) 2009 Realtek Semiconductor Corp.
|
||||
#
|
||||
# Makefile for SDK Linux Unit Test User Library
|
||||
#
|
||||
|
||||
TARGET := libut.so
|
||||
|
||||
include $(APOLLODIR)/Compiler_Flag
|
||||
|
||||
SDK_ROOT_DIR = ..
|
||||
SDK_INCLUDE = $(SDK_ROOT_DIR)/include
|
||||
SYS_INCLUDE = $(SDK_ROOT_DIR)/system/include
|
||||
UT_INCLUDE = $(SDK_ROOT_DIR)/unittest
|
||||
|
||||
COMMONUTIL_DIR := common
|
||||
SDKTEST_DIR := sdk
|
||||
HALTEST_DIR := hal
|
||||
DALTEST_DIR := dal
|
||||
OSALTEST_DIR := osal
|
||||
CFLAGS += -fPIC
|
||||
EXTRA_CFLAGS += $(PON_CFLAGS)
|
||||
EXTRA_CFLAGS += -I$(SDK_INCLUDE) -I$(SYS_INCLUDE) -I$(UT_INCLUDE)
|
||||
|
||||
|
||||
LIB = "-L$(APOLLODIR)/object/src/app/lib -lrtk -lpthread"
|
||||
|
||||
SDKTEST_OBJ := \
|
||||
$(SDKTEST_DIR)/sdk_test.o
|
||||
|
||||
#SDK_SYS_DIR := ../system
|
||||
#OSAL_DIR := $(SDK_SYS_DIR)/osal/linux/user
|
||||
#OSAL_OBJ :=
|
||||
#ifneq ($(CONFIG_SDK_KERNEL_LINUX_USER_MODE),)
|
||||
#OSAL_OBJ += \
|
||||
# $(OSAL_DIR)/time.o
|
||||
#endif
|
||||
|
||||
COMMONUTIL_OBJ := \
|
||||
$(COMMONUTIL_DIR)/unittest_util.o
|
||||
|
||||
#OSALTEST_OBJ := \
|
||||
# $(OSALTEST_DIR)/osal_test_memory_cache.o \
|
||||
# $(OSALTEST_DIR)/osal_test_isr.o \
|
||||
# $(OSALTEST_DIR)/osal_test_time.o \
|
||||
# $(OSALTEST_DIR)/osal_test_thread.o \
|
||||
# $(OSALTEST_DIR)/osal_test_mutex.o \
|
||||
# $(OSALTEST_DIR)/osal_test_sem.o
|
||||
|
||||
HALTEST_OBJ := \
|
||||
$(HALTEST_DIR)/hal_api_test_case.o \
|
||||
$(HALTEST_DIR)/hal_reg_test_case.o
|
||||
# $(HALTEST_DIR)/hal_database_test_case.o \
|
||||
# $(HALTEST_DIR)/hal_mechanism_test_case.o
|
||||
|
||||
DALTEST_OBJ := \
|
||||
$(DALTEST_DIR)/dal_svlan_test_case.o \
|
||||
$(DALTEST_DIR)/dal_qos_test_case.o \
|
||||
$(DALTEST_DIR)/dal_gpon_test_case.o \
|
||||
$(DALTEST_DIR)/dal_l34_test_case.o \
|
||||
$(DALTEST_DIR)/dal_acl_test_case.o \
|
||||
$(DALTEST_DIR)/dal_ponmac_test_case.o \
|
||||
$(DALTEST_DIR)/dal_oam_test_case.o \
|
||||
$(DALTEST_DIR)/dal_classf_test_case.o \
|
||||
$(DALTEST_DIR)/dal_led_test_case.o \
|
||||
$(DALTEST_DIR)/dal_switch_test_case.o \
|
||||
$(DALTEST_DIR)/dal_stp_test_case.o \
|
||||
$(DALTEST_DIR)/dal_sec_test_case.o \
|
||||
$(DALTEST_DIR)/dal_rate_test_case.o \
|
||||
$(DALTEST_DIR)/dal_vlan_test_case.o \
|
||||
$(DALTEST_DIR)/dal_cpu_test_case.o \
|
||||
$(DALTEST_DIR)/dal_mirror_test_case.o \
|
||||
$(DALTEST_DIR)/dal_trunk_test_case.o \
|
||||
$(DALTEST_DIR)/dal_port_test_case.o \
|
||||
$(DALTEST_DIR)/dal_stat_test_case.o \
|
||||
$(DALTEST_DIR)/dal_rldp_test_case.o \
|
||||
$(DALTEST_DIR)/dal_l2_test_case.o \
|
||||
$(DALTEST_DIR)/dal_trap_test_case.o \
|
||||
$(DALTEST_DIR)/dal_dot1x_test_case.o \
|
||||
$(DALTEST_DIR)/dal_intr_test_case.o
|
||||
|
||||
ifeq ($(CONFIG_SDK_APOLLO),y)
|
||||
DALTEST_OBJ += \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_acl_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_l34_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_cf_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_lut_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_rate_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_qos_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_dot1x_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_vlan_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_svlan_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_cpu_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_meter_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_rma_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_isolation_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_port_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_intr_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_port_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_flowctrl_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_trap_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_trunk_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_mirror_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_storm_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_autofallback_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_stat_test_case.o \
|
||||
$(DALTEST_DIR)/raw/apollo/dal_raw_sec_test_case.o
|
||||
endif
|
||||
|
||||
ifeq ($(filter y, $(CONFIG_LUNA_G3_SERIES)),y)
|
||||
ALL_OBJ := $(OSAL_OBJ) $(OSALTEST_OBJ) $(COMMONUTIL_OBJ)
|
||||
else
|
||||
ALL_OBJ := $(SDKTEST_OBJ) $(OSAL_OBJ) $(OSALTEST_OBJ) $(HALTEST_OBJ) $(DALTEST_OBJ) $(NICTEST_OBJ) $(COMMONUTIL_OBJ)
|
||||
endif
|
||||
|
||||
.PHONY: $(TARGET)
|
||||
|
||||
|
||||
OBJDIR:=$(APOLLODIR)/object
|
||||
|
||||
|
||||
all: clean
|
||||
$(MAKE) -C $(OBJDIR)/unittest $(TARGET);
|
||||
|
||||
|
||||
$(TARGET): $(ALL_OBJ)
|
||||
$(CC) -shared -o $@ $(ALL_OBJ) $(LIB)
|
||||
cp -af $@ $(APOLLODIR)/object/src/app/lib/
|
||||
|
||||
ifeq ($(CONFIG_OPENWRT_DIAG),y)
|
||||
%.o: %.c
|
||||
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -fPIC -o $@ $<
|
||||
else
|
||||
%.o: %.c
|
||||
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
|
||||
endif
|
||||
|
||||
romfs:
|
||||
|
||||
clean:
|
||||
cd $(OBJDIR)/unittest; \
|
||||
rm -rf $(TARGET) $(ALL_OBJ)
|
||||
|
||||
46
sources/rtk-gp3000/ca_rtk.etc/insdrv.sh
Executable file
46
sources/rtk-gp3000/ca_rtk.etc/insdrv.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/sh
|
||||
|
||||
pon_mode=`mib get PON_MODE`
|
||||
if [ -d /proc/rg ]; then
|
||||
drvMode=1
|
||||
elif [ -d /proc/fc ]; then
|
||||
drvMode=2
|
||||
else
|
||||
drvMode=0
|
||||
fi
|
||||
if [ "$pon_mode" == "PON_MODE=1" ]; then
|
||||
dualMgmt=`mib get DUAL_MGMT_MODE | sed 's/DUAL_MGMT_MODE=//g'`
|
||||
if [ -f /lib/modules/omcidrv.ko ]; then
|
||||
insmod /lib/modules/omcidrv.ko
|
||||
if [ "$drvMode" = "0" ]; then
|
||||
echo "Warning no exist rtk platform"
|
||||
else
|
||||
if [ "$drvMode" = "1" ]; then
|
||||
if [ -f /lib/modules/pf_ca8279.ko ]; then
|
||||
insmod /lib/modules/pf_ca8279.ko
|
||||
else
|
||||
echo "Warning no exist rg platform"
|
||||
fi
|
||||
elif [ "$drvMode" = "2" ]; then
|
||||
pon_speed=`mib get PON_SPEED | sed 's/PON_SPEED=//g'`
|
||||
if [ -f /lib/modules/pf_rt_fc.ko ]; then
|
||||
insmod /lib/modules/pf_rt_fc.ko pon_speed=$pon_speed
|
||||
else
|
||||
echo "Warning no exist fc platform"
|
||||
fi
|
||||
else
|
||||
echo "Warning undefined $drvMode value"
|
||||
fi
|
||||
if [ "$dualMgmt" == "1" ]; then
|
||||
if [ -f /etc/rtk_tr142.sh ]; then
|
||||
/etc/rtk_tr142.sh
|
||||
else
|
||||
echo "warning no exit rtk_tr142.sh"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "Warning no insert OMCI module in GPON mode"
|
||||
fi
|
||||
fi
|
||||
|
||||
0
sources/rtk-gp3000/ca_rtk.etc/run_customized_sdk.sh
Executable file
0
sources/rtk-gp3000/ca_rtk.etc/run_customized_sdk.sh
Executable file
26
sources/rtk-gp3000/ca_rtk.etc/runoam.sh
Executable file
26
sources/rtk-gp3000/ca_rtk.etc/runoam.sh
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
exeCmd="eponoamd "
|
||||
i=0
|
||||
result=`mib get EPON_LLID_TBL.$i.macAddr | awk -F '=' '/macAddr/ {print $2}'`
|
||||
if [ "$result" == "" ]
|
||||
then
|
||||
macaddr=`mib get ELAN_MAC_ADDR | sed 's/ELAN_MAC_ADDR=//g'`
|
||||
exeCmd=$exeCmd" -mac "$i" "$macaddr" "
|
||||
i=$((i+1))
|
||||
result=`mib get EPON_LLID_TBL.$i.macAddr | awk -F '=' '/macAddr/ {print $2}'`
|
||||
fi
|
||||
|
||||
while [ "$result" != "" ]
|
||||
do
|
||||
macaddr=$result
|
||||
|
||||
exeCmd=$exeCmd"-mac "$i" "$macaddr" "
|
||||
|
||||
i=$((i+1))
|
||||
result=`mib get EPON_LLID_TBL.$i.macAddr | awk -F '=' '/macAddr/ {print $2}'`
|
||||
|
||||
done
|
||||
|
||||
$exeCmd &
|
||||
|
||||
51
sources/rtk-gp3000/ca_rtk.etc/runsdk.sh
Executable file
51
sources/rtk-gp3000/ca_rtk.etc/runsdk.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/sh
|
||||
|
||||
pon_mode=`mib get PON_MODE`
|
||||
pon_dect_ctrl=`mib get PON_DETECT_CONTROL_FLAG | awk -F '=' '{print $2}'`
|
||||
pon_dect_gpon_flag=`mib get PON_DETECT_AVAILABLE_GPON_FLAG | awk -F '=' '{print $2}'`
|
||||
pon_dect_epon_flag=`mib get PON_DETECT_AVAILABLE_EPON_FLAG | awk -F '=' '{print $2}'`
|
||||
pon_dect_eth_flag=`mib get PON_DETECT_AVAILABLE_ETH_FLAG | awk -F '=' '{print $2}'`
|
||||
if [ "$pon_mode" == "PON_MODE=1" ]; then
|
||||
if [ ! -f /var/config/run_customized_sdk.sh ]; then
|
||||
cp /etc/run_customized_sdk.sh /var/config/run_customized_sdk.sh
|
||||
fi
|
||||
/var/config/run_customized_sdk.sh
|
||||
if [ -f /lib/modules/pf_rt_fc.ko ]; then
|
||||
ifconfig eth0 up
|
||||
fi
|
||||
/etc/runomci.sh
|
||||
/bin/pondetect $pon_dect_ctrl $pon_dect_gpon_flag $pon_dect_epon_flag $pon_dect_eth_flag &
|
||||
echo "running GPON mode ..."
|
||||
elif [ "$pon_mode" == "PON_MODE=2" ]; then
|
||||
cartkmod=`modprobe -l | grep ca-rtk-epon-drv.ko`
|
||||
if [ -f /lib/modules/`uname -r`/$cartkmod ] ; then
|
||||
modprobe ca-rtk-epon-drv
|
||||
else
|
||||
rtk_soc_family=`cat /sys/devices/soc0/family`
|
||||
if [ "$rtk_soc_family" == "Taurus" ]; then
|
||||
echo "RTK SoC: Taurus"
|
||||
rtk_mod_postfix=77c
|
||||
elif [ "$rtk_soc_family" == "Elnath" ]; then
|
||||
echo "RTK SoC: Elnath"
|
||||
rtk_mod_postfix=07f
|
||||
else
|
||||
echo "unknown rtk_soc_family = $rtk_soc_family"
|
||||
fi
|
||||
|
||||
cartk_epon_mod=`modprobe -l | grep ca-rtk-epon-$rtk_mod_postfix-drv.ko`
|
||||
|
||||
echo $cartk_epon_mod
|
||||
if [ -f /lib/modules/`uname -r`/$cartk_epon_mod ] ; then
|
||||
insmod /lib/modules/`uname -r`/$cartk_epon_mod
|
||||
fi
|
||||
fi
|
||||
/etc/runoam.sh
|
||||
sleep 2
|
||||
/bin/pondetect $pon_dect_ctrl $pon_dect_gpon_flag $pon_dect_epon_flag $pon_dect_eth_flag &
|
||||
echo "running EPON mode ..."
|
||||
elif [ "$pon_mode" == "PON_MODE=3" ]; then
|
||||
echo "running Ether mode..."
|
||||
else
|
||||
echo "Not supported PON/WAN mode..."
|
||||
fi
|
||||
|
||||
6
sources/rtk-gp3000/common.etc/cfg.txt
Normal file
6
sources/rtk-gp3000/common.etc/cfg.txt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PON_MODE=1
|
||||
PON_SPEED=2
|
||||
DEVICE_TYPE=2
|
||||
DUAL_MGMT_MODE=1
|
||||
GPON_SN=RTKG12345678
|
||||
NGPON_PLOAM_PASSWD=123456789012345678901234567890123456
|
||||
48
sources/rtk-gp3000/common.etc/flash.sh
Executable file
48
sources/rtk-gp3000/common.etc/flash.sh
Executable file
|
|
@ -0,0 +1,48 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# usage: flash.sh [cmd] ...
|
||||
#
|
||||
|
||||
CFG_FILE="/var/config/cfg.txt"
|
||||
|
||||
if [ ! -f $CFG_FILE ] ; then
|
||||
cp /etc/cfg.txt $CFG_FILE
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
"get")
|
||||
if [ "$2" != "" ]; then
|
||||
grep $2 $CFG_FILE
|
||||
if [ "$?" = "0" ]; then
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
/bin/sh $0 -h
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"set")
|
||||
if [ "$2" != "" ] && [ "$3" != "" ]; then
|
||||
sed -i '/^'"$2"'=/d' $CFG_FILE
|
||||
echo $2=$3 >> $CFG_FILE
|
||||
else
|
||||
/bin/sh $0 -h
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"all")
|
||||
cat $CFG_FILE
|
||||
if [ "$?" = "0" ]; then
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
"-h")
|
||||
echo 'Usage: flash.sh [cmd]'
|
||||
echo ' all : Show all settings.'
|
||||
echo ' get MIB-NAME : get a specific mib parameter.'
|
||||
echo ' set MIB-NAME MIB-VALUE : set a specific mib parameter into flash memory.'
|
||||
;;
|
||||
*)
|
||||
/bin/sh $0 -h
|
||||
exit 1
|
||||
esac
|
||||
275
sources/rtk-gp3000/include/common/rt_error.h
Normal file
275
sources/rtk-gp3000/include/common/rt_error.h
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
/*
|
||||
* Copyright (C) 2009 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition the error number in the SDK.
|
||||
*
|
||||
* Feature : error definition
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __COMMON_RT_ERROR_H__
|
||||
#define __COMMON_RT_ERROR_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <common/error.h>
|
||||
|
||||
/*
|
||||
* Data Type Declaration
|
||||
*/
|
||||
typedef enum rt_error_code_e
|
||||
{
|
||||
/*
|
||||
* 0x0000xxxx for common error code
|
||||
* symbols defined at rt_error_common_t
|
||||
*/
|
||||
|
||||
/* 0x0001xxxx for vlan */
|
||||
RT_ERR_VLAN_VID = 0x00010000, /* 0x00010000, invalid vid */
|
||||
RT_ERR_VLAN_PRIORITY, /* 0x00010001, invalid 1p priority */
|
||||
RT_ERR_VLAN_EMPTY_ENTRY, /* 0x00010002, emtpy entry of vlan table */
|
||||
RT_ERR_VLAN_ACCEPT_FRAME_TYPE, /* 0x00010003, invalid accept frame type */
|
||||
RT_ERR_VLAN_EXIST, /* 0x00010004, vlan is exist */
|
||||
RT_ERR_VLAN_ENTRY_NOT_FOUND, /* 0x00010005, specified vlan entry not found */
|
||||
RT_ERR_VLAN_PORT_MBR_EXIST, /* 0x00010006, member port exist in the specified vlan */
|
||||
RT_ERR_VLAN_FRAME_TYPE, /* 0x00010007, Error frame type */
|
||||
RT_ERR_VLAN_PROTO_AND_PORT, /* 0x00010008, Envalid protocol base group database index */
|
||||
|
||||
|
||||
/* 0x0002xxxx for svlan */
|
||||
RT_ERR_SVLAN_ENTRY_INDEX = 0x00020000, /* 0x00020000, invalid svid entry no */
|
||||
RT_ERR_SVLAN_ETHER_TYPE, /* 0x00020001, invalid SVLAN ether type */
|
||||
RT_ERR_SVLAN_TABLE_FULL, /* 0x00020002, no empty entry in SVLAN table */
|
||||
RT_ERR_SVLAN_ENTRY_NOT_FOUND, /* 0x00020003, specified svlan entry not found */
|
||||
RT_ERR_SVLAN_EXIST, /* 0x00020004, SVLAN entry is exist */
|
||||
RT_ERR_SVLAN_VID, /* 0x00020005, invalid svid */
|
||||
RT_ERR_SVLAN_EFID, /* 0x00020006, invalid EFID */
|
||||
RT_ERR_SVLAN_EVID, /* 0x00020007, invalid EVID */
|
||||
RT_ERR_SVLAN_NOT_EXIST, /* 0x00020008, SVLAN entry is not exist */
|
||||
RT_ERR_SVLAN_INVALID, /* 0x00020009, SVLAN related config is invalid */
|
||||
|
||||
/* 0x0003xxxx for MSTP */
|
||||
RT_ERR_MSTI = 0x00030000, /* 0x00030000, invalid msti */
|
||||
RT_ERR_MSTP_STATE, /* 0x00030001, invalid spanning tree status */
|
||||
RT_ERR_MSTI_EXIST, /* 0x00030002, MSTI exist */
|
||||
RT_ERR_MSTI_NOT_EXIST, /* 0x00030003, MSTI not exist */
|
||||
|
||||
/* 0x0004xxxx for BUCKET */
|
||||
RT_ERR_TIMESLOT = 0x00040000, /* 0x00040000, invalid time slot */
|
||||
RT_ERR_TOKEN, /* 0x00040001, invalid token amount */
|
||||
RT_ERR_RATE, /* 0x00040002, invalid rate */
|
||||
|
||||
/* 0x0005xxxx for RMA */
|
||||
RT_ERR_RMA_ADDR = 0x00050000, /* 0x00050000, invalid rma mac address */
|
||||
RT_ERR_RMA_ACTION, /* 0x00050001, invalid rma action */
|
||||
RT_ERR_RMA_MGMT_TYPE, /* 0x00050002, invalid type of management frame */
|
||||
|
||||
/* 0x0006xxxx for L2 */
|
||||
RT_ERR_L2_HASH_KEY = 0x00060000, /* 0x00060000, invalid L2 Hash key */
|
||||
RT_ERR_L2_HASH_INDEX, /* 0x00060001, invalid L2 Hash index */
|
||||
RT_ERR_L2_CAM_INDEX, /* 0x00060002, invalid L2 CAM index */
|
||||
RT_ERR_L2_ENRTYSEL, /* 0x00060003, invalid EntrySel */
|
||||
RT_ERR_L2_INDEXTABLE_INDEX, /* 0x00060004, invalid L2 index table(=portMask table) index */
|
||||
RT_ERR_LIMITED_L2ENTRY_NUM, /* 0x00060005, invalid limited L2 entry number */
|
||||
RT_ERR_L2_AGGREG_PORT, /* 0x00060006, this aggregated port is not the lowest physical
|
||||
port of its aggregation group */
|
||||
RT_ERR_L2_FID, /* 0x00060007, invalid fid */
|
||||
RT_ERR_L2_RVID, /* 0x00060008, invalid cvid */
|
||||
RT_ERR_L2_NO_EMPTY_ENTRY, /* 0x00060009, no empty entry in L2 table */
|
||||
RT_ERR_L2_ENTRY_NOTFOUND, /* 0x0006000a, specified entry not found */
|
||||
RT_ERR_L2_INDEXTBL_FULL, /* 0x0006000b, the L2 index table is full */
|
||||
RT_ERR_L2_INVALID_FLOWTYPE, /* 0x0006000c, invalid L2 flow type */
|
||||
RT_ERR_L2_L2UNI_PARAM, /* 0x0006000d, invalid L2 unicast parameter */
|
||||
RT_ERR_L2_L2MULTI_PARAM, /* 0x0006000e, invalid L2 multicast parameter */
|
||||
RT_ERR_L2_IPMULTI_PARAM, /* 0x0006000f, invalid L2 ip multicast parameter */
|
||||
RT_ERR_L2_PARTIAL_HASH_KEY, /* 0x00060010, invalid L2 partial Hash key */
|
||||
RT_ERR_L2_EMPTY_ENTRY, /* 0x00060011, the entry is empty(invalid) */
|
||||
RT_ERR_L2_FLUSH_TYPE, /* 0x00060012, the flush type is invalid */
|
||||
RT_ERR_L2_NO_CPU_PORT, /* 0x00060013, CPU port not exist */
|
||||
RT_ERR_L2_MULTI_FWD_INDEX, /* 0x00060014, invalid index of multicast forwarding portmask */
|
||||
RT_ERR_L2_ENTRY_EXIST, /* 0x00060015, entry already exist */
|
||||
RT_ERR_L2_EXCEPT_ADDR_TYPE, /* 0x00060016, Invalid exception address type */
|
||||
RT_ERR_L2_MCAST_FWD_ENTRY_EXIST, /* 0x00060017, mcast forwarding entry already exist */
|
||||
RT_ERR_L2_MCAST_FWD_ENTRY_NOT_EXIST, /* 0x00060018, mcast forwarding entry not exist */
|
||||
RT_ERR_L2_EFID, /* 0x00060019, Invalid Enhanced FID */
|
||||
RT_ERR_L2_SIP_INDEX, /* 0x0006001a, Invalid SIP filter table index */
|
||||
|
||||
/* 0x0007xxxx for FILTER (PIE) */
|
||||
RT_ERR_FILTER_BLOCKNUM = 0x00070000, /* 0x00070000, invalid block number */
|
||||
RT_ERR_FILTER_ENTRYIDX, /* 0x00070001, invalid entry index */
|
||||
RT_ERR_FILTER_CUTLINE, /* 0x00070002, invalid cutline value */
|
||||
RT_ERR_FILTER_FLOWTBLBLOCK, /* 0x00070003, block belongs to flow table */
|
||||
RT_ERR_FILTER_INACLBLOCK, /* 0x00070004, block belongs to ingress ACL */
|
||||
RT_ERR_FILTER_ACTION, /* 0x00070005, action doesn't consist to entry type */
|
||||
RT_ERR_FILTER_INACL_RULENUM, /* 0x00070006, invalid ACL rulenum */
|
||||
RT_ERR_FILTER_INACL_TYPE, /* 0x00070007, entry type isn't an ingress ACL rule */
|
||||
RT_ERR_FILTER_INACL_EXIST, /* 0x00070008, ACL entry is already exit */
|
||||
RT_ERR_FILTER_INACL_EMPTY, /* 0x00070009, ACL entry is empty */
|
||||
RT_ERR_FILTER_FLOWTBL_TYPE, /* 0x0007000a, entry type isn't an flow table rule */
|
||||
RT_ERR_FILTER_FLOWTBL_RULENUM, /* 0x0007000b, invalid flow table rulenum */
|
||||
RT_ERR_FILTER_FLOWTBL_EMPTY, /* 0x0007000c, flow table entry is empty */
|
||||
RT_ERR_FILTER_FLOWTBL_EXIST, /* 0x0007000d, flow table entry is already exist */
|
||||
RT_ERR_FILTER_METER_ID, /* 0x0007000e, invalid metering id */
|
||||
RT_ERR_FILTER_LOG_ID, /* 0x0007000f, invalid log id */
|
||||
RT_ERR_PIE_FIELD_TYPE, /* 0x00070010, invalid pie field type */
|
||||
RT_ERR_PIE_PHASE, /* 0x00070011, invalid pie phase */
|
||||
RT_ERR_PIE_PHASE_NOT_SUPPORTED, /* 0x00070012, pie phase not supported in the chip */
|
||||
|
||||
/* 0x0008xxxx for ACL Rate Limit */
|
||||
RT_ERR_ACLRL_HTHR = 0x00080000, /* 0x00080000, invalid high threshold */
|
||||
RT_ERR_ACLRL_TIMESLOT, /* 0x00080001, invalid time slot */
|
||||
RT_ERR_ACLRL_TOKEN, /* 0x00080002, invalid token amount */
|
||||
RT_ERR_ACLRL_RATE, /* 0x00080003, invalid rate */
|
||||
|
||||
/* 0x0009xxxx for Link aggregation */
|
||||
RT_ERR_LA_CPUPORT = 0x00090000, /* 0x00090000, CPU port can not be aggregated port */
|
||||
RT_ERR_LA_TRUNK_ID, /* 0x00090001, invalid trunk id */
|
||||
RT_ERR_LA_PORTMASK, /* 0x00090002, invalid port mask */
|
||||
RT_ERR_LA_HASHMASK, /* 0x00090003, invalid hash mask */
|
||||
RT_ERR_LA_DUMB, /* 0x00090004, this API should be used in 802.1ad dumb mode */
|
||||
RT_ERR_LA_PORTNUM_DUMB, /* 0x00090005, it can only aggregate at most four ports when 802.1ad dumb mode */
|
||||
RT_ERR_LA_PORTNUM_NORMAL, /* 0x00090006, it can only aggregate at most eight ports when 802.1ad normal mode */
|
||||
RT_ERR_LA_MEMBER_OVERLAP, /* 0x00090007, the specified port mask is overlapped with other group */
|
||||
RT_ERR_LA_NOT_MEMBER_PORT, /* 0x00090008, the port is not a member port of the trunk */
|
||||
RT_ERR_LA_TRUNK_NOT_EXIST, /* 0x00090009, the trunk doesn't exist */
|
||||
|
||||
/* 0x000axxxx for storm filter */
|
||||
RT_ERR_SFC_TICK_PERIOD = 0x000a0000, /* 0x000a0000, invalid SFC tick period */
|
||||
RT_ERR_SFC_UNKNOWN_GROUP, /* 0x000a0001, Unknown Storm filter group */
|
||||
|
||||
/* 0x000bxxxx for pattern match */
|
||||
RT_ERR_PM_MASK = 0x000b0000, /* 0x000b0000, invalid pattern length. Pattern length should be 8 */
|
||||
RT_ERR_PM_LENGTH, /* 0x000b0001, invalid pattern match mask, first byte must care */
|
||||
RT_ERR_PM_MODE, /* 0x000b0002, invalid pattern match mode */
|
||||
|
||||
/* 0x000cxxxx for input bandwidth control */
|
||||
RT_ERR_INBW_TICK_PERIOD = 0x000c0000, /* 0x000c0000, invalid tick period for input bandwidth control */
|
||||
RT_ERR_INBW_TOKEN_AMOUNT, /* 0x000c0001, invalid amount of token for input bandwidth control */
|
||||
RT_ERR_INBW_FCON_VALUE, /* 0x000c0002, invalid flow control ON threshold value for input bandwidth control */
|
||||
RT_ERR_INBW_FCOFF_VALUE, /* 0x000c0003, invalid flow control OFF threshold value for input bandwidth control */
|
||||
RT_ERR_INBW_FC_ALLOWANCE, /* 0x000c0004, invalid allowance of incomming packet for input bandwidth control */
|
||||
RT_ERR_INBW_RATE, /* 0x000c0005, invalid input bandwidth */
|
||||
|
||||
/* 0x000dxxxx for QoS */
|
||||
RT_ERR_QOS_1P_PRIORITY = 0x000d0000, /* 0x000d0000, invalid 802.1P priority */
|
||||
RT_ERR_QOS_DSCP_VALUE, /* 0x000d0001, invalid DSCP value */
|
||||
RT_ERR_QOS_INT_PRIORITY, /* 0x000d0002, invalid internal priority */
|
||||
RT_ERR_QOS_SEL_DSCP_PRI, /* 0x000d0003, invalid DSCP selection priority */
|
||||
RT_ERR_QOS_SEL_PORT_PRI, /* 0x000d0004, invalid port selection priority */
|
||||
RT_ERR_QOS_SEL_IN_ACL_PRI, /* 0x000d0005, invalid ingress ACL selection priority */
|
||||
RT_ERR_QOS_SEL_CLASS_PRI, /* 0x000d0006, invalid classifier selection priority */
|
||||
RT_ERR_QOS_EBW_RATE, /* 0x000d0007, invalid egress bandwidth rate */
|
||||
RT_ERR_QOS_SCHE_TYPE, /* 0x000d0008, invalid QoS scheduling type */
|
||||
RT_ERR_QOS_QUEUE_WEIGHT, /* 0x000d0009, invalid Queue weight */
|
||||
|
||||
/* 0x000exxxx for port ability */
|
||||
RT_ERR_PHY_PAGE_ID = 0x000e0000, /* 0x000e0000, invalid PHY page id */
|
||||
RT_ERR_PHY_REG_ID, /* 0x000e0001, invalid PHY reg id */
|
||||
RT_ERR_PHY_DATAMASK, /* 0x000e0002, invalid PHY data mask */
|
||||
RT_ERR_PHY_AUTO_NEGO_MODE, /* 0x000e0003, invalid PHY auto-negotiation mode*/
|
||||
RT_ERR_PHY_SPEED, /* 0x000e0004, invalid PHY speed setting */
|
||||
RT_ERR_PHY_DUPLEX, /* 0x000e0005, invalid PHY duplex setting */
|
||||
RT_ERR_PHY_FORCE_ABILITY, /* 0x000e0006, invalid PHY force mode ability parameter */
|
||||
RT_ERR_PHY_FORCE_1000, /* 0x000e0007, invalid PHY force mode 1G speed setting */
|
||||
RT_ERR_PHY_TXRX, /* 0x000e0008, invalid PHY tx/rx */
|
||||
RT_ERR_PHY_RTCT_NOT_FINISH, /* 0x000e0009, PHY RTCT in progress */
|
||||
RT_ERR_PHY_RTCT_TIMEOUT, /* 0x000e000a, PHY RTCT timeout */
|
||||
RT_ERR_PHY_AUTO_ABILITY, /* 0x000e000b, invalid PHY auto mode ability parameter */
|
||||
RT_ERR_PHY_FIBER_LINKUP, /* 0x000e000c, Access copper PHY is not permit when fiber is linkup */
|
||||
|
||||
/* 0x000fxxxx for mirror */
|
||||
RT_ERR_MIRROR_DIRECTION = 0x000f0000, /* 0x000f0000, invalid error mirror direction */
|
||||
RT_ERR_MIRROR_SESSION_FULL, /* 0x000f0001, mirroring session is full */
|
||||
RT_ERR_MIRROR_SESSION_NOEXIST, /* 0x000f0002, mirroring session not exist */
|
||||
RT_ERR_MIRROR_PORT_EXIST, /* 0x000f0003, mirroring port already exists */
|
||||
RT_ERR_MIRROR_PORT_NOT_EXIST, /* 0x000f0004, mirroring port does not exists */
|
||||
RT_ERR_MIRROR_PORT_FULL, /* 0x000f0005, Exceeds maximum number of supported mirroring port */
|
||||
RT_ERR_MIRROR_ID, /* 0x000f0006, Invalid mirror ID */
|
||||
|
||||
/* 0x0010xxxx for stat */
|
||||
RT_ERR_STAT_INVALID_GLOBAL_CNTR = 0x00100000, /* 0x00100000, Invalid Global Counter */
|
||||
RT_ERR_STAT_INVALID_PORT_CNTR, /* 0x00100001, Invalid Port Counter */
|
||||
RT_ERR_STAT_GLOBAL_CNTR_FAIL, /* 0x00100002, Could not retrieve/reset Global Counter */
|
||||
RT_ERR_STAT_PORT_CNTR_FAIL, /* 0x00100003, Could not retrieve/reset Port Counter */
|
||||
RT_ERR_STAT_INVALID_SMON_CNTR, /* 0x00100004, Invalid SMON Counter */
|
||||
RT_ERR_STAT_SMON_CNTR_FAIL, /* 0x00100005, Could not retrieve/reset SMON Counter */
|
||||
|
||||
/* 0x0011xxxx for dot1x */
|
||||
RT_ERR_DOT1X_INVALID_DIRECTION = 0x00110000, /* 0x00110000, Invalid Authentication Direction */
|
||||
RT_ERR_DOT1X_PROC, /* 0x00110001, Invalid process type */
|
||||
RT_ERR_DOT1X_GVLANIDX, /* 0x00110002, Invalid cvid index */
|
||||
|
||||
/* 0x0012xxxx for GPON */
|
||||
RT_ERR_GPON_INITIAL_FAIL = 0x00120000, /* 0x00120000, GPON driver initialize fail */
|
||||
RT_ERR_GPON_INVALID_HANDLE, /* 0x00120001, GPON driver handle error */
|
||||
RT_ERR_GPON_DRV_NOT_STARTED, /* 0x00120002, GPON driver is not started */
|
||||
RT_ERR_GPON_DRV_ALREADY_STARTED, /* 0x00120003, GPON driver is already started */
|
||||
RT_ERR_GPON_ONU_ALREADY_REGISTERED, /* 0x00120004, ONU is already registered */
|
||||
RT_ERR_GPON_ONU_NOT_REGISTERED, /* 0x00120005, ONU is not registered */
|
||||
RT_ERR_GPON_ONU_ALREADY_ACTIVATED, /* 0x00120006, GPON Device has already been activeted */
|
||||
RT_ERR_GPON_ONU_NOT_ACTIVATED, /* 0x00120007, GPON Device has not been activeted */
|
||||
RT_ERR_GPON_EXCEED_MAX_TCONT, /* 0x00120008, Exceed maximum number of the tcont */
|
||||
RT_ERR_GPON_EXCEED_MAX_FLOW, /* 0x00120009, Exceed maximum number of the flow */
|
||||
RT_ERR_GPON_PLOAM_QUEUE_FULL, /* 0x0012000a, PLOAM queue is full */
|
||||
RT_ERR_GPON_PLOAM_QUEUE_EMPTY, /* 0x0012000b, PLOAM queue is empty */
|
||||
RT_ERR_GPON_OMCI_QUEUE_FULL, /* 0x0012000c, OMCI queue is full */
|
||||
RT_ERR_GPON_OMCI_QUEUE_EMPTY, /* 0x0012000d, OMCI queue is empty */
|
||||
RT_ERR_GPON_TABLE_ENTRY_NOT_FOUND, /* 0x0012000e, The entry is not found in table */
|
||||
RT_ERR_GPON_MAC_FILTER_TABLE_FULL, /* 0x0012000f, The entry is not found in table */
|
||||
RT_ERR_GPON_MAC_FILTER_TABLE_ALLOC_FAIL, /* 0x00120010, The entry is allocate fail */
|
||||
RT_ERR_GPON_FORBID_TCONT_ID, /* 0x00120011, The input tcont id is forbid tcont for aggregate tcont */
|
||||
|
||||
/* 0x0013xxxx for DSL or EXT */
|
||||
RT_ERR_DSL_VC = 0x00130000, /* 0x00130000, invalid DSL VC */
|
||||
RT_ERR_EXT_PORT_ID, /* 0x00130001, invalid EXT port id */
|
||||
|
||||
RT_ERR_END /* The symbol is the latest symbol */
|
||||
} rt_error_code_t;
|
||||
|
||||
/*
|
||||
* Macro Definition
|
||||
*/
|
||||
#define RT_ERR_XLATE_RET(ret)\
|
||||
do {\
|
||||
if (ret) {\
|
||||
return rtk_error_translate(ret);\
|
||||
}\
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
extern int32
|
||||
rtk_error_translate(int32 errCode);
|
||||
|
||||
/* Function Name:
|
||||
* rt_error_numToStr
|
||||
* Description:
|
||||
* Convert error number to readable string.
|
||||
* Input:
|
||||
* err_num --- error number
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* error string
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
|
||||
extern const uint8 *rt_error_numToStr(int32 err_num);
|
||||
|
||||
#endif /* __COMMON_RT_ERROR_H__ */
|
||||
|
||||
400
sources/rtk-gp3000/include/common/rt_type.h
Executable file
400
sources/rtk-gp3000/include/common/rt_type.h
Executable file
|
|
@ -0,0 +1,400 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
*
|
||||
* Purpose : Definition the basic types in the SDK.
|
||||
*
|
||||
* Feature : type definition
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __COMMON_RT_TYPE_H__
|
||||
#define __COMMON_RT_TYPE_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/type.h>
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
#define RTK_MAX_NUM_OF_PORTS 32
|
||||
#define RTK_MAX_PORT_ID (RTK_MAX_NUM_OF_PORTS - 1)
|
||||
#define RTK_TOTAL_NUM_OF_BYTE_FOR_1BIT_PORT_LIST ((RTK_MAX_NUM_OF_PORTS+7)/8)
|
||||
#define RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST ((RTK_MAX_NUM_OF_PORTS+31)/32)
|
||||
#define RTK_MAX_NUM_OF_MIRRORING_PORT 1
|
||||
#define RTK_MAX_NUM_OF_TRUNK_HASH_VAL 16
|
||||
#define RTK_MAX_NUM_OF_SVLAN_ID 4096
|
||||
#define RTK_VLAN_ID_MIN 0
|
||||
#define RTK_VLAN_ID_MAX 4095
|
||||
#define RTK_EXT_VLAN_ID_MAX 8191
|
||||
#define RTK_ETHERTYPE_MAX 0xFFFF
|
||||
#define RTK_MAX_NUM_OF_QUEUE 8
|
||||
#define RTK_MAX_NUM_OF_PRIORITY 8
|
||||
#define RTK_VALUE_OF_DSCP_MAX 63
|
||||
#define RTK_VALUE_OF_DSCP_MIN 0
|
||||
#define RTK_VALUE_OF_TOS_TC_MAX 255
|
||||
#define RTK_VALUE_OF_TOS_TC_MIN 0
|
||||
#define RTK_DOT1P_PRIORITY_MAX 7
|
||||
#define RTK_DOT1P_DEI_MAX 1
|
||||
#define RTK_DROP_PRECEDENCE_MAX 2
|
||||
#define RTK_LINKMON_SCAN_INTERVAL_MIN 10000
|
||||
#define RTK_WA_SCAN_INTERVAL_MIN 500000
|
||||
#define RTK_EEE_TX_SLEEP_RATE_FE_MAX 3125
|
||||
#define RTK_EEE_TX_SLEEP_RATE_GE_MAX 31250
|
||||
#define RTK_PRI_SEL_WEIGHT_MAX 15
|
||||
/*
|
||||
* Data Type Declaration
|
||||
*/
|
||||
typedef uint32 rtk_vlan_t; /* vlan id type */
|
||||
typedef uint32 rtk_fid_t; /* filter id type */
|
||||
typedef uint32 rtk_efid_t; /* enhanced filter id type */
|
||||
typedef uint32 rtk_stg_t; /* spanning tree instance id type */
|
||||
typedef uint32 rtk_port_t; /* port is type */
|
||||
typedef uint32 rtk_pri_t; /* priority vlaue */
|
||||
typedef uint32 rtk_qid_t; /* queue id type */
|
||||
typedef uint32 rtk_filter_id_t; /* filter id type */
|
||||
typedef uint32 rtk_pie_id_t; /* PIE id type */
|
||||
typedef uint32 rtk_acl_id_t; /* ACL id type */
|
||||
typedef uint32 rtk_dscp_t; /* DSCP value */
|
||||
|
||||
typedef enum rtk_port_media_e
|
||||
{
|
||||
PORT_MEDIA_COPPER = 0,
|
||||
PORT_MEDIA_FIBER,
|
||||
PORT_MEDIA_COPPER_AUTO,
|
||||
PORT_MEDIA_FIBER_AUTO,
|
||||
PORT_MEDIA_END
|
||||
} rtk_port_media_t;
|
||||
|
||||
typedef enum rtk_flowctrl_patch_e
|
||||
{
|
||||
FLOWCTRL_PATCH_20M = 0,
|
||||
FLOWCTRL_PATCH_35M_FIBER,
|
||||
FLOWCTRL_PATCH_35M_GPON,
|
||||
FLOWCTRL_PATCH_TCP_QOS_PON,
|
||||
FLOWCTRL_PATCH_DEFAULT,
|
||||
FLOWCTRL_PATCH_END
|
||||
} rtk_flowctrl_patch_t;
|
||||
|
||||
typedef struct rtk_portmask_s
|
||||
{
|
||||
uint32 bits[RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST];
|
||||
} rtk_portmask_t;
|
||||
|
||||
|
||||
#define RTK_MASK_MAX_LEN 128
|
||||
|
||||
typedef uint32 rtk_bitmap_t;
|
||||
#define RTK_BMP_BIT_LEN 32
|
||||
|
||||
#define RTK_BMP_WIDTH(_len) (((_len) + RTK_BMP_BIT_LEN - 1) / RTK_BMP_BIT_LEN)
|
||||
|
||||
typedef struct rtk_bmp_s
|
||||
{
|
||||
rtk_bitmap_t bits[RTK_BMP_WIDTH(RTK_MASK_MAX_LEN)];
|
||||
} rtk_bmp_t;
|
||||
|
||||
|
||||
|
||||
typedef struct rt_portType_info_s
|
||||
{
|
||||
uint32 portNum;
|
||||
int32 max; /* use (-1) for VALUE_NO_INIT */
|
||||
int32 min; /* use (-1) for VALUE_NO_INIT */
|
||||
rtk_portmask_t portmask;
|
||||
} rt_portType_info_t;
|
||||
|
||||
/* frame type of protocol vlan - reference 802.1v standard */
|
||||
typedef enum rtk_vlan_protoVlan_frameType_e
|
||||
{
|
||||
FRAME_TYPE_ETHERNET = 0,
|
||||
FRAME_TYPE_RFC1042,
|
||||
FRAME_TYPE_SNAP8021H,/* Not supported by any chip */
|
||||
FRAME_TYPE_SNAPOTHER,/* Not supported by any chip */
|
||||
FRAME_TYPE_LLCOTHER,
|
||||
FRAME_TYPE_END
|
||||
} rtk_vlan_protoVlan_frameType_t;
|
||||
|
||||
/* Protocol-and-port-based Vlan structure */
|
||||
typedef struct rtk_vlan_protoAndPortInfo_s
|
||||
{
|
||||
uint32 proto_type;
|
||||
rtk_vlan_protoVlan_frameType_t frame_type;
|
||||
rtk_vlan_t cvid;
|
||||
rtk_pri_t cpri;
|
||||
}rtk_vlan_protoAndPortInfo_t;
|
||||
|
||||
|
||||
#define IPV6_ADDR_LEN 16
|
||||
typedef uint32 rtk_ip_addr_t;
|
||||
typedef struct rtk_ipv6_addr_s
|
||||
{
|
||||
uint8 ipv6_addr[IPV6_ADDR_LEN];
|
||||
} rtk_ipv6_addr_t;
|
||||
|
||||
typedef enum rtk_ip_family_e
|
||||
{
|
||||
IPV4_FAMILY,
|
||||
IPV6_FAMILY,
|
||||
IP_FAMILY_END
|
||||
} rtk_ip_family_t;
|
||||
|
||||
typedef enum rtk_l4Proto_e
|
||||
{
|
||||
L4PROTO_TCP = 0,
|
||||
L4PROTO_UDP,
|
||||
L4PROTO_END
|
||||
} rtk_l4Proto_t;
|
||||
|
||||
typedef enum rtk_action_e
|
||||
{
|
||||
ACTION_FORWARD = 0,
|
||||
ACTION_DROP,
|
||||
ACTION_TRAP2CPU,
|
||||
ACTION_COPY2CPU,
|
||||
ACTION_TO_GUESTVLAN,
|
||||
ACTION_FLOOD_IN_VLAN,
|
||||
ACTION_FLOOD_IN_ALL_PORT,
|
||||
ACTION_FLOOD_IN_ROUTER_PORTS,
|
||||
ACTION_FORWARD_EXCLUDE_CPU,
|
||||
ACTION_DROP_EXCLUDE_RMA,
|
||||
ACTION_FOLLOW_FB,
|
||||
ACTION_END
|
||||
} rtk_action_t;
|
||||
|
||||
|
||||
#define SNAPOUI_LEN 3
|
||||
typedef struct rtk_snapOui_s
|
||||
{
|
||||
uint8 snapOui[SNAPOUI_LEN];
|
||||
} rtk_snapOui_t;
|
||||
|
||||
typedef enum rtk_pktType_e
|
||||
{
|
||||
ETHERNET_II_PACKET = 0,
|
||||
SNAP_PACKET,
|
||||
PKT_TYPE_END
|
||||
} rtk_pktType_t;
|
||||
|
||||
typedef enum rtk_vlanType_e
|
||||
{
|
||||
INNER_VLAN = 0,
|
||||
OUTER_VLAN,
|
||||
VLAN_TYPE_END
|
||||
} rtk_vlanType_t;
|
||||
|
||||
typedef enum rtk_snapMode_e
|
||||
{
|
||||
SNAP_MODE_AAAA03000000 = 0, /* compare 0xAAAA03000000 */
|
||||
SNAP_MODE_AAAA03, /* compare 0xAAAA03 */
|
||||
SNAP_MODE_END
|
||||
} rtk_snapMode_t;
|
||||
|
||||
typedef enum rtk_pktFormat_e
|
||||
{
|
||||
ORIGINAL_PACKET = 0,
|
||||
MODIFIED_PACKET,
|
||||
PKT_FORMAT_END
|
||||
} rtk_pktFormat_t;
|
||||
|
||||
typedef enum rtk_direct_e
|
||||
{
|
||||
DIRECT_UPSTREAM = 0,
|
||||
DIRECT_DOWNSTREAM,
|
||||
DIRECT_END
|
||||
} rtk_direct_t;
|
||||
|
||||
typedef enum rtk_stpid_act_e
|
||||
{
|
||||
US_CSACT_NOP = 0,
|
||||
US_CSACT_VS_TPID,
|
||||
US_CSACT_8100,
|
||||
US_CSACT_END
|
||||
} rtk_us_csact_t;
|
||||
|
||||
typedef enum rtk_us_cact_e
|
||||
{
|
||||
US_CACT_NOP = 0,
|
||||
US_CACT_UNTAG,
|
||||
US_CACT_C2S,
|
||||
US_CACT_TRANSPARENT,
|
||||
US_CACT_END
|
||||
} rtk_us_cact_t;
|
||||
|
||||
typedef enum rtk_us_act_e
|
||||
{
|
||||
US_SACT_ASSIGN = 0,
|
||||
US_SACT_COPY_C,
|
||||
US_SACT_INTERNAL,
|
||||
US_SACT_END
|
||||
} rtk_us_act_t;
|
||||
|
||||
typedef enum rtk_us_id_act_e
|
||||
{
|
||||
US_ID_SID = 0,
|
||||
US_ID_QID,
|
||||
US_ID_END
|
||||
} rtk_us_id_act_t;
|
||||
|
||||
typedef enum rtk_ds_csact_e
|
||||
{
|
||||
DS_CSACT_NOP = 0,
|
||||
DS_CSACT_VS_TPID,
|
||||
DS_CSACT_8100,
|
||||
DS_CSACT_DEL,
|
||||
DS_CSACT_END
|
||||
} rtk_ds_csact_t;
|
||||
|
||||
typedef enum rtk_ds_cact_e
|
||||
{
|
||||
DS_CACT_NOP = 0,
|
||||
DS_CACT_TAG,
|
||||
DS_CACT_SP2C,
|
||||
DS_CACT_TRANSPARENT,
|
||||
DS_CACT_END
|
||||
} rtk_ds_cact_t;
|
||||
|
||||
typedef enum rtk_ds_act_e
|
||||
{
|
||||
DS_ACT_SWCORE = 0,
|
||||
DS_ACT_COPY_S,
|
||||
DS_ACT_ASSIGN,
|
||||
DS_ACT_LUT,
|
||||
DS_ACT_END
|
||||
} rtk_ds_act_t;
|
||||
|
||||
typedef enum rtk_ds_cspri_act_e
|
||||
{
|
||||
DS_CFPRI_SWCORE = 0,
|
||||
DS_CFPRI_ASSIGN,
|
||||
DS_CFPRI_END
|
||||
} rtk_ds_cfpri_act_t;
|
||||
|
||||
typedef enum rtk_ds_uni_act_e
|
||||
{
|
||||
DS_UNI_FWD = 0,
|
||||
DS_UNI_FS_FWD,
|
||||
DS_UNI_END
|
||||
} rtk_ds_uni_act_t;
|
||||
|
||||
typedef enum rtk_cpu_tag_fmt_e
|
||||
{
|
||||
CPU_TAG_FMT_APOLLO = 0,
|
||||
CPU_TAG_FMT_NORMAL,
|
||||
CPU_TAG_FMT_END
|
||||
} rtk_cpu_tag_fmt_t;
|
||||
|
||||
/*RT definition*/
|
||||
extern uint32 rt_port0;
|
||||
extern uint32 rt_port1;
|
||||
extern uint32 rt_port2;
|
||||
extern uint32 rt_port3;
|
||||
extern uint32 rt_port4;
|
||||
extern uint32 rt_port5;
|
||||
extern uint32 rt_port6;
|
||||
extern uint32 rt_port7;
|
||||
extern uint32 rt_port_pon;
|
||||
extern uint32 rt_port_cpu0;
|
||||
extern uint32 rt_port_cpu1;
|
||||
extern uint32 rt_port_cpu2;
|
||||
extern uint32 rt_port_cpu3;
|
||||
extern uint32 rt_port_cpu4;
|
||||
extern uint32 rt_port_cpu5;
|
||||
extern uint32 rt_port_cpu6;
|
||||
extern uint32 rt_port_cpu7;
|
||||
extern uint32 rt_port_max;
|
||||
|
||||
extern uint32 rt_port_phy_port0_bit;
|
||||
extern uint32 rt_port_phy_port1_bit;
|
||||
extern uint32 rt_port_phy_port2_bit;
|
||||
extern uint32 rt_port_phy_port3_bit;
|
||||
extern uint32 rt_port_phy_port4_bit;
|
||||
extern uint32 rt_port_phy_pon_bit;
|
||||
|
||||
extern uint32 rt_port_phy_port0;
|
||||
extern uint32 rt_port_phy_port1;
|
||||
extern uint32 rt_port_phy_port2;
|
||||
extern uint32 rt_port_phy_port3;
|
||||
extern uint32 rt_port_phy_port4;
|
||||
extern uint32 rt_port_phy_pon;
|
||||
|
||||
#define RT_PORT0 (rt_port0)
|
||||
#define RT_PORT1 (rt_port1)
|
||||
#define RT_PORT2 (rt_port2)
|
||||
#define RT_PORT3 (rt_port3)
|
||||
#define RT_PORT4 (rt_port4)
|
||||
#define RT_PORT5 (rt_port5)
|
||||
#define RT_PORT6 (rt_port6)
|
||||
#define RT_PORT7 (rt_port7)
|
||||
#define RT_PORT_PON (rt_port_pon)
|
||||
#define RT_PORT_CPU0 (rt_port_cpu0)
|
||||
#define RT_PORT_CPU1 (rt_port_cpu1)
|
||||
#define RT_PORT_CPU2 (rt_port_cpu2)
|
||||
#define RT_PORT_CPU3 (rt_port_cpu3)
|
||||
#define RT_PORT_CPU4 (rt_port_cpu4)
|
||||
#define RT_PORT_CPU5 (rt_port_cpu5)
|
||||
#define RT_PORT_CPU6 (rt_port_cpu6)
|
||||
#define RT_PORT_CPU7 (rt_port_cpu7)
|
||||
#define RT_PORT_MAX (rt_port_max)
|
||||
|
||||
#define RT_PORT_PHY_PORT_PORT0_BIT (rt_port_phy_port0_bit)
|
||||
#define RT_PORT_PHY_PORT_PORT1_BIT (rt_port_phy_port1_bit)
|
||||
#define RT_PORT_PHY_PORT_PORT2_BIT (rt_port_phy_port2_bit)
|
||||
#define RT_PORT_PHY_PORT_PORT3_BIT (rt_port_phy_port3_bit)
|
||||
#define RT_PORT_PHY_PORT_PORT4_BIT (rt_port_phy_port4_bit)
|
||||
#define RT_PORT_PHY_PORT_PON_BIT (rt_port_phy_pon_bit)
|
||||
|
||||
#define RT_PORT_PHY_PORT_PORT0 (rt_port_phy_port0)
|
||||
#define RT_PORT_PHY_PORT_PORT1 (rt_port_phy_port1)
|
||||
#define RT_PORT_PHY_PORT_PORT2 (rt_port_phy_port2)
|
||||
#define RT_PORT_PHY_PORT_PORT3 (rt_port_phy_port3)
|
||||
#define RT_PORT_PHY_PORT_PORT4 (rt_port_phy_port4)
|
||||
#define RT_PORT_PHY_PORT_PON (rt_port_phy_pon)
|
||||
|
||||
#define RT_PORT_INVALID 0xffffffff
|
||||
|
||||
|
||||
#define rt_port_t uint32
|
||||
#define rt_phy_port_t uint32
|
||||
#define rt_port_phy_port_mask_t uint32
|
||||
#define rt_port_phy_port_index_t uint32
|
||||
#define rt_vlan_t uint32
|
||||
|
||||
typedef struct rt_portmask_s
|
||||
{
|
||||
uint32 bits[RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST];
|
||||
} rt_portmask_t;
|
||||
|
||||
typedef enum rt_action_e
|
||||
{
|
||||
RT_ACTION_FORWARD = 0,
|
||||
RT_ACTION_DROP,
|
||||
RT_ACTION_TRAP2CPU,
|
||||
RT_ACTION_COPY2CPU,
|
||||
RT_ACTION_TO_GUESTVLAN,
|
||||
RT_ACTION_FLOOD_IN_VLAN,
|
||||
RT_ACTION_FLOOD_IN_ALL_PORT,
|
||||
RT_ACTION_FLOOD_IN_ROUTER_PORTS,
|
||||
RT_ACTION_FORWARD_EXCLUDE_CPU,
|
||||
RT_ACTION_DROP_EXCLUDE_RMA,
|
||||
RT_ACTION_FOLLOW_FB,
|
||||
RT_ACTION_END
|
||||
} rt_action_t;
|
||||
|
||||
typedef struct rt_ipv6_addr_s
|
||||
{
|
||||
uint8 ipv6_addr[IPV6_ADDR_LEN];
|
||||
} rt_ipv6_addr_t;
|
||||
/*RT definition*/
|
||||
|
||||
#endif /* __COMMON_RT_TYPE_H__ */
|
||||
|
||||
210
sources/rtk-gp3000/include/common/util/rt_bitop.h
Normal file
210
sources/rtk-gp3000/include/common/util/rt_bitop.h
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
* Purpose : BIT operation utility
|
||||
*
|
||||
* Feature :
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __COMMON_RT_BITOP_H__
|
||||
#define __COMMON_RT_BITOP_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
#define MASK_BIT_LEN 32
|
||||
|
||||
/* bit masp */
|
||||
#define BITMASK_1B 0x00000001
|
||||
#define BITMASK_2B 0x00000003
|
||||
#define BITMASK_3B 0x00000007
|
||||
#define BITMASK_4B 0x0000000F
|
||||
#define BITMASK_5B 0x0000001F
|
||||
#define BITMASK_6B 0x0000003F
|
||||
#define BITMASK_7B 0x0000007F
|
||||
#define BITMASK_8B 0x000000FF
|
||||
#define BITMASK_9B 0x000001FF
|
||||
#define BITMASK_10B 0x000003FF
|
||||
#define BITMASK_11B 0x000007FF
|
||||
#define BITMASK_12B 0x00000FFF
|
||||
#define BITMASK_13B 0x00001FFF
|
||||
#define BITMASK_14B 0x00003FFF
|
||||
#define BITMASK_15B 0x00007FFF
|
||||
#define BITMASK_16B 0x0000FFFF
|
||||
#define BITMASK_17B 0x0001FFFF
|
||||
#define BITMASK_18B 0x0003FFFF
|
||||
#define BITMASK_19B 0x0007FFFF
|
||||
#define BITMASK_20B 0x000FFFFF
|
||||
#define BITMASK_21B 0x001FFFFF
|
||||
#define BITMASK_22B 0x003FFFFF
|
||||
#define BITMASK_23B 0x007FFFFF
|
||||
#define BITMASK_24B 0x00FFFFFF
|
||||
#define BITMASK_25B 0x01FFFFFF
|
||||
#define BITMASK_26B 0x03FFFFFF
|
||||
#define BITMASK_27B 0x07FFFFFF
|
||||
#define BITMASK_28B 0x0FFFFFFF
|
||||
#define BITMASK_29B 0x1FFFFFFF
|
||||
#define BITMASK_30B 0x3FFFFFFF
|
||||
#define BITMASK_31B 0x7FFFFFFF
|
||||
#define BITMASK_32B 0xFFFFFFFF
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Macro Definition
|
||||
*/
|
||||
#define BITMAP_IS_SET(array, index)\
|
||||
(array[index/(sizeof(array[0]) << 3)] & (0x1 << (index%(sizeof(array[0]) << 3))))
|
||||
#define BITMAP_IS_CLEAR(array, index)\
|
||||
!(array[index/(sizeof(array[0]) << 3)] & (0x1 << (index%(sizeof(array[0]) << 3))))
|
||||
#define BITMAP_SET(array, index) do {\
|
||||
array[index/(sizeof(array[0]) << 3)] = \
|
||||
(array[index/(sizeof(array[0]) << 3)] | (0x1 << (index%(sizeof(array[0]) << 3)))); } while(0)
|
||||
#define BITMAP_CLEAR(array, index) do {\
|
||||
array[index/(sizeof(array[0]) << 3)] = \
|
||||
(array[index/(sizeof(array[0]) << 3)] & ~(0x1 << (index%(sizeof(array[0]) << 3)))); } while(0)
|
||||
|
||||
#define BITMAP_ASSIGN(dstArray, srcArray, length) \
|
||||
do { \
|
||||
osal_memcpy(dstArray, srcArray, length*4); \
|
||||
} while(0)
|
||||
|
||||
#define BITMAP_RESET(dstArray, length) \
|
||||
do { \
|
||||
osal_memset(dstArray, 0, length*4); \
|
||||
} while(0)
|
||||
|
||||
#define BITMAP_COMPARE(dstArray, srcArray, length) osal_memcmp(dstArray, srcArray, length*4)
|
||||
|
||||
#define BITMAP_AND(dstArray, srcArray, length) \
|
||||
do { \
|
||||
uint32 array_index;\
|
||||
for (array_index = 0; array_index < length; array_index++)\
|
||||
{\
|
||||
dstArray[array_index] &= srcArray[array_index];\
|
||||
}\
|
||||
} while(0)
|
||||
|
||||
#define BITMAP_OR(dstArray, srcArray, length) \
|
||||
do { \
|
||||
uint32 array_index;\
|
||||
for (array_index = 0; array_index < length; array_index++)\
|
||||
{\
|
||||
dstArray[array_index] |= srcArray[array_index];\
|
||||
}\
|
||||
} while(0)
|
||||
|
||||
#define BITMAP_XOR(dstArray, srcArray, length) \
|
||||
do { \
|
||||
uint32 array_index;\
|
||||
for (array_index = 0; array_index < length; array_index++)\
|
||||
{\
|
||||
dstArray[array_index] ^= srcArray[array_index];\
|
||||
}\
|
||||
} while(0)
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* bitop_numberOfSetBits
|
||||
* Description:
|
||||
* caculate how much bit is set in this word
|
||||
* Input:
|
||||
* value - the word to be handled
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* number bits are set
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern uint32
|
||||
rt_bitop_numberOfSetBits(uint32 value);
|
||||
|
||||
/* Function Name:
|
||||
* bitop_numberOfSetBitsInArray
|
||||
* Description:
|
||||
* caculate how much bit is set in this array
|
||||
* Input:
|
||||
* pArray - the word to be handled
|
||||
* arraySize - Size of Array
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* number bits are set
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern uint32
|
||||
bitop_numberOfSetBitsInArray(uint32 *pArray, uint32 arraySize);
|
||||
|
||||
/* Function Name:
|
||||
* rt_bitop_findFirstBit
|
||||
* Description:
|
||||
* find first bits
|
||||
* Input:
|
||||
* value - the word to be handled
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* position of first bit
|
||||
* if not bit is set, will return (-1)
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
rt_bitop_findFirstBit(uint32 value);
|
||||
|
||||
/* Function Name:
|
||||
* rt_bitop_findFirstBitInArray
|
||||
* Description:
|
||||
* find first bits in Array
|
||||
* Input:
|
||||
* pArray - the array to be handled
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* position of first bit
|
||||
* if not bit is set, will return (-1)
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
rt_bitop_findFirstBitInAaray(uint32 *pArray, uint32 arraySize);
|
||||
|
||||
/* Function Name:
|
||||
* rt_bitop_findLastBitInArray
|
||||
* Description:
|
||||
* find last bits in Array
|
||||
* Input:
|
||||
* pArray - the array to be handled
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* position of last bit
|
||||
* if not bit is set, will return (-1)
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
rt_bitop_findLastBitInAaray(uint32 *pArray, uint32 arraySize);
|
||||
|
||||
#endif /* __COMMON_RT_BITOP_H__ */
|
||||
126
sources/rtk-gp3000/include/common/util/rt_util.h
Executable file
126
sources/rtk-gp3000/include/common/util/rt_util.h
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
* Purpose : Define the utility macro and function in the SDK.
|
||||
*
|
||||
* Feature : SDK common utility
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __RT_UTIL_H__
|
||||
#define __RT_UTIL_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <common/util.h>
|
||||
#include <common/util/rt_bitop.h>
|
||||
#include <osal/lib.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Macro Definition
|
||||
*/
|
||||
#define RTK_PORTMASK_TO_UINT_PORTMASK(pPortmask) (pPortmask->bits[0])
|
||||
#define RTK_PORTMASK_FROM_UINT_PORTMASK(pPortmask, pUintmask) (pPortmask->bits[0] = *pUintmask)
|
||||
#define RTK_PORTMASK_PORT_SET(portmask, port) \
|
||||
do {\
|
||||
if ((port) <= RTK_MAX_PORT_ID) {BITMAP_SET((portmask).bits, (port));}\
|
||||
} while (0);\
|
||||
|
||||
#define RTK_PORTMASK_PORT_CLEAR(portmask, port) \
|
||||
do {\
|
||||
if ((port) <= RTK_MAX_PORT_ID) {BITMAP_CLEAR((portmask).bits, (port));}\
|
||||
} while (0);\
|
||||
|
||||
#define RTK_PORTMASK_WORD_SET(portmask, word, value) \
|
||||
((portmask).bits[(word)] = value)
|
||||
#define RTK_PORTMASK_WORD_GET(portmask, word) \
|
||||
((portmask).bits[(word)])
|
||||
|
||||
#define RTK_PORTMASK_IS_PORT_SET(portmask, port) \
|
||||
(((port) <= RTK_MAX_PORT_ID)?BITMAP_IS_SET((portmask).bits, (port)): 0)
|
||||
|
||||
#define RTK_LSTMASK_IS_MAMBER_SET(portmask, port, max) \
|
||||
(((port) <= max)?BITMAP_IS_SET((portmask).bits, (port)): 0)
|
||||
|
||||
#define RTK_PORTMASK_IS_PORT_CLEAR(portmask, port) \
|
||||
(((port) <= RTK_MAX_PORT_ID)?BITMAP_IS_CLEAR((portmask).bits, (port)): 0)
|
||||
|
||||
#define RTK_PORTMASK_ASSIGN(dstPortmask, srcPortmask) \
|
||||
BITMAP_ASSIGN((dstPortmask).bits, (srcPortmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST)
|
||||
#define RTK_PORTMASK_RESET(portmask) \
|
||||
BITMAP_RESET((portmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST)
|
||||
#define RTK_PORTMASK_COMPARE(dstPortmask, srcPortmask) \
|
||||
BITMAP_COMPARE((dstPortmask).bits, (srcPortmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST)
|
||||
|
||||
#define RTK_PORTMASK_GET_FIRST_PORT(portmask) \
|
||||
rt_bitop_findFirstBitInAaray((portmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST)
|
||||
#define RTK_PORTMASK_GET_LAST_PORT(portmask) \
|
||||
rt_bitop_findLastBitInAaray((portmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST)
|
||||
#define RTK_PORTMASK_GET_PORT_COUNT(portmask)\
|
||||
(bitop_numberOfSetBitsInArray((portmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST))
|
||||
|
||||
#define RTK_PORTMASK_OR(dstPortmask, srcPortmask) \
|
||||
BITMAP_OR((dstPortmask).bits, (srcPortmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST)
|
||||
#define RTK_PORTMASK_AND(dstPortmask, srcPortmask) \
|
||||
BITMAP_AND((dstPortmask).bits, (srcPortmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST)
|
||||
#define RTK_PORTMASK_XOR(dstPortmask, srcPortmask) \
|
||||
BITMAP_XOR((dstPortmask).bits, (srcPortmask).bits, RTK_TOTAL_NUM_OF_WORD_FOR_1BIT_PORT_LIST)
|
||||
|
||||
/*RT definition*/
|
||||
#define RT_PORTMASK_PORT_CLEAR RTK_PORTMASK_PORT_CLEAR
|
||||
#define RT_PORTMASK_PORT_SET RTK_PORTMASK_PORT_SET
|
||||
#define RT_PORTMASK_RESET RTK_PORTMASK_RESET
|
||||
#define RT_PORTMASK_IS_PORT_SET RTK_PORTMASK_IS_PORT_SET
|
||||
#define RT_PORTMASK_IS_PORT_CLEAR RTK_PORTMASK_IS_PORT_CLEAR
|
||||
#define RT_PORTMASK_COMPARE RTK_PORTMASK_COMPARE
|
||||
/*RT definition*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* rt_util_macCmp
|
||||
* Description:
|
||||
* Compare two mac address
|
||||
* Input:
|
||||
* mac1 - mac address 1
|
||||
* mac2 - mac address 2
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - two address is same
|
||||
* RT_ERR_FAILED - two address is different
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
rt_util_macCmp(const uint8 *mac1, const uint8 *mac2);
|
||||
#ifndef CONFIG_SDK_KERNEL_LINUX
|
||||
#include <rtk/ponmac.h>
|
||||
|
||||
extern double __log10_subfunction(double cz, int n);
|
||||
extern double __log10(double z);
|
||||
extern void _get_data_by_type(rtk_transceiver_parameter_type_t type, rtk_transceiver_data_t *pSrcData, rtk_transceiver_data_t *pDstData);
|
||||
#endif
|
||||
#endif /* __RT_UTIL_H__ */
|
||||
|
||||
25
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp.h
Normal file
25
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp.h
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
#ifndef __DAL_APOLLOMP_H_
|
||||
#define __DAL_APOLLOMP_H_
|
||||
|
||||
#include <common/rt_type.h>
|
||||
#include <common/rt_error.h>
|
||||
#include <common/util/rt_bitop.h>
|
||||
#include <common/util/rt_util.h>
|
||||
#include <common/debug/rt_log.h>
|
||||
#include <osal/memory.h>
|
||||
#include <hal/chipdef/allmem.h>
|
||||
#include <hal/chipdef/allreg.h>
|
||||
#include <hal/chipdef/apollomp/rtk_apollomp_table_struct.h>
|
||||
#include <hal/chipdef/apollomp/rtk_apollomp_reg_struct.h>
|
||||
#include <hal/mac/mem.h>
|
||||
#include <hal/mac/reg.h>
|
||||
#include <hal/mac/drv.h>
|
||||
#include <hal/common/halctrl.h>
|
||||
#include <hal/chipdef/apollomp/apollomp_def.h>
|
||||
|
||||
#include <dal/dal_common.h>
|
||||
|
||||
#include <rtk/default.h>
|
||||
|
||||
#endif /*__DAL_APOLLOMP_H_*/
|
||||
|
||||
795
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_acl.h
Normal file
795
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_acl.h
Normal file
|
|
@ -0,0 +1,795 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of ACL API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) ACL rule action configure and modification
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_ACL_H__
|
||||
#define __DAL_APOLLOMP_ACL_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/port.h>
|
||||
#include <rtk/acl.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
#define APOLLOMP_DAL_ACL_NO 128
|
||||
#define APOLLOMP_DAL_ACL_MAX (APOLLOMP_DAL_ACL_NO-1)
|
||||
#define APOLLOMP_DAL_ACL_TEMPLATE_FIELD_NO 8
|
||||
|
||||
typedef enum apollomp_dal_acl_fieldTypes_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_UNUSED,
|
||||
APOLLOMP_DAL_ACL_DMAC0,
|
||||
APOLLOMP_DAL_ACL_DMAC1,
|
||||
APOLLOMP_DAL_ACL_DMAC2,
|
||||
APOLLOMP_DAL_ACL_SMAC0,
|
||||
APOLLOMP_DAL_ACL_SMAC1,
|
||||
APOLLOMP_DAL_ACL_SMAC2,
|
||||
APOLLOMP_DAL_ACL_ETHERTYPE,
|
||||
APOLLOMP_DAL_ACL_STAG,
|
||||
APOLLOMP_DAL_ACL_CTAG,
|
||||
APOLLOMP_DAL_ACL_GEMIDXLLIDX,
|
||||
APOLLOMP_DAL_ACL_IP4SIP0 = 0x10,
|
||||
APOLLOMP_DAL_ACL_IP4SIP1,
|
||||
APOLLOMP_DAL_ACL_IP4DIP0,
|
||||
APOLLOMP_DAL_ACL_IP4DIP1,
|
||||
APOLLOMP_DAL_ACL_IP6SIP0WITHIPV4 = 0x20,
|
||||
APOLLOMP_DAL_ACL_IP6SIP1WITHIPV4,
|
||||
APOLLOMP_DAL_ACL_IP6DIP0WITHIPV4 = 0x28,
|
||||
APOLLOMP_DAL_ACL_IP6DIP1WITHIPV4,
|
||||
APOLLOMP_DAL_ACL_IP6NH,
|
||||
APOLLOMP_DAL_ACL_VIDRANGE = 0x30,
|
||||
APOLLOMP_DAL_ACL_IPRANGE,
|
||||
APOLLOMP_DAL_ACL_PORTRANGE,
|
||||
APOLLOMP_DAL_ACL_PKTLENRANGE,
|
||||
APOLLOMP_DAL_ACL_FIELD_VALID,
|
||||
APOLLOMP_DAL_ACL_EXT_PMSK,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT00 = 0x40,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT01,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT02,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT03,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT04,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT05,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT06,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT07,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT08,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT09,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT10,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT11,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT12,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT13,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT14,
|
||||
APOLLOMP_DAL_ACL_FIELD_SELECT15,
|
||||
APOLLOMP_DAL_ACL_TYPE_END
|
||||
}apollomp_dal_acl_fieldTypes_t;
|
||||
|
||||
|
||||
typedef enum apollomp_dal_acl_vidrange_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_VIDRANGE_UNUSED = 0,
|
||||
APOLLOMP_DAL_ACL_VIDRANGE_CVID,
|
||||
APOLLOMP_DAL_ACL_VIDRANGE_SVID,
|
||||
APOLLOMP_DAL_ACL_VIDRANGE_END
|
||||
}apollomp_dal_acl_vidrange_t;
|
||||
|
||||
|
||||
typedef enum apollomp_dal_acl_iprange_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_IPRANGE_UNUSED = 0,
|
||||
APOLLOMP_DAL_ACL_IPRANGE_IPV4_SIP,
|
||||
APOLLOMP_DAL_ACL_IPRANGE_IPV4_DIP,
|
||||
APOLLOMP_DAL_ACL_IPRANGE_IPV6_SIP,
|
||||
APOLLOMP_DAL_ACL_IPRANGE_IPV6_DIP,
|
||||
APOLLOMP_DAL_ACL_IPRANGE_END
|
||||
}apollomp_dal_acl_iprange_t;
|
||||
|
||||
typedef enum apollomp_dal_acl_portrange_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_PORTRANGE_UNUSED = 0,
|
||||
APOLLOMP_DAL_ACL_PORTRANGE_SPORT,
|
||||
APOLLOMP_DAL_ACL_PORTRANGE_DPORT,
|
||||
APOLLOMP_DAL_ACL_PORTRANGE_END
|
||||
}apollomp_dal_acl_portrange_type_t;
|
||||
|
||||
|
||||
typedef enum apollomp_dal_field_sel_e
|
||||
{
|
||||
APOLLOMP_DAL_FIELD_FORMAT_DEFAULT = 0,
|
||||
APOLLOMP_DAL_FIELD_FORMAT_RAW,
|
||||
APOLLOMP_DAL_FIELD_FORMAT_LLC,
|
||||
APOLLOMP_DAL_FIELD_FORMAT_IPV4,
|
||||
APOLLOMP_DAL_FIELD_FORMAT_ARP,
|
||||
APOLLOMP_DAL_FIELD_FORMAT_IPV6,
|
||||
APOLLOMP_DAL_FIELD_FORMAT_IPPAYLOAD,
|
||||
APOLLOMP_DAL_FIELD_FORMAT_L4PAYLOAD,
|
||||
APOLLOMP_DAL_FIELD_FORMAT_END
|
||||
}apollomp_dal_field_sel_t;
|
||||
|
||||
|
||||
/*clvan action*/
|
||||
typedef enum apollomp_dal_acl_igr_cvlan_act_ctrl_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_IGR_CVLAN_IGR_CVLAN_ACT = 0,
|
||||
APOLLOMP_DAL_ACL_IGR_CVLAN_EGR_CVLAN_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_CVLAN_DS_SVID_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_CVLAN_POLICING_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_CVLAN_MIB_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_CVLAN_1P_REMARK_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_CVLAN_ACT_END,
|
||||
} apollomp_dal_acl_igr_cvlan_act_ctrl_t;
|
||||
|
||||
/*svlan action*/
|
||||
typedef enum apollomp_dal_acl_igr_svlan_act_ctrl_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_IGR_SVLAN_ACT = 0,
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_EGR_SVLAN_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_US_CVID_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_POLICING_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_MIB_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_1P_REMARK_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_DSCP_REMARK_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_ROUTE_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_SVLAN_ACT_END,
|
||||
} apollomp_dal_acl_igr_svlan_act_ctrl_t;
|
||||
|
||||
/*priority action*/
|
||||
typedef enum apollomp_dal_acl_igr_pri_act_ctrl_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_IGR_PRI_ACL_PRI_ASSIGN_ACT = 0,
|
||||
APOLLOMP_DAL_ACL_IGR_PRI_DSCP_REMARK_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_PRI_1P_REMARK_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_PRI_POLICING_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_PRI_MIB_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_PRI_ROUTE_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_PRI_ACT_END,
|
||||
} apollomp_dal_acl_igr_pri_act_ctrl_t;
|
||||
|
||||
typedef enum apollomp_dal_acl_igr_log_act_ctrl_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_IGR_LOG_POLICING_ACT = 0,
|
||||
APOLLOMP_DAL_ACL_IGR_LOG_MIB_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_LOG_ACT_END,
|
||||
} apollomp_dal_acl_igr_log_act_ctrl_t;
|
||||
|
||||
/*forward action*/
|
||||
typedef enum apollomp_dal_acl_igr_forward_act_ctrl_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_IGR_FORWARD_COPY_ACT = 0,
|
||||
APOLLOMP_DAL_ACL_IGR_FORWARD_REDIRECT_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_FORWARD_IGR_MIRROR_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_FORWARD_TRAP_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_FORWARD_ACT_END,
|
||||
} apollomp_dal_acl_igr_forward_act_ctrl_t;
|
||||
|
||||
/*interrupt, GPIO action*/
|
||||
typedef enum apollomp_acl_igr_extend_act_ctrl_e
|
||||
{
|
||||
APOLLOMP_DAL_ACL_IGR_EXTEND_NONE_ACT = 0,
|
||||
APOLLOMP_DAL_ACL_IGR_EXTEND_SID_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_EXTEND_LLID_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_EXTEND_EXT_ACT,
|
||||
APOLLOMP_DAL_ACL_IGR_EXTEND_ACT_END,
|
||||
} apollomp_acl_igr_extend_act_ctrl_t;
|
||||
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_init
|
||||
* Description:
|
||||
* Initialize ACL module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize ACL module before calling any ACL APIs.
|
||||
* Apollo init acl mode as ACL_IGR_RULE_MODE_0
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_template_set
|
||||
* Description:
|
||||
* Set template of ingress ACL.
|
||||
* Input:
|
||||
* template - Ingress ACL template
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function set ACL template.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_template_set(rtk_acl_template_t *aclTemplate);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_template_get
|
||||
* Description:
|
||||
* Get template of ingress ACL.
|
||||
* Input:
|
||||
* template - Ingress ACL template
|
||||
* Output:
|
||||
* template - Ingress ACL template
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function get ACL template.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_template_get(rtk_acl_template_t *aclTemplate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_fieldSelect_set
|
||||
* Description:
|
||||
* Set user defined field selectors in HSB
|
||||
* Input:
|
||||
* pFieldEntry - pointer of field selector entry
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
* System support 16 user defined field selctors.
|
||||
* Each selector can be enabled or disable.
|
||||
* User can defined retrieving 16-bits in many predefiend
|
||||
* standard l2/l3/l4 payload.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_fieldSelect_set(rtk_acl_field_entry_t *pFieldEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_fieldSelect_get
|
||||
* Description:
|
||||
* Get user defined field selectors in HSB
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pFieldEntry - pointer of field selector entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_fieldSelect_get(rtk_acl_field_entry_t *pFieldEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleAction_get
|
||||
* Description:
|
||||
* Get an ACL action from ASIC
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pAclRule - The ACL configuration that this function will add comparison rule
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pAclRule point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* use this API to get action control and data
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleAction_get(rtk_acl_ingress_entry_t *pAclRule);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleAction_set
|
||||
* Description:
|
||||
* Get an ACL action from ASIC
|
||||
* Input:
|
||||
* pAclRule - The ACL configuration that this function will add comparison rule
|
||||
* Output:
|
||||
* none
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pAclRule point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* use this API to set action control and data
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleAction_set(rtk_acl_ingress_entry_t *pAclRule);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleEntry_get
|
||||
* Description:
|
||||
* Get an ACL entry from ASIC
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pAclRule - The ACL configuration that this function will add comparison rule
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pAclRule point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* use this API to get rule entry the field data will return in raw format
|
||||
* raw data is return in pAclRule->field.readField
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleEntry_get(rtk_acl_ingress_entry_t *pAclRule);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleField_add
|
||||
* Description:
|
||||
* Add comparison rule to an ACL configuration
|
||||
* Input:
|
||||
* pAclEntry - The ACL configuration that this function will add comparison rule
|
||||
* pAclField - The comparison rule that will be added.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pFilter_field or pFilter_cfg point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function add a comparison rule (*pAclField) to an ACL configuration (*pAclEntry).
|
||||
* Pointer pFilter_cfg points to an ACL configuration structure, this structure keeps multiple ACL
|
||||
* comparison rules by means of linked list. Pointer pAclField will be added to linked
|
||||
* list keeped by structure that pAclEntry points to.
|
||||
* caller should not free (*pAclField) before dal_apollomp_acl_igrRuleEntry_add is called
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleField_add(rtk_acl_ingress_entry_t *pAclRule, rtk_acl_field_t *pAclField);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleEntry_add
|
||||
* Description:
|
||||
* Add an ACL configuration to ASIC
|
||||
* Input:
|
||||
* pAclRule - ACL ingress filter rule configuration.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pAclrule point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_ENTRY_INDEX - Invalid entryIdx .
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleEntry_add(rtk_acl_ingress_entry_t *pAclRule);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleEntry_del
|
||||
* Description:
|
||||
* Delete an ACL configuration from ASIC
|
||||
* Input:
|
||||
* pAclrule - ACL ingress filter rule configuration.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_ENTRY_INDEX - Invalid entryIdx .
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleEntry_del(uint32 index);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleEntry_delAll
|
||||
* Description:
|
||||
* Delete all ACL configuration from ASIC
|
||||
* Input:
|
||||
* pAclrule - ACL ingress filter rule configuration.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleEntry_delAll(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrUnmatchAction_set
|
||||
* Description:
|
||||
* Apply action to packets when no ACL configuration match
|
||||
* Input:
|
||||
* port - Port id.
|
||||
* action - Action.
|
||||
* Output:
|
||||
* none
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_PORT_ID - Invalid port id.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function gets action of packets when no ACL configruation matches.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrUnmatchAction_set(rtk_port_t port, rtk_filter_unmatch_action_type_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrUnmatchAction_get
|
||||
* Description:
|
||||
* Get action to packets when no ACL configuration match
|
||||
* Input:
|
||||
* port - Port id.
|
||||
* Output:
|
||||
* pAction - Action.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_SMI - SMI access error
|
||||
* RT_ERR_PORT_ID - Invalid port id.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function gets action of packets when no ACL configruation matches.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrUnmatchAction_get(rtk_port_t port, rtk_filter_unmatch_action_type_t *pAction);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrState_set
|
||||
* Description:
|
||||
* Set state of ingress ACL.
|
||||
* Input:
|
||||
* port - Port id.
|
||||
* state - Ingress ACL state.
|
||||
* Output:
|
||||
* none
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_PORT_ID - Invalid port id.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function set per-port ACL filtering state.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrState_set(rtk_port_t port, rtk_enable_t state);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrState_get
|
||||
* Description:
|
||||
* Get state of ingress ACL.
|
||||
* Input:
|
||||
* port - Port id.
|
||||
* Output:
|
||||
* pState - Ingress ACL state.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_PORT_ID - Invalid port id.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function gets per-port ACL filtering state.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrState_get(rtk_port_t port, rtk_enable_t *pState);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_ipRange_set
|
||||
* Description:
|
||||
* Set IP Range check
|
||||
* Input:
|
||||
* pRangeEntry - IP Range entry
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* upper IP must be larger or equal than lower IP.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_ipRange_set(rtk_acl_rangeCheck_ip_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_ipRange_get
|
||||
* Description:
|
||||
* Set IP Range check
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pRangeEntry - IP Range entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_ipRange_get(rtk_acl_rangeCheck_ip_t *pRangeEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_vidRange_set
|
||||
* Description:
|
||||
* Set VID Range check
|
||||
* Input:
|
||||
* pRangeEntry - VLAN id Range entry
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* upper Vid must be larger or equal than lowerVid.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_vidRange_set(rtk_acl_rangeCheck_vid_t *pRangeEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_vidRange_get
|
||||
* Description:
|
||||
* Get VID Range check
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pRangeEntry - VLAN id Range entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_vidRange_get(rtk_acl_rangeCheck_vid_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_portRange_set
|
||||
* Description:
|
||||
* Set Port Range check
|
||||
* Input:
|
||||
* pRangeEntry - L4 Port Range entry
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* upper Port must be larger or equal than lowerPort.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_portRange_set(rtk_acl_rangeCheck_l4Port_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_portRange_get
|
||||
* Description:
|
||||
* Set Port Range check
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRangeEntry - L4 Port Range entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_portRange_get(rtk_acl_rangeCheck_l4Port_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_packetLengthRange_set
|
||||
* Description:
|
||||
* Set packet length Range check
|
||||
* Input:
|
||||
* pRangeEntry - packet length range entry
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* upper length must be larger or equal than lower length.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_packetLengthRange_set(rtk_acl_rangeCheck_pktLength_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_packetLengthRange_get
|
||||
* Description:
|
||||
* Set packet length Range check
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRangeEntry - packet length range entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_packetLengthRange_get(rtk_acl_rangeCheck_pktLength_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleMode_set
|
||||
* Description:
|
||||
* Set ingress ACL rule mode
|
||||
* Input:
|
||||
* mode - ingress ACL rule mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* - ACL_IGR_RULE_MODE_0, 64 rules, the size each rule is 16x8 bits
|
||||
* - ACL_IGR_RULE_MODE_1, 128 rules,
|
||||
* - the size each rule is 16x4 bits(entry 0~63)
|
||||
* - the size each rule is 16x3 bits(entry 64~127)
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleMode_set(rtk_acl_igr_rule_mode_t mode);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrRuleMode_get
|
||||
* Description:
|
||||
* Get ingress ACL rule mode
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pMode - ingress ACL rule mode
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* - ACL_IGR_RULE_MODE_0, 64 rules, the size each rule is 16x8 bits
|
||||
* - ACL_IGR_RULE_MODE_1, 128 rules,
|
||||
* - the size of each rule is 16x4 bits(entry 0~63)
|
||||
* - the size of each rule is 16x3 bits(entry 64~127)
|
||||
* Mode chaged all template/rule will be cleared
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrRuleMode_get(rtk_acl_igr_rule_mode_t *pMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrPermitState_set
|
||||
* Description:
|
||||
* Set permit state of ingress ACL.
|
||||
* Input:
|
||||
* port - Port id.
|
||||
* state - Ingress ACL state.
|
||||
* Output:
|
||||
* none
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_PORT_ID - Invalid port id.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function set action of packets when no ACL configruation matches.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrPermitState_set(rtk_port_t port, rtk_enable_t state);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_igrPermitState_get
|
||||
* Description:
|
||||
* Get state of ingress ACL.
|
||||
* Input:
|
||||
* port - Port id.
|
||||
* Output:
|
||||
* pState - Ingress ACL state.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_PORT_ID - Invalid port id.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function gets action of packets when no ACL configruation matches.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_igrPermitState_get(rtk_port_t port, rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_dbgInfo_get
|
||||
* Description:
|
||||
* Get ACL debug information
|
||||
* Input:
|
||||
* intrType: type of interrupt
|
||||
* Output:
|
||||
* pDbgCnt: point of relative debug counter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_acl_dbgInfo_get(rtk_acl_dbgCnt_t *pDbgCnt);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_acl_dbgHitReason_get
|
||||
* Description:
|
||||
* Get ACL hit reason information
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pDbgReason: point of relative debug reason and index
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_acl_dbgHitReason_get(rtk_acl_debug_reason_t *pDbgReason);
|
||||
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_ACL_H__ */
|
||||
|
||||
420
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_classify.h
Normal file
420
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_classify.h
Normal file
|
|
@ -0,0 +1,420 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of Classifyication API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) classfication rule add/delete/get
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_CLASSIFY_H__
|
||||
#define __DAL_APOLLOMP_CLASSIFY_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/classify.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_init
|
||||
* Description:
|
||||
* Initialize classification module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize classification module before calling any classification APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_cfgEntry_add
|
||||
* Description:
|
||||
* Add an classification entry to ASIC
|
||||
* Input:
|
||||
* entryIdx - index of classification entry.
|
||||
* pClassifyCfg - The classification configuration that this function will add comparison rule
|
||||
* pClassifyAct - Action(s) of classification configuration.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pClassifyCfg point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_cfgEntry_add(rtk_classify_cfg_t *pClassifyCfg);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_cfgEntry_get
|
||||
* Description:
|
||||
* Gdd an classification entry from ASIC
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pClassifyCfg - The classification configuration that this function will add comparison rule
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pClassifyCfg point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_cfgEntry_get(rtk_classify_cfg_t *pClassifyCfg);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_cfgEntry_del
|
||||
* Description:
|
||||
* Delete an classification configuration from ASIC
|
||||
* Input:
|
||||
* entryIdx - index of classification entry.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_ENTRY_INDEX - Invalid classification index .
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_cfgEntry_del(uint32 entryIdx);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_field_add
|
||||
* Description:
|
||||
* Add comparison field to an classfication configuration
|
||||
* Input:
|
||||
* pClassifyEntry - The classfication configuration that this function will add comparison rule
|
||||
* pClassifyField - The comparison rule that will be added.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pFilter_field or pFilter_cfg point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function add a comparison rule (*pClassifyField) to an ACL configuration (*pClassifyEntry).
|
||||
* Pointer pFilter_cfg points to an ACL configuration structure, this structure keeps multiple ACL
|
||||
* comparison rules by means of linked list. Pointer pAclField will be added to linked
|
||||
* list keeped by structure that pAclEntry points to.
|
||||
* - caller should not free (*pClassifyField) before dal_apollomp_classify_cfgEntry_add is called
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_field_add(rtk_classify_cfg_t *pClassifyEntry, rtk_classify_field_t *pClassifyField);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_unmatchAction_set
|
||||
* Description:
|
||||
* Apply action to packets when no classfication configuration match
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* action - unmatch action.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function gets action of packets when no classfication configruation matches.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_unmatchAction_set(rtk_classify_unmatch_action_t action);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_unmatchAction_get
|
||||
* Description:
|
||||
* Get action to packets when no classfication configuration match
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pAction - Action.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pAction point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This function gets action of packets when no classfication configruation matches.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_unmatchAction_get(rtk_classify_unmatch_action_t *pAction);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_portRange_set
|
||||
* Description:
|
||||
* Set Port Range check
|
||||
* Input:
|
||||
* pRangeEntry - L4 Port Range entry
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* upperPort must be larger or equal than lowerPort.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_portRange_set(rtk_classify_rangeCheck_l4Port_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_portRange_get
|
||||
* Description:
|
||||
* Set Port Range check
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRangeEntry - L4 Port Range entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_portRange_get(rtk_classify_rangeCheck_l4Port_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_ipRange_set
|
||||
* Description:
|
||||
* Set IP Range check
|
||||
* Input:
|
||||
* pRangeEntry - IP Range entry
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_SMI - SMI access error
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_INPUT - Input error
|
||||
* Note:
|
||||
* upperIp must be larger or equal than lowerIp.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_ipRange_set(rtk_classify_rangeCheck_ip_t *pRangeEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_ipRange_get
|
||||
* Description:
|
||||
* Set IP Range check
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pRangeEntry - IP Range entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_SMI - SMI access error
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_ipRange_get(rtk_classify_rangeCheck_ip_t *pRangeEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_cf_sel_set
|
||||
* Description:
|
||||
* Set CF port selection, only pon port and RGMII port can be set
|
||||
* Input:
|
||||
* port - port id, only pon port and RGMII port can be set.
|
||||
* cfSel - CF port selection.
|
||||
* Output:
|
||||
* pRangeEntry - IP Range entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_SMI - SMI access error
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* Note:
|
||||
* Only accept pon port and RGMII port.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_cf_sel_set(rtk_port_t port, rtk_classify_cf_sel_t cfSel);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_cf_sel_get
|
||||
* Description:
|
||||
* Get CF port selection, only pon port and RGMII port can be get
|
||||
* Input:
|
||||
* port - port id, only pon port and RGMII port can be get.
|
||||
* pCfSel - pointer of CF port selection.
|
||||
* Output:
|
||||
* pRangeEntry - IP Range entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_SMI - SMI access error
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* Note:
|
||||
* Only accept pon port and RGMII port.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_cf_sel_get(rtk_port_t port, rtk_classify_cf_sel_t *pCfSel);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_cfPri2Dscp_set
|
||||
* Description:
|
||||
* Set CF priority to DSCP value mapping
|
||||
* Input:
|
||||
* pri - priority value
|
||||
* dscp - DSCP value.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_SMI - SMI access error
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* Note:
|
||||
* This function is not supported in Test chip.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_cfPri2Dscp_set(rtk_pri_t pri, rtk_dscp_t dscp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_cfPri2Dscp_get
|
||||
* Description:
|
||||
* Get CF priority to DSCP value mapping
|
||||
* Input:
|
||||
* pri - priority value
|
||||
* Output:
|
||||
* pDscp - pointer of DSCP value.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_SMI - SMI access error
|
||||
* RT_ERR_OUT_OF_RANGE - The parameter is out of range
|
||||
* RT_ERR_NULL_POINTER - Pointer pClassifyCfg point to NULL.
|
||||
* Note:
|
||||
* This function is not supported in Test chip.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_cfPri2Dscp_get(rtk_pri_t pri, rtk_dscp_t *pDscp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_permit_sel_get
|
||||
* Description:
|
||||
* Set classification permit selection, from 0 to 511 or from 64 to 511
|
||||
* Input:
|
||||
* permitSel -point of CF permit selection
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
* Only accept from 0 to 511 or from 64 to 511
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_permit_sel_get( rtk_classify_permit_sel_t *permitSel);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_permit_sel_set
|
||||
* Description:
|
||||
* Set classification permit selection, from 0 to 511 or from 64 to 511
|
||||
* Input:
|
||||
* permitSel - CF permit selection
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
* Only accept from 0 to 511 or from 64 to 511
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_classify_permit_sel_set( rtk_classify_permit_sel_t permitSel);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_us1pRemarkPrior_set
|
||||
* Description:
|
||||
* Set classification U/S 1p remark is prior than ACL U/S 1p remarking
|
||||
* Input:
|
||||
* prior - CF US 1p remarking is prior than ACL or not
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_classify_us1pRemarkPrior_set( rtk_classify_us_1premark_prior_t prior);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_classify_us1pRemarkPrior_get
|
||||
* Description:
|
||||
* Get classification U/S 1p remark is prior than ACL U/S 1p remarking or not
|
||||
* Input:
|
||||
* prior - CF US 1p remarking is prior than ACL or not
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_classify_us1pRemarkPrior_get( rtk_classify_us_1premark_prior_t *pPrior);
|
||||
|
||||
#endif /* __DAL_APOLLOMP_CLASSIFY_H__ */
|
||||
|
||||
175
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_cpu.h
Normal file
175
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_cpu.h
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of Classifyication API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) CPU tag functions set/get
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_CPU_H__
|
||||
#define __DAL_APOLLOMP_CPU_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/cpu.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_apollomp_cpu_init
|
||||
* Description:
|
||||
* Initialize cpu tag module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize classification module before calling any classification APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_cpu_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_cpu_awarePortMask_set
|
||||
* Description:
|
||||
* Set CPU awared port mask.
|
||||
* Input:
|
||||
* port_mask - CPU awared port mask
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* Must initialize cpu tag module before calling any cpu tag APIs.
|
||||
*/
|
||||
extern int32 dal_apollomp_cpu_awarePortMask_set(rtk_portmask_t port_mask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_cpu_awarePortMask_get
|
||||
* Description:
|
||||
* Get CPU awared port mask.
|
||||
* Input:
|
||||
* pPort_mask - the pointer of CPU awared port mask
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* Must initialize cpu tag module before calling any cpu tag APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_cpu_awarePortMask_get(rtk_portmask_t *pPort_mask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_cpu_tagFormat_set
|
||||
* Description:
|
||||
* Set CPU tag format.
|
||||
* Input:
|
||||
* mode - CPU tag format mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_OUT_OF_RANGE
|
||||
* Note:
|
||||
* Must initialize cpu tag module before calling any cpu tag APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_cpu_tagFormat_set(rtk_cpu_tag_fmt_t mode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_cpu_tagFormat_get
|
||||
* Description:
|
||||
* Get CPU tag format.
|
||||
* Input:
|
||||
* pMode - the pointer of CPU tag format mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* Must initialize cpu tag module before calling any cpu tag APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_cpu_tagFormat_get(rtk_cpu_tag_fmt_t *pMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_cpu_trapInsertTag_set
|
||||
* Description:
|
||||
* Set trap CPU insert tag state.
|
||||
* Input:
|
||||
* state - insert CPU tag state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_OUT_OF_RANGE
|
||||
* Note:
|
||||
* Must initialize cpu tag module before calling any cpu tag APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_cpu_trapInsertTag_set(rtk_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_cpu_trapInsertTag_get
|
||||
* Description:
|
||||
* Get trap CPU insert tag state.
|
||||
* Input:
|
||||
* pState - the pointer of insert CPU tag state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* Must initialize cpu tag module before calling any cpu tag APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_cpu_trapInsertTag_get(rtk_enable_t *pState);
|
||||
|
||||
|
||||
#endif /*#ifndef __DAL_APOLLOMP_CPU_H__*/
|
||||
|
||||
488
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_dot1x.h
Normal file
488
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_dot1x.h
Normal file
|
|
@ -0,0 +1,488 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of 802.1x API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Unauth packet handling
|
||||
* (2) 802.1X port-based NAC
|
||||
* (3) 802.1X MAC-based NAC
|
||||
* (4) 802.1X parameter
|
||||
* (5) Parameter for trapped packets
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_DOT1X_H__
|
||||
#define __DAL_APOLLOMP_DOT1X_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/port.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
typedef enum dal_apollomp_dot1x_unAuthAct_e
|
||||
{
|
||||
DAL_APOLLOMP_DOT1X_UNAUTH_DROP = 0,
|
||||
DAL_APOLLOMP_DOT1X_UNAUTH_TRAP,
|
||||
DAL_APOLLOMP_DOT1X_UNAUTH_GVLAN,
|
||||
DAL_APOLLOMP_DOT1X_UNAUTH_END
|
||||
}dal_apollomp_dot1x_unAuthAct_t;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_init
|
||||
* Description:
|
||||
* Initial the dot1x module of the specified device..
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize dot1x module before calling any dot1x APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_unauthPacketOper_get
|
||||
* Description:
|
||||
* Get the configuration of unauthorized behavior for both 802.1x port and mac based network access control on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pUnauth_action - The action of how to handle unauthorized packet
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* Forwarding action for unauth packet is as following
|
||||
* - DOT1X_ACTION_DROP
|
||||
* - DOT1X_ACTION_TRAP2CPU
|
||||
* - DOT1X_ACTION_TO_GUEST_VLAN
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_unauthPacketOper_get(rtk_port_t port, rtk_action_t *pUnauthAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_unauthPacketOper_set
|
||||
* Description:
|
||||
* Set the configuration of unauthorized behavior for both 802.1x port and mac based network access control on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* unauth_action - The action of how to handle unauthorized packet
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
* Forwarding action for unauth packet is as following
|
||||
* - DOT1X_ACTION_DROP
|
||||
* - DOT1X_ACTION_TRAP2CPU
|
||||
* - DOT1X_ACTION_TO_GUEST_VLAN
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_unauthPacketOper_set(rtk_port_t port, rtk_action_t unauthAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_portBasedEnable_get
|
||||
* Description:
|
||||
* Get the status of 802.1x port-based network access control on a specific port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - The status of 802.1x port-based network access control.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* (1) If a port is 802.1x port based network access control "enabled",
|
||||
* it should be authenticated so packets from that port wont be dropped or trapped to CPU.
|
||||
*
|
||||
* (2) The status of 802.1x port-based network access control is as following:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_portBasedEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_portBasedEnable_set
|
||||
* Description:
|
||||
* Set the status of 802.1x port-based network access control on a specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* enable - The status of 802.1x port-based network access control.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* (1) If a port is 802.1x port based network access control "enabled",
|
||||
* it should be authenticated so packets from that port wont be dropped or trapped to CPU.
|
||||
*
|
||||
* (2) The status of 802.1x port-based network access control is as following:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_portBasedEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_portBasedAuthStatus_get
|
||||
* Description:
|
||||
* Get the authenticated status of 802.1x port-based network access control on a specific port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pPort_auth - The status of 802.1x port-based network access controlx is authenticated
|
||||
* or unauthenticated.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The authenticated status of 802.1x port-based network access control is as following:
|
||||
* - UNAUTH
|
||||
* - AUTH
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_portBasedAuthStatus_get(rtk_port_t port, rtk_dot1x_auth_status_t *pPort_auth);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_portBasedAuthStatus_set
|
||||
* Description:
|
||||
* Set the authenticated status of 802.1x port-based network access control on a specific
|
||||
* port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* port_auth - The status of 802.1x port-based network access control is authenticated
|
||||
* or unauthenticated.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* The authenticated status of 802.1x port-based network access control is as following:
|
||||
* - UNAUTH
|
||||
* - AUTH
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_portBasedAuthStatus_set(rtk_port_t port, rtk_dot1x_auth_status_t port_auth);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_portBasedDirection_get
|
||||
* Description:
|
||||
* Get the operate controlled direction 802.1x port-based network access control on a specific
|
||||
* port.
|
||||
* Input:
|
||||
* port - port id
|
||||
*
|
||||
* Output:
|
||||
* pPort_direction - The controlled direction of 802.1x port-based network access control is BOTH
|
||||
* or IN.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* The operate controlled direction of 802.1x port-based network access control is as following:
|
||||
* - BOTH
|
||||
* - IN
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_portBasedDirection_get(rtk_port_t port, rtk_dot1x_direction_t *pPort_direction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_portBasedDirection_set
|
||||
* Description:
|
||||
* Set the operate controlled direction 802.1x port-based network access control on a specific
|
||||
* port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* port_direction - The controlled direction of 802.1x port-based network access control is BOTH
|
||||
* or IN.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* The operate controlled direction of 802.1x port-based network access control is as following:
|
||||
* - BOTH
|
||||
* - IN
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_portBasedDirection_set(rtk_port_t port, rtk_dot1x_direction_t port_direction);
|
||||
|
||||
/* Module Name : Dot1x */
|
||||
/* Sub-module Name: 802.1x MAC-based NAC */
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_macBasedEnable_get
|
||||
* Description:
|
||||
* Get the status of 802.1x MAC-based network access control on a specific port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - The status of 802.1x MAC-based network access control
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* (1) If a port is 802.1x MAC based network access control "enabled",
|
||||
* the incoming packets should be authenticated so packets from that port wont be dropped
|
||||
* or trapped to CPU.
|
||||
*
|
||||
* (2) The status of 802.1x MAC-based network access control is as following:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_macBasedEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_macBasedEnable_set
|
||||
* Description:
|
||||
* Set the status of 802.1x MAC-based network access control on a specific port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* enable - The status of 802.1x MAC-based network access control
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* (1) If a port is 802.1x MAC based network access control "enabled",
|
||||
* the incoming packets should be authenticated so packets from that port wont be dropped
|
||||
* or trapped to CPU.
|
||||
*
|
||||
* (2) The status of 802.1x MAC-based network access control is as following:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_macBasedEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_macBasedDirection_get
|
||||
* Description:
|
||||
* Get the operate controlled direction 802.1x mac-based network access control on system.
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* pMac_direction - The controlled direction of 802.1x mac-based
|
||||
* network access control is BOTH or IN.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
* The operate controlled direction of 802.1x mac-based network access control is as following:
|
||||
* - BOTH
|
||||
* - IN
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_macBasedDirection_get(rtk_dot1x_direction_t *pMac_direction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_macBasedDirection_set
|
||||
* Description:
|
||||
* Set the operate controlled direction 802.1x mac-based network access control on system.
|
||||
* Input:
|
||||
* mac_direction - The controlled direction of 802.1x mac-based
|
||||
* network access control is BOTH or IN.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
* The operate controlled direction of 802.1x mac-based network access control is as following:
|
||||
* - BOTH
|
||||
* - IN
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_macBasedDirection_set(rtk_dot1x_direction_t mac_direction);
|
||||
|
||||
/* Module Name : Dot1x */
|
||||
/* Sub-module Name: 802.1X parameter */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_portGuestVlan_get
|
||||
* Description:
|
||||
* Get guest vlan on specified port.
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* pGuest_vlan - pointer to guest vlan id
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_guestVlan_get( rtk_vlan_t *pGuest_vlan);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_guestVlan_set
|
||||
* Description:
|
||||
* Set guest vlan
|
||||
* Input:
|
||||
* guest_vlan - guest vlan id
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vlan id
|
||||
* Note:
|
||||
* (1) Configure the port's forwarding guest vlan setting.
|
||||
* (2) When the packet is unauthenticated and action is DOT1X_ACTION_TO_GUEST_VLAN,
|
||||
* the packet will based on the guest vlan to forward.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_guestVlan_set(rtk_vlan_t guest_vlan);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_guestVlanBehavior_get
|
||||
* Description:
|
||||
* Get forwarding behavior for host in guest vlan.
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* pBehavior - pointer to Forwarding behavior
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Forwarding behavior is as following
|
||||
* - DISALLOW_TO_AUTH_DA
|
||||
* - ALLOW_TO_AUTH_DA
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_guestVlanBehavior_get(rtk_dot1x_guestVlanBehavior_t *pBehavior);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_guestVlanBehavior_set
|
||||
* Description:
|
||||
* Set forwarding behavior for host in guest vlan.
|
||||
* Input:
|
||||
* behavior - Forwarding behavior
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* Forwarding behavior is as following
|
||||
* - DISALLOW_TO_AUTH_DA
|
||||
* - ALLOW_TO_AUTH_DA
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_guestVlanBehavior_set(rtk_dot1x_guestVlanBehavior_t behavior);
|
||||
|
||||
|
||||
/* Module Name : Dot1x */
|
||||
/* Sub-module Name: Parameter for trapped packets */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_trapPri_get
|
||||
* Description:
|
||||
* Get priority of trapped dot1x packets.
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* pPriority - pointer to priority
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* (1) Get the dot1x trap to cpu priority and valid range is 0-7.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_trapPri_get(rtk_pri_t *pPriority);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_dot1x_trapPri_set
|
||||
* Description:
|
||||
* Set priority of trapped dot1x packet.
|
||||
* Input:
|
||||
* priority - priority
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PRIORITY - invalid priority value
|
||||
* Note:
|
||||
* (1) Config the dot1x trap to cpu priority and valid range is 0-7.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_dot1x_trapPri_set(rtk_pri_t priority);
|
||||
|
||||
#endif /* __DAL_APOLLOMP_DOT1X_H__ */
|
||||
|
||||
624
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_epon.h
Normal file
624
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_epon.h
Normal file
|
|
@ -0,0 +1,624 @@
|
|||
/*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
*
|
||||
* *
|
||||
* $Revision$
|
||||
* $Date: 2012-10-16
|
||||
*
|
||||
* Purpose : EPON MAC register access APIs
|
||||
*
|
||||
* Feature : Provide the APIs to access EPON MAC
|
||||
*
|
||||
*/
|
||||
#ifndef _DAL_APOLLOMP_EPON_H_
|
||||
#define _DAL_APOLLOMP_EPON_H_
|
||||
|
||||
#include <common/rt_error.h>
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/epon.h>
|
||||
|
||||
typedef enum dal_apollomp_epon_mpcp_check_state_e{
|
||||
RTK_EPON_MPCP_CKECK_INIT = 0,
|
||||
RTK_EPON_MPCP_CKECK_INVALID_BEN_STATE = 1,
|
||||
RTK_EPON_MPCP_CKECK_INVALID_BEN_FIN_DRIFT_CHECK_STATE = 2,
|
||||
RTK_EPON_MPCP_CKECK_FIN_STATE = 3,
|
||||
RTK_EPON_MPCP_CKECK_STATE_END
|
||||
}dal_apollomp_epon_mpcp_check_state_t;
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_init
|
||||
* Description:
|
||||
* epon register level initial function
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_init(void);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_intrMask_get
|
||||
* Description:
|
||||
* Get EPON interrupt mask
|
||||
* Input:
|
||||
* intrType: type of interrupt
|
||||
* Output:
|
||||
* pState: point of get interrupt state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_intrMask_get(rtk_epon_intrType_t intrType, rtk_enable_t *pState);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_intrMask_set
|
||||
* Description:
|
||||
* Set EPON interrupt mask
|
||||
* Input:
|
||||
* intrType: type of top interrupt
|
||||
* state: set interrupt mask state
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_intrMask_set(rtk_epon_intrType_t intrType, rtk_enable_t state);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_topIntr_get
|
||||
* Description:
|
||||
* Set EPON interrupt state
|
||||
* Input:
|
||||
* intrType: type of interrupt
|
||||
* Output:
|
||||
* pState: point for get interrupt state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_intr_get(rtk_epon_intrType_t intrType, rtk_enable_t *pState);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_intr_disableAll
|
||||
* Description:
|
||||
* Disable all of interrupt for EPON
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_intr_disableAll(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_llid_entry_set
|
||||
* Description:
|
||||
* Set llid entry
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pLlidEntry: LLID entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_llid_entry_set(rtk_epon_llid_entry_t *pLlidEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_llid_entry_get
|
||||
* Description:
|
||||
* Get llid entry
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pLlidEntry: LLID entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_llid_entry_get(rtk_epon_llid_entry_t *pLlidEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_forceLaserState_set
|
||||
* Description:
|
||||
* Set Force Laser status
|
||||
* Input:
|
||||
* laserStatus: Force laser status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_forceLaserState_set(rtk_epon_laser_status_t laserStatus);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_forceLaserState_get
|
||||
* Description:
|
||||
* Get Force Laser status
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pLaserStatus: Force laser status
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_forceLaserState_get(rtk_epon_laser_status_t *pLaserStatus);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_laserTime_set
|
||||
* Description:
|
||||
* Set laserTime value
|
||||
* Input:
|
||||
* lasetOnTime: OE module laser on time
|
||||
* lasetOffTime: OE module laser off time
|
||||
* Output:
|
||||
* plaserStatus:
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_laserTime_set(uint8 lasetOnTime, uint8 lasetOffTime);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_laserTime_get
|
||||
* Description:
|
||||
* Get laser Time value
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pLasetOnTime: OE module laser on time
|
||||
* pLasetOffTime: OE module laser off time
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_laserTime_get(uint8 *pLasetOnTime, uint8 *pLasetOffTime);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_syncTime_get
|
||||
* Description:
|
||||
* Get sync Time value
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pSyncTime : olt assigned sync time
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_syncTime_get(uint8 *pSyncTime);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_registerReq_get
|
||||
* Description:
|
||||
* Get register request relative parameter
|
||||
* Input:
|
||||
* pRegEntry : register request relative parament
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_registerReq_get(rtk_epon_regReq_t *pRegEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_registerReq_set
|
||||
* Description:
|
||||
* Set register request relative parameter
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRegEntry : register request relative parament
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_registerReq_set(rtk_epon_regReq_t *pRegEntry);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_churningKey_set
|
||||
* Description:
|
||||
* Set churning key entry
|
||||
* Input:
|
||||
* pEntry : churning key relative parameter
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_churningKey_set(rtk_epon_churningKeyEntry_t *pEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_churningKey_get
|
||||
* Description:
|
||||
* Get churning key entry
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEntry : churning key relative parameter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_churningKey_get(rtk_epon_churningKeyEntry_t *pEntry);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_usFecState_get
|
||||
* Description:
|
||||
* Get upstream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : upstream FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_usFecState_get(rtk_enable_t *pState);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_usFecState_set
|
||||
* Description:
|
||||
* Set upstream fec state
|
||||
* Input:
|
||||
* state : upstream FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_usFecState_set(rtk_enable_t state);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_dsFecState_get
|
||||
* Description:
|
||||
* Get down-stream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : down-stream FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_dsFecState_get(rtk_enable_t *pState);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_dsFecState_set
|
||||
* Description:
|
||||
* Set down-stream fec state
|
||||
* Input:
|
||||
* state : down-stream FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_dsFecState_set(rtk_enable_t state);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_dsFecState_set
|
||||
* Description:
|
||||
* Set down-stream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pCounter : EPON mib counter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_mibCounter_get(rtk_epon_counter_t *pCounter);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_mibGlobal_reset
|
||||
* Description:
|
||||
* Reset EPON global counters.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_STAT_GLOBAL_CNTR_FAIL - Could not reset Global Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_epon_mibGlobal_reset(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_mibLlidIdx_reset
|
||||
* Description:
|
||||
* Reset the specified LLID index counters.
|
||||
* Input:
|
||||
* llidIdx - LLID table index
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_epon_mibLlidIdx_reset(uint8 llidIdx);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_losState_get
|
||||
* Description:
|
||||
* Get laser lose of signal state.
|
||||
* Input:
|
||||
* pState LOS state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_epon_losState_get(rtk_enable_t *pState);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_mpcpTimeoutVal_get
|
||||
* Description:
|
||||
* Get mpcp time out value.
|
||||
* Input:
|
||||
* pTimeVal - pointer of mpcp tomeout value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_epon_mpcpTimeoutVal_get(uint32 *pTimeVal);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_mpcpTimeoutVal_set
|
||||
* Description:
|
||||
* Set mpcp time out value.
|
||||
* Input:
|
||||
* timeVal - mpcp tomeout value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_epon_mpcpTimeoutVal_set(uint32 timeVal);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_opticalPolarity_set
|
||||
* Description:
|
||||
* Set OE module polarity.
|
||||
* Input:
|
||||
* polarity - OE module polarity
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_epon_opticalPolarity_set(rtk_epon_polarity_t polarity);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_opticalPolarity_get
|
||||
* Description:
|
||||
* Set OE module polarity.
|
||||
* Input:
|
||||
* pPolarity - pointer of OE module polarity
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_epon_opticalPolarity_get(rtk_epon_polarity_t *pPolarity);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_fecState_get
|
||||
* Description:
|
||||
* Get EPON global fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : glogal FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_fecState_get(rtk_enable_t *pState);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_fecState_set
|
||||
* Description:
|
||||
* Set EPON global fec state
|
||||
* Input:
|
||||
* state : global FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_fecState_set(rtk_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_llidEntryNum_get
|
||||
* Description:
|
||||
* Get EPON support LLID entry number
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : glogal FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_llidEntryNum_get(uint32 *num);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_dbgInfo_get
|
||||
* Description:
|
||||
* Get EPON debug information
|
||||
* Input:
|
||||
* intrType: type of interrupt
|
||||
* Output:
|
||||
* pDbgCnt: point of relative debug counter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_dbgInfo_get(rtk_epon_dbgCnt_t *pDbgCnt);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_forcePRBS_set
|
||||
* Description:
|
||||
* Set force PRBS status
|
||||
* Input:
|
||||
* prbsCfg - PRBS config
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_forcePRBS_set(rtk_epon_prbs_t prbsCfg);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_epon_forcePRBS_get
|
||||
* Description:
|
||||
* Get force PRBS status
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pPrbsCfg - PRBS config
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_epon_forcePRBS_get(rtk_epon_prbs_t *pPrbsCfg);
|
||||
|
||||
extern int32
|
||||
dal_apollomp_epon_churningKeyMode_set(rtk_epon_churning_mode_t mode);
|
||||
|
||||
extern int32
|
||||
dal_apollomp_epon_fecOverhead_set(uint32 val);
|
||||
|
||||
extern int32
|
||||
dal_apollomp_epon_reportMode_set(rtk_epon_report_mode_t mode);
|
||||
|
||||
extern int32
|
||||
dal_apollomp_epon_reportMode_get(rtk_epon_report_mode_t *pMode);
|
||||
|
||||
extern int32
|
||||
dal_apollomp_is_epon_txMacHangUp(uint32 *isHangUp);
|
||||
|
||||
|
||||
int32 dal_apollomp_epon_mpcpCheckState_set(dal_apollomp_epon_mpcp_check_state_t mpcpState);
|
||||
int32 dal_apollomp_epon_mpcpCheckState_get(dal_apollomp_epon_mpcp_check_state_t *mpcpState);
|
||||
|
||||
|
||||
|
||||
#endif /*#ifndef _DAL_APOLLOMP_EPON_H_*/
|
||||
|
||||
277
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_gpio.h
Executable file
277
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_gpio.h
Executable file
|
|
@ -0,0 +1,277 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of GPIO API
|
||||
*
|
||||
* Feature : Provide the APIs to enable and configure GPIO
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_GPIO_H__
|
||||
#define __DAL_APOLLOMP_GPIO_H__
|
||||
|
||||
#define APOLLOMP_GPIO_PIN_NUM 64
|
||||
#define APOLLOMP_GPIO_INTR_NUM 64
|
||||
#define APOLLOMP_GPIO_BASE 0xB8003300
|
||||
|
||||
/*********************************************************************
|
||||
Offset Size (byte) Name Description Field
|
||||
0x00 4 PABCD_CNR Port A, B, C, D control register. MISC
|
||||
0x04 4 PABCD_Ptype Port A,B,C, D peripheral type control register. MISC
|
||||
0x08 4 PABCD_DIR Port A, B, C, D direction register. MISC
|
||||
0x0C 4 PABCD_DAT Port A, B, C,D data register. MISC
|
||||
0x10 4 PABCD_ISR Port A, B, C,D interrupt status register. MISC
|
||||
0x14 4 PAB_IMR Port A, B interrupt mask register. MISC
|
||||
0x18 4 PCD_IMR Port C, D interrupt mask register. MISC
|
||||
0x1C 4 PEFGH_CNR Port E, F, G, H control register. MISC
|
||||
0x20 4 PEFGH_Ptype Port E, F, G, H peripheral type control register. MISC
|
||||
0x24 4 PEFGH_DIR Port E, F, G, H direction register. MISC
|
||||
0x28 4 PEFGH_DAT Port E, F, G, H data register. MISC
|
||||
0x2C 4 PEFGH_ISR Port E, F, G, H interrupt status register. MISC
|
||||
0x30 4 PEF_IMR Port E, F interrupt mask register. MISC
|
||||
0x34 4 PGH_IMR Port G, H interrupt mask register. MISC
|
||||
0x38 4 PABCD_CPU0_IMR Port A, B, C, D cpu0 interrupt mask register. MISC
|
||||
0x3C 4 PABCD_CPU1_IMR Port A, B, C, D cpu1 interrupt mask register. MISC
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
enum {
|
||||
APOLLOMP_GPIO_CTRL_ABCDr= APOLLOMP_GPIO_BASE+0x0, /*enable gpio function*/
|
||||
APOLLOMP_GPIO_CTRL_EFGHr= APOLLOMP_GPIO_BASE+0x1c, /*enable gpio function*/
|
||||
APOLLOMP_GPIO_DIR_ABCDr = APOLLOMP_GPIO_BASE+0x08, /*configure gpio pin to gpo or gpi*/
|
||||
APOLLOMP_GPIO_DIR_EFGHr = APOLLOMP_GPIO_BASE+0x24, /*configure gpio pin to gpo or gpi*/
|
||||
APOLLOMP_GPIO_DATA_ABCDr= APOLLOMP_GPIO_BASE+0x0c, /*datatit for input/output mode*/
|
||||
APOLLOMP_GPIO_DATA_EFGHr= APOLLOMP_GPIO_BASE+0x28, /*datatit for input/output mode*/
|
||||
APOLLOMP_GPIO_IMS_ABCDr = APOLLOMP_GPIO_BASE+0x10, /*interrupt status */
|
||||
APOLLOMP_GPIO_IMS_EFGHr = APOLLOMP_GPIO_BASE+0x2c, /*interrupt status */
|
||||
APOLLOMP_GPIO_IMR_ABr = APOLLOMP_GPIO_BASE+0x14, /*interrupt mask register AB */
|
||||
APOLLOMP_GPIO_IMR_CDr = APOLLOMP_GPIO_BASE+0x18, /*interrupt mask register CD*/
|
||||
APOLLOMP_GPIO_IMR_EFr = APOLLOMP_GPIO_BASE+0x30, /*interrupt mask register EF*/
|
||||
APOLLOMP_GPIO_IMR_GHr = APOLLOMP_GPIO_BASE+0x34, /*interrupt mask register GH*/
|
||||
APOLLOMP_GPIO_CPU0_ABCDr= APOLLOMP_GPIO_BASE+0x38, /*configure gpio imr to cpu 0*/
|
||||
APOLLOMP_GPIO_CPU1_ABCDr= APOLLOMP_GPIO_BASE+0x3c, /*configure gpio imr to cpu 1*/
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_init
|
||||
* Description:
|
||||
* gpio init function
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* None
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_init(void );
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_state_set
|
||||
* Description:
|
||||
* enable or disable gpio function
|
||||
* Input:
|
||||
* gpioId - gpio id from 0~71
|
||||
* enable - enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_state_set(uint32 gpioId, rtk_enable_t enable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_state_get
|
||||
* Description:
|
||||
* enable or disable gpio function
|
||||
* Input:
|
||||
* gpioId - gpio id from 0~71
|
||||
* enable - enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_state_get(uint32 gpioId, rtk_enable_t *enable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_mode_set
|
||||
* Description:
|
||||
* set gpio to input or output mode
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 71
|
||||
* mode -gpio mode, input or output mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_mode_set(uint32 gpioId, rtk_gpio_mode_t mode);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_mode_get
|
||||
* Description:
|
||||
* set gpio to input or output mode
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 71
|
||||
* mode -point for get input or output mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_mode_get(uint32 gpioId, rtk_gpio_mode_t *mode);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_databit_get
|
||||
* Description:
|
||||
* read gpio data
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 71
|
||||
* data -point for read data from gpio
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_databit_get(uint32 gpioId, uint32 *data);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_databit_set
|
||||
* Description:
|
||||
* write data to gpio
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 71
|
||||
* data -write data to gpio
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_databit_set(uint32 gpioId, uint32 data);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_intr_get
|
||||
* Description:
|
||||
* write data to gpio
|
||||
* Input:
|
||||
* state: point of state, enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_intr_get(uint32 gpioId,rtk_gpio_intrMode_t *pIntrMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_intr_set
|
||||
* Description:
|
||||
* write data to gpio
|
||||
* Input:
|
||||
* state: point of state, enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_intr_set(uint32 gpioId,rtk_gpio_intrMode_t intrMode);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_intrStatus_clean
|
||||
* Description:
|
||||
* clean gpio interrupt status
|
||||
* Input:
|
||||
* gpioId - gpio pin id
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_intrStatus_clean(uint32 gpioId);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_gpio_intrStatus_get
|
||||
* Description:
|
||||
* Get gpio interrupt status value
|
||||
* Input:
|
||||
* pState - point for gpio interrupt status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_gpio_intrStatus_get(uint32 gpioId,rtk_enable_t *pState);
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_GPIO_H__ */
|
||||
419
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_gpon.h
Normal file
419
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_gpon.h
Normal file
|
|
@ -0,0 +1,419 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
*
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : GMac Driver API
|
||||
*
|
||||
* Feature : Provide the APIs to access GPON MAC
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_GPON_H__
|
||||
#define __DAL_APOLLOMP_GPON_H__
|
||||
|
||||
/*
|
||||
* GMac Drv Initialization. To start the GMac Drv. The first function call for GMac Drv.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_driver_initialize(void);
|
||||
|
||||
/*
|
||||
* GMac Drv De-Initialization. To Stop the GMac Drv. The last function call for GMac Drv.
|
||||
* The Device should be de-initialized before this function call.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_driver_deInitialize(void);
|
||||
|
||||
/*
|
||||
* GMac Device Initialization. To start the device of the GMac.
|
||||
* This function should be called after the Drv Initialization and before any other operation.
|
||||
* It should be called after Device is de-initialized but the Drv is not be de-initialized.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_device_initialize(void);
|
||||
|
||||
/*
|
||||
* GMac Device De-Initialization. To stop the device of the GMac.
|
||||
* It should be called before the Drv is de-initialized and the GMac is not activated.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_device_deInitialize(void);
|
||||
|
||||
/*
|
||||
* This function is called to register the callback function of the State Change.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_eventHandler_stateChange_reg(rtk_gpon_eventHandleFunc_stateChange_t func);
|
||||
|
||||
/*
|
||||
* This function is called to register the callback function of the D/S FEC Change.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_eventHandler_dsFecChange_reg(rtk_gpon_eventHandleFunc_fecChange_t func);
|
||||
/*
|
||||
* This function is called to register the callback function of the U/S FEC Change.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_eventHandler_usFecChange_reg(rtk_gpon_eventHandleFunc_fecChange_t func);
|
||||
|
||||
/*
|
||||
* This function is called to register the callback function of the U/S PLOAM urgent queue is empty.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_eventHandler_usPloamUrgEmpty_reg(rtk_gpon_eventHandleFunc_usPloamEmpty_t func);
|
||||
/*
|
||||
* This function is called to register the callback function of the U/S PLOAM normal queue is empty.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_eventHandler_usPloamNrmEmpty_reg(rtk_gpon_eventHandleFunc_usPloamEmpty_t func);
|
||||
|
||||
/*
|
||||
* This function is called to register the event handler of the Rx PLOAM.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_eventHandler_ploam_reg(rtk_gpon_eventHandleFunc_ploam_t func);
|
||||
|
||||
/*
|
||||
* This function is called to register the event handler of the Rx OMCI.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_eventHandler_omci_reg(rtk_gpon_eventHandleFunc_omci_t func);
|
||||
|
||||
/*
|
||||
* This function is called to register the callback function of the AES Key Query.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_callback_queryAesKey_reg(rtk_gpon_callbackFunc_queryAesKey_t func);
|
||||
|
||||
/*
|
||||
* This function is called to register the alarm event handler of the alarm.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_eventHandler_alarm_reg(rtk_gpon_alarm_type_t alarmType, rtk_gpon_eventHandleFunc_fault_t func);
|
||||
|
||||
/*
|
||||
* GPON MAC Set Serial Number.
|
||||
* It should be called before the GMac is activated.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_serialNumber_set(rtk_gpon_serialNumber_t *sn);
|
||||
|
||||
/*
|
||||
* GPON MAC Get Serial Number.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_serialNumber_get(rtk_gpon_serialNumber_t *sn);
|
||||
|
||||
/*
|
||||
* GPON MAC set Password.
|
||||
* It should be called before the GMac is activated.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_password_set(rtk_gpon_password_t *pwd);
|
||||
|
||||
/*
|
||||
* GPON MAC get Password.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_password_get(rtk_gpon_password_t *pwd);
|
||||
|
||||
/*
|
||||
* GPON MAC set parameters.
|
||||
* It should be called before the GMac is activated.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_parameter_set(rtk_gpon_patameter_type_t type, void *pPara);
|
||||
/*
|
||||
* GPON MAC get parameters, which is set by dal_apollomp_gpon_parameter_set.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_parameter_get(rtk_gpon_patameter_type_t type, void *pPara);
|
||||
|
||||
/*
|
||||
* GPON MAC Activating.
|
||||
* The GPON MAC is working now.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_activate(rtk_gpon_initialState_t initState);
|
||||
/*
|
||||
* GPON MAC de-Activate.
|
||||
* The GPON MAC is out of work now.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_deActivate(void);
|
||||
|
||||
/*
|
||||
* GPON MAC Get PON Status.
|
||||
* If the device is not activated, an unknown status is returned.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_ponStatus_get(rtk_gpon_fsm_status_t* status);
|
||||
|
||||
/*
|
||||
* GPON MAC ISR entry
|
||||
* Should be called in interrupt process or a polling thread
|
||||
*/
|
||||
void dal_apollomp_gpon_isr_entry(void);
|
||||
|
||||
/*
|
||||
* GPON MAC Create a TCont by assigning an alloc id.
|
||||
* A TCont ID is returned.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_tcont_create(rtk_gpon_tcont_ind_t* ind, rtk_gpon_tcont_attr_t* attr);
|
||||
/*
|
||||
* GPON MAC Remove a TCont.
|
||||
* The TCont ID and the alloc ID is necessary.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_tcont_destroy(rtk_gpon_tcont_ind_t* ind);
|
||||
/*
|
||||
* GPON MAC Get a TCont with an alloc id.
|
||||
* The TCont ID is returned.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_tcont_get(rtk_gpon_tcont_ind_t* ind, rtk_gpon_tcont_attr_t* attr);
|
||||
|
||||
/*
|
||||
* GPON MAC set a D/S flow.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_dsFlow_set(uint32 flowId, rtk_gpon_dsFlow_attr_t* attr);
|
||||
|
||||
/*
|
||||
* GPON MAC get a D/S flow.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_dsFlow_get(uint32 flowId, rtk_gpon_dsFlow_attr_t* attr);
|
||||
|
||||
/*
|
||||
* GPON MAC set a U/S flow.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_usFlow_set(uint32 flowId, rtk_gpon_usFlow_attr_t* attr);
|
||||
|
||||
/*
|
||||
* GPON MAC get a U/S flow.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_usFlow_get(uint32 flowId, rtk_gpon_usFlow_attr_t* attr);
|
||||
|
||||
/*
|
||||
* GPON MAC Send a PLOAM in upstream.
|
||||
* A error is returned if the PLOAM is not sent.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_ploam_send(int32 urgent, rtk_gpon_ploam_t* ploam);
|
||||
|
||||
/*
|
||||
* GPON MAC set the broadcast pass mode.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_broadcastPass_set(int32 mode);
|
||||
/*
|
||||
* GPON MAC get the broadcast pass mode.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_broadcastPass_get(int32* mode);
|
||||
|
||||
/*
|
||||
* GPON MAC set the non-multicast pass mode.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_nonMcastPass_set(int32 mode);
|
||||
/*
|
||||
* GPON MAC get the non-multicast pass mode.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_nonMcastPass_get(int32* mode);
|
||||
|
||||
#if 0 /* wellknown addr is removed in GPON_MAC_SWIO_r1.1 */
|
||||
/*
|
||||
* GPON MAC set the well known address forwarding mode and the well known address.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_wellKnownAddr_set(int32 mode, uint32 addr);
|
||||
/*
|
||||
* GPON MAC get the well known address forwarding mode and the well known address.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_wellKnownAddr_get(int32* mode, uint32* addr);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* GPON MAC set the multicast address check mode and the address pattern.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_multicastAddrCheck_set(uint32 ipv4_pattern, uint32 ipv6_pattern);
|
||||
/*
|
||||
* GPON MAC get the multicast address check mode and the address pattern.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_multicastAddrCheck_get(uint32* ipv4_pattern, uint32* ipv6_pattern);
|
||||
|
||||
/*
|
||||
* GPON MAC set the mac filter mode.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_macFilterMode_set(rtk_gpon_macTable_exclude_mode_t mode);
|
||||
|
||||
/*
|
||||
* GPON MAC get the mac filter mode.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_macFilterMode_get(rtk_gpon_macTable_exclude_mode_t* mode);
|
||||
|
||||
/*
|
||||
* GPON MAC set the multicast force mode.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_mcForceMode_set(rtk_gpon_mc_force_mode_t ipv4, rtk_gpon_mc_force_mode_t ipv6);
|
||||
|
||||
/*
|
||||
* GPON MAC get the multicast force mode.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_mcForceMode_get(rtk_gpon_mc_force_mode_t *ipv4, rtk_gpon_mc_force_mode_t *ipv6);
|
||||
|
||||
/*
|
||||
* GPON MAC Add a MAC entry by the MAC Address.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_macEntry_add(rtk_gpon_macTable_entry_t* entry);
|
||||
|
||||
/*
|
||||
* GPON MAC Remove a MAC entry by the MAC Address.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_macEntry_del(rtk_gpon_macTable_entry_t* entry);
|
||||
|
||||
/*
|
||||
* GPON MAC Get a MAC entry by the table index.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_macEntry_get(uint32 index, rtk_gpon_macTable_entry_t* entry);
|
||||
|
||||
/*
|
||||
* GPON MAC set the RDI indicator in upstream.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_rdi_set(int32 enable);
|
||||
|
||||
/*
|
||||
* GPON MAC get the RDI indicator in upstream.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_rdi_get(int32* enable);
|
||||
|
||||
/*
|
||||
* GPON MAC set ONU power level.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_powerLevel_set(uint8 level);
|
||||
|
||||
/*
|
||||
* GPON MAC get ONU power level.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_powerLevel_get(uint8* level);
|
||||
|
||||
/*
|
||||
* GPON MAC get the alarm status.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_alarmStatus_get(rtk_gpon_alarm_type_t alarm, int32 *status);
|
||||
|
||||
/*
|
||||
* GPON MAC get global performance counter.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_globalCounter_get (rtk_gpon_global_performance_type_t type, rtk_gpon_global_counter_t* para);
|
||||
|
||||
/*
|
||||
* GPON MAC get Tcont performance counter.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_tcontCounter_get (uint32 tcontId, rtk_gpon_tcont_performance_type_t type, rtk_gpon_tcont_counter_t *pPara);
|
||||
|
||||
/*
|
||||
* GPON MAC get Flow performance counter.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_flowCounter_get (uint32 flowId, rtk_gpon_flow_performance_type_t type, rtk_gpon_flow_counter_t *pPara);
|
||||
|
||||
/*
|
||||
* GPON MAC get the version infomation for debug.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_version_get(rtk_gpon_device_ver_t* hver, rtk_gpon_driver_ver_t* sver);
|
||||
|
||||
#if 0 /* gemloop is removed in GPON_MAC_SWIO_v1.1 */
|
||||
/*
|
||||
* GPON MAC set the GEM Loop.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_gemLoop_set(int32 loop);
|
||||
|
||||
/*
|
||||
* GPON MAC get the GEM Loop status.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_gemLoop_get(int32 *pLoop);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* GPON MAC set the Laser status.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_txForceLaser_set(rtk_gpon_laser_status_t status);
|
||||
|
||||
/*
|
||||
* GPON MAC get the Laser status.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_txForceLaser_get(rtk_gpon_laser_status_t *pStatus);
|
||||
|
||||
/*
|
||||
* GPON MAC set to force insert the idle in upstream.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_txForceIdle_set(int32 on);
|
||||
|
||||
/*
|
||||
* GPON MAC get the status to force insert the idle in upstream.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_txForceIdle_get(int32 *pOn);
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* GPON MAC set to force insert the PRBS in upstream.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_txForcePRBS_set(int32 on);
|
||||
|
||||
/*
|
||||
* GPON MAC get the status to force insert the PRBS in upstream.
|
||||
*/
|
||||
int32 dal_apollomp_gpon_txForcePRBS_get(int32* pOn);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* GPON MAC get the status to FEC in downstream from Ident field
|
||||
*/
|
||||
int32 dal_apollomp_gpon_dsFecSts_get(int32* en);
|
||||
|
||||
/*
|
||||
* GPON MAC show version infomation in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_version_show(void);
|
||||
|
||||
/*
|
||||
* GPON MAC show the whole driver infomation in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_devInfo_show(void);
|
||||
|
||||
/*
|
||||
* GPON MAC show the whole GTC infomation in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_gtc_show(void);
|
||||
|
||||
/*
|
||||
* GPON MAC show the TCont infomation in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_tcont_show(uint32 tcont); /* 0xFFFF means show all tcont */
|
||||
|
||||
/*
|
||||
* GPON MAC show the D/S flow infomation in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_dsFlow_show(uint32 flow);/* 0xFFFF means show all ds flow */
|
||||
|
||||
/*
|
||||
* GPON MAC show the U/S flow infomation in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_usFlow_show(uint32 flow);/* 0xFFFF means show all us flow */
|
||||
|
||||
/*
|
||||
* GPON MAC show Ethernet Mac Table in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_macTable_show(void);
|
||||
|
||||
/*
|
||||
* GPON MAC show Global Counter in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_globalCounter_show(rtk_gpon_global_performance_type_t type);
|
||||
|
||||
/*
|
||||
* GPON MAC show TCont Counter in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_tcontCounter_show(uint32 idx, rtk_gpon_tcont_performance_type_t type);
|
||||
|
||||
/*
|
||||
* GPON MAC show Flow Counter in COM port.
|
||||
*/
|
||||
void dal_apollomp_gpon_flowCounter_show(uint32 idx, rtk_gpon_flow_performance_type_t type);
|
||||
|
||||
int32 dal_apollomp_gpon_omci_tx(rtk_gpon_omci_msg_t* omci);
|
||||
int32 dal_apollomp_gpon_omci_rx(rtk_gpon_omci_msg_t* omci);
|
||||
|
||||
int32 dal_apollomp_gpon_auto_tcont_set(int32 state);
|
||||
int32 dal_apollomp_gpon_auto_tcont_get(int32 *pState);
|
||||
int32 dal_apollomp_gpon_auto_boh_set(int32 state);
|
||||
int32 dal_apollomp_gpon_auto_boh_get(int32 *pState);
|
||||
int32 dal_apollomp_gpon_eqd_offset_set(int32 offset);
|
||||
int32 dal_apollomp_gpon_eqd_offset_get(int32 *pOffset);
|
||||
int32 dal_apollomp_gpon_autoDisTx_set(rtk_enable_t state);
|
||||
|
||||
#endif /* __DAL_APOLLOMP_GPON_H__ */
|
||||
|
||||
2461
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_gponv2.h
Normal file
2461
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_gponv2.h
Normal file
File diff suppressed because it is too large
Load diff
331
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_i2c.h
Normal file
331
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_i2c.h
Normal file
|
|
@ -0,0 +1,331 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of I2C API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) I2C control
|
||||
* (2) I2C read/write
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_APOLLOMP_I2C_H__
|
||||
#define __DAL_APOLLOMP_I2C_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/i2c.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_init
|
||||
* Description:
|
||||
* Initialize i2c interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize before calling any other APIs.
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_init(rtk_i2c_port_t i2cPort);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_enable_set
|
||||
* Description:
|
||||
* Enable/Disable I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* enable - enable/disable state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_enable_set(rtk_i2c_port_t i2cPort, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_enable_get
|
||||
* Description:
|
||||
* Get I2C interface state.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* pEnable - the pointer of enable/disable state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_enable_get(rtk_i2c_port_t i2cPort, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_width_set
|
||||
* Description:
|
||||
* Set the data and address width of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* width - 8-bit or 16-bit
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_width_set(rtk_i2c_port_t i2cPort, rtk_i2c_width_t width);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_width_get
|
||||
* Description:
|
||||
* Get the data and address width of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* pWidth - the pointer of width
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_width_get(rtk_i2c_port_t i2cPort, rtk_i2c_width_t *pWidth);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_write
|
||||
* Description:
|
||||
* I2c write data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* data - data value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_write(rtk_i2c_port_t i2cPort, uint32 devID, uint32 regAddr, uint32 data);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_read
|
||||
* Description:
|
||||
* I2c read data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* pData - the pointer of returned data
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_read(rtk_i2c_port_t i2cPort, uint32 devID, uint32 regAddr, uint32 *pData);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollmp_i2c_seq_read
|
||||
* Description:
|
||||
* I2c read data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* pData - the pointer of returned data
|
||||
* count - number of sequential read
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* RT_ERR_CHIP_NOT_SUPPORTED
|
||||
* Note:
|
||||
* The ASIC doesn't support sequential read opearation
|
||||
* Use multiple random read to simulate the behavior
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_seq_read(rtk_i2c_port_t i2cPort, uint32 devID, uint32 regAddr, uint32 *pData, uint32 count);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_clock_set
|
||||
* Description:
|
||||
* Set the clock of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* clock - KMHz, 10-bit value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_i2c_clock_set(rtk_i2c_port_t i2cPort, uint32 clock);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_clock_get
|
||||
* Description:
|
||||
* Set the clock of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* clock - KMHz, 10-bit value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
|
||||
int32
|
||||
dal_apollomp_i2c_clock_get(rtk_i2c_port_t i2cPort, uint32 *pClock);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_dataWidth_set
|
||||
* Description:
|
||||
* Set the data width of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* width - 8-bit or 16-bit
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_i2c_dataWidth_set(rtk_i2c_port_t i2cPort, rtk_i2c_width_t width);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_dataWidth_get
|
||||
* Description:
|
||||
* Get the data width of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* pWidth - the pointer of width
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_i2c_dataWidth_get(rtk_i2c_port_t i2cPort, rtk_i2c_width_t *pWidth);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_addrWidth_set
|
||||
* Description:
|
||||
* Set the address width of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* width - 8-bit or 16-bit
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_i2c_addrWidth_set(rtk_i2c_port_t i2cPort, rtk_i2c_width_t width);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_i2c_addrWidth_get
|
||||
* Description:
|
||||
* Get the address width of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* pWidth - the pointer of width
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_i2c_addrWidth_get(rtk_i2c_port_t i2cPort, rtk_i2c_width_t *pWidth);
|
||||
|
||||
|
||||
#endif /*#ifndef __DAL_APOLLOMP_I2C_H__*/
|
||||
|
||||
398
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_intr.h
Normal file
398
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_intr.h
Normal file
|
|
@ -0,0 +1,398 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision:
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition those public Interrupt APIs and its data type in the SDK.
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* (1) Interrupt parameter settings
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_APOLLOMP_INTR_H__
|
||||
#define __DAL_APOLLOMP_INTR_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <dal/apollomp/dal_apollomp.h>
|
||||
#include <rtk/intr.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
#define INTR_PORT_MASK 0x7f
|
||||
#define INTR_IMR_MASK 0xffff
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_init
|
||||
* Description:
|
||||
* Initialize interrupt module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize interrupt module before calling any interrupt APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_polarity_set
|
||||
* Description:
|
||||
* Set interrupt polarity mode
|
||||
* Input:
|
||||
* mode - Interrupt polarity mode.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can set Interrupt polarity mode.
|
||||
* The modes that can be set as following:
|
||||
* - INTR_POLAR_HIGH
|
||||
* - INTR_POLAR_LOW
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_polarity_set(rtk_intr_polarity_t polar);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_polarity_get
|
||||
* Description:
|
||||
* Get Interrupt polarity mode
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pMode - Interrupt polarity mode
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can get Interrupt polarity mode.
|
||||
* The modes that can be got as following:
|
||||
* - INTR_POLAR_HIGH
|
||||
* - INTR_POLAR_LOW
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_polarity_get(rtk_intr_polarity_t *pPolar);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_imr_set
|
||||
* Description:
|
||||
* Set interrupt mask.
|
||||
* Input:
|
||||
* intr - interrupt type
|
||||
* enable - interrupt status
|
||||
*
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_OUT_OF_RANGE
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_imr_set(rtk_intr_type_t intr, rtk_enable_t enable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_imr_get
|
||||
* Description:
|
||||
* Get interrupt mask.
|
||||
* Input:
|
||||
* intr - interrupt type
|
||||
* pEnable - pointer of return state
|
||||
*
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* RT_ERR_OUT_OF_RANGE
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_imr_get(rtk_intr_type_t intr, rtk_enable_t *pEnable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_ims_get
|
||||
* Description:
|
||||
* Get interrupt status.
|
||||
* Input:
|
||||
* intr - interrupt type
|
||||
* pState - pointer of return status
|
||||
*
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* RT_ERR_OUT_OF_RANGE
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_ims_get(rtk_intr_type_t intr, rtk_enable_t *pState);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_ims_clear
|
||||
* Description:
|
||||
* Clear interrupt status.
|
||||
* Input:
|
||||
* intr - interrupt type
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_OUT_OF_RANGE
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_ims_clear(rtk_intr_type_t intr);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_speedChangeStatus_get
|
||||
* Description:
|
||||
* Get interrupt status of speed change.
|
||||
* Input:
|
||||
* pPortMask - pointer of return status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_speedChangeStatus_get(rtk_portmask_t *pPortMask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_speedChangeStatus_clear
|
||||
* Description:
|
||||
* Clear interrupt status of port speed change.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_speedChangeStatus_clear(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_linkupStatus_get
|
||||
* Description:
|
||||
* Get interrupt status of linkup.
|
||||
* Input:
|
||||
* pPortMask - pointer of return status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_linkupStatus_get(rtk_portmask_t *pPortMask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_linkupStatus_clear
|
||||
* Description:
|
||||
* Clear interrupt status of linkup.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_linkupStatus_clear(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_linkupPortStatus_clear
|
||||
* Description:
|
||||
* Clear interrupt status of linkup.
|
||||
* Input:
|
||||
* portMask - port mask to be cleared
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_linkupPortStatus_clear(rtk_portmask_t portMask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_linkdownStatus_get
|
||||
* Description:
|
||||
* Get interrupt status of linkdown.
|
||||
* Input:
|
||||
* pPortMask - pointer of return status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_linkdownStatus_get(rtk_portmask_t *pPortMask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_linkdownStatus_clear
|
||||
* Description:
|
||||
* Clear interrupt status of linkdown.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_linkdownStatus_clear(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_linkdownPortStatus_clear
|
||||
* Description:
|
||||
* Clear interrupt status of linkdown.
|
||||
* Input:
|
||||
* portMask - port mask to be cleared
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_linkdownPortStatus_clear(rtk_portmask_t portMask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_gphyStatus_get
|
||||
* Description:
|
||||
* Get interrupt status of GPHY.
|
||||
* Input:
|
||||
* pPortMask - pointer of return status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_gphyStatus_get(rtk_portmask_t *pPortMask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_gphyStatus_clear
|
||||
* Description:
|
||||
* Clear interrupt status of GPHY.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_gphyStatus_clear(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_intr_imr_restore
|
||||
* Description:
|
||||
* set imr mask from input value
|
||||
* Input:
|
||||
* imrValue: imr value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_intr_imr_restore(uint32 imrValue);
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_INTR_H__ */
|
||||
1517
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_l2.h
Normal file
1517
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_l2.h
Normal file
File diff suppressed because it is too large
Load diff
1402
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_l34.h
Normal file
1402
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_l34.h
Normal file
File diff suppressed because it is too large
Load diff
367
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_led.h
Normal file
367
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_led.h
Normal file
|
|
@ -0,0 +1,367 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition those public LED APIs and its data type in the SDK.
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* (1) LED parameter settings
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_APOLLOMP_LED_H__
|
||||
#define __DAL_APOLLOMP_LED_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_init
|
||||
* Description:
|
||||
* Initialize led module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize led module before calling any led APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* rtk_led_operation_set
|
||||
* Description:
|
||||
* Get Led operation mode
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pMode - LED operation mode.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can set Led operation mode.
|
||||
* The modes that can be set are as following:
|
||||
* - LED_OP_PARALLEL 17 led
|
||||
* - LED_OP_SERIAL 32 led
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_operation_get(rtk_led_operation_t *pMode);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_operation_set
|
||||
* Description:
|
||||
* Set Led operation mode
|
||||
* Input:
|
||||
* mode - LED operation mode.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can set Led operation mode.
|
||||
* The modes that can be set are as following:
|
||||
* - LED_OP_PARALLEL 17 led
|
||||
* - LED_OP_SERIAL 32 led
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_operation_set(rtk_led_operation_t mode);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_serialMode_set
|
||||
* Description:
|
||||
* Set Led serial mode active congiuration
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pActive - high low active mode.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can set LED serial mode active congiuration.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_serialMode_get(rtk_led_active_t *pActive);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_serialMode_set
|
||||
* Description:
|
||||
* Set Led serial mode active congiuration
|
||||
* Input:
|
||||
* active - high low active mode.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can set LED serial mode active congiuration.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_serialMode_set(rtk_led_active_t active);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_blinkRate_get
|
||||
* Description:
|
||||
* Get LED blinking rate at mode 0 to mode 3
|
||||
* Input:
|
||||
* group - led blinking group
|
||||
* Output:
|
||||
* pBlinkRate - blinking rate.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* There are 8 types of LED blinking rates at 32ms, 48ms, 64ms, 96ms, 128ms, 256ms, 512ms, and 1024ms.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_blinkRate_get(rtk_led_blinkGroup_t group, rtk_led_blink_rate_t *pBlinkRate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_blinkRate_set
|
||||
* Description:
|
||||
* Get LED blinking rate
|
||||
* Input:
|
||||
* group - led blinking group
|
||||
* blinkRate - blinking rate.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* There are 8 types of LED blinking rates at 32ms, 48ms, 64ms, 96ms, 128ms, 256ms, 512ms, and 1024ms.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_blinkRate_set(rtk_led_blinkGroup_t group, rtk_led_blink_rate_t blinkRate);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_groupConfig_set
|
||||
* Description:
|
||||
* Set per group Led to congiuration mode
|
||||
* Input:
|
||||
* ledIdx - LED index id.
|
||||
* type - LED type
|
||||
* pConfig - LED configuration
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_config_set(uint32 ledIdx, rtk_led_type_t type, rtk_led_config_t *pConfig);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_groupConfig_set
|
||||
* Description:
|
||||
* Set per group Led to congiuration mode
|
||||
* Input:
|
||||
* ledIdx - LED index id.
|
||||
* Output:
|
||||
* pType - LED type
|
||||
* pConfig - LED configuration
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_config_get(uint32 ledIdx, rtk_led_type_t *pType, rtk_led_config_t *pConfig);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_modeForce_get
|
||||
* Description:
|
||||
* Get Led group to congiuration force mode
|
||||
* Input:
|
||||
* ledIdx - LED index id.
|
||||
* Output:
|
||||
* pMode - LED force mode.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can get forced Led group mode.
|
||||
* The force modes that can be set are as following:
|
||||
* - LED_FORCE_NORMAL,
|
||||
* - LED_FORCE_BLINK,
|
||||
* - LED_FORCE_OFF,
|
||||
* - LED_FORCE_ON.
|
||||
* For LED_OP_SERIAL the max led index is 31
|
||||
* For LED_OP_PARALLEL the max led index is 16
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_modeForce_get(uint32 ledIdx, rtk_led_force_mode_t *pMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_modeForce_set
|
||||
* Description:
|
||||
* Set Led group to congiuration force mode
|
||||
* Input:
|
||||
* ledIdx - LED index id.
|
||||
* mode - LED force mode.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can get forced Led group mode.
|
||||
* The force modes that can be set are as following:
|
||||
* - LED_FORCE_NORMAL,
|
||||
* - LED_FORCE_BLINK,
|
||||
* - LED_FORCE_OFF,
|
||||
* - LED_FORCE_ON.
|
||||
* For LED_OP_SERIAL the max led index is 31
|
||||
* For LED_OP_PARALLEL the max led index is 16
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_modeForce_set(uint32 ledIdx, rtk_led_force_mode_t mode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_parallelEnable_get
|
||||
* Description:
|
||||
* Get Led group enable status for parallel mode
|
||||
* Input:
|
||||
* ledIdx - LED index id.
|
||||
* Output:
|
||||
* pState - LED parallel enable status.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_parallelEnable_get(uint32 ledIdx, rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_parallelEnable_set
|
||||
* Description:
|
||||
* Set Led group enable status for parallel mode
|
||||
* Input:
|
||||
* ledIdx - LED index id.
|
||||
* state - LED parallel enable status.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_parallelEnable_set(uint32 ledIdx, rtk_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_ponAlarm_get
|
||||
* Description:
|
||||
* Get PON alarm state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pState - PON alarm state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_ponAlarm_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_ponAlarm_set
|
||||
* Description:
|
||||
* Get PON alarm state
|
||||
* Input:
|
||||
* state - PON alarm state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_ponAlarm_set(rtk_enable_t state);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_ponWarning_get
|
||||
* Description:
|
||||
* Get PON alarm state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pState - PON alarm state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_ponWarning_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_led_ponWarning_set
|
||||
* Description:
|
||||
* Get PON warning state
|
||||
* Input:
|
||||
* state - PON alarm state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_led_ponWarning_set(rtk_enable_t state);
|
||||
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLO_LED_H__ */
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* Copyright(c) Realtek Semiconductor Corporation, 2011
|
||||
* All rights reserved.
|
||||
*
|
||||
* Purpose : Enterprise Switch RTK API mapper table
|
||||
*
|
||||
* Feature :
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_MAPPER_H__
|
||||
#define __DAL_APOLLOMP_MAPPER_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <common/rt_error.h>
|
||||
#include <dal/dal_mapper.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
|
||||
/* Module Name : */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_init
|
||||
* Description:
|
||||
* Initilize DAL of enterprise switch
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_FAILED - initialize fail
|
||||
* RT_ERR_OK - initialize success
|
||||
* Note:
|
||||
* RTK must call this function before do other kind of action.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_mapper_get
|
||||
* Description:
|
||||
* Get DAL mapper function
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* dal_mapper_t * - mapper pointer
|
||||
* Note:
|
||||
*/
|
||||
extern dal_mapper_t *dal_apollomp_mapper_get(void);
|
||||
|
||||
#endif /* __DAL_APOLLOMP_MAPPER_H__ */
|
||||
146
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_mirror.h
Normal file
146
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_mirror.h
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of Mirror API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Port-based mirror
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_MIRROR_H__
|
||||
#define __DAL_APOLLOMP_MIRROR_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/port.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : Mirror */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_mirror_init
|
||||
* Description:
|
||||
* Initialize the mirroring database.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* Note:
|
||||
* Must initialize Mirror module before calling any Mirror APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_mirror_init(void);
|
||||
|
||||
/* Module Name : Mirror */
|
||||
/* Sub-module Name: Port-based mirror */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_mirror_portBased_set
|
||||
* Description:
|
||||
* Set port mirror function.
|
||||
* Input:
|
||||
* mirroringPort - Monitor port.
|
||||
* pMirroredRxPortmask - Rx mirror port mask.
|
||||
* pMirroredTxPortmask - Tx mirror port mask.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_PORT_ID - Invalid port number
|
||||
* RT_ERR_PORT_MASK - Invalid portmask.
|
||||
* Note:
|
||||
* The API is to set mirror function of source port and mirror port.
|
||||
* The mirror port can only be set to one port and the TX and RX mirror ports
|
||||
* should be identical.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_mirror_portBased_set(rtk_port_t mirroringPort, rtk_portmask_t *pMirroredRxPortmask, rtk_portmask_t *pMirroredTxPortmask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_mirror_portBased_get
|
||||
* Description:
|
||||
* Get port mirror function.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pMirroringPort - Monitor port.
|
||||
* pMirroredRxPortmask - Rx mirror port mask.
|
||||
* pMirroredTxPortmask - Tx mirror port mask.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API is to get mirror function of source port and mirror port.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_mirror_portBased_get(rtk_port_t *pMirroringPort, rtk_portmask_t *pMirroredRxPortmask, rtk_portmask_t *pMirroredTxPortmask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_mirror_portIso_set
|
||||
* Description:
|
||||
* Set mirror port isolation.
|
||||
* Input:
|
||||
* enable Mirror isolation status.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_ENABLE - Invalid enable input
|
||||
* Note:
|
||||
* The API is to set mirror isolation function that prevent normal forwarding packets to miror port.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_mirror_portIso_set(rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_mirror_portIso_get
|
||||
* Description:
|
||||
* Get mirror port isolation.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEnable Mirror isolation status.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API is to get mirror isolation status.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_mirror_portIso_get(rtk_enable_t *pEnable);
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_MIRROR_H__ */
|
||||
149
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_oam.h
Normal file
149
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_oam.h
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of SVLAN API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) OAM (802.3ah) configuration
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_APOLLOMP_OAM_H__
|
||||
#define __DAL_APOLLOMP_OAM_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : OAM */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_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 int32
|
||||
dal_apollomp_oam_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_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 int32
|
||||
dal_apollomp_oam_parserAction_set(rtk_port_t port, rtk_oam_parser_act_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_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 int32
|
||||
dal_apollomp_oam_parserAction_get(rtk_port_t port, rtk_oam_parser_act_t *pAction);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_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 int32
|
||||
dal_apollomp_oam_multiplexerAction_set(rtk_port_t port, rtk_oam_multiplexer_act_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_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 int32
|
||||
dal_apollomp_oam_multiplexerAction_get(rtk_port_t port, rtk_oam_multiplexer_act_t *pAction);
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_OAM_H__ */
|
||||
339
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_ponmac.h
Normal file
339
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_ponmac.h
Normal file
|
|
@ -0,0 +1,339 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of PON MAC API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) queue configuration (PIR/CIR/Queue schuedule type)
|
||||
* (2) flow and queue mapping
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_PONMAC_H__
|
||||
#define __DAL_APOLLOMP_PONMAC_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/ponmac.h>
|
||||
#include <rtk/qos.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : PON Mac */
|
||||
/* Sub-module Name: flow/t-cont/queue mapping */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_init
|
||||
* Description:
|
||||
* Configure PON MAC initial settings
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_queue_add
|
||||
* Description:
|
||||
* Add queue to given scheduler id and apply queue setting
|
||||
* Input:
|
||||
* pQueue - queue id and scheduler id for ths queue.
|
||||
* pQueueCfg - queue configuration
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueueList/pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_queue_add(rtk_ponmac_queue_t *pQueue, rtk_ponmac_queueCfg_t *pQueueCfg);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_queue_get
|
||||
* Description:
|
||||
* get queue setting
|
||||
* Input:
|
||||
* pQueue - queue id and scheduler id for ths queue.
|
||||
* Output:
|
||||
* pQueueCfg - queue configuration
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueueList/pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_queue_get(rtk_ponmac_queue_t *pQueue, rtk_ponmac_queueCfg_t *pQueueCfg);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_queue_del
|
||||
* Description:
|
||||
* delete queue from given scheduler id
|
||||
* Input:
|
||||
* pQueue - queue id and scheduler id for ths queue.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_queue_del(rtk_ponmac_queue_t *pQueue);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_flow2Queue_set
|
||||
* Description:
|
||||
* mapping flow to given queue
|
||||
* Input:
|
||||
* flow - flow id.
|
||||
* pQueue - queue id.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_flow2Queue_set(uint32 flow, rtk_ponmac_queue_t *pQueue);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_flow2Queue_get
|
||||
* Description:
|
||||
* get queue id for this flow
|
||||
* Input:
|
||||
* flow - flow id.
|
||||
* Output:
|
||||
* pQueue - queue id.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_flow2Queue_get(uint32 flow, rtk_ponmac_queue_t *pQueue);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_mode_set
|
||||
* Description:
|
||||
* set pon mac mode
|
||||
* Input:
|
||||
* mode - pon mode, epon or gpon
|
||||
* state - enable or disable
|
||||
* Output:
|
||||
* pQueue - queue id.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_mode_set(rtk_ponmac_mode_t mode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_mode_get
|
||||
* Description:
|
||||
* set pon mac mode
|
||||
* Input:
|
||||
* mode - pon mode, epon or gpon
|
||||
* Output:
|
||||
* *pState - mode state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_mode_get(rtk_ponmac_mode_t *pMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_queueDrainOut_set
|
||||
* Description:
|
||||
* Set pon queue drain out.
|
||||
* Input:
|
||||
* pQueue - Specified which PON queue will be drain out
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_queueDrainOut_set(rtk_ponmac_queue_t *pQueue);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_serdesCdr_reset
|
||||
* Description:
|
||||
* Serdes CDR reset by change polarity of RXSD
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_serdesCdr_reset(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_linkState_get
|
||||
* Description:
|
||||
* check SD and Sync state of GPON/EPON
|
||||
* Input:
|
||||
* mode - GPON or EPON mode
|
||||
* Output:
|
||||
* pSd - pointer of signal detect
|
||||
* pSync - pointer of sync state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_linkState_get(rtk_ponmac_mode_t mode, uint32 *pSd, uint32 *pSync);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_bwThreshold_set
|
||||
* Description:
|
||||
* Set PON Port threshold
|
||||
* Input:
|
||||
* bwThreshold - PON BW_THRESHOLD
|
||||
* reqBwThreshold - PON REQ_BW_THRESHOLD
|
||||
* Output:
|
||||
* N/A
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_bwThreshold_set(uint32 bwThreshold, uint32 reqBwThreshold);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_bwThreshold_get
|
||||
* Description:
|
||||
* Get PON Port threshold
|
||||
* Input:
|
||||
* N/A
|
||||
* Output:
|
||||
* pBwThreshold - PON BW_THRESHOLD
|
||||
* pReqBwThreshold - PON REQ_BW_THRESHOLD
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_bwThreshold_get(uint32 *pBwThreshold, uint32 *pReqBwThreshold);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_maxPktLen_set
|
||||
* Description:
|
||||
* set pon port max packet length
|
||||
* Input:
|
||||
* length - max accept packet length
|
||||
* state - enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_maxPktLen_set(uint32 length);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_ponmac_losState_get
|
||||
* Description:
|
||||
* Get laser lose of signal state.
|
||||
* Input:
|
||||
* pState LOS state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_ponmac_losState_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rtk_ponmac_txPll_relock
|
||||
* Description:
|
||||
* Re-lock tx PLL by toggle CMU_EN_GPHY.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rtk_ponmac_txPll_relock(void);
|
||||
#endif /* __DAL_APOLLOMP_PONMAC_H__ */
|
||||
|
||||
1401
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_port.h
Normal file
1401
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_port.h
Normal file
File diff suppressed because it is too large
Load diff
806
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_qos.h
Normal file
806
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_qos.h
Normal file
|
|
@ -0,0 +1,806 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of QoS API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Ingress Priority Decision
|
||||
* (2) Egress Remarking
|
||||
* (3) Queue Scheduling
|
||||
* (4) Congestion avoidance
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_QOS_H__
|
||||
#define __DAL_APOLLOMP_QOS_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/qos.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_init
|
||||
* Description:
|
||||
* Configure QoS initial settings
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_QUEUE_NUM - Invalid queue number
|
||||
* Note:
|
||||
*
|
||||
* The initialization does the following actions:
|
||||
* - set input bandwidth control parameters to default values
|
||||
* - set priority decision parameters
|
||||
* - set scheduling parameters
|
||||
* - disable port remark ability
|
||||
* - CPU port init 8 using prioroty to queue mapping index 0
|
||||
* - Other port init 1 queue using prioroty to queue mapping index 1
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_priSelGroup_get
|
||||
* Description:
|
||||
* Get weight of each priority assignment on specified priority selection group.
|
||||
* Input:
|
||||
* grpIdx - index of priority selection group
|
||||
* Output:
|
||||
* pWeightOfPriSel - pointer to weight of each priority assignment
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Apollo only support group 0
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_priSelGroup_get(uint32 grpIdx, rtk_qos_priSelWeight_t *pWeightOfPriSel);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_priSelGroup_set
|
||||
* Description:
|
||||
* Set weight of each priority assignment on specified priority selection group.
|
||||
* Input:
|
||||
* grpIdx - index of priority selection group
|
||||
* pWeightOfPriSel - weight of each priority assignment
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Apollo only support group 0
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_priSelGroup_set(uint32 grpIdx, rtk_qos_priSelWeight_t *pWeightOfPriSel);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_portPri_get
|
||||
* Description:
|
||||
* Get internal priority of one port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pIntPri - Priorities assigment for specific port. (range from 0 ~ 7, 7 is
|
||||
* the highest prioirty)
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_portPri_get(rtk_port_t port, rtk_pri_t *pIntPri);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_portPri_set
|
||||
* Description:
|
||||
* Get internal priority of one port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* intPri - Priorities assigment for specific port. (range from 0 ~ 7, 7 is
|
||||
* the highest prioirty)
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_portPri_set(rtk_port_t port, rtk_pri_t intPri);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_dscpPriRemapGroup_get
|
||||
* Description:
|
||||
* Get remapped internal priority of DSCP on specified DSCP remapping group.
|
||||
* Input:
|
||||
* unit - unit id
|
||||
* grpIdx - index of dscp remapping group
|
||||
* dscp - DSCP
|
||||
* Output:
|
||||
* pIntPri - pointer to internal priority
|
||||
* pDp - pointer to drop precedence
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_QOS_DSCP_VALUE - invalid DSCP value
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* Apollo only support group 0
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_dscpPriRemapGroup_get(
|
||||
uint32 grpIdx,
|
||||
uint32 dscp,
|
||||
rtk_pri_t *pIntPri,
|
||||
uint32 *pDp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_dscpPriRemapGroup_set
|
||||
* Description:
|
||||
* Set remapped internal priority of DSCP on specified DSCP remapping group.
|
||||
* Input:
|
||||
* grpIdx - index of dscp remapping group
|
||||
* dscp - DSCP
|
||||
* intPri - internal priority
|
||||
* dp - drop precedence
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_QOS_DSCP_VALUE - invalid DSCP value
|
||||
* RT_ERR_QOS_INT_PRIORITY - invalid internal priority
|
||||
* RT_ERR_DROP_PRECEDENCE - invalid drop precedence
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* Apollo only support group 0
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_dscpPriRemapGroup_set(
|
||||
uint32 grpIdx,
|
||||
uint32 dscp,
|
||||
rtk_pri_t intPri,
|
||||
uint32 dp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_1pPriRemapGroup_get
|
||||
* Description:
|
||||
* Get remapped internal priority of dot1p priority on specified dot1p priority remapping group.
|
||||
* Input:
|
||||
* unit - unit id
|
||||
* grpIdx - index of outer dot1p remapping group
|
||||
* dot1pPri - dot1p priority
|
||||
* Output:
|
||||
* pIntPri - pointer to internal priority
|
||||
* pDp - pointer to drop precedence
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_QOS_1P_PRIORITY - invalid dot1p priority
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* Apollo only support group 0
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_1pPriRemapGroup_get(
|
||||
uint32 grpIdx,
|
||||
rtk_pri_t dot1pPri,
|
||||
rtk_pri_t *pIntPri,
|
||||
uint32 *pDp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_1pPriRemapGroup_set
|
||||
* Description:
|
||||
* Set remapped internal priority of dot1p priority on specified dot1p priority remapping group.
|
||||
* Input:
|
||||
* grpIdx - index of dot1p remapping group
|
||||
* dot1pPri - dot1p priority
|
||||
* intPri - internal priority
|
||||
* dp - drop precedence
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_QOS_1P_PRIORITY - invalid dot1p priority
|
||||
* RT_ERR_QOS_INT_PRIORITY - invalid internal priority
|
||||
* RT_ERR_DROP_PRECEDENCE - invalid drop precedence
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_1pPriRemapGroup_set(
|
||||
uint32 grpIdx,
|
||||
rtk_pri_t dot1pPri,
|
||||
rtk_pri_t intPri,
|
||||
uint32 dp);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_priMap_set
|
||||
* Description:
|
||||
* Set the entry of internal priority to QID mapping table.
|
||||
* Input:
|
||||
* group - the group of priority to Queue id map(0~3).
|
||||
* pPri2qid - array of internal priority on a queue
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_QUEUE_NUM - Invalid queue number
|
||||
* RT_ERR_QOS_INT_PRIORITY - Invalid priority
|
||||
* RT_ERR_QUEUE_ID - Invalid queue ID
|
||||
* Note:
|
||||
* Below is an example of internal priority to QID mapping table.
|
||||
* -
|
||||
* - Priority
|
||||
* - group 0 1 2 3 4 5 6 7
|
||||
* - ================================
|
||||
* - 0 0 1 2 3 4 5 6 7
|
||||
* - 1 0 0 0 0 0 0 0 0
|
||||
* - 2 0 0 0 0 6 6 6 6
|
||||
* - 3 0 0 0 1 1 2 2 3
|
||||
* -for table index 0
|
||||
* - pPri2qid[0] = 0 internal priority 0 map to queue 0
|
||||
* - pPri2qid[1] = 1 internal priority 1 map to queue 1
|
||||
* - pPri2qid[2] = 2 internal priority 2 map to queue 2
|
||||
* - pPri2qid[3] = 3 internal priority 3 map to queue 3
|
||||
* - pPri2qid[4] = 4 internal priority 4 map to queue 4
|
||||
* - pPri2qid[5] = 5 internal priority 5 map to queue 5
|
||||
* - pPri2qid[6] = 6 internal priority 6 map to queue 6
|
||||
* - pPri2qid[7] = 7 internal priority 7 map to queue 7
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_priMap_set(uint32 group, rtk_qos_pri2queue_t *pPri2qid);
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_priMap_get
|
||||
* Description:
|
||||
* Get the entry of internal priority to QID mapping table.
|
||||
* Input:
|
||||
* group - the group of priority to Queue id map(0~3).
|
||||
* pPri2qid - array of internal priority on a queue
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_ENTRY_INDEX - Invalid group index
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_priMap_get(uint32 group, rtk_qos_pri2queue_t *pPri2qid);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_portPriMap_get
|
||||
* Description:
|
||||
* Get the value of internal priority to QID mapping table on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pGroup - Priority to queue mapping group
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_portPriMap_get(rtk_port_t port, uint32 *pGroup);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_portPriMap_set
|
||||
* Description:
|
||||
* Set the value of internal priority to QID mapping table on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* index - index to priority to queue table
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_portPriMap_set(rtk_port_t port, uint32 group);
|
||||
|
||||
/* Module Name : QoS */
|
||||
/* Sub-module Name: Egress remark */
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_1pRemarkEnable_get
|
||||
* Description:
|
||||
* Get 802.1p remark status for a port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - status of 802.1p remark
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The status of 802.1p remark:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_1pRemarkEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_1pRemarkEnable_set
|
||||
* Description:
|
||||
* Set 802.1p remark status for a port
|
||||
* Input:
|
||||
* port - port id.
|
||||
* enable - status of 802.1p remark
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* The status of 802.1p remark:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_1pRemarkEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_1pRemarkGroup_get
|
||||
* Description:
|
||||
* Get remarked dot1p priority of internal priority on specified dot1p remark group.
|
||||
* Input:
|
||||
* grpIdx - index of dot1p remark group
|
||||
* intPri - internal priority
|
||||
* dp - drop precedence
|
||||
* Output:
|
||||
* pDot1pPri - pointer to dot1p priority
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_QOS_INT_PRIORITY - invalid internal priority
|
||||
* RT_ERR_DROP_PRECEDENCE - invalid drop precedence
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_1pRemarkGroup_get(
|
||||
uint32 grpIdx,
|
||||
rtk_pri_t intPri,
|
||||
uint32 dp,
|
||||
rtk_pri_t *pDot1pPri);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_1pRemarkGroup_set
|
||||
* Description:
|
||||
* Set remarked dot1p priority of internal priority on specified dot1p remark group.
|
||||
* Input:
|
||||
* grpIdx - index of dot1p remark group
|
||||
* intPri - internal priority
|
||||
* dp - drop precedence
|
||||
* dot1pPri - dot1p priority
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_QOS_1P_PRIORITY - invalid dot1p priority
|
||||
* RT_ERR_QOS_INT_PRIORITY - invalid internal priority
|
||||
* RT_ERR_DROP_PRECEDENCE - invalid drop precedence
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_1pRemarkGroup_set(
|
||||
uint32 grpIdx,
|
||||
rtk_pri_t intPri,
|
||||
uint32 dp,
|
||||
rtk_pri_t dot1pPri);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_dscpRemarkEnable_get
|
||||
* Description:
|
||||
* Get DSCP remark status for a port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - status of DSCP remark
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The status of DSCP remark:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_dscpRemarkEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_dscpRemarkEnable_set
|
||||
* Description:
|
||||
* Set DSCP remark status for a port
|
||||
* Input:
|
||||
* port - port id
|
||||
* enable - status of DSCP remark
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* The status of DSCP remark:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_dscpRemarkEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_dscpRemarkGroup_get
|
||||
* Description:
|
||||
* Get remarked DSCP of internal priority on specified dscp remark group.
|
||||
* Input:
|
||||
* grpIdx - index of dot1p remapping group
|
||||
* intPri - internal priority
|
||||
* dp - drop precedence
|
||||
* Output:
|
||||
* pDscp - pointer to DSCP
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_QOS_INT_PRIORITY - invalid internal priority
|
||||
* RT_ERR_DROP_PRECEDENCE - invalid drop precedence
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* (1) The valid range of grp_idx is 0 for apollo
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_dscpRemarkGroup_get(
|
||||
uint32 grpIdx,
|
||||
rtk_pri_t intPri,
|
||||
uint32 dp,
|
||||
uint32 *pDscp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_dscpRemarkGroup_set
|
||||
* Description:
|
||||
* Set remarked DSCP of internal priority on specified dscp remark group.
|
||||
* Input:
|
||||
* grpIdx - index of dot1p remapping group
|
||||
* intPri - internal priority
|
||||
* dp - drop precedence
|
||||
* dscp - DSCP
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_QOS_DSCP_VALUE - invalid DSCP value
|
||||
* RT_ERR_QOS_INT_PRIORITY - invalid internal priority
|
||||
* RT_ERR_DROP_PRECEDENCE - invalid drop precedence
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
|
||||
* Note:
|
||||
* (1) The valid range of grp_idx is 0 for apollo
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_dscpRemarkGroup_set(
|
||||
uint32 grpIdx,
|
||||
rtk_pri_t intPri,
|
||||
uint32 dp,
|
||||
uint32 dscp);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_portDscpRemarkSrcSel_get
|
||||
* Description:
|
||||
* Get remarking source of DSCP remarking.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pType - remarking source
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_portDscpRemarkSrcSel_get(rtk_port_t port, rtk_qos_dscpRmkSrc_t *pType);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_portDscpRemarkSrcSel_set
|
||||
* Description:
|
||||
* Set remarking source of DSCP remarking.
|
||||
* Input:
|
||||
* port - port id
|
||||
* type - remarking source
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
|
||||
* Note:
|
||||
* The API can configure DSCP remark functionality to map original DSCP value or internal
|
||||
* priority to TX DSCP value.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_portDscpRemarkSrcSel_set(rtk_port_t port, rtk_qos_dscpRmkSrc_t type);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_dscp2DscpRemarkGroup_get
|
||||
* Description:
|
||||
* Get DSCP to remarked DSCP mapping.
|
||||
* Input:
|
||||
* dscp - DSCP value
|
||||
* grpIdx - group index
|
||||
* Output:
|
||||
* pDscp - remarked DSCP value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_QOS_DSCP_VALUE - Invalid dscp value
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_qos_dscp2DscpRemarkGroup_get(uint32 grpIdx, uint32 dscp, uint32 *pDscp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_dscp2DscpRemarkGroup_set
|
||||
* Description:
|
||||
* Set DSCP to remarked DSCP mapping.
|
||||
* Input:
|
||||
* grpIdx - group index
|
||||
* dscp - DSCP value
|
||||
* rmkDscp - remarked DSCP value
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_QOS_DSCP_VALUE - Invalid dscp value
|
||||
* Note:
|
||||
* dscp parameter can be DSCP value or internal priority according to configuration of API
|
||||
* dal_apollomp_qos_dscpRemarkSrcSel_set(), because DSCP remark functionality can map original DSCP
|
||||
* value or internal priority to TX DSCP value.
|
||||
*/
|
||||
int32
|
||||
dal_apollomp_qos_dscp2DscpRemarkGroup_set(uint32 grpIdx,uint32 dscp, uint32 rmkDscp);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_fwd2CpuPriRemap_get
|
||||
* Description:
|
||||
* Get forward to CPU port remapped priority for internal priority.
|
||||
* Input:
|
||||
* intPri - internal priority
|
||||
* Output:
|
||||
* pRempPri - pointer to remapping priority
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_QOS_INT_PRIORITY - invalid internal priority
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_fwd2CpuPriRemap_get(
|
||||
rtk_pri_t intPri,
|
||||
rtk_pri_t *pRempPri);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_fwd2CpuPriRemap_set
|
||||
* Description:
|
||||
* Set remapped internal priority of DSCP on specified DSCP remapping group.
|
||||
* Input:
|
||||
* intPri - internal priority
|
||||
* rempPri - remapping priority
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_QOS_INT_PRIORITY - invalid internal priority
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_fwd2CpuPriRemap_set(
|
||||
rtk_pri_t intPri,
|
||||
rtk_pri_t rempPri);
|
||||
|
||||
|
||||
/* Module Name : QoS */
|
||||
/* Sub-module Name: Queue scheduling */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_schedulingQueue_get
|
||||
* Description:
|
||||
* Get the scheduling types and weights of queues on specific port in egress scheduling.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pQweights - the array of weights for WRR/WFQ queue (valid:1~128, 0 for STRICT_PRIORITY queue)
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The types of queue are: WFQ_WRR_PRIORITY or STRICT_PRIORITY.
|
||||
* If the weight is 0 then the type is STRICT_PRIORITY, else the type is WFQ_WRR_PRIORITY.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_schedulingQueue_get(rtk_port_t port, rtk_qos_queue_weights_t *pQweights);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_schedulingQueue_set
|
||||
* Description:
|
||||
* Set the scheduling types and weights of queues on specific port in egress scheduling.
|
||||
* Input:
|
||||
* port - port id
|
||||
* pQweights - the array of weights for WRR/WFQ queue (valid:1~128, 0 for STRICT_PRIORITY queue)
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_QOS_QUEUE_WEIGHT - Invalid queue weight
|
||||
* Note:
|
||||
* The types of queue are: WFQ_WRR_PRIORITY or STRICT_PRIORITY.
|
||||
* If the weight is 0 then the type is STRICT_PRIORITY, else the type is WFQ_WRR_PRIORITY.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_schedulingQueue_set(rtk_port_t port, rtk_qos_queue_weights_t *pQweights);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_portPriSelGroup_get
|
||||
* Description:
|
||||
* Get priority selection group for specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pPriSelGrpIdx - pointer to index of priority selection group
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_portPriSelGroup_get(rtk_port_t port, uint32 *pPriSelGrpIdx);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_qos_portPriSelGroup_set
|
||||
* Description:
|
||||
* Set priority selection group for specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* priSelGrpIdx - index of priority selection group
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_qos_portPriSelGroup_set(rtk_port_t port, uint32 priSelGrpIdx);
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_QOS_H__ */
|
||||
872
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_rate.h
Normal file
872
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_rate.h
Normal file
|
|
@ -0,0 +1,872 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of Port Bandwidth Control and Storm Control API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Configuration of Ingress Port Bandwidth Control [Ingress Rate Limit]
|
||||
* (2) Configuration of Egress Port Bandwidth Control [Egress Rate Limit]
|
||||
* (3) Configuration of Storm Control
|
||||
* (3) Configuration of meter
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_RATE_H__
|
||||
#define __DAL_APOLLOMP_RATE_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/port.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_init
|
||||
* Description:
|
||||
* Initial the rate module.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_init(void);
|
||||
|
||||
/* Module Name : Rate */
|
||||
/* Sub-module Name: Configuration of ingress port bandwidth control */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_portIgrBandwidthCtrlRate_get
|
||||
* Description:
|
||||
* Get the ingress bandwidth control rate.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pRate - ingress bandwidth control rate
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* (1) The actual rate is "rate * chip granularity".
|
||||
* (2) The unit of granularity in apollo is 8Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_portIgrBandwidthCtrlRate_get(rtk_port_t port, uint32 *pRate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_portIgrBandwidthCtrlRate_set
|
||||
* Description:
|
||||
* Set the ingress bandwidth control rate.
|
||||
* Input:
|
||||
* port - port id
|
||||
* rate - ingress bandwidth control rate
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_RATE - Invalid input rate
|
||||
* Note:
|
||||
* (1) The actual rate is "rate * chip granularity".
|
||||
* (2) The unit of granularity in apollo is 8Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_portIgrBandwidthCtrlRate_set(rtk_port_t port, uint32 rate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_portIgrBandwidthCtrlIncludeIfg_get
|
||||
* Description:
|
||||
* Get the status of ingress bandwidth control includes IFG or not.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pIfgInclude - include IFG or not
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* (1) Ingress bandwidth control includes/excludes the Preamble & IFG (20 Bytes).
|
||||
* (2) The status of ifg_include:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_portIgrBandwidthCtrlIncludeIfg_get(rtk_port_t port, rtk_enable_t *pIfgInclude);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_portIgrBandwidthCtrlIncludeIfg_set
|
||||
* Description:
|
||||
* Set the status of ingress bandwidth control includes IFG or not.
|
||||
* Input:
|
||||
* port - port id
|
||||
* ifgInclude - include IFG or not
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* (1) Ingress bandwidth control includes/excludes the Preamble & IFG (20 Bytes).
|
||||
* (2) The status of ifgInclude:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_portIgrBandwidthCtrlIncludeIfg_set(rtk_port_t port, rtk_enable_t ifgInclude);
|
||||
|
||||
|
||||
|
||||
/* Module Name : Rate */
|
||||
/* Sub-module Name: Configuration of egress port bandwidth control */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_portEgrBandwidthCtrlRate_get
|
||||
* Description:
|
||||
* Get the egress bandwidth control rate.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pRate - egress bandwidth control rate
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* (1) The actual rate is "rate * chip granularity".
|
||||
* (2) The unit of granularity in Apollo is 16Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_portEgrBandwidthCtrlRate_get(rtk_port_t port, uint32 *pRate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_portEgrBandwidthCtrlRate_set
|
||||
* Description:
|
||||
* Set the egress bandwidth control rate.
|
||||
* Input:
|
||||
* port - port id
|
||||
* rate - egress bandwidth control rate
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_RATE - Invalid input rate
|
||||
* Note:
|
||||
* (1) The actual rate is "rate * chip granularity".
|
||||
* (2) The unit of granularity in Apollo is 16Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_portEgrBandwidthCtrlRate_set(rtk_port_t port, uint32 rate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_portEgrBandwidthCtrlIncludeIfg_get
|
||||
* Description:
|
||||
* Per port get the status of egress bandwidth control includes IFG or not.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pIfgInclude - include IFG or not
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* (1) Egress bandwidth control includes/excludes the Preamble & IFG (20 Bytes).
|
||||
* (2) The status of ifg_include:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_portEgrBandwidthCtrlIncludeIfg_get(rtk_port_t port,rtk_enable_t *pIfgInclude);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_portEgrBandwidthCtrlIncludeIfg_set
|
||||
* Description:
|
||||
* Per port set the status of egress bandwidth control includes IFG or not.
|
||||
* Input:
|
||||
* port - port id
|
||||
* ifgInclude - include IFG or not
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* (1) Egress bandwidth control includes/excludes the Preamble & IFG (20 Bytes).
|
||||
* (2) The status of ifg_include:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_portEgrBandwidthCtrlIncludeIfg_set(rtk_port_t port,rtk_enable_t ifgInclude);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_egrBandwidthCtrlIncludeIfg_set
|
||||
* Description:
|
||||
* Set the status of egress bandwidth control includes IFG or not.
|
||||
* Input:
|
||||
* ifgInclude - include IFG or not
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* (1) Egress bandwidth control includes/excludes the Preamble & IFG (20 Bytes).
|
||||
* (2) The status of ifg_include:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_egrBandwidthCtrlIncludeIfg_set(rtk_enable_t ifgInclude);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_egrBandwidthCtrlIncludeIfg_get
|
||||
* Description:
|
||||
* Get the status of egress bandwidth control includes IFG or not.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pIfgInclude - include IFG or not
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* (1) Egress bandwidth control includes/excludes the Preamble & IFG (20 Bytes).
|
||||
* (2) The status of ifg_include:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_egrBandwidthCtrlIncludeIfg_get(rtk_enable_t *pIfgInclude);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_egrQueueBwCtrlEnable_get
|
||||
* Description:
|
||||
* Get enable status of egress bandwidth control on specified queue.
|
||||
* Input:
|
||||
* port - port id
|
||||
* queue - queue id
|
||||
* Output:
|
||||
* pEnable - Pointer to enable status of egress queue bandwidth control
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_QUEUE_ID - invalid queue id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_egrQueueBwCtrlEnable_get(
|
||||
rtk_port_t port,
|
||||
rtk_qid_t queue,
|
||||
rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_egrQueueBwCtrlEnable_set
|
||||
* Description:
|
||||
* Set enable status of egress bandwidth control on specified queue.
|
||||
* Input:
|
||||
* port - port id
|
||||
* queue - queue id
|
||||
* enable - enable status of egress queue bandwidth control
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_QUEUE_ID - invalid queue id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_egrQueueBwCtrlEnable_set(
|
||||
rtk_port_t port,
|
||||
rtk_qid_t queue,
|
||||
rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_egrQueueBwCtrlMeterIdx_get
|
||||
* Description:
|
||||
* Get rate of egress bandwidth control on specified queue.
|
||||
* Input:
|
||||
* port - port id
|
||||
* queue - queue id
|
||||
* Output:
|
||||
* pMeterIndex - meter index
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_QUEUE_ID - invalid queue id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* The actual rate is "rate * chip granularity".
|
||||
* The unit of granularity in Apollo is 8Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_egrQueueBwCtrlMeterIdx_get(
|
||||
rtk_port_t port,
|
||||
rtk_qid_t queue,
|
||||
uint32 *pMeterIndex);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_egrQueueBwCtrlMeterIdx_set
|
||||
* Description:
|
||||
* Set rate of egress bandwidth control on specified queue.
|
||||
* Input:
|
||||
* port - port id
|
||||
* queue - queue id
|
||||
* meterIndex - meter index
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_QUEUE_ID - invalid queue id
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The actual rate is "rate * chip granularity".
|
||||
* The unit of granularity in Apollo is 8Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_egrQueueBwCtrlMeterIdx_set(
|
||||
rtk_port_t port,
|
||||
rtk_qid_t queue,
|
||||
uint32 meterIndex);
|
||||
|
||||
/* Module Name : Rate */
|
||||
/* Sub-module Name: Configuration of storm control */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_stormControlRate_get
|
||||
* Description:
|
||||
* Get the storm control meter index.
|
||||
* Input:
|
||||
* port - port id
|
||||
* stormType - storm group type
|
||||
* Output:
|
||||
* pIndex - storm control meter index.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_ENTRY_NOTFOUND - The global strom group is not enable for this group
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
* - Before call this API must make sure the global strom gruop for given group is enabled,
|
||||
* otherwise this API will return RT_ERR_ENTRY_NOTFOUND
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_stormControlMeterIdx_get(
|
||||
rtk_port_t port,
|
||||
rtk_rate_storm_group_t stormType,
|
||||
uint32 *pIndex);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_stormControlMeterIdx_set
|
||||
* Description:
|
||||
* Set the storm control meter index.
|
||||
* Input:
|
||||
* port - port id
|
||||
* storm_type - storm group type
|
||||
* index - storm control meter index.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_ENTRY_NOTFOUND - The global strom group is not enable for this group
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* RT_ERR_RATE - Invalid input bandwidth
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
* - Before call this API must make sure the global strom gruop for given group is enabled,
|
||||
* otherwise this API will return RT_ERR_ENTRY_NOTFOUND
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_stormControlMeterIdx_set(
|
||||
rtk_port_t port,
|
||||
rtk_rate_storm_group_t stormType,
|
||||
uint32 index);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_stormControlEnable_get
|
||||
* Description:
|
||||
* Get enable status of storm control on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* stormType - storm group type
|
||||
* Output:
|
||||
* pEnable - pointer to enable status of storm control
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_SFC_UNKNOWN_GROUP - Unknown storm group
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
* - When global strom gruop for given strom type is disabled,
|
||||
* API will return DISABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_stormControlPortEnable_get(
|
||||
rtk_port_t port,
|
||||
rtk_rate_storm_group_t stormType,
|
||||
rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_stormControlPortEnable_set
|
||||
* Description:
|
||||
* Set enable status of storm control on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* stormType - storm group type
|
||||
* enable - enable status of storm control
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_SFC_UNKNOWN_GROUP - Unknown storm group
|
||||
* RT_ERR_ENTRY_NOTFOUND - The global strom group is not enable for this group
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
* - Before call this API must make sure the global strom gruop for given group is enabled,
|
||||
* otherwise this API will return RT_ERR_ENTRY_NOTFOUND
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_stormControlPortEnable_set(
|
||||
rtk_port_t port,
|
||||
rtk_rate_storm_group_t stormType,
|
||||
rtk_enable_t enable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_stormControlEnable_get
|
||||
* Description:
|
||||
* Get enable status of storm control on specified port.
|
||||
* Input:
|
||||
* rtk_rate_storm_group_ctrl_t - storm group type enable control
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_SFC_UNKNOWN_GROUP - Unknown storm group
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_stormControlEnable_get(rtk_rate_storm_group_ctrl_t *stormCtrl);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_stormControlEnable_set
|
||||
* Description:
|
||||
* Set enable status of storm control on specified port.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* rtk_rate_storm_group_ctrl_t - storm group type enable control
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_SFC_UNKNOWN_GROUP - Unknown storm group
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
* total 4 storm type can be enabled.
|
||||
* - if total enable group exceed 4 system will return RT_ERR_ENTRY_FULL
|
||||
*
|
||||
* - when global storm type set to disable the per port setting for this
|
||||
* storm type will also set to disable for all port.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_stormControlEnable_set(rtk_rate_storm_group_ctrl_t *stormCtrl);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_stormBypass_set
|
||||
* Description:
|
||||
* Set bypass storm filter control configuration.
|
||||
* Input:
|
||||
* type - Bypass storm filter control type.
|
||||
* enable - Bypass status.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_ENABLE - Invalid IFG parameter
|
||||
* Note:
|
||||
*
|
||||
* This API can set per-port bypass stomr filter control frame type including RMA and igmp.
|
||||
* The bypass frame type is as following:
|
||||
* - BYPASS_BRG_GROUP,
|
||||
* - BYPASS_FD_PAUSE,
|
||||
* - BYPASS_SP_MCAST,
|
||||
* - BYPASS_1X_PAE,
|
||||
* - BYPASS_UNDEF_BRG_04,
|
||||
* - BYPASS_UNDEF_BRG_05,
|
||||
* - BYPASS_UNDEF_BRG_06,
|
||||
* - BYPASS_UNDEF_BRG_07,
|
||||
* - BYPASS_PROVIDER_BRIDGE_GROUP_ADDRESS,
|
||||
* - BYPASS_UNDEF_BRG_09,
|
||||
* - BYPASS_UNDEF_BRG_0A,
|
||||
* - BYPASS_UNDEF_BRG_0B,
|
||||
* - BYPASS_UNDEF_BRG_0C,
|
||||
* - BYPASS_PROVIDER_BRIDGE_GVRP_ADDRESS,
|
||||
* - BYPASS_8021AB,
|
||||
* - BYPASS_UNDEF_BRG_0F,
|
||||
* - BYPASS_BRG_MNGEMENT,
|
||||
* - BYPASS_UNDEFINED_11,
|
||||
* - BYPASS_UNDEFINED_12,
|
||||
* - BYPASS_UNDEFINED_13,
|
||||
* - BYPASS_UNDEFINED_14,
|
||||
* - BYPASS_UNDEFINED_15,
|
||||
* - BYPASS_UNDEFINED_16,
|
||||
* - BYPASS_UNDEFINED_17,
|
||||
* - BYPASS_UNDEFINED_18,
|
||||
* - BYPASS_UNDEFINED_19,
|
||||
* - BYPASS_UNDEFINED_1A,
|
||||
* - BYPASS_UNDEFINED_1B,
|
||||
* - BYPASS_UNDEFINED_1C,
|
||||
* - BYPASS_UNDEFINED_1D,
|
||||
* - BYPASS_UNDEFINED_1E,
|
||||
* - BYPASS_UNDEFINED_1F,
|
||||
* - BYPASS_GMRP,
|
||||
* - BYPASS_GVRP,
|
||||
* - BYPASS_UNDEF_GARP_22,
|
||||
* - BYPASS_UNDEF_GARP_23,
|
||||
* - BYPASS_UNDEF_GARP_24,
|
||||
* - BYPASS_UNDEF_GARP_25,
|
||||
* - BYPASS_UNDEF_GARP_26,
|
||||
* - BYPASS_UNDEF_GARP_27,
|
||||
* - BYPASS_UNDEF_GARP_28,
|
||||
* - BYPASS_UNDEF_GARP_29,
|
||||
* - BYPASS_UNDEF_GARP_2A,
|
||||
* - BYPASS_UNDEF_GARP_2B,
|
||||
* - BYPASS_UNDEF_GARP_2C,
|
||||
* - BYPASS_UNDEF_GARP_2D,
|
||||
* - BYPASS_UNDEF_GARP_2E,
|
||||
* - BYPASS_UNDEF_GARP_2F,
|
||||
* - BYPASS_IGMP.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_stormBypass_set(rtk_storm_bypass_t type, rtk_enable_t enable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_stormBypass_get
|
||||
* Description:
|
||||
* Get bypass storm filter control configuration.
|
||||
* Input:
|
||||
* type - Bypass storm filter control type.
|
||||
* Output:
|
||||
* pEnable - Bypass status.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This API can get per-port bypass stomr filter control frame type including RMA and igmp.
|
||||
* The bypass frame type is as following:
|
||||
* - BYPASS_BRG_GROUP,
|
||||
* - BYPASS_FD_PAUSE,
|
||||
* - BYPASS_SP_MCAST,
|
||||
* - BYPASS_1X_PAE,
|
||||
* - BYPASS_UNDEF_BRG_04,
|
||||
* - BYPASS_UNDEF_BRG_05,
|
||||
* - BYPASS_UNDEF_BRG_06,
|
||||
* - BYPASS_UNDEF_BRG_07,
|
||||
* - BYPASS_PROVIDER_BRIDGE_GROUP_ADDRESS,
|
||||
* - BYPASS_UNDEF_BRG_09,
|
||||
* - BYPASS_UNDEF_BRG_0A,
|
||||
* - BYPASS_UNDEF_BRG_0B,
|
||||
* - BYPASS_UNDEF_BRG_0C,
|
||||
* - BYPASS_PROVIDER_BRIDGE_GVRP_ADDRESS,
|
||||
* - BYPASS_8021AB,
|
||||
* - BYPASS_UNDEF_BRG_0F,
|
||||
* - BYPASS_BRG_MNGEMENT,
|
||||
* - BYPASS_UNDEFINED_11,
|
||||
* - BYPASS_UNDEFINED_12,
|
||||
* - BYPASS_UNDEFINED_13,
|
||||
* - BYPASS_UNDEFINED_14,
|
||||
* - BYPASS_UNDEFINED_15,
|
||||
* - BYPASS_UNDEFINED_16,
|
||||
* - BYPASS_UNDEFINED_17,
|
||||
* - BYPASS_UNDEFINED_18,
|
||||
* - BYPASS_UNDEFINED_19,
|
||||
* - BYPASS_UNDEFINED_1A,
|
||||
* - BYPASS_UNDEFINED_1B,
|
||||
* - BYPASS_UNDEFINED_1C,
|
||||
* - BYPASS_UNDEFINED_1D,
|
||||
* - BYPASS_UNDEFINED_1E,
|
||||
* - BYPASS_UNDEFINED_1F,
|
||||
* - BYPASS_GMRP,
|
||||
* - BYPASS_GVRP,
|
||||
* - BYPASS_UNDEF_GARP_22,
|
||||
* - BYPASS_UNDEF_GARP_23,
|
||||
* - BYPASS_UNDEF_GARP_24,
|
||||
* - BYPASS_UNDEF_GARP_25,
|
||||
* - BYPASS_UNDEF_GARP_26,
|
||||
* - BYPASS_UNDEF_GARP_27,
|
||||
* - BYPASS_UNDEF_GARP_28,
|
||||
* - BYPASS_UNDEF_GARP_29,
|
||||
* - BYPASS_UNDEF_GARP_2A,
|
||||
* - BYPASS_UNDEF_GARP_2B,
|
||||
* - BYPASS_UNDEF_GARP_2C,
|
||||
* - BYPASS_UNDEF_GARP_2D,
|
||||
* - BYPASS_UNDEF_GARP_2E,
|
||||
* - BYPASS_UNDEF_GARP_2F,
|
||||
* - BYPASS_IGMP.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_stormBypass_get(rtk_storm_bypass_t type, rtk_enable_t *pEnable);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Module Name : Rate */
|
||||
/* Sub-module Name: Configuration of meter */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_shareMeter_set
|
||||
* Description:
|
||||
* Set meter configuration
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* rate - rate of share meter
|
||||
* ifgInclude - include IFG or not, ENABLE:include DISABLE:exclude
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* RT_ERR_RATE - Invalid rate
|
||||
* RT_ERR_INPUT - Invalid input parameters
|
||||
* Note:
|
||||
* The API can set shared meter rate and ifg include for each meter.
|
||||
* The rate unit is 1 kbps and the range is from 8k to 1048568k.
|
||||
* The granularity of rate is 8 kbps. The ifg_include parameter is used
|
||||
* for rate calculation with/without inter-frame-gap and preamble.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_shareMeter_set(uint32 index, uint32 rate, rtk_enable_t ifgInclude);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_shareMeter_get
|
||||
* Description:
|
||||
* Get meter configuration
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* Output:
|
||||
* pRate - pointer of rate of share meter
|
||||
* pIfgInclude - include IFG or not, ENABLE:include DISABLE:exclude
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The API can get shared meter rate and ifg include for each meter.
|
||||
* The rate unit is 1 kbps and the granularity of rate is 8 kbps.
|
||||
* The ifg_include parameter is used for rate calculation with/without inter-frame-gap and preamble
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_shareMeter_get(uint32 index, uint32 *pRate , rtk_enable_t *pIfgInclude);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_shareMeterBucket_set
|
||||
* Description:
|
||||
* Set meter Bucket Size
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* bucketSize - Bucket Size
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Error Input
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The API can set shared meter bucket size.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_shareMeterBucket_set(uint32 index, uint32 bucketSize);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_shareMeterBucket_get
|
||||
* Description:
|
||||
* Get meter Bucket Size
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* Output:
|
||||
* pBucketSize - Bucket Size
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The API can get shared meter bucket size.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_shareMeterBucket_get(uint32 index, uint32 *pBucketSize);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_shareMeterExceed_get
|
||||
* Description:
|
||||
* Get exceed meter status.
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* Output:
|
||||
* pIsExceed - pointer to exceed status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_SFC_UNKNOWN_GROUP - Unknown storm group
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Exceed status is as following
|
||||
* - TRUE - rate is more than configured rate.
|
||||
* - FALSE - rate is never over then configured rate.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_rate_shareMeterExceed_get(
|
||||
uint32 index,
|
||||
uint32 *pIsExceed);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_rate_shareMeterExceed_clear
|
||||
* Description:
|
||||
* Clear share meter exceed status.
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_apollomp_rate_shareMeterExceed_clear(uint32 index);
|
||||
#endif /* __DAL_APOLLOMP_RATE_H__ */
|
||||
27
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_rldp.h
Normal file
27
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_rldp.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* 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 __DAL_APOLLOMP_RLDP_H__
|
||||
#define __DAL_APOLLOMP_RLDP_H__
|
||||
|
||||
#endif /* __DAL_APOLLOMP_RLDP_H__ */
|
||||
|
||||
212
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_sec.h
Normal file
212
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_sec.h
Normal file
|
|
@ -0,0 +1,212 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of Security API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) attack prevention
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_SEC_H__
|
||||
#define __DAL_APOLLOMP_SEC_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <common/rt_error.h>
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
typedef enum apollomp_raw_dosAction_e
|
||||
{
|
||||
DAL_APOLLOMP_DOS_ACT_DROP = 0,
|
||||
DAL_APOLLOMP_DOS_ACT_TRAP,
|
||||
|
||||
} apollomp_raw_dosAction_t;
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : Security */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_sec_init
|
||||
* Description:
|
||||
* Initialize security module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize security module before calling any sec APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_sec_init(void);
|
||||
|
||||
/* Module Name : Security */
|
||||
/* Sub-module Name: Attack prevention */
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_sec_portAttackPreventState_get
|
||||
* Description:
|
||||
* Per port get attack prevention confi state
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - status attack prevention
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The status attack prevention:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_sec_portAttackPreventState_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_sec_portAttackPreventState_set
|
||||
* Description:
|
||||
* Per port set attack prevention confi state
|
||||
* Input:
|
||||
* port - port id.
|
||||
* enable - status attack prevention
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* The status attack prevention:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_sec_portAttackPreventState_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_sec_attackPrevent_get
|
||||
* Description:
|
||||
* Get action for each kind of attack on specified port.
|
||||
* Input:
|
||||
* attackType - type of attack
|
||||
* Output:
|
||||
* pAction - pointer to action for attack
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Action is as following:
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_DROP
|
||||
* - ACTION_FORWARD
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_sec_attackPrevent_get(
|
||||
rtk_sec_attackType_t attackType,
|
||||
rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_sec_attackPrevent_set
|
||||
* Description:
|
||||
* Set action for each kind of attack.
|
||||
* Input:
|
||||
* attack_type - type of attack
|
||||
* action - action for attack
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_FWD_ACTION - invalid forwarding action
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* Action is as following:
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_DROP
|
||||
* - ACTION_FORWARD
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_sec_attackPrevent_set(
|
||||
rtk_sec_attackType_t attackType,
|
||||
rtk_action_t action);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_sec_attackFloodThresh_get
|
||||
* Description:
|
||||
* Get flood threshold, time unit 1ms.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pFloodThresh - pointer to flood threshold
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Flood type is as following:
|
||||
* - SEC_ICMPFLOOD
|
||||
* - SEC_SYNCFLOOD
|
||||
* - SEC_FINFLOOD
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_sec_attackFloodThresh_get(rtk_sec_attackFloodType_t type, uint32 *pFloodThresh);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_sec_attackFloodThresh_set
|
||||
* Description:
|
||||
* Set flood threshold, time unit 1ms.
|
||||
* Input:
|
||||
* floodThresh - flood threshold
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Flood type is as following:
|
||||
* - SEC_ICMPFLOOD
|
||||
* - SEC_SYNCFLOOD
|
||||
* - SEC_FINFLOOD
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_sec_attackFloodThresh_set(rtk_sec_attackFloodType_t type, uint32 floodThresh);
|
||||
|
||||
#endif /* __DAL_APOLLOMP_SEC_H__ */
|
||||
|
||||
474
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_stat.h
Normal file
474
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_stat.h
Normal file
|
|
@ -0,0 +1,474 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of Statistic API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Statistic Counter Reset
|
||||
* (2) Statistic Counter Get
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_STAT_H__
|
||||
#define __DAL_APOLLOMP_STAT_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/port.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : STAT */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_init
|
||||
* Description:
|
||||
* Initialize stat module of the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_STAT_GLOBAL_CNTR_FAIL - Could not retrieve/reset Global Counter
|
||||
* RT_ERR_STAT_PORT_CNTR_FAIL - Could not retrieve/reset Port Counter
|
||||
* Note:
|
||||
* Must initialize stat module before calling any stat APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_global_reset
|
||||
* Description:
|
||||
* Reset the global counters.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
|
||||
* RT_ERR_STAT_GLOBAL_CNTR_FAIL - Could not retrieve/reset Global Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_global_reset(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_port_reset
|
||||
* Description:
|
||||
* Reset the specified port counters in the specified device.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_STAT_PORT_CNTR_FAIL - Could not retrieve/reset Port Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_port_reset(rtk_port_t port);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_log_reset
|
||||
* Description:
|
||||
* Reset the specified ACL logging counters.
|
||||
* Input:
|
||||
* index - logging index
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_log_reset(uint32 index);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_rst_cnt_value_set
|
||||
* Description:
|
||||
* Set the counter value after reset
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* rstValue - the counter value after reset
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_rst_cnt_value_set(rtk_mib_rst_value_t rstValue);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_rst_cnt_value_get
|
||||
* Description:
|
||||
* Get the counter value after reset
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRstValue - pointer buffer of value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_rst_cnt_value_get(rtk_mib_rst_value_t *pRstValue);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_global_get
|
||||
* Description:
|
||||
* Get one specified global counter in the specified device.
|
||||
* Input:
|
||||
* cntrIdx - specified global counter index
|
||||
* Output:
|
||||
* pCntr - pointer buffer of counter value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_STAT_GLOBAL_CNTR_FAIL - Could not retrieve/reset Global Counter
|
||||
* RT_ERR_STAT_INVALID_GLOBAL_CNTR - Invalid Global Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_global_get(rtk_stat_global_type_t cntrIdx, uint64 *pCntr);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_global_getAll
|
||||
* Description:
|
||||
* Get all global counters in the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pGlobalCntrs - pointer buffer of global counter structure
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_STAT_GLOBAL_CNTR_FAIL - Could not retrieve/reset Global Counter
|
||||
* RT_ERR_STAT_INVALID_GLOBAL_CNTR - Invalid Global Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_global_getAll(rtk_stat_global_cntr_t *pGlobalCntrs);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_port_get
|
||||
* Description:
|
||||
* Get one specified port counter.
|
||||
* Input:
|
||||
* port - port id
|
||||
* cntrIdx - specified port counter index
|
||||
* Output:
|
||||
* pCntr - pointer buffer of counter value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_STAT_PORT_CNTR_FAIL - Could not retrieve/reset Port Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_port_get(rtk_port_t port, rtk_stat_port_type_t cntrIdx, uint64 *pCntr);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_port_getAll
|
||||
* Description:
|
||||
* Get all counters of one specified port in the specified device.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pPortCntrs - pointer buffer of counter value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_STAT_PORT_CNTR_FAIL - Could not retrieve/reset Port Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_port_getAll(rtk_port_t port, rtk_stat_port_cntr_t *pPortCntrs);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_log_get
|
||||
* Description:
|
||||
* Get ACL logging counter.
|
||||
* Input:
|
||||
* cntrIdx - logging index
|
||||
* Output:
|
||||
* pCntr - pointer buffer of counter value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid index
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_log_get(uint32 index, uint64 *pCntr);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_log_ctrl_set
|
||||
* Description:
|
||||
* Set the acl log counters mode for 32-bits or 64-bits counter, and
|
||||
* set the acl log counters type for packet or byte counter
|
||||
* Input:
|
||||
* index - index of ACL log counter
|
||||
* ctrl - log counter control setting
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_log_ctrl_set(uint32 index, rtk_stat_log_ctrl_t ctrl);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_log_ctrl_get
|
||||
* Description:
|
||||
* Get the acl counters mode for 32-bits or 64-bits counter, and
|
||||
* get the acl log counters type for packet or byte counter
|
||||
* Input:
|
||||
* index - index of ACL log counter
|
||||
* Output:
|
||||
* pCtrl - log counter control setting
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_log_ctrl_get(uint32 index, rtk_stat_log_ctrl_t *pCtrl);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_mib_cnt_mode_get
|
||||
* Description:
|
||||
* Get the MIB data update mode
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pCnt_mode - pointer buffer of MIB data update mode
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_mib_cnt_mode_get(rtk_mib_count_mode_t *pCnt_mode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_mib_cnt_mode_set
|
||||
* Description:
|
||||
* Set MIB data update mode
|
||||
* Input:
|
||||
* cnt_mode - MIB counter update mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_mib_cnt_mode_set(rtk_mib_count_mode_t cnt_mode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_mib_latch_timer_get
|
||||
* Description:
|
||||
* Get the MIB latch timer
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pTimer - pointer buffer of MIB latch timer
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_mib_latch_timer_get(uint32 *pTimer);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_mib_latch_timer_set
|
||||
* Description:
|
||||
* Set MIB data update mode
|
||||
* Input:
|
||||
* timer - MIB latch timer
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_mib_latch_timer_set(uint32 timer);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_mib_sync_mode_get
|
||||
* Description:
|
||||
* Get the MIB register data update mode
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pSync_mode - pointer buffer of MIB register data update mode
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_mib_sync_mode_get(rtk_mib_sync_mode_t *pSync_mode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_mib_sync_mode_set
|
||||
* Description:
|
||||
* Set MIB register data update mode
|
||||
* Input:
|
||||
* sync_mode - MIB register data update mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_mib_sync_mode_set(rtk_mib_sync_mode_t sync_mode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_mib_count_tag_length_get
|
||||
* Description:
|
||||
* Get counting Tag length state in tx/rx packet
|
||||
* Input:
|
||||
* direction - count tx or rx tag length
|
||||
* Output:
|
||||
* pState - pointer buffer of count tx/rx tag length state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_mib_count_tag_length_get(rtk_mib_tag_cnt_dir_t direction, rtk_mib_tag_cnt_state_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_mib_count_tag_length_set
|
||||
* Description:
|
||||
* Set counting length including Ctag length or excluding Ctag length for tx/rx packet
|
||||
* Input:
|
||||
* direction - count tx or rx tag length
|
||||
* enable - count tag length state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_mib_count_tag_length_set(rtk_mib_tag_cnt_dir_t direction, rtk_mib_tag_cnt_state_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stat_pktInfo_get
|
||||
* Description:
|
||||
* Get the newest packet trap/drop reason
|
||||
* Input:
|
||||
* port - port index
|
||||
* Output:
|
||||
* pCode - the newest packet trap/drop reason code
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stat_pktInfo_get(rtk_port_t port, uint32 *pCode);
|
||||
|
||||
#endif /* __DAL_APOLLOMP_STAT_H__ */
|
||||
114
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_stp.h
Normal file
114
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_stp.h
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
* Copyright(c) Realtek Semiconductor Corporation, 2008
|
||||
* All rights reserved.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition those public STP APIs and its data type in the SDK.
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* 1) spanning tree (1D, 1w and 1s)
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_STP_H__
|
||||
#define __DAL_APOLLOMP_STP_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/stp.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : STP */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stp_init
|
||||
* Description:
|
||||
* Initialize stp module of the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize stp module before calling any stp APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stp_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stp_mstpState_get
|
||||
* Description:
|
||||
* Get port spanning tree state of the msti from the specified device.
|
||||
* Input:
|
||||
* unit - unit id
|
||||
* msti - multiple spanning tree instance
|
||||
* port - port id
|
||||
* Output:
|
||||
* pStp_state - pointer buffer of spanning tree state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_MSTI - invalid msti
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* 1. For single spanning tree mode, input CIST0 (msti=0).
|
||||
* 2. Spanning tree state as following
|
||||
* - STP_STATE_DISABLED
|
||||
* - STP_STATE_BLOCKING
|
||||
* - STP_STATE_LEARNING
|
||||
* - STP_STATE_FORWARDING
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stp_mstpState_get(uint32 msti, rtk_port_t port, rtk_stp_state_t *pStp_state);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_stp_mstpState_set
|
||||
* Description:
|
||||
* Set port spanning tree state of the msti to the specified device.
|
||||
* Input:
|
||||
* msti - multiple spanning tree instance
|
||||
* port - port id
|
||||
* stp_state - spanning tree state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_MSTI - invalid msti
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_MSTP_STATE - invalid spanning tree status
|
||||
* Note:
|
||||
* 1. For single spanning tree mode, input CIST0 (msti=0).
|
||||
* 2. Spanning tree state as following
|
||||
* - STP_STATE_DISABLED
|
||||
* - STP_STATE_BLOCKING
|
||||
* - STP_STATE_LEARNING
|
||||
* - STP_STATE_FORWARDING
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_stp_mstpState_set(uint32 msti, rtk_port_t port, rtk_stp_state_t stp_state);
|
||||
|
||||
#endif /*__DAL_APOLLOMP_STP_H__*/
|
||||
|
||||
1229
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_svlan.h
Normal file
1229
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_svlan.h
Normal file
File diff suppressed because it is too large
Load diff
450
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_switch.h
Normal file
450
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_switch.h
Normal file
|
|
@ -0,0 +1,450 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of Switch Global API
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* (1) Switch parameter settings
|
||||
* (2) Management address and vlan configuration.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_SWITCH_H__
|
||||
#define __DAL_APOLLOMP_SWITCH_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <hal/chipdef/chip.h>
|
||||
#include <rtk/switch.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/* information of device */
|
||||
typedef enum dal_apollomp_switch_asic_type_e
|
||||
{
|
||||
APOLLOMP_ASIC_PON,
|
||||
APOLLOMP_ASIC_FIBER,
|
||||
APOLLOMP_ASIC_END
|
||||
} dal_apollomp_switch_asic_type_t;
|
||||
|
||||
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL9601 0x03
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL9602B 0x05
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL86906 0x07
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL9606 0x09
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL9607 0x0b
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL9602 0x0d
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL9603 0x0f
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL8696 0x13
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL9607P 0x15
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_RTL8198B 0x17
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_2510 0x19 /*RTL9603*/
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_2511 0x1B /*RTL9601*/
|
||||
#define APPOLOMP_CHIP_SUB_TYPE_2516 0x1D /*RTL9607*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : Switch */
|
||||
/* Sub-module Name: Switch parameter settings */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_init
|
||||
* Description:
|
||||
* Initialize switch module of the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Module must be initialized before using all of APIs in this module
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_init(void);
|
||||
|
||||
/* Module Name : Switch */
|
||||
/* Sub-module Name: Switch parameter settings */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_phyPortId_get
|
||||
* Description:
|
||||
* Get physical port id from logical port name
|
||||
* Input:
|
||||
* portName - logical port name
|
||||
* Output:
|
||||
* pPortId - pointer to the physical port id
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Call RTK API the port ID must get from this API
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_phyPortId_get(rtk_switch_port_name_t portName, int32 *pPortId);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_logicalPort_get
|
||||
* Description:
|
||||
* Get logical port name from physical port id
|
||||
* Input:
|
||||
* portId - physical port id
|
||||
* Output:
|
||||
* pPortName - pointer to logical port name
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_logicalPort_get(int32 portId, rtk_switch_port_name_t *pPortName);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_port2PortMask_set
|
||||
* Description:
|
||||
* Set port id to the portlist
|
||||
* Input:
|
||||
* pPortMask - port mask
|
||||
* portName - logical port name
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Call RTK API the port mask must set by this API
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_port2PortMask_set(rtk_portmask_t *pPortMask, rtk_switch_port_name_t portName);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_port2PortMask_set
|
||||
* Description:
|
||||
* Set port id to the portlist
|
||||
* Input:
|
||||
* pPortMask - port mask
|
||||
* portName - logical port name
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Call RTK API the port mask must set by this API
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_port2PortMask_clear(rtk_portmask_t *pPortMask, rtk_switch_port_name_t portName);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_portIdInMask_check
|
||||
* Description:
|
||||
* Check if given port is in port list
|
||||
* Input:
|
||||
* pPortMask - port mask
|
||||
* portName - logical port name
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_portIdInMask_check(rtk_portmask_t *pPortMask, rtk_switch_port_name_t portName);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_maxPktLenLinkSpeed_get
|
||||
* Description:
|
||||
* Get the max packet length setting of the specific speed type
|
||||
* Input:
|
||||
* speed - speed type
|
||||
* Output:
|
||||
* pLen - pointer to the max packet length
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
* Max packet length setting speed type
|
||||
* - MAXPKTLEN_LINK_SPEED_FE
|
||||
* - MAXPKTLEN_LINK_SPEED_GE
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_maxPktLenLinkSpeed_get(rtk_switch_maxPktLen_linkSpeed_t speed, uint32 *pLen);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_maxPktLenLinkSpeed_set
|
||||
* Description:
|
||||
* Set the max packet length of the specific speed type
|
||||
* Input:
|
||||
* speed - speed type
|
||||
* len - max packet length
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
* Max packet length setting speed type
|
||||
* - MAXPKTLEN_LINK_SPEED_FE
|
||||
* - MAXPKTLEN_LINK_SPEED_GE
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_maxPktLenLinkSpeed_set(rtk_switch_maxPktLen_linkSpeed_t speed, uint32 len);
|
||||
|
||||
|
||||
|
||||
/* Module Name : Switch */
|
||||
/* Sub-module Name: Management address and vlan configuration */
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_mgmtMacAddr_get
|
||||
* Description:
|
||||
* Get MAC address of switch.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pMac - pointer to MAC address
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_mgmtMacAddr_get(rtk_mac_t *pMac);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_mgmtMacAddr_set
|
||||
* Description:
|
||||
* Set MAC address of switch.
|
||||
* Input:
|
||||
* pMac - MAC address
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_mgmtMacAddr_set(rtk_mac_t *pMac);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollo_switch_chip_reset
|
||||
* Description:
|
||||
* Reset switch chip
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_chip_reset(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_version_get
|
||||
* Description:
|
||||
* Get chip version
|
||||
* Input:
|
||||
* pChipId - chip id
|
||||
* pRev - revision id
|
||||
* pSubtype - sub type
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_version_get(uint32 *pChipId, uint32 *pRev, uint32 *pSubtype);
|
||||
|
||||
|
||||
|
||||
extern int32
|
||||
dal_apollomp_switch_get_chipSubType(uint32 *chipSubtype);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_patch_info_get
|
||||
* Description:
|
||||
* Get patch info
|
||||
* Input:
|
||||
* idx - patch addr
|
||||
* pData - patch data
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_patch_info_get(uint32 idx, uint32 *pData);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_csExtId_get
|
||||
* Description:
|
||||
* Get customer identification
|
||||
* Input:
|
||||
* pExtId - ext id
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_csExtId_get(uint32 *pExtId);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_maxPktLenByPort_get
|
||||
* Description:
|
||||
* Get the max packet length setting of specific port
|
||||
* Input:
|
||||
* port - speed type
|
||||
* Output:
|
||||
* pLen - pointer to the max packet length
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_maxPktLenByPort_get(rtk_port_t port, uint32 *pLen);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_maxPktLenByPort_set
|
||||
* Description:
|
||||
* Set the max packet length of specific port
|
||||
* Input:
|
||||
* port - port
|
||||
* len - max packet length
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_maxPktLenByPort_set(rtk_port_t port, uint32 len);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_changeDuplex_get
|
||||
* Description:
|
||||
* Get change duplex function state
|
||||
* Input:
|
||||
* enable - change duplex state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_changeDuplex_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_changeDuplex_set
|
||||
* Description:
|
||||
* Set change duplex function state
|
||||
* Input:
|
||||
* enable - change duplex state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
* This function only apply to local N-way enable but link
|
||||
* partner in force mode. In that way, the local link status
|
||||
* will be 100Mb/half duplex. This function will change
|
||||
* local link status to 100Mb/full duplex under specific
|
||||
* condition.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_changeDuplex_set(rtk_enable_t state);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_switch_system_init
|
||||
* Description:
|
||||
* Set system application initial
|
||||
* Input:
|
||||
* mode - initial mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* This function is used for SFU application system
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_switch_system_init(rtk_switch_system_mode_t *pMode);
|
||||
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_SWITCH_H__ */
|
||||
|
||||
472
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_time.h
Normal file
472
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_time.h
Normal file
|
|
@ -0,0 +1,472 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of TIME API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) IEEE 1588
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_TIME_H__
|
||||
#define __DAL_APOLLOMP_TIME_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/port.h>
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
#define APOLLOMP_TIME_FREQUENCY_MAX 0x7FFFFFF
|
||||
#define APOLLOMP_TIME_MEANPATHDELAY_MAX 0x7FFFFFFF
|
||||
#define APOLLOMP_TIME_RXTIME_SEC_MAX 0x08
|
||||
#define APOLLOMP_TIME_RXTIME_NSEC_MAX 0x3B9ACA00 //1000000000 ns=1 s
|
||||
#define APOLLOMP_TIME_REFTIME_SEC_MAX 0xFFFFFFFFFFFFLL
|
||||
#define APOLLOMP_TIME_REFTIME_NSEC_MAX 0x1FFFFFFF
|
||||
#define APOLLOMP_TIME_PONTOD_SEC_MAX 0xFFFFFFFFFFFFLL
|
||||
#define APOLLOMP_TIME_PONTOD_NSEC_MAX 0x1FFFFFFF
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : TIME */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_transparentPort_set
|
||||
* Description:
|
||||
* Set transparent ports to the specified device.
|
||||
* Input:
|
||||
* port - ports
|
||||
* enable - enable status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_portTransparentEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_transparentPort_get
|
||||
* Description:
|
||||
* Get transparent ports to the specified device.
|
||||
* Input:
|
||||
* port - ports
|
||||
* Output:
|
||||
* pEnable - enable status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - Pointer enable point to NULL.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_portTransparentEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_init
|
||||
* Description:
|
||||
* Initialize Time module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize Time module before calling any Time APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_portPtpEnable_get
|
||||
* Description:
|
||||
* Get PTP status of the specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_portPtpEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_portPtpEnable_set
|
||||
* Description:
|
||||
* Set PTP status of the specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* enable - status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_PORT_ID - Invalid port id.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_portPtpEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_curTime_get
|
||||
* Description:
|
||||
* Get the current time.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pTimeStamp - pointer buffer of the current time
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - Pointer pTimeStamp point to NULL.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_curTime_get(rtk_time_timeStamp_t *pTimeStamp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_curTime_latch
|
||||
* Description:
|
||||
* Latch the current time.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_curTime_latch(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_refTime_get
|
||||
* Description:
|
||||
* Get the reference time.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pSign - pointer buffer of sign
|
||||
* pTimeStamp - pointer buffer of the reference time
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - Pointer pTimeStamp/pSign point to NULL.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_refTime_get(uint32 *pSign, rtk_time_timeStamp_t *pTimeStamp);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_refTime_set
|
||||
* Description:
|
||||
* Set the reference time.
|
||||
* Input:
|
||||
* sign - significant
|
||||
* timeStamp - reference timestamp value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* sign=0 for positive adjustment, sign=1 for negative adjustment.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_refTime_set(uint32 sign, rtk_time_timeStamp_t timeStamp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_frequency_set
|
||||
* Description:
|
||||
* Set frequency of PTP system time.
|
||||
* Input:
|
||||
* freq - reference timestamp value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_frequency_set(uint32 freq);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_frequency_get
|
||||
* Description:
|
||||
* Set frequency of PTP system time.
|
||||
* Input:
|
||||
* freq - reference timestamp value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_frequency_get(uint32 *freq);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_ptpIgrMsgAction_set
|
||||
* Description:
|
||||
* Set ingress action configuration for PTP message.
|
||||
* Input:
|
||||
* type - PTP message type
|
||||
* igr_action - ingress action.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_ALLOWED - Invalid action.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_ptpIgrMsgAction_set(rtk_time_ptpMsgType_t type, rtk_time_ptpIgrMsg_action_t igr_action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_ptpIgrMsgAction_get
|
||||
* Description:
|
||||
* Get ingress action configuration for PTP message.
|
||||
* Input:
|
||||
* type - PTP message type
|
||||
* Output:
|
||||
* igr_action - ingress action.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer igr_action point to NULL.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_ptpIgrMsgAction_get(rtk_time_ptpMsgType_t type, rtk_time_ptpIgrMsg_action_t *igr_action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_ptpEgrMsgAction_set
|
||||
* Description:
|
||||
* Set egress action configuration for PTP message.
|
||||
* Input:
|
||||
* type - PTP message type
|
||||
* egr_action - egress action.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_ALLOWED - Invalid action.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_ptpEgrMsgAction_set(rtk_time_ptpMsgType_t type, rtk_time_ptpEgrMsg_action_t egr_action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_ptpEgrMsgAction_get
|
||||
* Description:
|
||||
* Get egress action configuration for PTP message.
|
||||
* Input:
|
||||
* type - PTP message type
|
||||
* Output:
|
||||
* egr_action - egress action.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer egr_action point to NULL.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_ptpEgrMsgAction_get(rtk_time_ptpMsgType_t type, rtk_time_ptpEgrMsg_action_t *egr_action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_meanPathDelay_set
|
||||
* Description:
|
||||
* Set dal_apollomp_time_meanPathDelay_set of PTP system time.
|
||||
* Input:
|
||||
* delay - mean path delay value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_meanPathDelay_set(uint32 delay);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_meanPathDelay_get
|
||||
* Description:
|
||||
* Get dal_apollomp_time_meanPathDelay_get of PTP system time.
|
||||
* Input:
|
||||
* delay - mean path delay.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - - Pointer delay point to NULL.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_meanPathDelay_get(uint32 *delay);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_rxTime_set
|
||||
* Description:
|
||||
* Configure user RX timestamp.
|
||||
* Input:
|
||||
* timeStamp - RX timestamp value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_rxTime_set(rtk_time_timeStamp_t timeStamp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_rxTime_get
|
||||
* Description:
|
||||
* Get RX timestamp.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pTimeStamp - pointer buffer of the RX time
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pTimeStamp point to NULL.
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_rxTime_get(rtk_time_timeStamp_t *pTimeStamp);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_ponTodTime_set
|
||||
* Description:
|
||||
* Configure PON TOD timestamp.
|
||||
* Input:
|
||||
* timeStamp - PON TOD timestamp value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_ponTodTime_set(rtk_pon_tod_t pon_tod);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_ponTodTime_get
|
||||
* Description:
|
||||
* Get PON TOD timestamp.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pTimeStamp - pointer buffer of the PON TOD time
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pTimeStamp point to NULL.
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_ponTodTime_get(rtk_pon_tod_t *pPonTod);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_todEnable_get
|
||||
* Description:
|
||||
* Get pon tod status.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pEnable - status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_todEnable_get(rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_time_todEnable_set
|
||||
* Description:
|
||||
* Set pon tod status.
|
||||
* Input:
|
||||
* enable - status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_time_todEnable_set(rtk_enable_t enable);
|
||||
#endif /* __DAL_APOLLOMP_TIME_H__ */
|
||||
114
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_tool.h
Normal file
114
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_tool.h
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 40104 $
|
||||
* $Date: 2013-06-08 18:48:58 +0800 (Sat, 08 Jun 2013) $
|
||||
*
|
||||
* Purpose : Definition of Switch Global API
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* (1) tool lib
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_TOOL_H__
|
||||
#define __DAL_APOLLOMP_TOOL_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <hal/chipdef/chip.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
#define APOLLOMP_PATCH_INFO_IDX_MAX 256
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_tool_get_chipSubType
|
||||
* Description:
|
||||
* Get chip subtype.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* chipSubType
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
int32 dal_apollomp_tool_get_chipSubType(uint32 *chipSubType);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_tool_get_capability
|
||||
* Description:
|
||||
* Get chip capability.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* capability
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
int32 dal_apollomp_tool_get_capability(uint32 *capability);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_tool_get_patch_info
|
||||
* Description:
|
||||
* Get patch info.
|
||||
* Input:
|
||||
* idx
|
||||
* Output:
|
||||
* pData
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
int32 dal_apollomp_tool_get_patch_info(uint32 idx, uint32 *pData);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_tool_get_csExtId
|
||||
* Description:
|
||||
* Get customer identification.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* extId
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
int32 dal_apollomp_tool_get_csExtId(uint32 *extId);
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_TOOL_H__ */
|
||||
|
||||
749
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_trap.h
Normal file
749
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_trap.h
Normal file
|
|
@ -0,0 +1,749 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of TRAP API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Configuration for traping packet to CPU
|
||||
* (2) RMA
|
||||
* (3) User defined RMA
|
||||
* (4) System-wise management frame
|
||||
* (5) System-wise user defined management frame
|
||||
* (6) Per port user defined management frame
|
||||
* (7) Packet with special flag or option
|
||||
* (8) CFM and OAM packet
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_TRAP_H__
|
||||
#define __DAL_APOLLOMP_TRAP_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/port.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
typedef enum apollomp_igmpAction_e
|
||||
{
|
||||
APOLLOMP_IGMP_ACT_FORWARD = 0,
|
||||
APOLLOMP_IGMP_ACT_DROP,
|
||||
APOLLOMP_IGMP_ACT_TRAP,
|
||||
APOLLOMP_IGMP_ACT_END,
|
||||
} apollomp_igmpAction_t;
|
||||
|
||||
typedef enum apollomp_l2_commonAct_e
|
||||
{
|
||||
APOLLOMP_L2_COMMON_ACT_FORWARD = 0,
|
||||
APOLLOMP_L2_COMMON_ACT_DROP,
|
||||
APOLLOMP_L2_COMMON_ACT_TRAP,
|
||||
APOLLOMP_L2_COMMON_ACT_COPY2CPU,
|
||||
APOLLOMP_L2_COMMON_ACT_END,
|
||||
}apollomp_l2_commonAct_t;
|
||||
|
||||
typedef enum apollomp_rmaAction_e
|
||||
{
|
||||
APOLLOMP_RMA_ACT_FORWARD = 0,
|
||||
APOLLOMP_RMA_ACT_TRAP ,
|
||||
APOLLOMP_RMA_ACT_DROP ,
|
||||
APOLLOMP_RMA_ACT_FORWARD_EXCLUDE_CPU ,
|
||||
APOLLOMP_RMA_ACT_END ,
|
||||
} apollomp_rmaAction_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_init
|
||||
* Description:
|
||||
* Initial the trap module of the specified device..
|
||||
* Input:
|
||||
* unit - unit id
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_init(void);
|
||||
|
||||
/* Module Name : Trap */
|
||||
/* Sub-module Name: Configuration for traping packet to CPU */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_reasonTrapToCpuPriority_get
|
||||
* Description:
|
||||
* Get priority value of a packet that trapped to CPU port according to specific reason.
|
||||
* Input:
|
||||
* type - reason that trap to CPU port.
|
||||
* Output:
|
||||
* pPriority - configured internal priority for such reason.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* Currently the trap reason that supported are listed as follows:
|
||||
* - TRAP_REASON_RMA
|
||||
* - TRAP_REASON_IPV4IGMP
|
||||
* - TRAP_REASON_IPV6MLD
|
||||
* - TRAP_REASON_1XEAPOL
|
||||
* - TRAP_REASON_VLANERR
|
||||
* - TRAP_REASON_SLPCHANGE
|
||||
* - TRAP_REASON_MULTICASTDLF
|
||||
* - TRAP_REASON_CFI
|
||||
* - TRAP_REASON_1XUNAUTH
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_reasonTrapToCpuPriority_get(rtk_trap_reason_type_t type, rtk_pri_t *pPriority);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_reasonTrapToCpuPriority_set
|
||||
* Description:
|
||||
* Set priority value of a packet that trapped to CPU port according to specific reason.
|
||||
* Input:
|
||||
* type - reason that trap to CPU port.
|
||||
* priority - internal priority that is going to be set for specific trap reason.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* Currently the trap reason that supported are listed as follows:
|
||||
* - TRAP_REASON_RMA
|
||||
* - TRAP_REASON_IPV4IGMP
|
||||
* - TRAP_REASON_IPV6MLD
|
||||
* - TRAP_REASON_1XEAPOL
|
||||
* - TRAP_REASON_VLANERR
|
||||
* - TRAP_REASON_SLPCHANGE
|
||||
* - TRAP_REASON_MULTICASTDLF
|
||||
* - TRAP_REASON_CFI
|
||||
* - TRAP_REASON_1XUNAUTH
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_reasonTrapToCpuPriority_set(rtk_trap_reason_type_t type, rtk_pri_t priority);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_igmpCtrlPkt2CpuEnable_get
|
||||
* Description:
|
||||
* Get the configuration about whether IGMP control packets need be trapped to CPU.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pEnable - status of IGMP control packet trap to CPU
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The status of IGMP control packet trap to CPU:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_igmpCtrlPkt2CpuEnable_get(rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_igmpCtrlPkt2CpuEnable_set
|
||||
* Description:
|
||||
* Set the configuration about whether IGMP control packets need be trapped to CPU.
|
||||
* Input:
|
||||
* unit - unit id
|
||||
* enable - status of IGMP control packet trap to CPU
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* The status of IGMP control packet trap to CPU:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_igmpCtrlPkt2CpuEnable_set(rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_mldCtrlPkt2CpuEnable_get
|
||||
* Description:
|
||||
* Get the configuration about whether MLD control packets need be trapped to CPU.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pEnable - status of MLD control packet trap to CPU
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The status of MLD control packet trap to CPU:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_mldCtrlPkt2CpuEnable_get(rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_mldCtrlPkt2CpuEnable_set
|
||||
* Description:
|
||||
* Set the configuration about whether MLD control packets need be trapped to CPU.
|
||||
* Input:
|
||||
* enable - status of MLD control packet trap to CPU
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* The status of MLD control packet trap to CPU:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_mldCtrlPkt2CpuEnable_set(rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_portIgmpMldCtrlPktAction_get
|
||||
* Description:
|
||||
* Get the configuration about MLD control packets Action
|
||||
* Input:
|
||||
* port - The ingress port ID.
|
||||
* igmpMldType - IGMP/MLD protocol type;
|
||||
* Output:
|
||||
* pAction - Action of IGMP/MLD control packet
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_portIgmpMldCtrlPktAction_get(rtk_port_t port, rtk_trap_igmpMld_type_t igmpMldType, rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_portIgmpMldCtrlPktAction_set
|
||||
* Description:
|
||||
* Set the configuration about MLD control packets Action
|
||||
* Input:
|
||||
* port - The ingress port ID.
|
||||
* igmpMldType - IGMP/MLD protocol type;
|
||||
* action - Action of IGMP/MLD control packet
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_portIgmpMldCtrlPktAction_set(rtk_port_t port, rtk_trap_igmpMld_type_t igmpMldType, rtk_action_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_ipMcastPkt2CpuEnable_get
|
||||
* Description:
|
||||
* Get the configuration about whether IP multicast packet lookup miss need be trapped to CPU.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pEnable - status of IP multicast packet trap to CPU
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The status of IP multicast packet trap to CPU:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_ipMcastPkt2CpuEnable_get(rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_ipMcastPkt2CpuEnable_set
|
||||
* Description:
|
||||
* Set the configuration about whether IP multicast packet lookup miss need be trapped to CPU.
|
||||
* Input:
|
||||
* enable - status of IP multicast packet trap to CPU
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* The status of IP multicast packet trap to CPU:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_ipMcastPkt2CpuEnable_set(rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_l2McastPkt2CpuEnable_get
|
||||
* Description:
|
||||
* Get the configuration about whether L2 multicast packets lookup miss need be trapped to CPU.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pEnable - status of L2 multicast packet trap to CPU
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The status of L2 multicast packet trap to CPU:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_l2McastPkt2CpuEnable_get(rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_l2McastPkt2CpuEnable_set
|
||||
* Description:
|
||||
* Set the configuration about whether L2 multicast packets lookup miss need be trapped to CPU.
|
||||
* Input:
|
||||
* enable - status of L2 multicast packet trap to CPU
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - Invalid unit id
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* Note:
|
||||
* The status of L2 multicast packet trap to CPU:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_l2McastPkt2CpuEnable_set(rtk_enable_t enable);
|
||||
|
||||
/* Module Name : Trap */
|
||||
/* Sub-module Name: RMA */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaAction_get
|
||||
* Description:
|
||||
* Get action of reserved multicast address(RMA) frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* Output:
|
||||
* pRmaAction - RMA action
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaAction_get(rtk_mac_t *pRmaFrame, rtk_trap_rma_action_t *pRmaAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaAction_set
|
||||
* Description:
|
||||
* Set action of reserved multicast address(RMA) frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* rmaAction - RMA action
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameter
|
||||
* RT_ERR_RMA_ACTION - Invalid RMA action
|
||||
* Note:
|
||||
* The supported Reserved Multicast Address frame:
|
||||
* Assignment Address
|
||||
* RMA_BRG_GROUP (Bridge Group Address) 01-80-C2-00-00-00
|
||||
* RMA_FD_PAUSE (IEEE Std 802.3, 1988 Edition, Full Duplex PAUSE operation) 01-80-C2-00-00-01
|
||||
* RMA_SP_MCAST (IEEE Std 802.3ad Slow Protocols-Multicast address) 01-80-C2-00-00-02
|
||||
* RMA_1X_PAE (IEEE Std 802.1X PAE address) 01-80-C2-00-00-03
|
||||
* RMA_RESERVED04 (Reserved) 01-80-C2-00-00-04
|
||||
* RMA_MEDIA_ACCESS_USE (Media Access Method Specific Use) 01-80-C2-00-00-05
|
||||
* RMA_RESERVED06 (Reserved) 01-80-C2-00-00-06
|
||||
* RMA_RESERVED07 (Reserved) 01-80-C2-00-00-07
|
||||
* RMA_PVD_BRG_GROUP (Provider Bridge Group Address) 01-80-C2-00-00-08
|
||||
* RMA_RESERVED09 (Reserved) 01-80-C2-00-00-09
|
||||
* RMA_RESERVED0A (Reserved) 01-80-C2-00-00-0A
|
||||
* RMA_RESERVED0B (Reserved) 01-80-C2-00-00-0B
|
||||
* RMA_RESERVED0C (Reserved) 01-80-C2-00-00-0C
|
||||
* RMA_MVRP (Provider Bridge MVRP Address) 01-80-C2-00-00-0D
|
||||
* RMA_1ab_LL_DISCOVERY (802.1ab Link Layer Discover Protocol Address) 01-80-C2-00-00-0E
|
||||
* RMA_RESERVED0F (Reserved) 01-80-C2-00-00-0F
|
||||
* RMA_BRG_MNGEMENT (All LANs Bridge Management Group Address) 01-80-C2-00-00-10
|
||||
* RMA_LOAD_SERV_GENERIC_ADDR (Load Server Generic Address) 01-80-C2-00-00-11
|
||||
* RMA_LOAD_DEV_GENERIC_ADDR (Loadable Device Generic Address) 01-80-C2-00-00-12
|
||||
* RMA_RESERVED13 (Reserved) 01-80-C2-00-00-13
|
||||
* RMA_RESERVED14 (Reserved) 01-80-C2-00-00-14
|
||||
* RMA_RESERVED15 (Reserved) 01-80-C2-00-00-15
|
||||
* RMA_RESERVED16 (Reserved) 01-80-C2-00-00-16
|
||||
* RMA_RESERVED17 (Reserved) 01-80-C2-00-00-17
|
||||
* RMA_MANAGER_STA_GENERIC_ADDR (Generic Address for All Manager Stations) 01-80-C2-00-00-18
|
||||
* RMA_RESERVED19 (Reserved) 01-80-C2-00-00-19
|
||||
* RMA_AGENT_STA_GENERIC_ADDR (Generic Address for All Agent Stations) 01-80-C2-00-00-1A
|
||||
* RMA_RESERVED1B (Reserved) 01-80-C2-00-00-1B
|
||||
* RMA_RESERVED1C (Reserved) 01-80-C2-00-00-1C
|
||||
* RMA_RESERVED1D (Reserved) 01-80-C2-00-00-1D
|
||||
* RMA_RESERVED1E (Reserved) 01-80-C2-00-00-1E
|
||||
* RMA_RESERVED1F (Reserved) 01-80-C2-00-00-1F
|
||||
* RMA_GMRP (GMRP Address) 01-80-C2-00-00-20
|
||||
* RMA_GVRP (GVRP address) 01-80-C2-00-00-21
|
||||
* RMA_UNDEF_GARP22~2F (Undefined GARP address) 01-80-C2-00-00-22
|
||||
* ~ 01-80-C2-00-00-2F
|
||||
* CDP 01-00-0C-CC-CC-CC
|
||||
* CDP 01-00-0C-CC-CC-CD
|
||||
*
|
||||
* The supported Reserved Multicast Address action:
|
||||
* - RMA_ACTION_FORWARD
|
||||
* - RMA_ACTION_DROP
|
||||
* - RMA_ACTION_TRAP2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaAction_set(rtk_mac_t *pRmaFrame, rtk_trap_rma_action_t rmaAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaPri_get
|
||||
* Description:
|
||||
* Get priority of packets trapped to CPU.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pPriority - pointer to priority
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaPri_get(rtk_pri_t *pPriority);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaPri_set
|
||||
* Description:
|
||||
* Set priority of packets trapped to CPU.
|
||||
* Input:
|
||||
* priority - priority
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PRIORITY - invalid priority value
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaPri_set(rtk_pri_t priority);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaVlanCheckEnable_get
|
||||
* Description:
|
||||
* Get enable status of vlan checking on specified RMA frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* Output:
|
||||
* pEnable - pointer to enable status of vlan checking
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_RMA_ADDR - invalid invalid RMA address
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Applicable:
|
||||
* 8328
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaVlanCheckEnable_get(rtk_mac_t *pRmaFrame, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaVlanCheckEnable_set
|
||||
* Description:
|
||||
* Set enable status of vlan checking on specified RMA frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* enable - enable status of vlan checking
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_RMA_ADDR - invalid invalid RMA address
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaVlanCheckEnable_set(rtk_mac_t *pRmaFrame, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaPortIsolationEnable_get
|
||||
* Description:
|
||||
* Get enable status of port isolation on specified RMA frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* Output:
|
||||
* pEnable - pointer to enable status of vlan checking
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_RMA_ADDR - invalid invalid RMA address
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaPortIsolationEnable_get(rtk_mac_t *pRmaFrame, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaPortIsolationEnable_set
|
||||
* Description:
|
||||
* Set enable status of port isolation on specified RMA frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* enable - enable status of vlan checking
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_RMA_ADDR - invalid invalid RMA address
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaPortIsolationEnable_set(rtk_mac_t *pRmaFrame, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaStormControlEnable_get
|
||||
* Description:
|
||||
* Get enable status of storm control on specified RMA frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* Output:
|
||||
* pEnable - pointer to enable status of vlan checking
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_RMA_ADDR - invalid invalid RMA address
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaStormControlEnable_get(rtk_mac_t *pRmaFrame, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaStormControlEnable_set
|
||||
* Description:
|
||||
* Set enable status of storm control on specified RMA frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* enable - enable status of vlan checking
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_RMA_ADDR - invalid invalid RMA address
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaStormControlEnable_set(rtk_mac_t *pRmaFrame, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaKeepCtagEnable_get
|
||||
* Description:
|
||||
* Get enable status of keeping ctag format on specified RMA frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* Output:
|
||||
* pEnable - pointer to enable status of vlan checking
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_RMA_ADDR - invalid invalid RMA address
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaKeepCtagEnable_get(rtk_mac_t *pRmaFrame, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_rmaKeepCtagEnable_set
|
||||
* Description:
|
||||
* Set enable status of keeping ctag format on specified RMA frame.
|
||||
* Input:
|
||||
* pRmaFrame - Reserved multicast address.
|
||||
* enable - enable status of vlan checking
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_RMA_ADDR - invalid invalid RMA address
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_rmaKeepCtagEnable_set(rtk_mac_t *pRmaFrame, rtk_enable_t enable);
|
||||
|
||||
|
||||
/* Module Name : Trap */
|
||||
/* Sub-module Name: OAM packet */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_oamPduAction_get
|
||||
* Description:
|
||||
* Get forwarding action of trapped oam PDU on specified port.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pAction - pointer to forwarding action of trapped oam PDU
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Forwarding action is as following
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_TRAP2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_oamPduAction_get(rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_oamPduAction_set
|
||||
* Description:
|
||||
* Set forwarding action of trapped oam PDU on specified port.
|
||||
* Input:
|
||||
* action - forwarding action of trapped oam PDU
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_FWD_ACTION - invalid forwarding action
|
||||
* Note:
|
||||
* Forwarding action is as following
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_TRAP2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_oamPduAction_set(rtk_action_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_oamPduPri_get
|
||||
* Description:
|
||||
* Get priority of trapped OAM PDU.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pPriority - pointer to priority
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_oamPduPri_get(rtk_pri_t *pPriority);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trap_oamPduPri_set
|
||||
* Description:
|
||||
* Set priority of trapped OAM PDU.
|
||||
* Input:
|
||||
* priority - priority
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PRIORITY - invalid priority value
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trap_oamPduPri_set(rtk_pri_t priority);
|
||||
|
||||
|
||||
#endif /* __DAL_APOLLOMP_TRAP_H__ */
|
||||
360
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_trunk.h
Normal file
360
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_trunk.h
Normal file
|
|
@ -0,0 +1,360 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
* Purpose : Definition of TRUNK API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) User Configuration Trunk
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_APOLLOMP_TRUNK_H__
|
||||
#define __DAL_APOLLOMP_TRUNK_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/port.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : TRUNK */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_init
|
||||
* Description:
|
||||
* Initialize trunk module of the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize trunk module before calling any trunk APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_init(void);
|
||||
|
||||
/* Module Name : Trunk */
|
||||
/* Sub-module Name: User configuration trunk */
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_distributionAlgorithm_get
|
||||
* Description:
|
||||
* Get the distribution algorithm of the trunk group id from the specified device.
|
||||
* Input:
|
||||
* trkGid - trunk group id
|
||||
* Output:
|
||||
* pAlgoBitmask - pointer buffer of bitmask of the distribution algorithm
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* You can use OR opertions in following bits to decide your algorithm.
|
||||
* - TRUNK_DISTRIBUTION_ALGO_SPA_BIT (source port)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_SMAC_BIT (source mac)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_DMAC_BIT (destination mac)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_SIP_BIT (source ip)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_DIP_BIT (destination ip)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_SRC_L4PORT_BIT (source layer4 port)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_DST_L4PORT_BIT (destination layer4 port)
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_distributionAlgorithm_get(uint32 trkGid, uint32 *pAlgoBitmask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_distributionAlgorithm_set
|
||||
* Description:
|
||||
* Set the distribution algorithm of the trunk group id from the specified device.
|
||||
* Input:
|
||||
* trkGid - trunk group id
|
||||
* algoBitmask - bitmask of the distribution algorithm
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_LA_HASHMASK - invalid hash mask
|
||||
* Note:
|
||||
* You can use OR opertions in following bits to decide your algorithm.
|
||||
* - TRUNK_DISTRIBUTION_ALGO_SPA_BIT (source port)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_SMAC_BIT (source mac)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_DMAC_BIT (destination mac)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_SIP_BIT (source ip)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_DIP_BIT (destination ip)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_SRC_L4PORT_BIT (source layer4 port)
|
||||
* - TRUNK_DISTRIBUTION_ALGO_DST_L4PORT_BIT (destination layer4 port)
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_distributionAlgorithm_set(uint32 trkGid, uint32 algoBitmask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_port_get
|
||||
* Description:
|
||||
* Get the members of the trunk id from the specified device.
|
||||
* Input:
|
||||
* trkGid - trunk group id
|
||||
* Output:
|
||||
* pTrunkMemberPortmask - pointer buffer of trunk member ports
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_port_get(uint32 trkGid, rtk_portmask_t *pTrunkMemberPortmask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_port_set
|
||||
* Description:
|
||||
* Set the members of the trunk id to the specified device.
|
||||
* Input:
|
||||
* trkGid - trunk group id
|
||||
* pTrunkMemberPortmask - trunk member ports
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_LA_MEMBER_OVERLAP - the specified port mask is overlapped with other group
|
||||
* RT_ERR_LA_PORTNUM_DUMB - it can only aggregate at most four ports when 802.1ad dumb mode
|
||||
* RT_ERR_LA_PORTNUM_NORMAL - it can only aggregate at most eight ports when 802.1ad normal mode
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_port_set(uint32 trkGid, rtk_portmask_t *pTrunkMemberPortmask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_hashMappingTable_get
|
||||
* Description:
|
||||
* Get hash value to port array in the trunk group id from the specified device.
|
||||
* Input:
|
||||
* trk_gid - trunk group id
|
||||
* Output:
|
||||
* pHash2Port_array - pointer buffer of ports associate with the hash value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* (1) The valid trk_gid is 0 in APOLLO
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_hashMappingTable_get(
|
||||
uint32 trk_gid,
|
||||
rtk_trunk_hashVal2Port_t *pHash2Port_array);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_hashMappingTable_set
|
||||
* Description:
|
||||
* Set hash value to port array in the trunk group id from the specified device.
|
||||
* Input:
|
||||
* trk_gid - trunk group id
|
||||
* pHash2Port_array - ports associate with the hash value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_PORT_ID - input error port id
|
||||
* Note:
|
||||
* (1) The valid trk_gid is 0 in APOLLO
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_hashMappingTable_set(
|
||||
uint32 trk_gid,
|
||||
rtk_trunk_hashVal2Port_t *pHash2Port_array);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_mode_get
|
||||
* Description:
|
||||
* Get the trunk mode from the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pMode - pointer buffer of trunk mode
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* The enum of the trunk mode as following
|
||||
* - TRUNK_MODE_NORMAL
|
||||
* - TRUNK_MODE_DUMB
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_mode_get(rtk_trunk_mode_t *pMode);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_mode_set
|
||||
* Description:
|
||||
* Set the trunk mode to the specified device.
|
||||
* Input:
|
||||
* mode - trunk mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* The enum of the trunk mode as following
|
||||
* - TRUNK_MODE_NORMAL
|
||||
* - TRUNK_MODE_DUMB
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_mode_set(rtk_trunk_mode_t mode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_trafficSeparate_get
|
||||
* Description:
|
||||
* Get the traffic separation setting of a trunk group from the specified device.
|
||||
* Input:
|
||||
* trk_gid - trunk group id
|
||||
* Output:
|
||||
* pSeparateType - pointer separated traffic type
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* SEPARATE_NONE: disable traffic separation
|
||||
* SEPARATE_KNOWN_MULTI_AND_FLOOD: trunk MSB link up port is dedicated to TX known multicast and flooding (L2 lookup miss) traffic
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_trafficSeparate_get(uint32 trk_gid, rtk_trunk_separateType_t *pSeparateType);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_trafficSeparate_set
|
||||
* Description:
|
||||
* Set the traffic separation setting of a trunk group from the specified device.
|
||||
* Input:
|
||||
* trk_gid - trunk group id
|
||||
* separateType - traffic separation setting
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_LA_HASHMASK - invalid hash mask
|
||||
* Note:
|
||||
* SEPARATE_NONE: disable traffic separation
|
||||
* SEPARATE_KNOWN_MULTI_AND_FLOOD: trunk MSB link up port is dedicated to TX known multicast and flooding (L2 lookup miss) traffic
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_trafficSeparate_set(uint32 trk_gid, rtk_trunk_separateType_t separateType);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_portQueueEmpty_get
|
||||
* Description:
|
||||
* Get the port mask which all queues are empty.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pEmpty_portmask - pointer empty port mask
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_portQueueEmpty_get(rtk_portmask_t *pEmpty_portmask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_trafficPause_get
|
||||
* Description:
|
||||
* Get the traffic pause setting of a trunk group.
|
||||
* Input:
|
||||
* trk_gid - trunk group id
|
||||
* Output:
|
||||
* pEnable - pointer of traffic pause state.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_trafficPause_get(uint32 trk_gid, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_apollomp_trunk_trafficPause_set
|
||||
* Description:
|
||||
* Set the traffic separation setting of a trunk group from the specified device.
|
||||
* Input:
|
||||
* trk_gid - trunk group id
|
||||
* enable - traffic pause state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_LA_TRUNK_ID - invalid trunk ID
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_apollomp_trunk_trafficPause_set(uint32 trk_gid, rtk_enable_t enable);
|
||||
|
||||
#endif /* __DAL_APOLLOMP_TRUNK_H__ */
|
||||
1456
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_vlan.h
Normal file
1456
sources/rtk-gp3000/include/dal/apollomp/dal_apollomp_vlan.h
Normal file
File diff suppressed because it is too large
Load diff
256
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw.h
Executable file
256
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw.h
Executable file
|
|
@ -0,0 +1,256 @@
|
|||
#ifndef _APOLLOMP_RAW_H_
|
||||
#define _APOLLOMP_RAW_H_
|
||||
|
||||
#include <common/rt_type.h>
|
||||
#include <common/rt_error.h>
|
||||
#include <common/util/rt_bitop.h>
|
||||
#include <common/util/rt_util.h>
|
||||
#include <common/debug/rt_log.h>
|
||||
#include <osal/memory.h>
|
||||
#include <hal/chipdef/allmem.h>
|
||||
#include <hal/chipdef/allreg.h>
|
||||
#include <hal/mac/reg.h>
|
||||
#include <hal/mac/mem.h>
|
||||
#include <hal/common/halctrl.h>
|
||||
|
||||
#include <hal/chipdef/apollomp/apollomp_def.h>
|
||||
#include <hal/chipdef/apollomp/rtk_apollomp_table_struct.h>
|
||||
#include <hal/chipdef/apollomp/rtk_apollomp_reg_struct.h>
|
||||
#include <dal/apollomp/dal_apollomp.h>
|
||||
|
||||
|
||||
#define APOLLO_VIDMAX 0xFFF
|
||||
#define APOLLO_EVIDMAX 0x1FFF
|
||||
#define APOLLO_CVIDXNO 32
|
||||
#define APOLLO_CVIDXMAX (APOLLO_CVIDXNO-1)
|
||||
|
||||
#define APOLLO_PRIMAX 7
|
||||
#define APOLLO_DSCPMAX 63
|
||||
#define APOLLO_PRI_WEIGHT_MAX 15
|
||||
#define APOLLO_L4PORT_MAX 0xFFFF
|
||||
|
||||
#define APOLLO_PORTNO 7
|
||||
#define APOLLO_PORTIDMAX (APOLLO_PORTNO-1)
|
||||
#define APOLLO_PMSKMAX ((1<<(APOLLO_PORTNO))-1)
|
||||
#define APOLLO_PORTMASK 0x7F
|
||||
|
||||
#define APOLLO_VCPORTNO 16
|
||||
#define APOLLO_EXTPORTNO 5
|
||||
#define APOLLO_VCPORTNOMAX (APOLLO_VCPORTNO-1)
|
||||
#define APOLLO_EXTPORTNOMAX (APOLLO_EXTPORTNO-1)
|
||||
|
||||
|
||||
|
||||
#define APOLLO_PHYNO 5
|
||||
#define APOLLO_PHYIDMAX (APOLLO_PHYNO-1)
|
||||
#define APOLLO_PHYREGMAX 31
|
||||
#define APOLLO_PHYDATAMAX 0xFFFF
|
||||
|
||||
#define APOLLO_SVIDXNO 64
|
||||
#define APOLLO_SVIDXMAX (APOLLO_SVIDXNO-1)
|
||||
#define APOLLO_MSTIMAX 15
|
||||
|
||||
#define APOLLO_PRI_TO_QUEUE_TBL_SIZE 4
|
||||
#define APOLLO_QUEUENO 8
|
||||
#define APOLLO_QIDMAX (APOLLO_QUEUENO-1)
|
||||
|
||||
#define APOLLO_PHY_BUSY_CHECK_COUNTER 1000
|
||||
|
||||
#define APOLLO_QOS_GRANULARTY_MAX 0x1FFFF
|
||||
#define APOLLO_QOS_GRANULARTY_LSB_MASK 0xFFFF
|
||||
#define APOLLO_QOS_GRANULARTY_LSB_OFFSET 0
|
||||
#define APOLLO_QOS_GRANULARTY_MSB_MASK 0x10000
|
||||
#define APOLLO_QOS_GRANULARTY_MSB_OFFSET 16
|
||||
|
||||
#define APOLLO_QOS_GRANULARTY_UNIT_KBPS 8
|
||||
|
||||
#define APOLLO_QOS_RATE_INPUT_MAX (0x1FFFF * 8)
|
||||
#define APOLLO_QOS_RATE_INPUT_MIN 8
|
||||
|
||||
#define APOLLO_QUEUE_MASK 0xFF
|
||||
|
||||
#define APOLLO_EFIDMAX 0x7
|
||||
#define APOLLO_FIDMAX 0xF
|
||||
|
||||
#define APOLLO_GPIOPINNO 14
|
||||
#define APOLLO_GPIOPINMAX (APOLLO_GPIOPINNO-1)
|
||||
|
||||
#define APOLLO_DSLVCNO 16
|
||||
#define APOLLO_DSLVCMAX (APOLLO_DSLVCNO -1)
|
||||
|
||||
#define APOLLO_ETHTYPEMAX 0xFFFF
|
||||
|
||||
/*L34*/
|
||||
#define APOLLO_PPPOE_ENTRY 8
|
||||
#define APOLLO_PPPOE_MAX_SESSION 0xFFFF
|
||||
|
||||
#define APOLLO_IPMC_TABLE_ENTRY 64
|
||||
#define APOLLO_IPMC_TABLE_IDX_MAX (APOLLO_IPMC_TABLE_ENTRY - 1)
|
||||
|
||||
/*EPON*/
|
||||
#define APOLLO_LLID_MAX 8
|
||||
|
||||
/*MIB*/
|
||||
#define APOLLO_ACL_MIB_MAX 31
|
||||
#define APOLLO_MIB_LATCH_TIMER_MAX 0xFF
|
||||
|
||||
#define APOLLO_LUT_4WAY_NO 2048
|
||||
#define APOLLO_LUT_CAM_NO 64
|
||||
#define APOLLO_LUT_TBL_NO (APOLLO_LUT_4WAY_NO + APOLLO_LUT_CAM_NO) /*2K 4 ways hash entries + 64 CAM entries*/
|
||||
#define APOLLO_LUT_TBL_MAX (APOLLO_LUT_TBL_NO - 1)
|
||||
#define APOLLO_CF_PATTERN_MAX 511
|
||||
|
||||
/*GPON*/
|
||||
#define APOLLO_SID_MAX 127
|
||||
|
||||
#define APOLLO_FRAME_LENGTH_MAX 0x3FFF
|
||||
|
||||
/*L34*/
|
||||
#define L34_ARP_TABLE_MAX_IDX (512)
|
||||
#define L34_EXTIP_TABLE_MAX_IDX (16)
|
||||
#define L34_ROUTING_TABLE_MAX_IDX (8)
|
||||
#define L34_NAPT_TABLE_MAX_IDX (2048)
|
||||
#define L34_NAPTR_TABLE_MAX_IDX (1024)
|
||||
#define L34_NH_TABLE_MAX_IDX (16)
|
||||
#define L34_PPPOE_TABLE_MAX_IDX (8)
|
||||
#define L34_NETIF_TABLE_MAX_IDX (8)
|
||||
|
||||
#define L34_ROUTING_IP_MAX_MASK (31)
|
||||
|
||||
/*Flow Control*/
|
||||
#define APOLLO_PON_QUEUE_MAX 127
|
||||
#define APOLLO_PON_QUEUE_NO 128
|
||||
#define APOLLO_PON_QUEUE_INDEX_MAX 7
|
||||
#define APOLLO_PON_QUEUE_INDEX_NO 8
|
||||
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
/* wait move to
|
||||
sdk\include\hal\chipdef\apollomp\apollomp_def.h
|
||||
when porting MP chip
|
||||
*/
|
||||
#define APOLLOMP_PRIMAX 7
|
||||
#define APOLLOMP_DSCPMAX 63
|
||||
#define APOLLOMP_PRI_WEIGHT_MAX 15
|
||||
#define APOLLOMP_L4PORT_MAX 0xFFFF
|
||||
|
||||
#define APOLLOMP_PORTNO 7
|
||||
#define APOLLOMP_PORTIDMAX (APOLLOMP_PORTNO-1)
|
||||
#define APOLLOMP_PMSKMAX ((1<<(APOLLOMP_PORTNO))-1)
|
||||
#define APOLLOMP_PORTMASK 0x7F
|
||||
|
||||
#define APOLLOMP_VCPORTNO 16
|
||||
#define APOLLOMP_EXTPORTNO 5
|
||||
#define APOLLOMP_VCPORTNOMAX (APOLLOMP_VCPORTNO-1)
|
||||
#define APOLLOMP_EXTPORTNOMAX (APOLLOMP_EXTPORTNO-1)
|
||||
|
||||
|
||||
|
||||
#define APOLLOMP_PHYNO 5
|
||||
#define APOLLOMP_PHYIDMAX (APOLLOMP_PHYNO-1)
|
||||
#define APOLLOMP_PHYREGMAX 31
|
||||
#define APOLLOMP_PHYDATAMAX 0xFFFF
|
||||
|
||||
#define APOLLOMP_SVIDXNO 64
|
||||
#define APOLLOMP_SVIDXMAX (APOLLOMP_SVIDXNO-1)
|
||||
#define APOLLOMP_MSTIMAX 15
|
||||
|
||||
#define APOLLOMP_PRI_TO_QUEUE_TBL_SIZE 4
|
||||
#define APOLLOMP_QUEUENO 8
|
||||
#define APOLLOMP_QIDMAX (APOLLOMP_QUEUENO-1)
|
||||
|
||||
#define APOLLOMP_PHY_BUSY_CHECK_COUNTER 1000
|
||||
|
||||
#define APOLLOMP_QOS_GRANULARTY_MAX 0x1FFFF
|
||||
#define APOLLOMP_QOS_GRANULARTY_LSB_MASK 0xFFFF
|
||||
#define APOLLOMP_QOS_GRANULARTY_LSB_OFFSET 0
|
||||
#define APOLLOMP_QOS_GRANULARTY_MSB_MASK 0x10000
|
||||
#define APOLLOMP_QOS_GRANULARTY_MSB_OFFSET 16
|
||||
|
||||
#define APOLLOMP_QOS_GRANULARTY_UNIT_KBPS 8
|
||||
|
||||
#define APOLLOMP_QOS_RATE_INPUT_MAX (0x1FFFF * 8)
|
||||
#define APOLLOMP_QOS_RATE_INPUT_MIN 8
|
||||
|
||||
#define APOLLOMP_QUEUE_MASK 0xFF
|
||||
|
||||
|
||||
#define APOLLOMP_GPIOPINNO 14
|
||||
#define APOLLOMP_GPIOPINMAX (APOLLOMP_GPIOPINNO-1)
|
||||
|
||||
#define APOLLOMP_DSLVCNO 16
|
||||
#define APOLLOMP_DSLVCMAX (APOLLOMP_DSLVCNO -1)
|
||||
|
||||
#define APOLLOMP_EXTPORTNO 5
|
||||
#define APOLLOMP_EXTPORTMAX (APOLLOMP_EXTPORTNO -1)
|
||||
|
||||
#define APOLLOMP_ETHTYPEMAX 0xFFFF
|
||||
|
||||
/*L34*/
|
||||
#define APOLLOMP_PPPOE_ENTRY 8
|
||||
#define APOLLOMP_PPPOE_MAX_SESSION 0xFFFF
|
||||
|
||||
#define APOLLOMP_IPMC_TABLE_ENTRY 64
|
||||
#define APOLLOMP_IPMC_TABLE_IDX_MAX (APOLLOMP_IPMC_TABLE_ENTRY - 1)
|
||||
|
||||
/*EPON*/
|
||||
#define APOLLOMP_LLID_MAX 8
|
||||
|
||||
/*MIB*/
|
||||
#define APOLLOMP_ACL_MIB_MAX 31
|
||||
#define APOLLOMP_MIB_LATCH_TIMER_MAX 0xFF
|
||||
|
||||
#define APOLLOMP_LUT_4WAY_NO 2048
|
||||
#define APOLLOMP_LUT_CAM_NO 64
|
||||
#define APOLLOMP_LUT_TBL_NO (APOLLOMP_LUT_4WAY_NO + APOLLOMP_LUT_CAM_NO) /*2K 4 ways hash entries + 64 CAM entries*/
|
||||
#define APOLLOMP_LUT_TBL_MAX (APOLLOMP_LUT_TBL_NO - 1)
|
||||
#define APOLLOMP_CF_PATTERN_MAX 511
|
||||
|
||||
/*GPON*/
|
||||
#define APOLLOMP_SID_MAX 127
|
||||
|
||||
#define APOLLOMP_FRAME_LENGTH_MAX 0x3FFF
|
||||
|
||||
/*L34*/
|
||||
#define L34_ARP_TABLE_MAX_IDX (512)
|
||||
#define L34_EXTIP_TABLE_MAX_IDX (16)
|
||||
#define L34_ROUTING_TABLE_MAX_IDX (8)
|
||||
#define L34_NAPT_TABLE_MAX_IDX (2048)
|
||||
#define L34_NAPTR_TABLE_MAX_IDX (1024)
|
||||
#define L34_NH_TABLE_MAX_IDX (16)
|
||||
#define L34_PPPOE_TABLE_MAX_IDX (8)
|
||||
#define L34_NETIF_TABLE_MAX_IDX (8)
|
||||
|
||||
#define L34_ROUTING_IP_MAX_MASK (31)
|
||||
|
||||
/*Flow Control*/
|
||||
#define APOLLOMP_PON_QUEUE_MAX 127
|
||||
#define APOLLOMP_PON_QUEUE_NO 128
|
||||
#define APOLLOMP_PON_QUEUE_INDEX_MAX 7
|
||||
#define APOLLOMP_PON_QUEUE_INDEX_NO 8
|
||||
|
||||
|
||||
|
||||
|
||||
typedef uint32 apollo_raw_svidx_t; /* SVLAN member configuration index*/
|
||||
typedef uint32 apollo_raw_ethertype_t; /* Ethertype */
|
||||
|
||||
|
||||
|
||||
typedef uint32 apollo_raw_pmsk_t;
|
||||
|
||||
#endif
|
||||
|
||||
typedef enum apollo_raw_linkSpeed_e
|
||||
{
|
||||
LINKSPEED_10M = 0,
|
||||
LINKSPEED_100M,
|
||||
LINKSPEED_GIGA
|
||||
} apollo_raw_linkSpeed_t;
|
||||
|
||||
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
#ifndef _APOLLOMP_RAW_ACL_H_
|
||||
#define _APOLLOMP_RAW_ACL_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
#define APOLLOMP_ACLRULETBLEN 5
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
typedef enum apollomp_raw_acl_modeTypes_e
|
||||
{
|
||||
APOLLOMP_ACL_MODE_64ENTRIES = 0,
|
||||
APOLLOMP_ACL_MODE_128ENTRIES,
|
||||
APOLLOMP_ACL_MODE_END
|
||||
}apollomp_raw_acl_modeTypes_t;
|
||||
|
||||
|
||||
typedef struct apollomp_raw_acl_rule_s
|
||||
{
|
||||
uint32 active_portmsk;
|
||||
uint32 type;
|
||||
uint32 tag_exist;
|
||||
uint32 field[APOLLOMP_MAX_NUM_OF_ACL_RULE_FIELD];
|
||||
|
||||
}apollomp_raw_acl_rule_t;
|
||||
|
||||
typedef struct apollomp_raw_acl_ruleEntry_s
|
||||
{
|
||||
uint32 idx;
|
||||
apollomp_raw_acl_modeTypes_t mode;
|
||||
|
||||
apollomp_raw_acl_rule_t data_bits;
|
||||
uint32 valid;
|
||||
apollomp_raw_acl_rule_t care_bits;
|
||||
|
||||
}apollomp_raw_acl_ruleEntry_t;
|
||||
|
||||
|
||||
|
||||
|
||||
extern int32 apollomp_raw_acl_rule_set(apollomp_raw_acl_ruleEntry_t *pAclRule);
|
||||
extern int32 apollomp_raw_acl_rule_get(apollomp_raw_acl_ruleEntry_t *pAclRule);
|
||||
|
||||
|
||||
#endif /*_APOLLOMP_RAW_ACL_H_*/
|
||||
|
||||
|
||||
271
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_cf.h
Normal file
271
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_cf.h
Normal file
|
|
@ -0,0 +1,271 @@
|
|||
#ifndef _APOLLOMP_RAW_CLASSIFICATION_H_
|
||||
#define _APOLLOMP_RAW_CLASSIFICATION_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
#define APOLLOMP_RAW_CF_ETHERTYPE_NONE 0XFFFF
|
||||
#define APOLLOMP_RAW_CF_ENTRYLEN 5
|
||||
#define APOLLOMP_RAW_CF_UPACTTBLEN 2
|
||||
#define APOLLOMP_RAW_CF_DSACTTBLEN 2
|
||||
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
typedef enum apollomp_raw_cf_patternNum_e{
|
||||
APOLLOMP_RAW_CF_PATTERN_0 = 0,
|
||||
APOLLOMP_RAW_CF_PATTERN_1,
|
||||
APOLLOMP_RAW_CF_PATTERN_2,
|
||||
APOLLOMP_RAW_CF_PATTERN_3,
|
||||
APOLLOMP_RAW_CF_PATTERN_END,
|
||||
}apollomp_raw_cf_patternNum_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_usPermit_e{
|
||||
CF_US_PERMIT_NORMAL = 0,
|
||||
CF_US_PERMIT_NOPON,
|
||||
CF_US_PERMIT_DROP,
|
||||
CF_US_PERMIT_END,
|
||||
}apollomp_raw_cf_usPermit_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_valid_e{
|
||||
CF_ENTRY_INVALID = 0,
|
||||
CF_ENTRY_VALID,
|
||||
CF_ENTRY_VALID_END,
|
||||
}apollomp_raw_cf_valid_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_enable_t
|
||||
{
|
||||
CF_DISABLE = 0,
|
||||
CF_ENABLE,
|
||||
CF_ENABLE_END,
|
||||
} apollomp_raw_cf_enable_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_unmatch_action_e
|
||||
{
|
||||
CF_UNMATCH_DROP = 0,
|
||||
CF_UNMATCH_PERMIT_WITHOUT_PON,
|
||||
CF_UNMATCH_PERMIT,
|
||||
CF_UNMATCH_END,
|
||||
} apollomp_raw_cf_unmatch_action_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_dirct_e
|
||||
{
|
||||
CF_DIRECTION_US = 0,
|
||||
CF_DIRECTION_DS,
|
||||
CF_DIRECTION_END
|
||||
}apollomp_raw_cf_dirct_t;
|
||||
|
||||
/*down stream action*/
|
||||
typedef enum apollomp_raw_cf_ds_csact_e
|
||||
{
|
||||
CF_DS_CSACT_NOP = 0,
|
||||
CF_DS_CSACT_ADD_TAG_VS_TPID,
|
||||
CF_DS_CSACT_ADD_TAG_8100,
|
||||
CF_DS_CSACT_DEL_STAG,
|
||||
CF_DS_CSACT_TRANSPARENT, /* not support in test chip */
|
||||
CF_DS_CSACT_SP2C, /* not support in test chip */
|
||||
CF_DS_CSACT_END,
|
||||
} apollomp_raw_cf_ds_csact_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_ds_cact_e
|
||||
{
|
||||
CF_DS_CACT_NOP = 0,
|
||||
CF_DS_CACT_ADD_CTAG_8100,
|
||||
CF_DS_CACT_TRANSLATION_SP2C,
|
||||
CF_DS_CACT_DEL_CTAG, /* not support in test chip */
|
||||
CF_DS_CACT_TRANSPARENT,
|
||||
CF_DS_CACT_END,
|
||||
} apollomp_raw_cf_ds_cact_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_ds_vid_act_e
|
||||
{
|
||||
CF_DS_VID_ACT_ASSIGN = 0,
|
||||
CF_DS_VID_ACT_FROM_1ST_TAG,
|
||||
CF_DS_VID_ACT_FROM_2ND_TAG, /* not support in test chip */
|
||||
CF_DS_VID_ACT_FROM_LUT,
|
||||
CF_DS_VID_ACT_END,
|
||||
} apollomp_raw_cf_ds_vid_act_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_ds_pri_act_e
|
||||
{
|
||||
CF_DS_PRI_ACT_ASSIGN = 0,
|
||||
CF_DS_PRI_ACT_FROM_1ST_TAG,
|
||||
CF_DS_PRI_ACT_FROM_2ND_TAG, /* not support in test chip */
|
||||
CF_DS_PRI_ACT_FROM_INTERNAL,
|
||||
CF_DS_PRI_ACT_END,
|
||||
} apollomp_raw_cf_ds_pri_act_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_cf_pri_act_e
|
||||
{
|
||||
CF_CF_PRI_ACT_NOP = 0,
|
||||
CF_CF_PRI_ACT_ASSIGN,
|
||||
CF_CF_PRI_ACT_END,
|
||||
} apollomp_raw_cf_cf_pri_act_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_ds_uni_act_e
|
||||
{
|
||||
CF_DS_UNI_ACT_NOP = 0,
|
||||
CF_DS_UNI_ACT_MASK_BY_UNIMASK,
|
||||
CF_DS_UNI_ACT_FORCE_FORWARD,
|
||||
CF_DS_UNI_ACT_END,
|
||||
} apollomp_raw_cf_ds_uni_act_t;
|
||||
|
||||
/*up stream action*/
|
||||
typedef enum apollomp_raw_cf_us_csact_e
|
||||
{
|
||||
CF_US_CSACT_NOP = 0,
|
||||
CF_US_CSACT_ADD_TAG_VS_TPID,
|
||||
CF_US_CSACT_ADD_TAG_8100,
|
||||
CF_US_CSACT_DEL_STAG, /* not support in test chip */
|
||||
CF_US_CSACT_TRANSPARENT, /* not support in test chip */
|
||||
CF_US_CSACT_END,
|
||||
} apollomp_raw_cf_us_csact_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_us_cact_e
|
||||
{
|
||||
CF_US_CACT_NOP = 0,
|
||||
CF_US_CACT_ADD_CTAG_8100, /* not support in test chip */
|
||||
CF_US_CACT_TRANSLATION_C2S,
|
||||
CF_US_CACT_DEL_CTAG,
|
||||
CF_US_CACT_TRANSPARENT,
|
||||
CF_US_CACT_END,
|
||||
} apollomp_raw_cf_us_cact_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_us_vid_act_e
|
||||
{
|
||||
CF_US_VID_ACT_ASSIGN = 0,
|
||||
CF_US_VID_ACT_FROM_1ST_TAG,
|
||||
CF_US_VID_ACT_FROM_2ND_TAG, /* not support in test chip */
|
||||
CF_US_VID_ACT_FROM_INTERNAL, /* not support in test chip */
|
||||
CF_US_VID_ACT_END,
|
||||
} apollomp_raw_cf_us_vid_act_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_us_pri_act_e
|
||||
{
|
||||
CF_US_PRI_ACT_ASSIGN = 0,
|
||||
CF_US_PRI_ACT_FROM_1ST_TAG,
|
||||
CF_US_PRI_ACT_FROM_2ND_TAG, /* not support in test chip */
|
||||
CF_US_PRI_ACT_FROM_INTERNAL,
|
||||
CF_US_PRI_ACT_END,
|
||||
} apollomp_raw_cf_us_pri_act_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_us_sqid_act_e
|
||||
{
|
||||
CF_US_SQID_ACT_ASSIGN_NOP =0,
|
||||
CF_US_SQID_ACT_ASSIGN_SID,
|
||||
CF_US_SQID_ACT_END,
|
||||
} apollomp_raw_cf_us_sqid_act_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_ip_rng_type_e
|
||||
{
|
||||
CF_IP_RNG_SIP = 0,
|
||||
CF_IP_RNG_DIP,
|
||||
CF_IP_RNG_END,
|
||||
} apollomp_raw_cf_ip_rng_type_t;
|
||||
|
||||
typedef enum apollomp_raw_cf_port_rng_type_e
|
||||
{
|
||||
CF_PORT_RNG_SPORT = 0,
|
||||
CF_PORT_RNG_DPORT,
|
||||
CF_PORT_RNG_END,
|
||||
} apollomp_raw_cf_port_rng_type_t;
|
||||
|
||||
|
||||
typedef struct apollomp_raw_cf_pattern_s{
|
||||
uint32 etherType;
|
||||
uint32 direction; /* upstraeam or downstream configuration*/
|
||||
uint32 tos_gemidx; /* TOS/TC for upstream,GEMIDX/LLIDX for downstream*/
|
||||
uint32 tagVid;
|
||||
uint32 tagPri;
|
||||
uint32 interPri;
|
||||
uint32 ifStag;
|
||||
uint32 ifCtag;
|
||||
uint32 uni;
|
||||
|
||||
uint32 portRange;
|
||||
uint32 ipRange;
|
||||
uint32 aclHit;
|
||||
uint32 wanIf;
|
||||
uint32 ip6Mc;
|
||||
uint32 ip4Mc;
|
||||
uint32 igmp;
|
||||
uint32 mld;
|
||||
uint32 dei;
|
||||
|
||||
}apollomp_raw_cf_pattern_t;
|
||||
|
||||
typedef struct apollomp_raw_cf_RuleEntry_s{
|
||||
uint32 idx;
|
||||
uint32 valid;
|
||||
apollomp_raw_cf_pattern_t data_bits;
|
||||
apollomp_raw_cf_pattern_t care_bits;
|
||||
}apollomp_raw_cf_RuleEntry_t;
|
||||
|
||||
|
||||
typedef struct apollomp_raw_cf_dsAct_s{
|
||||
uint32 idx;
|
||||
uint32 csact;
|
||||
uint32 s_vid;
|
||||
uint32 s_pri;
|
||||
uint32 svid_act;
|
||||
uint32 spri_act;
|
||||
uint32 cact;
|
||||
uint32 c_vid;
|
||||
uint32 c_pri;
|
||||
uint32 cvid_act;
|
||||
uint32 cpri_act;
|
||||
uint32 cfpri_act;
|
||||
uint32 cfpri;
|
||||
uint32 uni_act;
|
||||
uint32 uni_mask;
|
||||
uint32 dscp_remark;
|
||||
|
||||
}apollomp_raw_cf_dsAct_t;
|
||||
|
||||
typedef struct apollomp_raw_cf_usAct_s{
|
||||
uint32 idx;
|
||||
uint32 csact;
|
||||
uint32 svid_act;
|
||||
uint32 spri_act;
|
||||
uint32 s_vid;
|
||||
uint32 s_pri;
|
||||
uint32 cact;
|
||||
uint32 cvid_act;
|
||||
uint32 cpri_act;
|
||||
uint32 c_vid;
|
||||
uint32 c_pri;
|
||||
uint32 sid_act;
|
||||
uint32 assign_idx;
|
||||
uint32 cfpri_act;
|
||||
uint32 cfpri;
|
||||
uint32 log_act;
|
||||
uint32 log_idx;
|
||||
uint32 dscp_remark;
|
||||
uint32 drop_act;
|
||||
|
||||
}apollomp_raw_cf_usAct_t;
|
||||
|
||||
extern int32 apollomp_raw_cf_valid_set(uint32 index, rtk_enable_t enabled);
|
||||
extern int32 apollomp_raw_cf_valid_get(uint32 index, rtk_enable_t *pEnabled);
|
||||
extern int32 apollomp_raw_cf_rule_set(apollomp_raw_cf_RuleEntry_t *pattern);
|
||||
extern int32 apollomp_raw_cf_rule_get(apollomp_raw_cf_RuleEntry_t *pattern);
|
||||
extern int32 apollomp_raw_cf_dsAct_set(apollomp_raw_cf_dsAct_t *pCfDsAct);
|
||||
extern int32 apollomp_raw_cf_dsAct_get(apollomp_raw_cf_dsAct_t *pCfDsAct);
|
||||
extern int32 apollomp_raw_cf_usAct_set(apollomp_raw_cf_usAct_t *pCfUsAct);
|
||||
extern int32 apollomp_raw_cf_usAct_get(apollomp_raw_cf_usAct_t *pCfUsAct);
|
||||
extern int32 apollomp_raw_cf_dsOp_set(uint32 index, rtk_enable_t notDs);
|
||||
extern int32 apollomp_raw_cf_dsOp_get(uint32 index, rtk_enable_t *notDs);
|
||||
extern int32 apollomp_raw_cf_usOp_set(uint32 index, rtk_enable_t notUs);
|
||||
extern int32 apollomp_raw_cf_usOp_get(uint32 index, rtk_enable_t *notUs);
|
||||
extern int32 apollomp_raw_cf_usPermit_set(apollomp_raw_cf_usPermit_t rule);
|
||||
extern int32 apollomp_raw_cf_usPermit_get(apollomp_raw_cf_usPermit_t *pRule);
|
||||
#endif /*_APOLLOMP_RAW_CLASSIFICATION_H_*/
|
||||
|
||||
|
||||
147
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_epon.h
Normal file
147
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_epon.h
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
#ifndef _APOLLOMP_RAW_EPON_H_
|
||||
#define _APOLLOMP_RAW_EPON_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
typedef enum apollomp_raw_epon_regMode_e
|
||||
{
|
||||
APOLLOMP_EPON_SW_REG = 0,
|
||||
APOLLOMP_EPON_HW_REG = 1
|
||||
} apollomp_raw_epon_regMode_t;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_epon_quardThd_e
|
||||
{
|
||||
APOLLOMP_EPON_QUARD_THRESHOLD_4TQ = 0,
|
||||
APOLLOMP_EPON_QUARD_THRESHOLD_8TQ = 1,
|
||||
APOLLOMP_EPON_QUARD_THRESHOLD_16TQ = 2,
|
||||
APOLLOMP_EPON_QUARD_THRESHOLD_32TQ = 3,
|
||||
} apollomp_raw_epon_quardThd_t;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_epon_gatehandle_e
|
||||
{
|
||||
APOLLOMP_EPON_GATE_ASIC_HANDLE = 0,
|
||||
APOLLOMP_EPON_GATE_ASIC_HANDLE_AND_TRAP_TO_CPU = 1
|
||||
} apollomp_raw_epon_gatehandle_t;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_epon_mpcpHandle_e
|
||||
{
|
||||
APOLLOMP_EPON_MPCP_DROP = 0,
|
||||
APOLLOMP_EPON_MPCP_PASS = 1
|
||||
} apollomp_raw_epon_mpcpHandle_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct apollomp_raw_epon_llid_table_s
|
||||
{
|
||||
uint16 llid;
|
||||
uint8 valid;
|
||||
uint8 report_timer;
|
||||
uint8 is_report_timeout; /*read only*/
|
||||
|
||||
}apollomp_raw_epon_llid_table_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct apollomp_raw_epon_grant_s
|
||||
{
|
||||
uint32 grant_start;
|
||||
uint32 grant_end;
|
||||
uint8 is_force_report;
|
||||
uint8 is_disc;
|
||||
uint8 llid_idx;
|
||||
}apollomp_raw_epon_grant_t;
|
||||
|
||||
|
||||
|
||||
extern int32 apollomp_raw_epon_regMode_set(apollomp_raw_epon_regMode_t mode);
|
||||
extern int32 apollomp_raw_epon_regMode_get(apollomp_raw_epon_regMode_t *mode);
|
||||
extern int32 apollomp_raw_epon_regLlidIdx_set(uint32 idx);
|
||||
extern int32 apollomp_raw_epon_regLlidIdx_get(uint32 *idx);
|
||||
extern int32 apollomp_raw_epon_regMac_set(rtk_mac_t *mac);
|
||||
extern int32 apollomp_raw_epon_regMac_get(rtk_mac_t *mac);
|
||||
extern int32 apollomp_raw_epon_regReguest_set(rtk_enable_t mode);
|
||||
extern int32 apollomp_raw_epon_regReguest_get(rtk_enable_t *mode);
|
||||
extern int32 apollomp_raw_epon_regPendingGrantNum_set(uint8 num);
|
||||
extern int32 apollomp_raw_epon_regPendingGrantNum_get(uint32 *num);
|
||||
extern int32 apollomp_raw_epon_mpcpTimeoutVal_set(uint8 timeout_unit);
|
||||
extern int32 apollomp_raw_epon_mpcpTimeoutVal_get(uint8 *timeout_unit);
|
||||
extern int32 apollomp_raw_epon_regLlidImr_set(rtk_enable_t mode);
|
||||
extern int32 apollomp_raw_epon_regLlidImr_get(rtk_enable_t *mode);
|
||||
extern int32 apollomp_raw_epon_timeDriftImr_set(rtk_enable_t mode);
|
||||
extern int32 apollomp_raw_epon_timeDriftImr_get(rtk_enable_t *mode);
|
||||
extern int32 apollomp_raw_epon_mpcpTimeoutImr_set(rtk_enable_t mode);
|
||||
extern int32 apollomp_raw_epon_mpcpTimeoutImr_get(rtk_enable_t *mode);
|
||||
extern int32 apollomp_raw_epon_mpcpTimeoutIms_clear(void);
|
||||
extern int32 apollomp_raw_epon_timeDriftIms_clear(void);
|
||||
extern int32 apollomp_raw_epon_regLlidTxIms_clear(void);
|
||||
extern int32 apollomp_raw_epon_mpcpTimeoutIms_get(rtk_enable_t *status);
|
||||
extern int32 apollomp_raw_epon_timeDriftIms_get(rtk_enable_t *status);
|
||||
extern int32 apollomp_raw_epon_llidTxIms_get(rtk_enable_t *status);
|
||||
extern int32 apollomp_raw_epon_discSyncTime_get(uint32 *syncTime);
|
||||
extern int32 apollomp_raw_epon_discSyncTime_set(uint32 syncTime);
|
||||
extern int32 apollomp_raw_epon_normalSyncTime_get(uint32 *syncTime);
|
||||
extern int32 apollomp_raw_epon_normalSyncTime_set(uint32 syncTime);
|
||||
extern int32 apollomp_raw_epon_laserOnTime_set(uint32 laserTime);
|
||||
extern int32 apollomp_raw_epon_laserOffTime_set(uint32 laserTime);
|
||||
extern int32 apollomp_raw_epon_laserOnTime_get(uint32 *laserTime);
|
||||
extern int32 apollomp_raw_epon_laserOffTime_get(uint32 *laserTime);
|
||||
extern int32 apollomp_raw_epon_quardThd_get(apollomp_raw_epon_quardThd_t *quardTh);
|
||||
extern int32 apollomp_raw_epon_quardThd_set(apollomp_raw_epon_quardThd_t quardTh);
|
||||
extern int32 apollomp_raw_epon_rttAdj_get(int16 *rttAdj);
|
||||
extern int32 apollomp_raw_epon_rttAdj_set(int16 rttAdj);
|
||||
extern int32 apollomp_raw_epon_StopLocalTime_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_epon_StopLocalTime_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_epon_fecEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_epon_fecEnable_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_epon_fecUsEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_epon_fecUsEnable_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_epon_fecDsEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_epon_fecDsEnable_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_epon_powerSavingEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_epon_powerSavingEnable_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_epon_powerSavingStatus_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_epon_mpcpGateHandle_get(apollomp_raw_epon_gatehandle_t *mode);
|
||||
extern int32 apollomp_raw_epon_mpcpGateHandle_set(apollomp_raw_epon_gatehandle_t mode);
|
||||
extern int32 apollomp_raw_epon_mpcpOtherHandle_get(apollomp_raw_epon_mpcpHandle_t *mode);
|
||||
extern int32 apollomp_raw_epon_mpcpOtherHandle_set(apollomp_raw_epon_mpcpHandle_t mode);
|
||||
extern int32 apollomp_raw_epon_mpcpInvalidLenHandle_get(apollomp_raw_epon_mpcpHandle_t *mode);
|
||||
extern int32 apollomp_raw_epon_mpcpInvalidLenHandle_set(apollomp_raw_epon_mpcpHandle_t mode);
|
||||
extern int32 apollomp_raw_epon_llidTable_set(uint32 llid_idx, apollomp_raw_epon_llid_table_t *entry);
|
||||
extern int32 apollomp_raw_epon_llidTable_get(uint32 llid_idx,apollomp_raw_epon_llid_table_t *entry);
|
||||
extern int32 apollomp_raw_epon_grant_list_get(uint32 grant_idx, apollomp_raw_epon_grant_t *entry);
|
||||
extern int32 apollomp_raw_epon_dbgTxCtrlLLidIdx_get(uint32 *idx);
|
||||
|
||||
extern int32 apollomp_raw_epon_bypassFecEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_epon_bypassFecEnable_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_epon_forceLaserOn_set(uint32 force);
|
||||
extern int32 apollomp_raw_epon_forceLaserOn_get(uint32 *pForce);
|
||||
extern int32 apollomp_raw_epon_localTime_get(uint32 *pLocaltime);
|
||||
extern int32 apollomp_raw_epon_grantShift_set(uint32 shiftTime);
|
||||
extern int32 apollomp_raw_epon_grantShift_get(uint32 *pShiftTime);
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_EPON_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
#ifndef _APOLLOMP_RAW_FLOWCTRL_H_
|
||||
#define _APOLLOMP_RAW_FLOWCTRL_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
#define APOLLOMP_PON_QUEUE_INDEX_MAX 7
|
||||
#define APOLLOMP_FLOWCTRL_PREFET_THRESHOLD_MAX 0xFF
|
||||
#define APOLLOMP_QUEUE_MASK 0xFF
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
typedef enum apollomp_raw_flowctrl_type_e
|
||||
{
|
||||
APOLLOMP_FLOWCTRL_TYPE_EGRESS = 0,
|
||||
APOLLOMP_FLOWCTRL_TYPE_INGRESS,
|
||||
APOLLOMP_FLOWCTRL_TYPE_END
|
||||
|
||||
} apollomp_raw_flowctrl_type_t;
|
||||
|
||||
typedef enum apollomp_raw_flowctrl_jumbo_size_e
|
||||
{
|
||||
APOLLOMP_FLOWCTRL_JUMBO_3K = 0,
|
||||
APOLLOMP_FLOWCTRL_JUMBO_4K ,
|
||||
APOLLOMP_FLOWCTRL_JUMBO_6K ,
|
||||
APOLLOMP_FLOWCTRL_JUMBO_MAX ,
|
||||
APOLLOMP_FLOWCTRL_JUMBO_END
|
||||
|
||||
} apollomp_raw_flowctrl_jumbo_size_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int32 apollomp_raw_flowctrl_type_set(apollomp_raw_flowctrl_type_t type);
|
||||
extern int32 apollomp_raw_flowctrl_type_get(apollomp_raw_flowctrl_type_t* pType);
|
||||
extern int32 apollomp_raw_flowctrl_jumboMode_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_flowctrl_jumboMode_get(rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_flowctrl_jumboSize_set(apollomp_raw_flowctrl_jumbo_size_t size);
|
||||
extern int32 apollomp_raw_flowctrl_jumboSize_get(apollomp_raw_flowctrl_jumbo_size_t *pSize);
|
||||
extern int32 apollomp_raw_flowctrl_dropAllThreshold_set(uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_dropAllThreshold_get(uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_pauseAllThreshold_set(uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_pauseAllThreshold_get(uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_globalFcoffHighThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_globalFcoffHighThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_globalFcoffLowThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_globalFcoffLowThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_globalFconHighThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_globalFconHighThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_globalFconLowThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_globalFconLowThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portFconHighThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portFconHighThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portFconLowThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portFconLowThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portFcoffHighThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portFcoffHighThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portFcoffLowThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portFcoffLowThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_jumboGlobalHighThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_jumboGlobalHighThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_jumboGlobalLowThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_jumboGlobalLowThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_jumboPortHighThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_jumboPortHighThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_jumboPortLowThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_jumboPortLowThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_queueEegressDropThreshold_set(uint32 queue, uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_queueEegressDropThreshold_get(uint32 queue, uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portEegressDropThreshold_set(uint32 port, uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_portEegressDropThreshold_get(uint32 port, uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_queueEegressGapThreshold_set(uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_queueEegressGapThreshold_get(uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portEegressGapThreshold_set(uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_portEegressGapThreshold_get(uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_egressDropEnable_set(uint32 port, uint32 queue, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_flowctrl_egressDropEnable_get(uint32 port, uint32 queue, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_flowctrl_debugCtrl_set(uint32 port, uint32 portClear, rtk_bmp_t queueMaskClear);
|
||||
extern int32 apollomp_raw_flowctrl_clrMaxUsedPageCnt_set(uint32 clear);
|
||||
extern int32 apollomp_raw_flowctrl_clrTotalPktCnt_set(rtk_enable_t clear);
|
||||
extern int32 apollomp_raw_flowctrl_totalPageCnt_get(uint32 *pCount);
|
||||
extern int32 apollomp_raw_flowctrl_totalUsedPageCnt_get(uint32 *pCurrent, uint32 *pMaximum);
|
||||
extern int32 apollomp_raw_flowctrl_publicUsedPageCnt_get(uint32 *pCurrent, uint32 *pMaximum);
|
||||
extern int32 apollomp_raw_flowctrl_portUsedPageCnt_get(uint32 port, uint32 *pCurrent, uint32 *pMaximum);
|
||||
extern int32 apollomp_raw_flowctrl_portEgressUsedPageCnt_get(uint32 port, uint32 *pCurrent, uint32 *pMaximum);
|
||||
extern int32 apollomp_raw_flowctrl_publicFcoffUsedPageCnt_get(uint32 *pCurrent, uint32 *pMaximum);
|
||||
extern int32 apollomp_raw_flowctrl_publicJumboUsedPageCnt_get(uint32 *pCurrent, uint32 *pMaximum);
|
||||
extern int32 apollomp_raw_flowctrl_queueEgressUsedPageCnt_get(uint32 port, uint32 queue, uint32 *pCurrent, uint32 *pMaximum);
|
||||
extern int32 apollomp_raw_flowctrl_ponGlobalHighThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponGlobalHighThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponGlobalLowThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponGlobalLowThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponPortHighThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponPortHighThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponPortLowThreshold_set(uint32 onThreshold, uint32 offThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponPortLowThreshold_get(uint32 *pOnThreshold, uint32 *pOffThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponQueueEegressDropIndex_set(uint32 queue, uint32 index);
|
||||
extern int32 apollomp_raw_flowctrl_ponQueueEegressDropIndex_get(uint32 queue, uint32 *pIndex);
|
||||
extern int32 apollomp_raw_flowctrl_ponQueueEegressDropThreshold_set(uint32 index, uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponQueueEegressDropThreshold_get(uint32 index, uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponQueueEegressGapThreshold_set(uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_ponQueueEegressGapThreshold_get(uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_portPacketPageCnt_get(uint32 port, uint32 *pCount);
|
||||
extern int32 apollomp_raw_flowctrl_ponUsedPageCtrl_set(uint32 clear);
|
||||
extern int32 apollomp_raw_flowctrl_ponUsedPage_get(uint32 queue, uint32 *pCurrent, uint32 *pMaximum);
|
||||
extern int32 apollomp_raw_flowctrl_txPrefet_set(uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_txPrefet_get(uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_lowQueueThreshold_set(uint32 threshold);
|
||||
extern int32 apollomp_raw_flowctrl_lowQueueThreshold_get(uint32 *pThreshold);
|
||||
extern int32 apollomp_raw_flowctrl_highQueueMask_set(rtk_port_t port, rtk_bmp_t mask);
|
||||
extern int32 apollomp_raw_flowctrl_highQueueMask_get(rtk_port_t port, rtk_bmp_t *pMask);
|
||||
extern int32 apollomp_raw_flowctrl_ponThreshold_set(void);
|
||||
extern int32 apollomp_raw_flowctrl_fiberThreshold_set(void);
|
||||
extern int32 apollomp_raw_flowctrl_defaultThreshold_set(void);
|
||||
extern int32 apollomp_raw_flowctrl_patch(rtk_flowctrl_patch_t patch_type);
|
||||
extern int32 apollomp_raw_flowctrl_ponLatchMaxUsedPage_set( rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_flowctrl_ponLatchMaxUsedPage_get( rtk_enable_t *pEnable);
|
||||
|
||||
#endif /*_APOLLOMP_RAW_FLOWCTRL_H_*/
|
||||
|
||||
1154
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_gpon.h
Normal file
1154
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_gpon.h
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,30 @@
|
|||
#ifndef _APOLLOMP_RAW_HWMISC_H_
|
||||
#define _APOLLOMP_RAW_HWMISC_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
#include <rtk/debug.h>
|
||||
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
#define APOLLOMP_VIR_MAC_DUMY_CYCLE 30
|
||||
|
||||
#define APOLLOMP_VIR_MAC_TX_MAX_CNT 2000
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
extern int32 apollomp_raw_virtualMacMode_Set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_virtualMac_Input(rtk_port_t fromPort, uint8 *pPkt, uint32 len);
|
||||
extern int32 apollomp_raw_virtualMac_Output(rtk_port_t toPort, uint8 *pPkt, uint32 *plen);
|
||||
extern int32 apollomp_raw_hsbData_get(rtk_hsb_t *hsbData);
|
||||
extern int32 apollomp_raw_hsaData_get(rtk_hsa_t *hsaData);
|
||||
extern int32 apollomp_raw_hsdData_get(rtk_hsa_debug_t *hsdData);
|
||||
extern int32 apollomp_raw_hsbData_set(rtk_hsb_t *hsbData);
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_HWMISC_H_*/
|
||||
|
||||
290
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_l2.h
Normal file
290
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_l2.h
Normal file
|
|
@ -0,0 +1,290 @@
|
|||
#ifndef _APOLLOMP_RAW_L2_H_
|
||||
#define _APOLLOMP_RAW_L2_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
#define APOLLOMP_RAW_LUT_AGESPEEDMAX 0x1FFFFF
|
||||
#define APOLLOMP_RAW_LUT_FWDPRIMAX 0x7
|
||||
#define APOLLOMP_RAW_LUT_AGEMAX 0x7
|
||||
#define APOLLOMP_RAW_LUT_EXTDSL_SPAMAX 0XF
|
||||
#define APOLLOMP_RAW_LUT_L3IDXAMAX 0XFFFFFFF
|
||||
#define APOLLOMP_RAW_LUT_EXTMBR 0x3F
|
||||
#define APOLLOMP_RAW_LUT_GIPMAX 0XFFFFFF
|
||||
|
||||
#define APOLLOMP_LUT_4WAY_NO 2048
|
||||
#define APOLLOMP_LUT_CAM_NO 64
|
||||
#define APOLLOMP_LUT_TBL_NO (APOLLOMP_LUT_4WAY_NO + APOLLOMP_LUT_CAM_NO) /*2K 4 ways hash entries + 64 CAM entries*/
|
||||
#define APOLLOMP_LUT_TBL_MAX (APOLLOMP_LUT_TBL_NO - 1)
|
||||
|
||||
#define APOLLOMP_PORTMASK 0x7F
|
||||
|
||||
#define APOLLOMP_IPMC_TABLE_ENTRY 64
|
||||
#define APOLLOMP_IPMC_TABLE_IDX_MAX (APOLLOMP_IPMC_TABLE_ENTRY - 1)
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
typedef enum apollomp_raw_l2_entryType_e
|
||||
{
|
||||
|
||||
APOLLOMP_RAW_LUT_ENTRY_TYPE_L2UC = 0,
|
||||
APOLLOMP_RAW_LUT_ENTRY_TYPE_L2MC_DSL,
|
||||
APOLLOMP_RAW_LUT_ENTRY_TYPE_L3MC_DSL,
|
||||
APOLLOMP_RAW_LUT_ENTRY_TYPE_L3MC_ROUTE,
|
||||
APOLLOMP_RAW_LUT_ENTRY_TYPE_END,
|
||||
|
||||
}apollomp_raw_l2_entryType_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_saCtlAct_e
|
||||
{
|
||||
APOLLOMP_RAW_LUT_SACTL_ACT_FORWARD = 0,
|
||||
APOLLOMP_RAW_LUT_SACTL_ACT_DROP,
|
||||
APOLLOMP_RAW_LUT_SACTL_ACT_TRAP,
|
||||
APOLLOMP_RAW_LUT_SACTL_ACT_COPY,
|
||||
APOLLOMP_RAW_LUT_SACTL_ACT_END,
|
||||
}apollomp_raw_l2_saCtlAct_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l2_commonAct_e
|
||||
{
|
||||
APOLLOMP_RAW_L2_COMMON_ACT_FORWARD = 0,
|
||||
APOLLOMP_RAW_L2_COMMON_ACT_DROP,
|
||||
APOLLOMP_RAW_L2_COMMON_ACT_TRAP,
|
||||
APOLLOMP_RAW_L2_COMMON_ACT_COPY2CPU,
|
||||
APOLLOMP_RAW_L2_COMMON_ACT_END,
|
||||
}apollomp_raw_l2_commonAct_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l2_unknMcAct_e
|
||||
{
|
||||
APOLLOMP_RAW_L2_UNKNMC_ACT_FORWARD = 0,
|
||||
APOLLOMP_RAW_L2_UNKNMC_ACT_DROP,
|
||||
APOLLOMP_RAW_L2_UNKNMC_ACT_TRAP,
|
||||
APOLLOMP_RAW_L2_UNKNMC_ACT_EXCLUDE_RMA,
|
||||
APOLLOMP_RAW_L2_UNKNMC_ACT_END,
|
||||
}apollomp_raw_l2_unknMcAct_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_readMethod_e
|
||||
{
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_MAC = 0,
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_ADDRESS,
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_NEXT_ADDRESS,
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_NEXT_L2UC,
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_NEXT_L2MC,
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_NEXT_L3MC,
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_NEXT_L2L3MC,
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_NEXT_L2UCSPA,
|
||||
APOLLOMP_RAW_LUT_READ_METHOD_END,
|
||||
}apollomp_raw_l2_readMethod_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_flushStatus_e
|
||||
{
|
||||
APOLLOMP_RAW_FLUSH_STATUS_NONBUSY =0,
|
||||
APOLLOMP_RAW_FLUSH_STATUS_BUSY,
|
||||
APOLLOMP_RAW_FLUSH_STATUS_END,
|
||||
}apollomp_raw_l2_flushStatus_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_flushMode_e
|
||||
{
|
||||
APOLLOMP_RAW_FLUSH_MODE_PORT = 0,
|
||||
APOLLOMP_RAW_FLUSH_MODE_VID,
|
||||
APOLLOMP_RAW_FLUSH_MODE_FID,
|
||||
APOLLOMP_RAW_FLUSH_MODE_END,
|
||||
}apollomp_raw_l2_flushMode_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_flushType_e
|
||||
{
|
||||
APOLLOMP_RAW_FLUSH_TYPE_DYNAMIC = 0,
|
||||
APOLLOMP_RAW_FLUSH_TYPE_STATIC ,
|
||||
APOLLOMP_RAW_FLUSH_TYPE_BOTH,
|
||||
APOLLOMP_RAW_FLUSH_TYPE_END,
|
||||
}apollomp_raw_l2_flushType_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_ipMcLookupOp_e
|
||||
{
|
||||
APOLLOMP_RAW_LUT_IPMCLOOKUP_TYPE_DIPSIP = 0,
|
||||
APOLLOMP_RAW_LUT_IPMCLOOKUP_TYPE_DIP,
|
||||
APOLLOMP_RAW_LUT_IPMCLOOKUP_TYPE_END,
|
||||
}apollomp_raw_l2_ipMcLookupOp_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_ipMcHashType_e
|
||||
{
|
||||
APOLLOMP_RAW_LUT_IPMCHASH_TYPE_DMACFID=0,
|
||||
APOLLOMP_RAW_LUT_IPMCHASH_TYPE_DIPSIP,
|
||||
APOLLOMP_RAW_LUT_IPMCHASH_TYPE_GIPVID,
|
||||
APOLLOMP_RAW_LUT_IPMCHASH_TYPE_END,
|
||||
}apollomp_raw_l2_ipMcHashType_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_cfg_enable_e
|
||||
{
|
||||
APOLLOMP_RAW_LUT_CFG_ENABLE=0,
|
||||
APOLLOMP_RAW_LUT_CFG_DISABLE,
|
||||
APOLLOMP_RAW_LUT_CFG_END,
|
||||
}apollomp_raw_l2_cfg_enable_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_flood_enable_e
|
||||
{
|
||||
APOLLOMP_RAW_LUT_FLOOD_DROP=0,
|
||||
APOLLOMP_RAW_LUT_FLOOD_FLOODING,
|
||||
APOLLOMP_RAW_LUT_FLOO_END,
|
||||
}apollomp_raw_l2_flood_enable_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_McAllow_e
|
||||
{
|
||||
APOLLOMP_RAW_L2_MC_DROP = 0,
|
||||
APOLLOMP_RAW_L2_MC_ALLOW,
|
||||
APOLLOMP_RAW_L2_MC_END,
|
||||
}apollomp_raw_l2_McAllow_t;
|
||||
|
||||
typedef enum apollomp_raw_l2_l2HashType_e
|
||||
{
|
||||
APOLLOMP_RAW_L2_HASH_SVL = 0,
|
||||
APOLLOMP_RAW_L2_HASH_IVL,
|
||||
APOLLOMP_RAW_L2_HASH_END
|
||||
}apollomp_raw_l2_l2HashType_t;
|
||||
|
||||
|
||||
|
||||
typedef struct apollomp_raw_flush_ctrl_s
|
||||
{
|
||||
apollomp_raw_l2_flushStatus_t flushStatus;
|
||||
apollomp_raw_l2_flushMode_t flushMode;
|
||||
apollomp_raw_l2_flushType_t flushType;
|
||||
rtk_vlan_t vid;
|
||||
rtk_fid_t fid;
|
||||
}apollomp_raw_flush_ctrl_t;
|
||||
|
||||
typedef struct apollomp_raw_l2_cfg_s
|
||||
{
|
||||
apollomp_raw_l2_ipMcLookupOp_t ipMcLookupOpType;
|
||||
apollomp_raw_l2_ipMcHashType_t ipMcHashType;
|
||||
apollomp_raw_l2_cfg_enable_t linkDownAgeout;
|
||||
apollomp_raw_l2_cfg_enable_t bcamDis;
|
||||
uint32 ageSpeed;
|
||||
}apollomp_raw_l2_cfg_t;
|
||||
|
||||
typedef struct apollomp_raw_l2_table_s
|
||||
{
|
||||
apollomp_raw_l2_readMethod_t method;
|
||||
/*s/w information*/
|
||||
apollomp_raw_l2_entryType_t table_type;
|
||||
uint32 lookup_hit;
|
||||
uint32 lookup_busy;
|
||||
uint32 address;
|
||||
uint32 wait_time;
|
||||
|
||||
|
||||
/*common part*/
|
||||
uint32 l3lookup;
|
||||
uint32 lut_pri;
|
||||
uint32 fwdpri_en;
|
||||
uint32 nosalearn;
|
||||
uint32 valid;
|
||||
|
||||
/*----L2----*/
|
||||
rtk_mac_t mac;
|
||||
uint32 cvid_fid;
|
||||
apollomp_raw_l2_l2HashType_t ivl_svl;
|
||||
|
||||
/*l2 uc*/
|
||||
uint32 fid;
|
||||
uint32 efid;
|
||||
uint32 sapri_en;
|
||||
uint32 spa;
|
||||
uint32 age;
|
||||
uint32 auth;
|
||||
uint32 sa_block;
|
||||
uint32 da_block;
|
||||
uint32 ext_dsl_spa;
|
||||
uint32 arp_used;
|
||||
|
||||
/*----L3----*/
|
||||
ipaddr_t gip;
|
||||
uint32 gip_only;
|
||||
uint32 wan_sa;
|
||||
|
||||
|
||||
/* ---L3 MC DSL---*/
|
||||
uint32 sip_vid;
|
||||
|
||||
/* ---L3 MC ROUTE---*/
|
||||
uint32 l3_idx;
|
||||
uint32 ext_fr;
|
||||
|
||||
|
||||
/*(L2 MC DSL)(L3 MC DSL)(L3 MC ROUTE)*/
|
||||
uint32 mbr;
|
||||
uint32 ext_mbr;
|
||||
|
||||
}apollomp_lut_table_t;
|
||||
|
||||
extern int32 apollomp_raw_l2_lookUpTb_set(apollomp_lut_table_t *pL2Table);
|
||||
extern int32 apollomp_raw_l2_lookUpTb_get(apollomp_lut_table_t *pL2Table);
|
||||
extern int32 apollomp_raw_l2_flushEn_set(rtk_port_t port, rtk_enable_t enabled);
|
||||
extern int32 apollomp_raw_l2_flushEn_get(rtk_port_t port, rtk_enable_t *pEnabled);
|
||||
extern int32 apollomp_raw_l2_flushCtrl_set(apollomp_raw_flush_ctrl_t *pCtrl);
|
||||
extern int32 apollomp_raw_l2_flushCtrl_get(apollomp_raw_flush_ctrl_t *pCtrl);
|
||||
extern int32 apollomp_raw_l2_unMatched_saCtl_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l2_unMatched_saCtl_get(rtk_port_t port, rtk_action_t* pAction);
|
||||
extern int32 apollomp_raw_l2_unkn_saCtl_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l2_unkn_saCtl_get(rtk_port_t port, rtk_action_t* pAction);
|
||||
extern int32 apollomp_raw_l2_unkn_ucDaCtl_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l2_unkn_ucDaCtl_get(rtk_port_t port, rtk_action_t* pAction);
|
||||
extern int32 apollomp_raw_l2_learnOverAct_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l2_learnOverAct_get(rtk_port_t port, rtk_action_t* pAction);
|
||||
extern int32 apollomp_raw_l2_agingEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_l2_agingEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_l2_lrnLimitNo_set(rtk_port_t port, uint32 num);
|
||||
extern int32 apollomp_raw_l2_lrnLimitNo_get(rtk_port_t port, uint32 *pNum);
|
||||
extern int32 apollomp_raw_l2_lrnCnt_get(rtk_port_t port, uint32 *pNum);
|
||||
extern int32 apollomp_raw_l2_lrnOverSts_set(rtk_port_t port, uint32 value);
|
||||
extern int32 apollomp_raw_l2_lrnOverSts_get(rtk_port_t port, uint32 *pValue);
|
||||
extern int32 apollomp_raw_l2_sysLrnOverAct_set(rtk_action_t action);
|
||||
extern int32 apollomp_raw_l2_sysLrnOverAct_get(rtk_action_t* pAction);
|
||||
extern int32 apollomp_raw_l2_sysLrnLimitNo_set(uint32 num);
|
||||
extern int32 apollomp_raw_l2_sysLrnLimitNo_get(uint32* pNum);
|
||||
extern int32 apollomp_raw_l2_sysLrnOverSts_set( uint32 value);
|
||||
extern int32 apollomp_raw_l2_sysLrnOverSts_get( uint32 *pValue);
|
||||
extern int32 apollomp_raw_l2_SysLrnCnt_get( uint32 *pNum);
|
||||
extern int32 apollomp_raw_unkn_l2Mc_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_unkn_l2Mc_get(rtk_port_t port, rtk_action_t* pAction);
|
||||
extern int32 apollomp_raw_unkn_ip4Mc_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_unkn_ip4Mc_get(rtk_port_t port, rtk_action_t* pAction);
|
||||
extern int32 apollomp_raw_unkn_ip6Mc_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_unkn_ip6Mc_get(rtk_port_t port, rtk_action_t* pAction);
|
||||
extern int32 apollomp_raw_unkn_mcPri_set(uint32 prity);
|
||||
extern int32 apollomp_raw_unkn_mcPri_get(uint32* pPrity);
|
||||
extern int32 apollomp_raw_l2_bcFlood_set(rtk_port_t port, rtk_enable_t enabled);
|
||||
extern int32 apollomp_raw_l2_bcFlood_get(rtk_port_t port, rtk_enable_t *pEnabled);
|
||||
extern int32 apollomp_raw_l2_unknUcFlood_set(rtk_port_t port, rtk_enable_t enabled);
|
||||
extern int32 apollomp_raw_l2_unknUcFlood_get(rtk_port_t port, rtk_enable_t *pEnabled);
|
||||
extern int32 apollomp_raw_l2_unknMcFlood_set(rtk_port_t port, rtk_enable_t enabled);
|
||||
extern int32 apollomp_raw_l2_unknMcFlood_get(rtk_port_t port, rtk_enable_t *pEnabled);
|
||||
extern int32 apollomp_raw_l2_efid_set(rtk_port_t port, rtk_fid_t efid);
|
||||
extern int32 apollomp_raw_l2_efid_get(rtk_port_t port, rtk_fid_t* pEfid);
|
||||
extern int32 apollomp_raw_l2_ipmcAction_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l2_ipmcAction_get(rtk_port_t port, rtk_action_t *pAction);
|
||||
extern int32 apollomp_raw_l2_igmp_Mc_table_set(uint32 index, rtk_ip_addr_t dip, uint32 portmask);
|
||||
extern int32 apollomp_raw_l2_igmp_Mc_table_get(uint32 index, rtk_ip_addr_t *pDip, uint32 *pPortmask);
|
||||
|
||||
extern int32 apollomp_raw_l2_camEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_l2_camEnable_get(rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_l2_agingTime_set(uint32 agingTime);
|
||||
extern int32 apollomp_raw_l2_agingTime_get(uint32 *pAgingTime);
|
||||
extern int32 apollomp_raw_l2_ipmcLookupOp_set(apollomp_raw_l2_ipMcLookupOp_t type);
|
||||
extern int32 apollomp_raw_l2_ipmcLookupOp_get(apollomp_raw_l2_ipMcLookupOp_t *pType);
|
||||
extern int32 apollomp_raw_l2_ipmcHashType_set(apollomp_raw_l2_ipMcHashType_t type);
|
||||
extern int32 apollomp_raw_l2_ipmcHashType_get(apollomp_raw_l2_ipMcHashType_t *pType);
|
||||
extern int32 apollomp_raw_l2_flushLinkDownPortAddrEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_l2_flushLinkDownPortAddrEnable_get(rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_l2_unknReservedMcFlood_set(rtk_enable_t state);
|
||||
extern int32 apollomp_raw_l2_unknReservedMcFlood_get(rtk_enable_t *pState);
|
||||
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_L2_H_*/
|
||||
|
||||
360
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_l34.h
Normal file
360
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_l34.h
Normal file
|
|
@ -0,0 +1,360 @@
|
|||
#ifndef _APOLLOMP_RAW_L34_H_
|
||||
#define _APOLLOMP_RAW_L34_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
#include <rtk/l34.h>
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
typedef enum apollomp_raw_l34_hsb_type_e
|
||||
{
|
||||
APOLLOMP_RAW_L34_HSB_ETHERNET = 0,
|
||||
APOLLOMP_RAW_L34_HSB_RESERVED_PPTP = 1,
|
||||
APOLLOMP_RAW_L34_HSB_IPV4 = 2,
|
||||
APOLLOMP_RAW_L34_HSB_ICMP = 3,
|
||||
APOLLOMP_RAW_L34_HSB_IGMP = 4,
|
||||
APOLLOMP_RAW_L34_HSB_TCP = 5,
|
||||
APOLLOMP_RAW_L34_HSB_UDP = 6,
|
||||
APOLLOMP_RAW_L34_HSB_IPV6 = 7
|
||||
} apollomp_raw_l34_hsb_type_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_hsa_pppoe_act_e
|
||||
{
|
||||
APOLLOMP_RAW_L34_HSA_PPPOE_INACT = 0,
|
||||
APOLLOMP_RAW_L34_HSA_PPPOE_TAGGING = 1,
|
||||
APOLLOMP_RAW_L34_HSA_PPPOE_REMOVE = 2,
|
||||
APOLLOMP_RAW_L34_HSA_PPPOE_MODIFY = 3
|
||||
} apollomp_raw_l34_hsa_pppoe_act_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_hsba_mode_e
|
||||
{
|
||||
APOLLOMP_RAW_L34_HSBA_BOTH_LOG = 0,
|
||||
APOLLOMP_RAW_L34_HSBA_NO_LOG = 1,
|
||||
APOLLOMP_RAW_L34_HSBA_LOG_ALL = 2,
|
||||
APOLLOMP_RAW_L34_HSBA_LOG_FIRST_DROP = 3,
|
||||
APOLLOMP_RAW_L34_HSBA_LOG_FIRST_PASS = 4,
|
||||
APOLLOMP_RAW_L34_HSBA_LOG_FIRST_TO_CPU = 5
|
||||
} apollomp_raw_l34_hsba_mode_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_limbc_e
|
||||
{
|
||||
APOLLOMP_RAW_L34_LIMBC_VLAN_BASED = 0,
|
||||
APOLLOMP_RAW_L34_LIMBC_PORT_BASED = 1,
|
||||
APOLLOMP_RAW_L34_LIMBC_MAC_BASED = 2,
|
||||
APOLLOMP_RAW_L34_LIMBC_RESERVED = 3
|
||||
} apollomp_raw_l34_limbc_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_pppoeKeepMode_e
|
||||
{
|
||||
APOLLOMP_RAW_L34_PPPOE_BY_ASIC = 0,
|
||||
APOLLOMP_RAW_L34_PPPOE_KEEP = 1,
|
||||
APOLLOMP_RAW_L34_PPPOE_END = 3
|
||||
} apollomp_raw_l34_pppoeKeepMode_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_mode_e
|
||||
{
|
||||
APOLLOMP_RAW_L34_L3_DISABLE_L4_DISABLE = 0,
|
||||
APOLLOMP_RAW_L34_L3_ENABLE_L4_DISABLE = 1,
|
||||
APOLLOMP_RAW_L34_L3_DISABLE_L4_ENABLE = 2,
|
||||
APOLLOMP_RAW_L34_L3_ENABLE_L4_ENABLE = 3,
|
||||
APOLLOMP_RAW_L34_L3_MODE_END
|
||||
} apollomp_raw_l34_mode_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_l4_trf_e
|
||||
{
|
||||
APOLLOMP_RAW_L34_L4TRF_TABLE0 = 0,
|
||||
APOLLOMP_RAW_L34_L4TRF_TABLE1 = 1
|
||||
} apollomp_raw_l34_l4_trf_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_arp_trf_e
|
||||
{
|
||||
APOLLOMP_RAW_L34_ARPTRF_TABLE0 = 0,
|
||||
APOLLOMP_RAW_L34_ARPTRF_TABLE1 = 1
|
||||
} apollomp_raw_l34_arp_trf_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_bindL2L3UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_L2L3_DROP = 0,
|
||||
APOLLOMP_UNMATCHED_L2L3_TRAP = 1,
|
||||
APOLLOMP_UNMATCHED_L2L3_FORCE_L2Bridge = 2,
|
||||
APOLLOMP_UNMATCHED_L2L3_END
|
||||
} apollomp_l34_bindL2L3UnmatchAct_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_bindL2L34UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_L2L34_DROP = 0,
|
||||
APOLLOMP_UNMATCHED_L2L34_TRAP = 1,
|
||||
APOLLOMP_UNMATCHED_L2L34_FORCE_L2BRIDGE = 2,
|
||||
APOLLOMP_UNMATCHED_L2L34_END
|
||||
} apollomp_l34_bindL2L34UnmatchAct_t;
|
||||
|
||||
typedef enum apollomp_raw_l34_bindL3L2UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_L3L2_DROP = 0,
|
||||
APOLLOMP_UNMATCHED_L3L2_TRAP = 1,
|
||||
APOLLOMP_UNMATCHED_L3L2_PERMIT_L2BRIDGE = 2,
|
||||
APOLLOMP_UNMATCHED_L3L2_END
|
||||
} apollomp_l34_bindL3L2UnmatchAct_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_bindL3L34UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_L3L34_TRAP = 0,
|
||||
APOLLOMP_UNMATCHED_L3L34_FORCE_L4 = 1,
|
||||
APOLLOMP_UNMATCHED_L3L34_END
|
||||
} apollomp_l34_bindL3L34UnmatchAct_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_bindL34L2UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_L34L2_DROP = 0,
|
||||
APOLLOMP_UNMATCHED_L34L2_TRAP = 1,
|
||||
APOLLOMP_UNMATCHED_L34L2_PERMIT_L2BRIDGE = 2,
|
||||
APOLLOMP_UNMATCHED_L34L2_END
|
||||
} apollomp_l34_bindL34L2UnmatchAct_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_bindL34L3UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_L34L3_TRAP = 0,
|
||||
APOLLOMP_UNMATCHED_L34L3_FORCE_L3 = 1,
|
||||
APOLLOMP_UNMATCHED_L34L3_END
|
||||
} apollomp_l34_bindL34L3UnmatchAct_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_bindL3L3UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_L3L3_FORCE_L3 = 0,
|
||||
APOLLOMP_UNMATCHED_L3L3_TRAP = 1,
|
||||
APOLLOMP_UNMATCHED_L3L3_END
|
||||
} apollomp_l34_bindL3L3UnmatchAct_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_bindCusL2UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_CUSL2_PERMIT_L2_BRIDGE = 0,
|
||||
APOLLOMP_UNMATCHED_CUSL2_DROP = 1,
|
||||
APOLLOMP_UNMATCHED_CUSL2_TRAP = 2,
|
||||
APOLLOMP_UNMATCHED_CUSL2_END
|
||||
} apollomp_l34_bindCusL2UnmatchAct_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_l34_bindCusL3UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_CUSL3_FORCE_L3 = 0,
|
||||
APOLLOMP_UNMATCHED_CUSL3_DROP = 1,
|
||||
APOLLOMP_UNMATCHED_CUSL3_TRAP = 2,
|
||||
APOLLOMP_UNMATCHED_CUSL3_FORCE_L4 = 3,
|
||||
APOLLOMP_UNMATCHED_CUSL3_END
|
||||
} apollomp_l34_bindCusL3UnmatchAct_t;
|
||||
|
||||
typedef enum apollomp_raw_l34_bindCusL34UnmatchAct_e
|
||||
{
|
||||
APOLLOMP_UNMATCHED_CUSL34_NORMAL_L34 = 0,
|
||||
APOLLOMP_UNMATCHED_CUSL34_DROP = 1,
|
||||
APOLLOMP_UNMATCHED_CUSL34_TRAP = 2,
|
||||
APOLLOMP_UNMATCHED_CUSL34_FORCE_L3 = 3,
|
||||
APOLLOMP_UNMATCHED_CUSL34_END
|
||||
} apollomp_l34_bindCusL34UnmatchAct_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_l34_bindType_e
|
||||
{
|
||||
APOLLOMP_L34_BIND_UNMATCHED_L2L3 = 0,
|
||||
APOLLOMP_L34_BIND_UNMATCHED_L2L34 = 1,
|
||||
APOLLOMP_L34_BIND_UNMATCHED_L3L2 = 2,
|
||||
APOLLOMP_L34_BIND_UNMATCHED_L3L34 = 3,
|
||||
APOLLOMP_L34_BIND_UNMATCHED_L34L2 = 4,
|
||||
APOLLOMP_L34_BIND_UNMATCHED_L34L3 = 5,
|
||||
APOLLOMP_L34_BIND_UNMATCHED_L3L3 = 6,
|
||||
APOLLOMP_L34_BIND_CUSTOMIZED_L2 = 7,
|
||||
APOLLOMP_L34_BIND_CUSTOMIZED_L3 = 8,
|
||||
APOLLOMP_L34_BIND_CUSTOMIZED_L34 = 9,
|
||||
APOLLOMP_L34_BIND_TYPE_END
|
||||
} apollomp_l34_bindType_t;
|
||||
|
||||
|
||||
|
||||
typedef struct apollomp_raw_l34_hsb_s
|
||||
{
|
||||
uint32 isFromWan;
|
||||
uint32 l2bridge;
|
||||
uint32 ipfrag_s;
|
||||
uint32 ipmf;
|
||||
uint32 l4_chksum_ok;
|
||||
uint32 l3_chksum_ok;
|
||||
uint32 cpu_direct_tx;
|
||||
uint32 udp_no_chksum;
|
||||
uint32 parse_fail;
|
||||
uint32 pppoe_if;
|
||||
uint32 svlan_if;
|
||||
uint32 ttls; /*0b00 TTL=0, 0b01 TTL=1, 0b10 TTL>1 */
|
||||
apollomp_raw_l34_hsb_type_t type;
|
||||
uint32 tcp_flag;
|
||||
uint32 cvlan_if;
|
||||
uint32 spa;
|
||||
uint32 cvid;
|
||||
uint32 len;
|
||||
uint32 dport_l4chksum;
|
||||
uint32 pppoe_id;
|
||||
rtk_ipv6_addr_t dip;
|
||||
ipaddr_t sip;
|
||||
uint32 sport_icmpid_chksum;
|
||||
rtk_mac_t dmac;
|
||||
}apollomp_raw_l34_hsb_t;
|
||||
|
||||
|
||||
typedef struct apollomp_raw_l34_hsa_s
|
||||
{
|
||||
uint32 pppoeKeep;
|
||||
uint32 bindVidTrans;
|
||||
uint32 interVlanIf;
|
||||
uint32 reason;
|
||||
uint32 l34trans;
|
||||
uint32 l2trans;
|
||||
uint32 action;
|
||||
uint32 l4_pri_valid;
|
||||
uint32 l4_pri_sel;
|
||||
uint32 frag;
|
||||
uint32 difid;
|
||||
apollomp_raw_l34_hsa_pppoe_act_t pppoe_if;
|
||||
uint32 pppid_idx;
|
||||
uint32 nexthop_mac_idx;
|
||||
uint32 l4_chksum;
|
||||
uint32 l3_chksum;
|
||||
uint32 dvid;
|
||||
uint32 port;
|
||||
ipaddr_t ip;
|
||||
}apollomp_raw_l34_hsa_t;
|
||||
|
||||
|
||||
|
||||
typedef struct apollomp_raw_l34_ipmcTransEntry_s
|
||||
{
|
||||
uint32 index;
|
||||
uint32 netifIdx;
|
||||
uint32 sipTransEnable;
|
||||
uint32 extipIdx;
|
||||
uint32 pppoeAct;
|
||||
uint32 pppoeIdx;
|
||||
}apollomp_raw_l34_ipmcTransEntry_t;
|
||||
|
||||
|
||||
extern int32 apollomp_raw_l34_hsba_mode_get(apollomp_raw_l34_hsba_mode_t *mode);
|
||||
extern int32 apollomp_raw_l34_hsba_mode_set(apollomp_raw_l34_hsba_mode_t mode);
|
||||
extern int32 apollomp_raw_l34_hsbaBusyFlag_get(uint32 *flag);
|
||||
extern int32 apollomp_raw_l34_hsbaActiveFlag_set(uint32 flag);
|
||||
extern int32 apollomp_raw_l34_hsbaActiveFlag_get(uint32 *flag);
|
||||
|
||||
extern int32 apollomp_raw_l34_hsaData_set(apollomp_raw_l34_hsa_t *hsaData);
|
||||
extern int32 apollomp_raw_l34_hsaData_get(apollomp_raw_l34_hsa_t *hsaData);
|
||||
extern int32 apollomp_raw_l34_hsbData_set(apollomp_raw_l34_hsb_t *hsbData);
|
||||
extern int32 apollomp_raw_l34_hsbData_get(apollomp_raw_l34_hsb_t *hsbData);
|
||||
|
||||
extern int32 apollomp_raw_l34_pppoeTrf_get(uint32 *pppoeTrf);
|
||||
|
||||
extern int32 apollomp_raw_l34_portIntfIdx_get(rtk_port_t port,uint8 *idx);
|
||||
extern int32 apollomp_raw_l34_portIntfIdx_set(rtk_port_t port,uint8 idx);
|
||||
extern int32 apollomp_raw_l34_extPortIntfIdx_get(rtk_port_t port,uint8 *idx);
|
||||
extern int32 apollomp_raw_l34_extPortIntfIdx_set(rtk_port_t port,uint8 idx);
|
||||
extern int32 apollomp_raw_l34_vcPortIntfIdx_get(rtk_port_t port,uint8 *idx);
|
||||
extern int32 apollomp_raw_l34_vcPortIntfIdx_set(rtk_port_t port,uint8 idx);
|
||||
|
||||
extern int32 apollomp_raw_l34_debugMonitor_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_l34_debugMonitor_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_l34_natAttack2CPU_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_l34_natAttack2CPU_get(rtk_enable_t *enable);
|
||||
extern int32 apollomp_raw_l34_wanRouteAct_set(rtk_l34_wanroute_act_t act);
|
||||
extern int32 apollomp_raw_l34_wanRouteAct_get(rtk_l34_wanroute_act_t *act);
|
||||
extern int32 apollomp_raw_l34_LanIntfMDBC_set(apollomp_raw_l34_limbc_t mode);
|
||||
extern int32 apollomp_raw_l34_LanIntfMDBC_get(apollomp_raw_l34_limbc_t *mode);
|
||||
extern int32 apollomp_raw_l34_mode_set(apollomp_raw_l34_mode_t mode);
|
||||
extern int32 apollomp_raw_l34_mode_get(apollomp_raw_l34_mode_t *mode);
|
||||
extern int32 apollomp_raw_l34_TtlOperationMode_set(rtk_enable_t mode);
|
||||
extern int32 apollomp_raw_l34_TtlOperationMode_get(rtk_enable_t *mode);
|
||||
extern int32 apollomp_raw_l34_L3chksumErrAllow_set(rtk_enable_t mode);
|
||||
extern int32 apollomp_raw_l34_L3chksumErrAllow_get(rtk_enable_t *mode);
|
||||
extern int32 apollomp_raw_l34_L4chksumErrAllow_set(rtk_enable_t mode);
|
||||
extern int32 apollomp_raw_l34_L4chksumErrAllow_get(rtk_enable_t *mode);
|
||||
extern int32 apollomp_raw_l34_FragPkt2Cpu_set(rtk_enable_t mode);
|
||||
extern int32 apollomp_raw_l34_FragPkt2Cpu_get(rtk_enable_t *mode);
|
||||
|
||||
extern int32 apollomp_raw_l34_hwL4TrfWrkTbl_set(apollomp_raw_l34_l4_trf_t table);
|
||||
extern int32 apollomp_raw_l34_hwL4TrfWrkTbl_get(apollomp_raw_l34_l4_trf_t *table);
|
||||
extern int32 apollomp_raw_l34_hwArpTrfWrkTbl_set(apollomp_raw_l34_arp_trf_t table);
|
||||
extern int32 apollomp_raw_l34_hwArpTrfWrkTbl_get(apollomp_raw_l34_arp_trf_t *table);
|
||||
extern int32 apollomp_raw_l34_hwArpTrfWrkTbl_Clear(apollomp_raw_l34_arp_trf_t table);
|
||||
extern int32 apollomp_raw_l34_hwL4TrfWrkTbl_Clear(apollomp_raw_l34_l4_trf_t table);
|
||||
|
||||
extern int32 apollomp_raw_l34_portToWanAction_set(rtk_port_t port, uint32 wanIdx, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l34_portToWanAction_get(rtk_port_t port, uint32 wanIdx, rtk_action_t *action);
|
||||
extern int32 apollomp_raw_l34_extPortToWanAction_set(rtk_port_t extPort, uint32 wanIdx, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l34_extPortToWanAction_get(rtk_port_t extPort, uint32 wanIdx, rtk_action_t *action);
|
||||
extern int32 apollomp_raw_l34_wanToPortAction_set(uint32 wanIdx, rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l34_wanToPortAction_get(uint32 wanIdx, rtk_port_t port, rtk_action_t *action);
|
||||
extern int32 apollomp_raw_l34_wanToExtPortAction_set(uint32 wanIdx, rtk_port_t extPort, rtk_action_t action);
|
||||
extern int32 apollomp_raw_l34_wanToExtPortAction_get(uint32 wanIdx, rtk_port_t extPort, rtk_action_t *action);
|
||||
|
||||
extern int32 apollomp_raw_l34_ipmcTransEntry_set(apollomp_raw_l34_ipmcTransEntry_t *entry);
|
||||
extern int32 apollomp_raw_l34_ipmcTransEntry_get(apollomp_raw_l34_ipmcTransEntry_t *entry);
|
||||
|
||||
extern int32 apollomp_raw_l34_ipmcTtlFunction_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_l34_ipmcTtlFunction_get(rtk_enable_t *enable);
|
||||
|
||||
|
||||
extern int32 apollomp_raw_l34_bindFunction_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_l34_bindFunction_get(rtk_enable_t *enable);
|
||||
|
||||
|
||||
extern int32 apollomp_raw_l34_bindingAction_set(apollomp_l34_bindType_t type, uint32 action);
|
||||
extern int32 apollomp_raw_l34_bindingAction_get(apollomp_l34_bindType_t type, uint32 *action);
|
||||
|
||||
extern int32
|
||||
apollomp_raw_l34_globalFunction_get(rtk_enable_t *enable);
|
||||
|
||||
extern int32
|
||||
apollomp_raw_l34_globalFunction_set(rtk_enable_t enable);
|
||||
|
||||
extern int32
|
||||
apollomp_raw_l34_pppoeKeep_get(apollomp_raw_l34_pppoeKeepMode_t *mode);
|
||||
|
||||
extern int32
|
||||
apollomp_raw_l34_pppoeKeep_set(apollomp_raw_l34_pppoeKeepMode_t mode);
|
||||
|
||||
extern int32
|
||||
apollomp_raw_l34_l4TrfTb_get(apollomp_raw_l34_l4_trf_t table,uint32 index,rtk_enable_t *pIndicator);
|
||||
|
||||
extern int32
|
||||
apollomp_raw_l34_arpTrfTb_get(apollomp_raw_l34_arp_trf_t table,uint32 index,rtk_enable_t *pIndicator);
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_L34_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
#ifndef _APOLLOMP_RAW_MIRROR_H_
|
||||
#define _APOLLOMP_RAW_MIRROR_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
typedef struct apollomp_raw_mirror_cfg_s
|
||||
{
|
||||
rtk_portmask_t source_portmask;
|
||||
rtk_port_t monitor_port;
|
||||
rtk_enable_t mirror_tx;
|
||||
rtk_enable_t mirror_rx;
|
||||
} apollomp_raw_mirror_cfg_t;
|
||||
|
||||
extern int32 apollomp_raw_mirrorCfg_set(apollomp_raw_mirror_cfg_t *pMirror_cfg);
|
||||
extern int32 apollomp_raw_mirrorCfg_get(apollomp_raw_mirror_cfg_t *pMirror_cfg);
|
||||
extern int32 apollomp_raw_mirrorIso_set(rtk_enable_t state);
|
||||
extern int32 apollomp_raw_mirrorIso_get(rtk_enable_t *pState);
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_MIRROR_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
#ifndef _APOLLOMP_RAW_PONMAC_H_
|
||||
#define _APOLLOMP_RAW_PONMAC_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
#include <dal/apollomp/raw/apollomp_raw_qos.h>
|
||||
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
typedef enum apollomp_raw_ponmac_draintOutState_e
|
||||
{
|
||||
APOLLOMP_PONMAC_DRAINOUT_FIN = 0,
|
||||
APOLLOMP_PONMAC_DRAINOUT_DOING,
|
||||
APOLLOMP_PONMAC_DRAINOUT_END
|
||||
}apollomp_raw_ponmac_draintOutState_t;
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
extern int32 apollomp_raw_ponMacQueueDrainOutState_set(uint32 qid);
|
||||
extern int32 apollomp_raw_ponMacQueueDrainOutState_get(apollomp_raw_ponmac_draintOutState_t *pState);
|
||||
extern int32 apollomp_raw_ponMacTcontDrainOutState_set(uint32 tcont);
|
||||
extern int32 apollomp_raw_ponMacTcontDrainOutState_get(apollomp_raw_ponmac_draintOutState_t *pState);
|
||||
extern int32 apollomp_raw_ponMacSidToQueueMap_set(uint32 sid, uint32 qid);
|
||||
extern int32 apollomp_raw_ponMacSidToQueueMap_get(uint32 sid, uint32 *pQid);
|
||||
extern int32 apollomp_raw_ponMacCirRate_set(uint32 qid, uint32 rate);
|
||||
extern int32 apollomp_raw_ponMacCirRate_get(uint32 qid, uint32 *pRate);
|
||||
extern int32 apollomp_raw_ponMacPirRate_set(uint32 qid, uint32 rate);
|
||||
extern int32 apollomp_raw_ponMacPirRate_get(uint32 qid, uint32 *pRate);
|
||||
extern int32 apollomp_raw_ponMacScheQmap_set(uint32 tcont, uint32 map);
|
||||
extern int32 apollomp_raw_ponMacScheQmap_get(uint32 tcont, uint32 *pMap);
|
||||
extern int32 apollomp_raw_ponMac_queueType_set(uint32 qid, apollomp_raw_queue_type_t type);
|
||||
extern int32 apollomp_raw_ponMac_queueType_get(uint32 qid, apollomp_raw_queue_type_t *pType);
|
||||
extern int32 apollomp_raw_ponMac_wfqWeight_set(uint32 qid, uint32 weight);
|
||||
extern int32 apollomp_raw_ponMac_wfqWeight_get(uint32 qid, uint32 *pWeight);
|
||||
extern int32 apollomp_raw_ponMac_egrDropState_set(uint32 qid, rtk_enable_t state);
|
||||
extern int32 apollomp_raw_ponMac_egrDropState_get(uint32 qid, rtk_enable_t *pState);
|
||||
extern int32 apollomp_raw_ponMacTcontEnable_set(uint32 tcont, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_ponMacTcontEnable_get(uint32 tcont, rtk_enable_t *pEnable);
|
||||
#endif /*#ifndef _APOLLOMP_RAW_PONMAC_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
#ifndef _APOLLOMP_RAW_PORT_H_
|
||||
#define _APOLLOMP_RAW_PORT_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
#include <rtk/port.h>
|
||||
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
#define APOLLOMP_RAW_PORT_PHY_WRITE_ACT (1)
|
||||
#define APOLLOMP_RAW_PORT_PHY_READ_ACT (0)
|
||||
|
||||
#define APOLLOMP_RAW_PORT_PHY_CMD (1)
|
||||
#define APOLLOMP_RAW_PORT_PHY_CMD_BUSY (1)
|
||||
|
||||
typedef struct apollomp_raw_port_ability_s
|
||||
{
|
||||
rtk_port_speed_t speed;
|
||||
rtk_port_duplex_t duplex;
|
||||
rtk_enable_t linkFib1g;
|
||||
rtk_port_linkStatus_t linkStatus;
|
||||
rtk_enable_t txFc;
|
||||
rtk_enable_t rxFc;
|
||||
rtk_enable_t nwayAbility;
|
||||
rtk_enable_t masterMod;
|
||||
rtk_enable_t nwayFault;
|
||||
rtk_enable_t lpi_100m;
|
||||
rtk_enable_t lpi_giga;
|
||||
|
||||
} apollomp_raw_port_ability_t;
|
||||
|
||||
|
||||
extern int32 apollomp_raw_port_queueEmpty_get(rtk_portmask_t *pEmpty_mask);
|
||||
extern int32 apollomp_raw_port_ForceAbility_set(rtk_port_t port, apollomp_raw_port_ability_t *pAbility);
|
||||
extern int32 apollomp_raw_port_ForceAbility_get(rtk_port_t port, apollomp_raw_port_ability_t *pAbility);
|
||||
extern int32 apollomp_raw_port_ability_get(rtk_port_t port, apollomp_raw_port_ability_t *pAbility);
|
||||
|
||||
extern int32 apollomp_raw_port_phyReg_set(rtk_port_t port, uint32 reg, uint32 data);
|
||||
extern int32 apollomp_raw_port_phyReg_get(rtk_port_t port, uint32 reg, uint32 *pData);
|
||||
extern int32 apollomp_raw_port_forceDmp_set(rtk_enable_t state);
|
||||
extern int32 apollomp_raw_port_forceDmp_get(rtk_enable_t *pState);
|
||||
extern int32 apollomp_raw_port_forceDmpMask_set(rtk_port_t port, rtk_portmask_t mask);
|
||||
extern int32 apollomp_raw_port_forceDmpMask_get(rtk_port_t port, rtk_portmask_t *pMask);
|
||||
|
||||
extern int32 apollomp_raw_port_localPacket_set(rtk_port_t port, rtk_action_t action);
|
||||
extern int32 apollomp_raw_port_localPacket_get(rtk_port_t port, rtk_action_t *pAction);
|
||||
|
||||
extern int32 apollomp_raw_port_isoIpmcastLeaky_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_port_isoIpmcastLeaky_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_PORT_H_*/
|
||||
|
||||
139
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_qos.h
Normal file
139
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_qos.h
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
#ifndef _APOLLOMP_RAW_QOS_H_
|
||||
#define _APOLLOMP_RAW_QOS_H_
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
typedef enum apollomp_raw_qos_priType_e
|
||||
{
|
||||
APOLLOMP_QOS_PRI_TYPE_SVLAN = 0,
|
||||
APOLLOMP_QOS_PRI_TYPE_SA,
|
||||
APOLLOMP_QOS_PRI_TYPE_LUTFWD,
|
||||
APOLLOMP_QOS_PRI_TYPE_CVLAN,
|
||||
APOLLOMP_QOS_PRI_TYPE_ACL,
|
||||
APOLLOMP_QOS_PRI_TYPE_DSCP,
|
||||
APOLLOMP_QOS_PRI_TYPE_DOT1Q,
|
||||
APOLLOMP_QOS_PRI_TYPE_PORT,
|
||||
APOLLOMP_QOS_PRI_TYPE_L4,
|
||||
APOLLOMP_QOS_PRI_TYPE_END
|
||||
} apollomp_raw_qos_priType_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_dscp_source_e
|
||||
{
|
||||
APOLLOMP_QOS_DSCP_SOURCE_INTR_PRI = 0,
|
||||
APOLLOMP_QOS_DSCP_SOURCE_ORI_DSCP,
|
||||
APOLLOMP_QOS_DSCP_SOURCE_USER_PRI,
|
||||
APOLLOMP_QOS_DSCP_SOURCE_TYPE_END
|
||||
} apollomp_raw_dscp_source_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_ifg_include_e
|
||||
{
|
||||
APOLLOMP_QOS_IFG_EXCLUDE = 0,
|
||||
APOLLOMP_QOS_IFG_INCLUDE,
|
||||
APOLLOMP_QOS_IFG_TYPE_END
|
||||
} apollomp_raw_ifg_include_t;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_wfq_type_e
|
||||
{
|
||||
APOLLOMP_QOS_QUEUE_STRICT = 0,
|
||||
APOLLOMP_QOS_QUEUE_WFQ,
|
||||
APOLLOMP_QOS_TYPE_END
|
||||
} apollomp_raw_queue_type_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_igrbw_mode_e
|
||||
{
|
||||
APOLLOMP_IGRBW_FLOWCTRL = 0,
|
||||
APOLLOMP_IGRBW_DROP,
|
||||
APOLLOMP_IGRBW_MODE_END
|
||||
} apollomp_raw_igrbw_mode_t;
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
extern int32 apollomp_raw_qos_priToQidMappingTable_set(uint32 index, uint32 pri, uint32 qid);
|
||||
extern int32 apollomp_raw_qos_priToQidMappingTable_get(uint32 index, uint32 pri, uint32 *pQid);
|
||||
extern int32 apollomp_raw_qos_portQidMapIdx_set(rtk_port_t port, uint32 index);
|
||||
extern int32 apollomp_raw_qos_portQidMapIdx_get(rtk_port_t port, uint32 *pIndex);
|
||||
extern int32 apollomp_raw_qos_priRemapToCpu_set(uint32 pri, uint32 remapPri);
|
||||
extern int32 apollomp_raw_qos_priRemapToCpu_get(uint32 pri, uint32 *pRemapPri);
|
||||
extern int32 apollomp_raw_qos_1QPriRemap_set(uint32 pri, uint32 remapPri);
|
||||
extern int32 apollomp_raw_qos_1QPriRemap_get(uint32 pri, uint32 *pRemapPri);
|
||||
extern int32 apollomp_raw_qos_dscpPriRemap_set(uint32 dscp, uint32 remapPri);
|
||||
extern int32 apollomp_raw_qos_dscpPriRemap_get(uint32 dscp, uint32 *pRemapPri);
|
||||
extern int32 apollomp_raw_qos_portBasePri_set(rtk_port_t port, uint32 priority);
|
||||
extern int32 apollomp_raw_qos_portBasePri_get(rtk_port_t port, uint32 *pPri);
|
||||
extern int32 apollomp_raw_qos_priDecisionWeight_set(apollomp_raw_qos_priType_t type, uint32 weight);
|
||||
extern int32 apollomp_raw_qos_priDecisionWeight_get(apollomp_raw_qos_priType_t type, uint32 *pWeight);
|
||||
extern int32 apollomp_raw_qos_1qRemarkAbility_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_qos_1qRemarkAbility_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_qos_dscpRemarkAbility_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_qos_dscpRemarkAbility_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_qos_1qRemarkPri_set(uint32 priority, uint32 newPriority);
|
||||
extern int32 apollomp_raw_qos_1qRemarkPri_get(uint32 priority, uint32 *pNewPriority);
|
||||
extern int32 apollomp_raw_qos_dscpRemarkDscp_set(uint32 dscp, uint32 newDscp);
|
||||
extern int32 apollomp_raw_qos_dscpRemarkDscp_get(uint32 dscp, uint32 *pNewDscp);
|
||||
extern int32 apollomp_raw_qos_interPriRemarkDscp_set(uint32 intPri, uint32 newDscp);
|
||||
extern int32 apollomp_raw_qos_interPriRemarkDscp_get(uint32 intPri, uint32 *pNewDscp);
|
||||
extern int32 apollomp_raw_qos_dscpRemarkSource_set(rtk_port_t port, apollomp_raw_dscp_source_t source);
|
||||
extern int32 apollomp_raw_qos_dscpRemarkSource_get(rtk_port_t port, apollomp_raw_dscp_source_t *pSource);
|
||||
|
||||
extern int32 apollomp_raw_qos_wfqBurstSize_set(uint32 burstsize);
|
||||
extern int32 apollomp_raw_qos_wfqBurstSize_get(uint32 *pPurstsize);
|
||||
extern int32 apollomp_raw_qos_wfqCalIncIfg_set(apollomp_raw_ifg_include_t mode);
|
||||
extern int32 apollomp_raw_qos_wfqCalIncIfg_get(apollomp_raw_ifg_include_t *pMode);
|
||||
extern int32 apollomp_raw_qos_bwCtrlEgrRate_set(rtk_port_t port, uint32 rate);
|
||||
extern int32 apollomp_raw_qos_bwCtrlEgrRate_get(rtk_port_t port, uint32 *pRate);
|
||||
extern int32 apollomp_raw_qos_wfqWeight_get(rtk_port_t port, uint32 qid, uint32 *pWeight);
|
||||
extern int32 apollomp_raw_qos_wfqWeight_set(rtk_port_t port, uint32 qid, uint32 weight);
|
||||
extern int32 apollomp_raw_qos_aprEnable_set(rtk_port_t port, uint32 qid, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_qos_aprEnable_get(rtk_port_t port, uint32 qid, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_qos_queueType_set(rtk_port_t port, uint32 qid, apollomp_raw_queue_type_t type);
|
||||
extern int32 apollomp_raw_qos_queueType_get(rtk_port_t port, uint32 qid, apollomp_raw_queue_type_t *pType);
|
||||
extern int32 apollomp_raw_qos_aprMeter_set(rtk_port_t port, uint32 qid, uint32 meterIdx);
|
||||
extern int32 apollomp_raw_qos_aprMeter_get(rtk_port_t port, uint32 qid, uint32 *pMeterIdx);
|
||||
extern int32 apollomp_raw_qos_queueEmpty_get(uint32 *qEmpty);
|
||||
extern int32 apollomp_raw_qos_ethernetAvEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_qos_ethernetAvEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_qos_ethernetAvRemapPri_set(uint32 priority, uint32 newPriority);
|
||||
extern int32 apollomp_raw_qos_ethernetAvRemapPri_get(uint32 priority, uint32 *pNewPriority);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrRateBypass_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrRateBypass_get(rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrRate_set(rtk_port_t port, uint32 rate);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrRate_get(rtk_port_t port, uint32 *pRate);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrRateCalIncIfg_set(rtk_port_t port, apollomp_raw_ifg_include_t mode);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrRateCalIncIfg_get(rtk_port_t port, apollomp_raw_ifg_include_t *pMode);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrRateFc_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrRateFc_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrBound_set(uint32 highThreshold, uint32 lowThreshold);
|
||||
extern int32 apollomp_raw_qos_bwCtrlIgrBound_get(uint32 *pHighThreshold, uint32 *pLowThreshold);
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_QOS_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
#ifndef _APOLLOMP_RAW_SWITCH_H_
|
||||
#define _APOLLOMP_RAW_SWITCH_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
extern int32 apollomp_raw_switch_macAddr_set(rtk_mac_t *pMacAddr);
|
||||
extern int32 apollomp_raw_switch_macAddr_get(rtk_mac_t *pMacAddr);
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_SWITCH_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
#ifndef _APOLLOMP_RAW_TRAP_H_
|
||||
#define _APOLLOMP_RAW_TRAP_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
typedef enum apollomp_raw_rmaAction_e
|
||||
{
|
||||
APOLLOMP_RMA_ACT_FORWARD = 0,
|
||||
APOLLOMP_RMA_ACT_TRAP ,
|
||||
APOLLOMP_RMA_ACT_DROP ,
|
||||
APOLLOMP_RMA_ACT_FORWARD_EXCLUDE_CPU ,
|
||||
APOLLOMP_RMA_ACT_END ,
|
||||
} apollomp_raw_rmaAction_t;
|
||||
|
||||
typedef enum apollomp_raw_rmaFeature_e
|
||||
{
|
||||
APOLLOMP_RMA_FUN_VLAN_LEAKY = 0,
|
||||
APOLLOMP_RMA_FUN_PISO_LEAKY,
|
||||
APOLLOMP_RMA_FUN_BYPASS_STORM,
|
||||
APOLLOMP_RMA_FUN_KEEP_CTGA_FMT,
|
||||
APOLLOMP_RMA_FUN_END,
|
||||
} apollomp_raw_rmaFeature_t;
|
||||
|
||||
#if 0
|
||||
typedef enum apollomp_raw_igmpmld_type_e
|
||||
{
|
||||
APOLLOMP_RAW_TYPE_IGMPV1 = 0,
|
||||
APOLLOMP_RAW_TYPE_IGMPV2,
|
||||
APOLLOMP_RAW_TYPE_IGMPV3,
|
||||
APOLLOMP_RAW_TYPE_MLDV1,
|
||||
APOLLOMP_RAW_TYPE_MLDV2,
|
||||
APOLLOMP_RAW_TYPE_END,
|
||||
|
||||
} apollomp_raw_igmpmld_type_t;
|
||||
|
||||
typedef enum apollomp_raw_igmpAction_e
|
||||
{
|
||||
APOLLOMP_RAW_IGMP_ACT_FORWARD = 0,
|
||||
APOLLOMP_RAW_IGMP_ACT_DROP,
|
||||
APOLLOMP_RAW_IGMP_ACT_TRAP,
|
||||
APOLLOMP_RAW_IGMP_ACT_END,
|
||||
} apollomp_raw_igmpAction_t;
|
||||
|
||||
typedef enum apollomp_raw_igmpChecksumErrAction_e
|
||||
{
|
||||
APOLLOMP_RAW_CHECKSUM_ERR_FORWARD = 0,
|
||||
APOLLOMP_RAW_CHECKSUM_ERR_DROP,
|
||||
APOLLOMP_RAW_CHECKSUM_ERR_TRAP,
|
||||
APOLLOMP_RAW_CHECKSUM_ERR_END,
|
||||
}apollomp_raw_igmpChecksumErrAction_t;
|
||||
|
||||
extern int32 apollomp_raw_trap_rmaPriority_set(uint32 priority);
|
||||
extern int32 apollomp_raw_trap_rmaPriority_get(uint32 *pPriority);
|
||||
extern int32 apollomp_raw_trap_rmaAction_set(uint32 rmaTail, rtk_action_t action);
|
||||
extern int32 apollomp_raw_trap_rmaAction_get(uint32 rmaTail, rtk_action_t* pAction);
|
||||
#endif
|
||||
extern int32 apollomp_raw_trap_rmaFeature_set(uint32 rmaTail, apollomp_raw_rmaFeature_t type, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_trap_rmaFeature_get(uint32 rmaTail, apollomp_raw_rmaFeature_t type, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_trap_rmaCiscoAction_set(uint32 rmaTail, rtk_action_t action);
|
||||
extern int32 apollomp_raw_trap_rmaCiscoAction_get(uint32 rmaTail, rtk_action_t *pAction);
|
||||
#if 0
|
||||
extern int32 apollomp_raw_trap_rmaCiscoFeature_set(uint32 rmaTail, apollomp_raw_rmaFeature_t type, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_trap_rmaCiscoFeature_get(uint32 rmaTail, apollomp_raw_rmaFeature_t type, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_trap_igmpAction_set(rtk_port_t port, apollomp_raw_igmpmld_type_t type, rtk_action_t action);
|
||||
extern int32 apollomp_raw_trap_igmpAction_get(rtk_port_t port, apollomp_raw_igmpmld_type_t type, rtk_action_t *pAction);
|
||||
extern int32 apollomp_raw_trap_igmpIsoLeaky_set(rtk_enable_t state);
|
||||
extern int32 apollomp_raw_trap_igmpIsoLeaky_get(rtk_enable_t *pState);
|
||||
#endif
|
||||
extern int32 apollomp_raw_trap_igmpVLANLeaky_set(rtk_enable_t state);
|
||||
extern int32 apollomp_raw_trap_igmpVLANLeaky_get(rtk_enable_t *pState);
|
||||
extern int32 apollomp_raw_trap_igmpBypassStrom_set(rtk_enable_t state);
|
||||
extern int32 apollomp_raw_trap_igmpBypassStrom_get(rtk_enable_t *pState);
|
||||
#if 0
|
||||
extern int32 apollomp_raw_trap_igmpChechsumError_set(rtk_action_t action);
|
||||
extern int32 apollomp_raw_trap_igmpChechsumError_get(rtk_action_t *pAction);
|
||||
#endif
|
||||
#endif /*#ifndef _APOLLOMP_RAW_TRAP_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
#ifndef _APOLLOMP_RAW_TRUNK_H_
|
||||
#define _APOLLOMP_RAW_TRUNK_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_SOURCE_PORT (0x01)
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_SOURCE_MAC (0x02)
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_DEST_MAC (0x04)
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_SOURCE_IP (0x08)
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_DEST_IP (0x10)
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_SOURCE_L4PORT (0x20)
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_DEST_L4PORT (0x40)
|
||||
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_ALL \
|
||||
( APOLLOMP_RAW_TRUNK_HASH_SOURCE_PORT | \
|
||||
APOLLOMP_RAW_TRUNK_HASH_SOURCE_MAC | \
|
||||
APOLLOMP_RAW_TRUNK_HASH_DEST_MAC | \
|
||||
APOLLOMP_RAW_TRUNK_HASH_SOURCE_IP | \
|
||||
APOLLOMP_RAW_TRUNK_HASH_DEST_IP | \
|
||||
APOLLOMP_RAW_TRUNK_HASH_SOURCE_L4PORT | \
|
||||
APOLLOMP_RAW_TRUNK_HASH_DEST_L4PORT )
|
||||
|
||||
#define APOLLOMP_RAW_TRUNK_ALGORITHM_NUM (7)
|
||||
#define APOLLOMP_RAW_TRUNK_HASH_VALUE_MAX (15)
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
typedef enum apollomp_raw_trunk_mode_e
|
||||
{
|
||||
APOLLOMP_RAW_TRUNK_USER_MODE = 0,
|
||||
APOLLOMP_RAW_TRUNK_DUMB_MODE,
|
||||
APOLLOMP_RAW_TRUNK_MODE_END
|
||||
} apollomp_raw_trunk_mode_t;
|
||||
|
||||
typedef enum apollomp_raw_trunk_floodMode_e
|
||||
{
|
||||
APOLLOMP_RAW_TRUNK_NORMAL_FLOOD = 0,
|
||||
APOLLOMP_RAW_TRUNK_FWD_TO_FIRST_PORT,
|
||||
APOLLOMP_RAW_TRUNK_FLOOD_MODE_END
|
||||
} apollomp_raw_trunk_floodMode_t;
|
||||
|
||||
typedef enum apollomp_raw_trunk_port_e
|
||||
{
|
||||
APOLLOMP_RAW_TRUNK_PORT_FIRST = 0,
|
||||
APOLLOMP_RAW_TRUNK_PORT_SECOND,
|
||||
APOLLOMP_RAW_TRUNK_PORT_THIRD,
|
||||
APOLLOMP_RAW_TRUNK_PORT_FOURTH,
|
||||
APOLLOMP_RAW_TRUNK_PORT_END
|
||||
} apollomp_raw_trunk_port_t;
|
||||
|
||||
extern int32 apollomp_raw_trunk_memberPort_set(rtk_portmask_t *pPortmask);
|
||||
extern int32 apollomp_raw_trunk_memberPort_get(rtk_portmask_t *pPortmask);
|
||||
extern int32 apollomp_raw_trunk_hashAlgorithm_set(uint32 hashsel);
|
||||
extern int32 apollomp_raw_trunk_hashAlgorithm_get(uint32 *pHashsel);
|
||||
extern int32 apollomp_raw_trunk_flood_set(apollomp_raw_trunk_floodMode_t mode);
|
||||
extern int32 apollomp_raw_trunk_flood_get(apollomp_raw_trunk_floodMode_t *pMode);
|
||||
extern int32 apollomp_raw_trunk_mode_set(apollomp_raw_trunk_mode_t mode);
|
||||
extern int32 apollomp_raw_trunk_mode_get(apollomp_raw_trunk_mode_t *pMode);
|
||||
extern int32 apollomp_raw_trunk_flowControl_set(rtk_enable_t state);
|
||||
extern int32 apollomp_raw_trunk_flowControl_get(rtk_enable_t *pState);
|
||||
extern int32 apollomp_raw_trunk_hashMapping_set(uint32 hash_value, apollomp_raw_trunk_port_t port);
|
||||
extern int32 apollomp_raw_trunk_hashMapping_get(uint32 hash_value, apollomp_raw_trunk_port_t *pPort);
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_RAW_TRUNK_H_*/
|
||||
|
||||
178
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_vlan.h
Normal file
178
sources/rtk-gp3000/include/dal/apollomp/raw/apollomp_raw_vlan.h
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
#ifndef _APOLLOMP_ASICDRV_VLAN_H_
|
||||
#define _APOLLOMP_ASICDRV_VLAN_H_
|
||||
|
||||
/****************************************************************/
|
||||
/* Header File inclusion */
|
||||
/****************************************************************/
|
||||
#include <dal/apollomp/raw/apollomp_raw.h>
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
typedef struct apollomp_raw_vlanconfig_s
|
||||
{
|
||||
uint32 index;
|
||||
uint32 evid;
|
||||
rtk_portmask_t mbr;
|
||||
rtk_portmask_t exMbr;
|
||||
uint32 fid_msti;
|
||||
uint32 envlanpol;
|
||||
uint32 meteridx;
|
||||
uint32 vbpen;
|
||||
uint32 vbpri;
|
||||
}apollomp_raw_vlanconfig_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_vlan_l2HashType_e
|
||||
{
|
||||
APOLLOMP_VLAN_HASH_SVL = 0,
|
||||
APOLLOMP_VLAN_HASH_IVL,
|
||||
APOLLOMP_VLAN_HASH_END
|
||||
}apollomp_raw_vlan_l2HashType_t;
|
||||
|
||||
|
||||
|
||||
typedef struct apollomp_raw_vlan4kentry_s{
|
||||
|
||||
uint32 vid;
|
||||
rtk_portmask_t mbr;
|
||||
rtk_portmask_t untag;
|
||||
rtk_portmask_t exMbr;
|
||||
uint32 fid_msti;
|
||||
uint32 envlanpol;
|
||||
uint32 meteridx;
|
||||
uint32 vbpen;
|
||||
uint32 vbpri;
|
||||
apollomp_raw_vlan_l2HashType_t ivl_svl;
|
||||
}apollomp_raw_vlan4kentry_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_protoVlanFrameType_e
|
||||
{
|
||||
APOLLOMP_PPVLAN_FRAME_TYPE_ETHERNET = 0,
|
||||
APOLLOMP_PPVLAN_FRAME_TYPE_LLC,
|
||||
APOLLOMP_PPVLAN_FRAME_TYPE_RFC1042,
|
||||
APOLLOMP_PPVLAN_FRAME_TYPE_END
|
||||
} apollomp_raw_protoVlanFrameType_t;
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_vlan_cfiKeepMode_e
|
||||
{
|
||||
APOLLOMP_CFI_ALWAYS_0 = 0,
|
||||
APOLLOMP_CFI_KEEP_INGRESS,
|
||||
APOLLOMP_CFI_KEEP_TYPE_END
|
||||
} apollomp_raw_vlan_cfiKeepMode_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_vlanAcpFrameType_e
|
||||
{
|
||||
APOLLOMP_VLAN_ACCEPT_ALL = 0,
|
||||
APOLLOMP_VLAN_ACCEPT_TAGGED_ONLY,
|
||||
APOLLOMP_VLAN_ACCEPT_UNTAGGED_ONLY,
|
||||
APOLLOMP_VLAN_ACCEPT_1Q_1P_TAGGED_ONLY,
|
||||
APOLLOMP_VLAN_ACCEPT_TYPE_END
|
||||
} apollomp_raw_vlanAcpFrameType_t;
|
||||
|
||||
|
||||
typedef enum apollomp_raw_vlanTag_e
|
||||
{
|
||||
APOLLOMP_VLAN_UNTAG = 0,
|
||||
APOLLOMP_VLAN_TAG,
|
||||
APOLLOMP_VLAN_TAG_TYPE_END
|
||||
} apollomp_raw_vlanTag_t;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef enum apollomp_raw_vlan_egrTagMode_e
|
||||
{
|
||||
APOLLOMP_VLAN_EGR_TAG_MODE_ORI = 0,
|
||||
APOLLOMP_VLAN_EGR_TAG_MODE_KEEP,
|
||||
APOLLOMP_VLAN_EGR_TAG_MODE_PRI_TAG,
|
||||
APOLLOMP_VLAN_EGR_TAG_MODE_END
|
||||
} apollomp_raw_vlan_egrTagMode_t;
|
||||
|
||||
|
||||
|
||||
typedef struct apollomp_raw_protoValnEntryCfg_s
|
||||
{
|
||||
uint32 index;
|
||||
apollomp_raw_protoVlanFrameType_t frameType;
|
||||
uint32 etherType;
|
||||
} apollomp_raw_protoValnEntryCfg_t;
|
||||
|
||||
typedef struct apollomp_raw_protoVlanCfg_s
|
||||
{
|
||||
uint32 index;
|
||||
uint32 valid;
|
||||
uint32 vlan_idx;
|
||||
uint32 priority;
|
||||
} apollomp_raw_protoVlanCfg_t;
|
||||
|
||||
|
||||
extern int32 apollomp_raw_vlan_memberConfig_set(apollomp_raw_vlanconfig_t *pVlanCg);
|
||||
extern int32 apollomp_raw_vlan_memberConfig_get(apollomp_raw_vlanconfig_t *pVlanCg);
|
||||
|
||||
extern int32 apollomp_raw_vlan_4kEntry_set(apollomp_raw_vlan4kentry_t *pVlan4kEntry );
|
||||
extern int32 apollomp_raw_vlan_4kEntry_get(apollomp_raw_vlan4kentry_t *pVlan4kEntry );
|
||||
|
||||
extern int32 apollomp_raw_vlan_protoAndPortBasedEntry_set(rtk_port_t port, apollomp_raw_protoVlanCfg_t *pPpbCfg);
|
||||
extern int32 apollomp_raw_vlan_portAndProtoBasedEntry_get(rtk_port_t port, apollomp_raw_protoVlanCfg_t *pPpbCfg);
|
||||
|
||||
extern int32 apollomp_raw_vlanProtoAndPortBasedEntry_get(apollomp_raw_protoValnEntryCfg_t *entry);
|
||||
extern int32 apollomp_raw_vlanProtoAndPortBasedEntry_set(apollomp_raw_protoValnEntryCfg_t *entry);
|
||||
|
||||
|
||||
extern int32 apollomp_raw_vlan_portBasedVID_set(rtk_port_t port, uint32 index);
|
||||
extern int32 apollomp_raw_vlan_portBasedVID_get(rtk_port_t port, uint32 *pIndex);
|
||||
extern int32 apollomp_raw_vlan_cfiKeepMode_get(apollomp_raw_vlan_cfiKeepMode_t *mode);
|
||||
extern int32 apollomp_raw_vlan_cfiKeepMode_set(apollomp_raw_vlan_cfiKeepMode_t mode);
|
||||
extern int32 apollomp_raw_vlan_acceptFrameType_get(rtk_port_t port, apollomp_raw_vlanAcpFrameType_t *type);
|
||||
extern int32 apollomp_raw_vlan_acceptFrameType_set(rtk_port_t port, apollomp_raw_vlanAcpFrameType_t type);
|
||||
extern int32 apollomp_raw_vlan_igrFlterEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_vlan_igrFlterEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_vlan_egrTagMode_set(rtk_port_t port, apollomp_raw_vlan_egrTagMode_t mode);
|
||||
extern int32 apollomp_raw_vlan_egrTagMode_get(rtk_port_t port, apollomp_raw_vlan_egrTagMode_t *pMode);
|
||||
|
||||
|
||||
extern int32 apollomp_raw_vlan_vid0TagType_set(apollomp_raw_vlanTag_t type);
|
||||
extern int32 apollomp_raw_vlan_vid0TagType_get(apollomp_raw_vlanTag_t *type);
|
||||
extern int32 apollomp_raw_vlan_vid4095TagType_set(apollomp_raw_vlanTag_t type);
|
||||
extern int32 apollomp_raw_vlan_vid4095TagType_get(apollomp_raw_vlanTag_t *type);
|
||||
|
||||
extern int32 apollomp_raw_vlan_transparentEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_vlan_transparentEnable_get(rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_vlan_egrIgrFilterEnable_set(rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_vlan_egrIgrFilterEnable_get(rtk_enable_t *pEnable);
|
||||
|
||||
|
||||
extern int32 apollomp_raw_vlan_portBasedFidEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_vlan_portBasedFidEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
extern int32 apollomp_raw_vlan_portBasedFid_get(rtk_port_t port, uint32 *fid);
|
||||
extern int32 apollomp_raw_vlan_portBasedFid_set(rtk_port_t port, uint32 fid);
|
||||
|
||||
extern int32 apollomp_raw_vlan_portToMbrCfgIdx_set(rtk_port_t port, uint32 mbrCfgIdx);
|
||||
extern int32 apollomp_raw_vlan_portToMbrCfgIdx_get(rtk_port_t port, uint32 *pMbrCfgIdx);
|
||||
extern int32 apollomp_raw_vlan_vcPortToMbrCfgIdx_set(rtk_port_t port, uint32 mbrCfgIdx);
|
||||
extern int32 apollomp_raw_vlan_vcPortToMbrCfgIdx_get(rtk_port_t port, uint32 *pMbrCfgIdx);
|
||||
extern int32 apollomp_raw_vlan_extPortToMbrCfgIdx_set(rtk_port_t port, uint32 mbrCfgIdx);
|
||||
extern int32 apollomp_raw_vlan_extPortToMbrCfgIdx_get(rtk_port_t port, uint32 *pMbrCfgIdx);
|
||||
|
||||
extern int32 apollomp_raw_vlan_egrKeepPmsk_get(rtk_port_t port, rtk_portmask_t *pPortMsk);
|
||||
extern int32 apollomp_raw_vlan_egrKeepPmsk_set(rtk_port_t port, rtk_portmask_t portMsk);
|
||||
|
||||
extern int32 apollomp_raw_vlan_ipmcastLeaky_set(rtk_port_t port, rtk_enable_t enable);
|
||||
extern int32 apollomp_raw_vlan_ipmcastLeaky_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
|
||||
|
||||
#endif /*#ifndef _APOLLOMP_ASICDRV_VLAN_H_*/
|
||||
|
||||
29
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b.h
Executable file
29
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b.h
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
#ifndef __DAL_CA8277B_H_
|
||||
#define __DAL_CA8277B_H_
|
||||
|
||||
#include <common/rt_type.h>
|
||||
#include <common/rt_error.h>
|
||||
#include <common/util/rt_bitop.h>
|
||||
#include <common/util/rt_util.h>
|
||||
#include <common/debug/rt_log.h>
|
||||
#include <osal/memory.h>
|
||||
|
||||
#include <dal/dal_common.h>
|
||||
#include <hal/common/halctrl.h>
|
||||
|
||||
#include <hal/chipdef/ca8277b/ca8277b_def.h>
|
||||
|
||||
#include <rtk/default.h>
|
||||
|
||||
#include <ca_types.h>
|
||||
#include <scfg.h>
|
||||
|
||||
extern ca_uint8_t CA_PON_MODE;
|
||||
|
||||
#define CAERR_PORT_ID 0xFFFF
|
||||
|
||||
#define RTK2CA_PORT_ID(port) \
|
||||
(HAL_IS_PON_PORT(port)?((CA_PON_MODE == ONU_PON_MAC_EPON_D10G||CA_PON_MODE == ONU_PON_MAC_EPON_BI10G||CA_PON_MODE == ONU_PON_MAC_EPON_1G) ? CA_PORT_ID(CA_PORT_TYPE_EPON,port):CA_PORT_ID(CA_PORT_TYPE_GPON,port)) : HAL_IS_ETHER_PORT(port)?CA_PORT_ID(CA_PORT_TYPE_ETHERNET,port) : HAL_IS_CPU_PORT(port)?CA_PORT_ID(CA_PORT_TYPE_CPU,port) : (port == 0x18 || port == 0x19) ? port : CAERR_PORT_ID)
|
||||
|
||||
#endif /*__DAL_CA8277B_H_*/
|
||||
|
||||
239
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_epon.h
Executable file
239
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_epon.h
Executable file
|
|
@ -0,0 +1,239 @@
|
|||
/*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
*
|
||||
* *
|
||||
* $Revision: $
|
||||
* $Date: 2012-10-16
|
||||
*
|
||||
* Purpose : EPON MAC register access APIs
|
||||
*
|
||||
* Feature : Provide the APIs to access EPON MAC
|
||||
*
|
||||
*/
|
||||
#ifndef _DAL_CA8277B_EPON_H_
|
||||
#define _DAL_CA8277B_EPON_H_
|
||||
|
||||
#include <common/rt_error.h>
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/epon.h>
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_init
|
||||
* Description:
|
||||
* epon register level initial function
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_llid_entry_get
|
||||
* Description:
|
||||
* Get llid entry
|
||||
* Input:
|
||||
* llidIdx: LLID table index
|
||||
* Output:
|
||||
* pLlidEntry: LLID entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_llid_entry_get(rtk_epon_llid_entry_t *pLlidEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_llid_entry_set
|
||||
* Description:
|
||||
* Set llid entry
|
||||
* Input:
|
||||
* llidIdx: LLID table index
|
||||
* Output:
|
||||
* pLlidEntry: LLID entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_llid_entry_set(rtk_epon_llid_entry_t *pLlidEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_registerReq_get
|
||||
* Description:
|
||||
* Get register request relative parameter
|
||||
* Input:
|
||||
* pRegEntry : register request relative parament
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_registerReq_get(rtk_epon_regReq_t *pRegEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_registerReq_set
|
||||
* Description:
|
||||
* Set register request relative parameter
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRegEntry : register request relative parament
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_registerReq_set(rtk_epon_regReq_t *pRegEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_churningKey_get
|
||||
* Description:
|
||||
* Get churning key entry
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEntry : churning key relative parameter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_churningKey_get(rtk_epon_churningKeyEntry_t *pEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_churningKey_set
|
||||
* Description:
|
||||
* Set churning key entry
|
||||
* Input:
|
||||
* pEntry : churning key relative parameter
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_churningKey_set(rtk_epon_churningKeyEntry_t *pEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_usFecState_get
|
||||
* Description:
|
||||
* Get upstream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : upstream FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_usFecState_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_usFecState_set
|
||||
* Description:
|
||||
* Set upstream fec state
|
||||
* Input:
|
||||
* state : upstream FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_usFecState_set(rtk_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_dsFecState_get
|
||||
* Description:
|
||||
* Get down-stream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : down-stream FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_dsFecState_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_dsFecState_set
|
||||
* Description:
|
||||
* Set down-stream fec state
|
||||
* Input:
|
||||
* state : down-stream FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_dsFecState_set(rtk_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_mibCounter_get
|
||||
* Description:
|
||||
* Get EPON MIB Counter
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pCounter : EPON mib counter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_mibCounter_get(rtk_epon_counter_t *pCounter);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_losState_get
|
||||
* Description:
|
||||
* Get laser lose of signal state.
|
||||
* Input:
|
||||
* pState LOS state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_losState_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_llidEntryNum_get
|
||||
* Description:
|
||||
* Get EPON support LLID entry number
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : glogal FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_llidEntryNum_get(uint32 *num);
|
||||
|
||||
#endif /*#ifndef _DAL_CA8277B_EPON_H_*/
|
||||
|
||||
161
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_gpio.h
Executable file
161
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_gpio.h
Executable file
|
|
@ -0,0 +1,161 @@
|
|||
|
||||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 45450 $
|
||||
* $Date: 2017-04-17 14:08:31 +0800 (Mon, 17 APR 2017) $
|
||||
*
|
||||
* Purpose : Definition of GPIO API
|
||||
*
|
||||
* Feature : Provide the APIs to enable and configure GPIO
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_GPIO_H__
|
||||
#define __DAL_CA8277B_GPIO_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <dal/ca8277b/dal_ca8277b.h>
|
||||
#include <rtk/gpio.h>
|
||||
#include <dal/ca8277b/dal_ca8277b_gpio.h>
|
||||
#include <ioal/mem32.h>
|
||||
|
||||
|
||||
#define CA8277B_GPIO_PIN_NUM 160
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpio_init
|
||||
* Description:
|
||||
* gpio init function
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* None
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_gpio_init ( void );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpio_state_set
|
||||
* Description:
|
||||
* enable or disable gpio function
|
||||
* Input:
|
||||
* gpioId - gpio id from 0~95
|
||||
* enable - enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_gpio_state_set ( uint32 gpioId, rtk_enable_t enable );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpio_state_get
|
||||
* Description:
|
||||
* enable or disable gpio function
|
||||
* Input:
|
||||
* gpioId - gpio id from 0~95
|
||||
* enable - point for get gpio enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_gpio_state_get ( uint32 gpioId, rtk_enable_t* enable );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpio_mode_set
|
||||
* Description:
|
||||
* set gpio to input or output mode
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 95
|
||||
* mode -gpio mode, input or output mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_gpio_mode_set ( uint32 gpioId, rtk_gpio_mode_t mode );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpio_mode_get
|
||||
* Description:
|
||||
* get gpio to input or output mode
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 95
|
||||
* mode -point for get gpio mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_gpio_mode_get ( uint32 gpioId, rtk_gpio_mode_t* mode );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpio_databit_get
|
||||
* Description:
|
||||
* read gpio data
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 95
|
||||
* data -point for read data from gpio
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_gpio_databit_get ( uint32 gpioId, uint32* data );
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpio_databit_set
|
||||
* Description:
|
||||
* write data to gpio
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 95
|
||||
* data -write data to gpio
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_gpio_databit_set ( uint32 gpioId, uint32 data );
|
||||
|
||||
#endif /* __DAL_CA8277B_GPIO_H__ */
|
||||
104
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_gpon.h
Executable file
104
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_gpon.h
Executable file
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* Copyright (C) 2018 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: $
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition of GPON API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) GPON
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_CA8277B_GPON_H__
|
||||
#define __DAL_CA8277B_GPON_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/gponv2.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpon_init
|
||||
* Description:
|
||||
* gpon register level initial function
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_gpon_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpon_onuState_set
|
||||
* Description:
|
||||
* Set ONU State .
|
||||
* Input:
|
||||
* onuState: onu state
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_gpon_onuState_set(rtk_gpon_onuState_t onuState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpon_onuState_get
|
||||
* Description:
|
||||
* Get ONU State
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
* pOnuState: point for get onu state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_gpon_onuState_get(rtk_gpon_onuState_t *pOnuState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpon_password_set
|
||||
* Description:
|
||||
* Set ONU PLOAM password/registration ID .
|
||||
* Input:
|
||||
* rtk_gpon_password_t: password
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8277b_gpon_password_set(rtk_gpon_password_t *pwd);
|
||||
#endif /* __DAL_CA8277B_GPON_H__ */
|
||||
248
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_i2c.h
Executable file
248
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_i2c.h
Executable file
|
|
@ -0,0 +1,248 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 54353 $
|
||||
* $Date: 2014-12-25 20:03:23 +0800 (Thu, 25 Dec 2014) $
|
||||
*
|
||||
* Purpose : Definition of I2C API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) I2C control
|
||||
* (2) I2C read/write
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_CA8277B_I2C_H__
|
||||
#define __DAL_CA8277B_I2C_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/i2c.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_init
|
||||
* Description:
|
||||
* Initialize i2c interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize before calling any other APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_init(rtk_i2c_port_t i2cPort);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_enable_get
|
||||
* Description:
|
||||
* Get I2C interface state.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* pEnable - the pointer of enable/disable state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_enable_get (rtk_i2c_port_t i2cPort,rtk_enable_t* pEnable );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_enable_set
|
||||
* Description:
|
||||
* Enable/Disable I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* enable - enable/disable state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_enable_set(rtk_i2c_port_t i2cPort, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_write
|
||||
* Description:
|
||||
* I2c write data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* data - data value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_write(rtk_i2c_port_t i2cPort, uint32 devID, uint32 regAddr, uint32 data);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_read
|
||||
* Description:
|
||||
* I2c read data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* pData - the pointer of returned data
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_read(rtk_i2c_port_t i2cPort, uint32 devID, uint32 regAddr, uint32 *pData);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_clock_get
|
||||
* Description:
|
||||
* Get the clock of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* pClock - KMHz, 10-bit value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_clock_get(rtk_i2c_port_t i2cPort,uint32* pClock);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_clock_set
|
||||
* Description:
|
||||
* Set the clock of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* clock - KHz, 10-bit value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_clock_set(rtk_i2c_port_t i2cPort,uint32 clock);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_seq_read
|
||||
* Description:
|
||||
* I2c read data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* pData - the pointer of returned data
|
||||
* count - number of sequential read
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* RT_ERR_CHIP_NOT_SUPPORTED
|
||||
* Note:
|
||||
* The ASIC doesn't support sequential read opearation
|
||||
* Use multiple random read to simulate the behavior
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_seq_read (
|
||||
rtk_i2c_port_t i2cPort,
|
||||
uint32 devID,
|
||||
uint32 regAddr,
|
||||
uint32 *pData,
|
||||
uint32 count);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_i2c_seq_write
|
||||
* Description:
|
||||
* I2c read data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* pData - the pointer of returned data
|
||||
* count - number of sequential read
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* RT_ERR_CHIP_NOT_SUPPORTED
|
||||
* Note:
|
||||
* The ASIC doesn't support sequential write opearation
|
||||
* Use multiple random write to simulate the behavior
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_i2c_seq_write (
|
||||
rtk_i2c_port_t i2cPort,
|
||||
uint32 devID,
|
||||
uint32 regAddr,
|
||||
uint32 *pData,
|
||||
uint32 count);
|
||||
|
||||
#endif /*#ifndef __DAL_CA8277B_I2C_H__*/
|
||||
|
||||
118
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_intr.h
Executable file
118
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_intr.h
Executable file
|
|
@ -0,0 +1,118 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision:
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition those public Interrupt APIs and its data type in the SDK.
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* (1) Interrupt parameter settings
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_INTR_H__
|
||||
#define __DAL_CA8277B_INTR_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_intr_init
|
||||
* Description:
|
||||
* Initialize interrupt module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize interrupt module before calling any interrupt APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_intr_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_intr_imr_get
|
||||
* Description:
|
||||
* Get interrupt mask.
|
||||
* Input:
|
||||
* intr - interrupt type
|
||||
* pEnable - pointer of return status
|
||||
*
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_OUT_OF_RANGE
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_intr_imr_get(rtk_intr_type_t intr, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_intr_imr_set
|
||||
* Description:
|
||||
* Set interrupt mask.
|
||||
* Input:
|
||||
* intr - interrupt type
|
||||
* enable - interrupt state
|
||||
*
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_OUT_OF_RANGE
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_intr_imr_set(rtk_intr_type_t intr, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_intr_isr_rx_callback_register
|
||||
* Description:
|
||||
* Register isr callback function.
|
||||
* Input:
|
||||
* isrRx - pointer to the callback function for interrupt
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_intr_isr_rx_callback_register(rt_intr_type_t intr,rt_intr_isr_rx_callback isrRx);
|
||||
|
||||
#endif /* __DAL_CA8277B_INTR_H__ */
|
||||
640
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_l2.h
Executable file
640
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_l2.h
Executable file
|
|
@ -0,0 +1,640 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: $
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition of L2 API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Mac address flush
|
||||
* (2) Address learning limit
|
||||
* (3) Parameter for L2 lookup and learning engine
|
||||
* (4) Unicast address
|
||||
* (5) L2 multicast
|
||||
* (6) IP multicast
|
||||
* (7) Multicast forwarding table
|
||||
* (8) CPU mac
|
||||
* (9) Port move
|
||||
* (10) Parameter for lookup miss
|
||||
* (11) Parameter for MISC
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_L2_H__
|
||||
#define __DAL_CA8277B_L2_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/l2.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : L2 */
|
||||
/* Sub-module Name: Global */
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_init
|
||||
* Description:
|
||||
* Initialize l2 module of the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize l2 module before calling any l2 APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_flushLinkDownPortAddrEnable_get
|
||||
* Description:
|
||||
* Get HW flush linkdown port mac configuration.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEnable - pointer buffer of state of HW clear linkdown port mac
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* (1) Make sure chip have supported the function before using the API.
|
||||
* (2) The API is apply to whole system.
|
||||
* (3) The status of flush linkdown port address is as following:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_flushLinkDownPortAddrEnable_get(rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_flushLinkDownPortAddrEnable_set
|
||||
* Description:
|
||||
* Set HW flush linkdown port mac configuration.
|
||||
* Input:
|
||||
* enable - configure value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* (1) Make sure chip have supported the function before using the API.
|
||||
* (2) The API is apply to whole system.
|
||||
* (3) The status of flush linkdown port address is as following:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_flushLinkDownPortAddrEnable_set(rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_portLimitLearningCnt_get
|
||||
* Description:
|
||||
* Get the maximum mac learning counts of the port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pMacCnt - pointer buffer of maximum mac learning counts
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* (1) The maximum mac learning counts only limit for dynamic learning mac
|
||||
* address, not apply to static mac address.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_portLimitLearningCnt_get(rtk_port_t port, uint32 *pMacCnt);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_portLimitLearningCnt_set
|
||||
* Description:
|
||||
* Set the maximum mac learning counts of the port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* macCnt - maximum mac learning counts
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_LIMITED_L2ENTRY_NUM - invalid limited L2 entry number
|
||||
* Note:
|
||||
* (1) The maximum mac learning counts only limit for dynamic learning mac
|
||||
* address, not apply to static mac address.
|
||||
* (2) Set the macCnt to 0 mean disable learning in the port.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_portLimitLearningCnt_set(rtk_port_t port, uint32 macCnt);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_portLimitLearningCntAction_get
|
||||
* Description:
|
||||
* Get the action when over learning maximum mac counts of the port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pLearningAction - pointer buffer of action when over learning maximum mac counts
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* The action symbol as following
|
||||
* - LIMIT_LEARN_CNT_ACTION_DROP
|
||||
* - LIMIT_LEARN_CNT_ACTION_FORWARD
|
||||
* - LIMIT_LEARN_CNT_ACTION_TO_CPU
|
||||
* - LIMIT_LEARN_CNT_ACTION_COPY_CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_portLimitLearningCntAction_get(rtk_port_t port, rtk_l2_limitLearnCntAction_t *pLearningAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_portLimitLearningCntAction_set
|
||||
* Description:
|
||||
* Set the action when over learning maximum mac counts of the port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* learningAction - action when over learning maximum mac counts
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* Note:
|
||||
* The action symbol as following
|
||||
* - LIMIT_LEARN_CNT_ACTION_DROP
|
||||
* - LIMIT_LEARN_CNT_ACTION_FORWARD
|
||||
* - LIMIT_LEARN_CNT_ACTION_TO_CPU
|
||||
* - LIMIT_LEARN_CNT_ACTION_COPY_CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_portLimitLearningCntAction_set(rtk_port_t port, rtk_l2_limitLearnCntAction_t learningAction);
|
||||
|
||||
/* Function Name:
|
||||
* da_ca8277b_l2_aging_get
|
||||
* Description:
|
||||
* Get the dynamic address aging time.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pAgingTime - pointer buffer of aging time
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Get aging_time as 0 mean disable aging mechanism. (0.1sec)
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_aging_get(uint32 *pAgingTime);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_aging_set
|
||||
* Description:
|
||||
* Set the dynamic address aging time.
|
||||
* Input:
|
||||
* agingTime - aging time
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* (1) RTL8329/RTL8389 aging time is not configurable.
|
||||
* (2) apply aging_time as 0 mean disable aging mechanism.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_aging_set(uint32 agingTime);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_portAgingEnable_get
|
||||
* Description:
|
||||
* Get the dynamic address aging out setting of the specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - pointer to enable status of Age
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_portAgingEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_portAgingEnable_set
|
||||
* Description:
|
||||
* Set the dynamic address aging out configuration of the specified port
|
||||
* Input:
|
||||
* port - port id
|
||||
* enable - enable status of Age
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_portAgingEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
/* Module Name : L2 */
|
||||
/* Sub-module Name: Parameter for lookup miss */
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_lookupMissAction_get
|
||||
* Description:
|
||||
* Get forwarding action when destination address lookup miss.
|
||||
* Input:
|
||||
* type - type of lookup miss
|
||||
* Output:
|
||||
* pAction - pointer to forwarding action
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid type of lookup miss
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Type of lookup missis as following:
|
||||
* - DLF_TYPE_IPMC
|
||||
* - DLF_TYPE_UCAST
|
||||
* - DLF_TYPE_BCAST
|
||||
* - DLF_TYPE_MCAST
|
||||
*
|
||||
* Forwarding action is as following:
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_DROP
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_FLOOD_IN_VLAN
|
||||
* - ACTION_FLOOD_IN_ALL_PORT (only for DLF_TYPE_MCAST)
|
||||
* - ACTION_FLOOD_IN_ROUTER_PORTS (only for DLF_TYPE_IPMC)
|
||||
* - ACTION_FOLLOW_FB
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_lookupMissAction_get(rtk_l2_lookupMissType_t type, rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_lookupMissAction_set
|
||||
* Description:
|
||||
* Set forwarding action when destination address lookup miss.
|
||||
* Input:
|
||||
* type - type of lookup miss
|
||||
* action - forwarding action
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid type of lookup miss
|
||||
* RT_ERR_FWD_ACTION - invalid forwarding action
|
||||
* Note:
|
||||
* Type of lookup missis as following:
|
||||
* - DLF_TYPE_IPMC
|
||||
* - DLF_TYPE_UCAST
|
||||
* - DLF_TYPE_BCAST
|
||||
* - DLF_TYPE_MCAST
|
||||
*
|
||||
* Forwarding action is as following:
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_DROP
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_FLOOD_IN_VLAN
|
||||
* - ACTION_FLOOD_IN_ALL_PORT (only for DLF_TYPE_MCAST)
|
||||
* - ACTION_FLOOD_IN_ROUTER_PORTS (only for DLF_TYPE_IPMC)
|
||||
* - ACTION_FOLLOW_FB
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_lookupMissAction_set(rtk_l2_lookupMissType_t type, rtk_action_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_portLookupMissAction_get
|
||||
* Description:
|
||||
* Get forwarding action of specified port when destination address lookup miss.
|
||||
* Input:
|
||||
* port - port id
|
||||
* type - type of lookup miss
|
||||
* Output:
|
||||
* pAction - pointer to forwarding action
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid type of lookup miss
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Type of lookup missis as following:
|
||||
* - DLF_TYPE_IPMC
|
||||
* - DLF_TYPE_UCAST
|
||||
* - DLF_TYPE_MCAST
|
||||
* - DLF_TYPE_BCAST
|
||||
* - DLF_TYPE_IP6MC
|
||||
*
|
||||
* Forwarding action is as following:
|
||||
* - ACTION_DROP
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_FOLLOW_FB
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_portLookupMissAction_get(rtk_port_t port, rtk_l2_lookupMissType_t type, rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_portLookupMissAction_set
|
||||
* Description:
|
||||
* Set forwarding action of specified port when destination address lookup miss.
|
||||
* Input:
|
||||
* port - port id
|
||||
* type - type of lookup miss
|
||||
* action - forwarding action
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid type of lookup miss
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_FWD_ACTION - invalid forwarding action
|
||||
* Note:
|
||||
* Type of lookup missis as following:
|
||||
* - DLF_TYPE_IPMC
|
||||
* - DLF_TYPE_UCAST
|
||||
* - DLF_TYPE_MCAST
|
||||
* - DLF_TYPE_BCAST
|
||||
* - DLF_TYPE_IP6MC
|
||||
*
|
||||
* Forwarding action is as following:
|
||||
* - ACTION_DROP
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_FOLLOW_FB
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_portLookupMissAction_set(rtk_port_t port, rtk_l2_lookupMissType_t type, rtk_action_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_nextValidAddr_get
|
||||
* Description:
|
||||
* Get next valid L2 unicast address entry from the specified device.
|
||||
* Input:
|
||||
* pScanIdx - currently scan index of l2 table to get next.
|
||||
* include_static - the get type, include static mac or not.
|
||||
* Output:
|
||||
* pL2UcastData - structure of l2 address data
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_MAC - invalid mac address
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_L2_ENTRY_NOTFOUND - specified entry not found
|
||||
* Note:
|
||||
* (1) The function will skip valid l2 multicast and ip multicast entry and
|
||||
* reply next valid L2 unicast address is based on index order of l2 table.
|
||||
* (2) Please input 0 for get the first entry of l2 table.
|
||||
* (3) The pScanIdx is the input and also is the output argument.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_nextValidAddr_get(
|
||||
int32 *pScanIdx,
|
||||
rtk_l2_ucastAddr_t *pL2UcastData);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_nextValidAddrOnPort_get
|
||||
* Description:
|
||||
* Get next valid L2 unicast address entry from specify port.
|
||||
* Input:
|
||||
* pScanIdx - currently scan index of l2 table to get next.
|
||||
* Output:
|
||||
* pL2UcastData - structure of l2 address data
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_MAC - invalid mac address
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_L2_ENTRY_NOTFOUND - specified entry not found
|
||||
* Note:
|
||||
* (1) The function will skip valid l2 multicast and ip multicast entry and
|
||||
* reply next valid L2 unicast address is based on index order of l2 table.
|
||||
* (2) Please input 0 for get the first entry of l2 table.
|
||||
* (3) The pScanIdx is the input and also is the output argument.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_nextValidAddrOnPort_get(
|
||||
rtk_port_t port,
|
||||
int32 *pScanIdx,
|
||||
rtk_l2_ucastAddr_t *pL2UcastData);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_nextValidEntry_get
|
||||
* Description:
|
||||
* Get LUT next valid entry.
|
||||
* Input:
|
||||
* pScanIdx - Index field in the structure.
|
||||
* Output:
|
||||
* pL2Entry - entry content
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_L2_EMPTY_ENTRY - Empty LUT entry.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* This API is used to get next valid LUT entry.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_nextValidEntry_get(
|
||||
int32 *pScanIdx,
|
||||
rtk_l2_addr_table_t *pL2Entry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_addr_add
|
||||
* Description:
|
||||
* Add L2 entry to ASIC.
|
||||
* Input:
|
||||
* pL2_addr - L2 entry
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vlan id
|
||||
* RT_ERR_MAC - invalid mac address
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* Need to initialize L2 entry before add it.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_addr_add(rtk_l2_ucastAddr_t *pL2Addr);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_addr_del
|
||||
* Description:
|
||||
* Delete a L2 unicast address entry.
|
||||
* Input:
|
||||
* pL2Addr - L2 entry
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_MAC - invalid mac address
|
||||
* RT_ERR_L2_ENTRY_NOTFOUND - specified entry not found
|
||||
* Note:
|
||||
* If the mac has existed in the LUT, it will be deleted. Otherwise, it will return RT_ERR_L2_ENTRY_NOTFOUND.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_addr_del(rtk_l2_ucastAddr_t *pL2Addr);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_addr_get
|
||||
* Description:
|
||||
* Get L2 entry based on specified vid and MAC address
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pL2Addr - pointer to L2 entry
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vlan id
|
||||
* RT_ERR_MAC - invalid mac address
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_L2_ENTRY_NOTFOUND - specified entry not found
|
||||
* Note:
|
||||
* If the unicast mac address existed in LUT, it will return the port and fid where
|
||||
* the mac is learned. Otherwise, it will return a RT_ERR_L2_ENTRY_NOTFOUND error.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_addr_get(rtk_l2_ucastAddr_t *pL2Addr);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_addr_delAll
|
||||
* Description:
|
||||
* Delete all L2 unicast address entry.
|
||||
* Input:
|
||||
* includeStatic - include static mac or not?
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_addr_delAll(uint32 includeStatic);
|
||||
|
||||
/* Module Name : L2 */
|
||||
/* Sub-module Name: Port move */
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_illegalPortMoveAction_get
|
||||
* Description:
|
||||
* Get forwarding action when illegal port moving happen on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pFwdAction - pointer to forwarding action
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Forwarding action is as following
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_DROP
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_COPY2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_illegalPortMoveAction_get(
|
||||
rtk_port_t port,
|
||||
rtk_action_t *pFwdAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_l2_illegalPortMoveAction_set
|
||||
* Description:
|
||||
* Set forwarding action when illegal port moving happen on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* fwdAction - forwarding action
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_FWD_ACTION - invalid forwarding action
|
||||
* Note:
|
||||
* Forwarding action is as following
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_DROP
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_COPY2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_l2_illegalPortMoveAction_set(
|
||||
rtk_port_t port,
|
||||
rtk_action_t fwdAction);
|
||||
|
||||
#endif /* __DAL_CA8277B_L2_H__ */
|
||||
|
||||
144
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_led.h
Executable file
144
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_led.h
Executable file
|
|
@ -0,0 +1,144 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 40351 $
|
||||
* $Date: 2013-06-20 11:36:05 +0800 (星期四, 20 六月 2013) $
|
||||
*
|
||||
* Purpose : Definition those public LED APIs and its data type in the SDK.
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* (1) LED parameter settings
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_CA8277B_LED_H__
|
||||
#define __DAL_CA8277B_LED_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/led.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_led_init
|
||||
* Description:
|
||||
* Initialize led module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize led module before calling any led APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_led_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_led_blinkRate_get
|
||||
* Description:
|
||||
* Get LED blinking rate
|
||||
* Input:
|
||||
* group - led blinking group
|
||||
* Output:
|
||||
* pBlinkRate - blinking rate.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* There are 8 types of LED blinking rates at 32ms, 48ms, 64ms, 96ms, 128ms, 256ms, 512ms, and 1024ms.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_led_blinkRate_get(rtk_led_blinkGroup_t group, rtk_led_blink_rate_t *pBlinkRate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_led_blinkRate_set
|
||||
* Description:
|
||||
* Get LED blinking rate
|
||||
* Input:
|
||||
* group - led blinking group
|
||||
* blinkRate - blinking rate.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* There are 8 types of LED blinking rates at 32ms, 48ms, 64ms, 96ms, 128ms, 256ms, 512ms, and 1024ms.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_led_blinkRate_set(rtk_led_blinkGroup_t group, rtk_led_blink_rate_t blinkRate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_led_modeForce_get
|
||||
* Description:
|
||||
* Get Led group to congiuration force mode
|
||||
* Input:
|
||||
* ledIdx - LED index id.
|
||||
* Output:
|
||||
* pMode - LED force mode.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can get forced Led group mode.
|
||||
* The force modes that can be set are as following:
|
||||
* - LED_FORCE_BLINK,
|
||||
* - LED_FORCE_OFF,
|
||||
* - LED_FORCE_ON.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_led_modeForce_get(uint32 ledIdx, rtk_led_force_mode_t *pMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_led_modeForce_set
|
||||
* Description:
|
||||
* Set Led group to congiuration force mode
|
||||
* Input:
|
||||
* ledIdx - LED index id.
|
||||
* mode - LED force mode.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API can get forced Led group mode.
|
||||
* The force modes that can be set are as following:
|
||||
* - LED_FORCE_NORMAL,
|
||||
* - LED_FORCE_BLINK,
|
||||
* - LED_FORCE_OFF,
|
||||
* - LED_FORCE_ON.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_led_modeForce_set(uint32 ledIdx, rtk_led_force_mode_t mode);
|
||||
|
||||
#endif /* __DAL_CA8277B_LED_H__ */
|
||||
75
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_mapper.h
Executable file
75
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_mapper.h
Executable file
|
|
@ -0,0 +1,75 @@
|
|||
/*
|
||||
* Copyright(c) Realtek Semiconductor Corporation, 2011
|
||||
* All rights reserved.
|
||||
*
|
||||
* Purpose : Enterprise Switch RTK API mapper table
|
||||
*
|
||||
* Feature :
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_MAPPER_H__
|
||||
#define __DAL_CA8277B_MAPPER_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <common/rt_error.h>
|
||||
#include <dal/dal_mapper.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
//extern dal_mapper_t dal_ca8277b_mapper;
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
|
||||
/* Module Name : */
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_init
|
||||
* Description:
|
||||
* Initilize DAL of enterprise switch
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_FAILED - initialize fail
|
||||
* RT_ERR_OK - initialize success
|
||||
* Note:
|
||||
* RTK must call this function before do other kind of action.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_mapper_get
|
||||
* Description:
|
||||
* Get DAL mapper function
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* dal_mapper_t * - mapper pointer
|
||||
* Note:
|
||||
*/
|
||||
extern dal_mapper_t *dal_ca8277b_mapper_get(void);
|
||||
|
||||
extern void dal_ca8277b_mapper_register(dal_mapper_t *pMapper);
|
||||
|
||||
#endif /* __DAL_CA8277B_MAPPER_H__ */
|
||||
82
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_mirror.h
Executable file
82
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_mirror.h
Executable file
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 39101 $
|
||||
* $Date: 2013-05-03 17:35:27 +0800 (週五, 03 五月 2013) $
|
||||
*
|
||||
* Purpose : Definition of Mirror API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Port-based mirror
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_MIRROR_H__
|
||||
#define __DAL_CA8277B_MIRROR_H__
|
||||
/* Function Name:
|
||||
* dal_ca8277b_mirror_init
|
||||
* Description:
|
||||
* Initialize the mirroring database.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* Note:
|
||||
* Must initialize Mirror module before calling any Mirror APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_mirror_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_mirror_portBased_get
|
||||
* Description:
|
||||
* Get port mirror function.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pMirroringPort - Monitor port.
|
||||
* pMirroredRxPortmask - Rx mirror port mask.
|
||||
* pMirroredTxPortmask - Tx mirror port mask.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* The API is to get mirror function of source port and mirror port.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_mirror_portBased_get(rtk_port_t *pMirroringPort, rtk_portmask_t *pMirroredRxPortmask, rtk_portmask_t *pMirroredTxPortmask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_mirror_portBased_set
|
||||
* Description:
|
||||
* Set port mirror function.
|
||||
* Input:
|
||||
* mirroringPort - Monitor port.
|
||||
* pMirroredRxPortmask - Rx mirror port mask.
|
||||
* pMirroredTxPortmask - Tx mirror port mask.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_PORT_ID - Invalid port number
|
||||
* RT_ERR_PORT_MASK - Invalid portmask.
|
||||
* Note:
|
||||
* The API is to set mirror function of source port and mirror port.
|
||||
* The mirror port can only be set to one port and the TX and RX mirror ports
|
||||
* should be identical.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_mirror_portBased_set(rtk_port_t mirroringPort, rtk_portmask_t *pMirroredRxPortmask, rtk_portmask_t *pMirroredTxPortmask);
|
||||
|
||||
#endif /* __DAL_CA8277B_MIRROR_H__ */
|
||||
307
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_ponmac.h
Executable file
307
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_ponmac.h
Executable file
|
|
@ -0,0 +1,307 @@
|
|||
/*
|
||||
* Copyright (C) 2018 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: $
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition of PON MAC API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) PON mac
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_CA8277B_PONMAC_H__
|
||||
#define __DAL_CA8277B_PONMAC_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/ponmac.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_init
|
||||
* Description:
|
||||
* Configure PON MAC initial settings
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_QUEUE_NUM - Invalid queue number
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_losState_get
|
||||
* Description:
|
||||
* Get the current optical lost of signal (LOS) state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEnable - the current optical lost of signal state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_losState_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_serdesCdr_reset
|
||||
* Description:
|
||||
* Serdes CDR reset
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_serdesCdr_reset(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_linkState_get
|
||||
* Description:
|
||||
* check SD and Sync state of GPON/EPON
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEnable - the current optical lost of signal state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_linkState_get(rtk_ponmac_mode_t mode, uint32 *pSd, uint32 *pSync);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_queue_del
|
||||
* Description:
|
||||
* delete queue from given scheduler id
|
||||
* Input:
|
||||
* pQueue - queue id and scheduler id for ths queue.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_queue_del(rtk_ponmac_queue_t *pQueue);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_queue_get
|
||||
* Description:
|
||||
* get queue setting
|
||||
* Input:
|
||||
* pQueue - queue id and scheduler id for ths queue.
|
||||
* Output:
|
||||
* pQueueCfg - queue configuration
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueueList/pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_queue_get(rtk_ponmac_queue_t *pQueue, rtk_ponmac_queueCfg_t *pQueueCfg);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_queue_add
|
||||
* Description:
|
||||
* Add queue to given scheduler id and apply queue setting
|
||||
* Input:
|
||||
* pQueue - queue id and scheduler id for ths queue.
|
||||
* pQueueCfg - queue configuration
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NULL_POINTER - Pointer pQueueList/pQueue point to NULL.
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_queue_add(rtk_ponmac_queue_t *pQueue, rtk_ponmac_queueCfg_t *pQueueCfg);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_egrBandwidthCtrlRate_get
|
||||
* Description:
|
||||
* Get the egress bandwidth control rate.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRate - egress bandwidth control rate
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* (1) The actual rate is "rate * chip granularity".
|
||||
* (2) The unit of granularity in Apollo is Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_egrBandwidthCtrlRate_get(uint32 *pRate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_egrBandwidthCtrlRate_set
|
||||
* Description:
|
||||
* Set the pon port egress bandwidth control rate.
|
||||
* Input:
|
||||
* rate - egress bandwidth control rate
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_RATE - Invalid input rate
|
||||
* Note:
|
||||
* (1) The actual rate is "rate * chip granularity".
|
||||
* (2) The unit of granularity in ca8277b is 1Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_egrBandwidthCtrlRate_set(uint32 rate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_egrBandwidthCtrlIncludeIfg_get
|
||||
* Description:
|
||||
* get the pon port egress bandwidth control IFG state.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pIfgInclude - pointer of state of IFG
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_egrBandwidthCtrlIncludeIfg_get(rtk_enable_t *pIfgInclude);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_egrBandwidthCtrlIncludeIfg_set
|
||||
* Description:
|
||||
* set the pon port egress bandwidth control IFG state.
|
||||
* Input:
|
||||
* ifgInclude - state of IFG
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_egrBandwidthCtrlIncludeIfg_set(rtk_enable_t ifgInclude);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_txDisableGpio_get
|
||||
* Description:
|
||||
* get the pon module tx disable state.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEnable - pointer of state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_txDisableGpio_get(rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_txDisableGpio_set
|
||||
* Description:
|
||||
* set the pon module tx disable state.
|
||||
* Input:
|
||||
* enable - state
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_txDisableGpio_set(rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_txPowerDisableGpio_get
|
||||
* Description:
|
||||
* get the pon module tx power disable state.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEnable - pointer of state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_txPowerDisableGpio_get(rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_ponmac_txPowerDisableGpio_set
|
||||
* Description:
|
||||
* set the pon module tx power disable state.
|
||||
* Input:
|
||||
* enable - state
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_ponmac_txPowerDisableGpio_set(rtk_enable_t enable);
|
||||
|
||||
#endif /* __DAL_CA8277B_PONMAC_H__ */
|
||||
562
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_port.h
Executable file
562
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_port.h
Executable file
|
|
@ -0,0 +1,562 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 39101 $
|
||||
* $Date: 2013-05-03 17:35:27 +0800 (星期五, 03 五月 2013) $
|
||||
*
|
||||
* Purpose : Definition of Port API
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* (1) Parameter settings for the port-based view
|
||||
* (2) RTCT
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_CA8277B_PORT_H__
|
||||
#define __DAL_CA8277B_PORT_H__
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_init
|
||||
* Description:
|
||||
* Initialize port module of the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Module must be initialized before using all of APIs in this module
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_link_get
|
||||
* Description:
|
||||
* Get the link status of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pStatus - pointer to the link status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* The link status of the port is as following:
|
||||
* - LINKDOWN
|
||||
* - LINKUP
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_link_get(rtk_port_t port, rtk_port_linkStatus_t *pStatus);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_speedDuplex_get
|
||||
* Description:
|
||||
* Get the negotiated port speed and duplex status of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pSpeed - pointer to the port speed
|
||||
* pDuplex - pointer to the port duplex
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_PORT_LINKDOWN - link down port status
|
||||
* Note:
|
||||
* (1) The speed type of the port is as following:
|
||||
* - PORT_SPEED_10M
|
||||
* - PORT_SPEED_100M
|
||||
* - PORT_SPEED_1000M
|
||||
*
|
||||
* (2) The duplex mode of the port is as following:
|
||||
* - HALF_DUPLEX
|
||||
* - FULL_DUPLEX
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_speedDuplex_get(
|
||||
rtk_port_t port,
|
||||
rtk_port_speed_t *pSpeed,
|
||||
rtk_port_duplex_t *pDuplex);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_flowctrl_get
|
||||
* Description:
|
||||
* Get the negotiated flow control status of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pTxStatus - pointer to the negotiation result of the Tx flow control
|
||||
* pRxStatus - pointer to the negotiation result of the Rx flow control
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_PORT_LINKDOWN - link down port status
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_flowctrl_get(
|
||||
rtk_port_t port,
|
||||
uint32 *pTxStatus,
|
||||
uint32 *pRxStatus);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyAutoNegoEnable_get
|
||||
* Description:
|
||||
* Get PHY ability of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - pointer to PHY auto negotiation status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyAutoNegoEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyAutoNegoEnable_set
|
||||
* Description:
|
||||
* Set PHY ability of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* enable - enable PHY auto negotiation
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - input parameter out of range
|
||||
* Note:
|
||||
* - ENABLED : switch to PHY auto negotiation mode
|
||||
* - DISABLED: switch to PHY force mode
|
||||
* - Once the abilities of both auto-nego and force mode are set,
|
||||
* you can freely swtich the mode without calling ability setting API again
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyAutoNegoEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyAutoNegoAbility_get
|
||||
* Description:
|
||||
* Get PHY auto negotiation ability of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pAbility - pointer to the PHY ability
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyAutoNegoAbility_get(
|
||||
rtk_port_t port,
|
||||
rtk_port_phy_ability_t *pAbility);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyAutoNegoAbility_set
|
||||
* Description:
|
||||
* Set PHY auto negotiation ability of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* pAbility - pointer to the PHY ability
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* You can set these abilities no matter which mode PHY currently stays on
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyAutoNegoAbility_set(
|
||||
rtk_port_t port,
|
||||
rtk_port_phy_ability_t *pAbility);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyForceModeAbility_get
|
||||
* Description:
|
||||
* Get PHY ability status of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pSpeed - pointer to the port speed
|
||||
* pDuplex - pointer to the port duplex
|
||||
* pFlowControl - pointer to the flow control enable status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyForceModeAbility_get(
|
||||
rtk_port_t port,
|
||||
rtk_port_speed_t *pSpeed,
|
||||
rtk_port_duplex_t *pDuplex,
|
||||
rtk_enable_t *pFlowControl);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyForceModeAbility_set
|
||||
* Description:
|
||||
* Set the port speed/duplex mode/pause/asy_pause in the PHY force mode
|
||||
* Input:
|
||||
* port - port id
|
||||
* speed - port speed
|
||||
* duplex - port duplex mode
|
||||
* flowControl - enable flow control
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_PHY_SPEED - invalid PHY speed setting
|
||||
* RT_ERR_PHY_DUPLEX - invalid PHY duplex setting
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* (1) You can set these abilities no matter which mode PHY stays currently.
|
||||
* However, these abilities only take effect when the PHY is in Force mode
|
||||
*
|
||||
* (2) The speed type of the port is as following:
|
||||
* - PORT_SPEED_10M
|
||||
* - PORT_SPEED_100M
|
||||
* - PORT_SPEED_1000M
|
||||
*
|
||||
* (3) The duplex mode of the port is as following:
|
||||
* - HALF_DUPLEX
|
||||
* - FULL_DUPLEX
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyForceModeAbility_set(
|
||||
rtk_port_t port,
|
||||
rtk_port_speed_t speed,
|
||||
rtk_port_duplex_t duplex,
|
||||
rtk_enable_t flowControl);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyReg_get
|
||||
* Description:
|
||||
* Get PHY register data of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* page - page id
|
||||
* reg - reg id
|
||||
* Output:
|
||||
* pData - pointer to the PHY reg data
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_PHY_PAGE_ID - invalid page id
|
||||
* RT_ERR_PHY_REG_ID - invalid reg id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyReg_get(
|
||||
rtk_port_t port,
|
||||
uint32 page,
|
||||
rtk_port_phy_reg_t reg,
|
||||
uint32 *pData);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyReg_set
|
||||
* Description:
|
||||
* Set PHY register data of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* page - page id
|
||||
* reg - reg id
|
||||
* data - reg data
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_PHY_PAGE_ID - invalid page id
|
||||
* RT_ERR_PHY_REG_ID - invalid reg id
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyReg_set(
|
||||
rtk_port_t port,
|
||||
uint32 page,
|
||||
rtk_port_phy_reg_t reg,
|
||||
uint32 data);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_adminEnable_get
|
||||
* Description:
|
||||
* Get port admin status of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - pointer to the port admin status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_adminEnable_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_adminEnable_set
|
||||
* Description:
|
||||
* Set port admin status of the specific port
|
||||
* Input:
|
||||
* port - port id
|
||||
* enable - port admin status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_adminEnable_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyPowerDown_get
|
||||
* Description:
|
||||
* Get PHY power down state of the specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - pointer to power down enable state
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* none
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyPowerDown_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_phyPowerDown_set
|
||||
* Description:
|
||||
* Set PHY power down state of the specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* enable - PHY power down enable state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* none
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_phyPowerDown_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_macForceAbility_get
|
||||
* Description:
|
||||
* Get MAC forece ability
|
||||
* Input:
|
||||
* port - the ports for get ability
|
||||
* pMacAbility - mac ability value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_macForceAbility_get(rtk_port_t port,rtk_port_macAbility_t *pMacAbility);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_macForceAbility_set
|
||||
* Description:
|
||||
* Set MAC forece ability
|
||||
* Input:
|
||||
* port - the ports for set ability
|
||||
* macAbility - mac ability value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_macForceAbility_set(rtk_port_t port,rtk_port_macAbility_t macAbility);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_macForceAbilityState_get
|
||||
* Description:
|
||||
* Get MAC forece ability state
|
||||
* Input:
|
||||
* port - the ports for get ability
|
||||
* pState - mac ability state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_macForceAbilityState_get(rtk_port_t port,rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_macForceAbilityState_set
|
||||
* Description:
|
||||
* Set MAC forece ability state
|
||||
* Input:
|
||||
* port - the ports for set ability
|
||||
* state - mac ability state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_macForceAbilityState_set(rtk_port_t port,rtk_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_isolationEntry_get
|
||||
* Description:
|
||||
* Get Port isolation portmask
|
||||
* Input:
|
||||
* mode - Configuration 0 or 1
|
||||
* port - Ingress port
|
||||
* Output:
|
||||
* pPortmask - Isolation portmask for specified ingress port.
|
||||
* pExtPortmask - Isolation extension portmask for specified ingress port.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_isolationEntry_get(rtk_port_isoConfig_t mode, rtk_port_t port, rtk_portmask_t *pPortmask, rtk_portmask_t *pExtPortmask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_isolationEntry_set
|
||||
* Description:
|
||||
* Set Port isolation portmask
|
||||
* Input:
|
||||
* mode - Configuration 0 or 1
|
||||
* port - Ingress port
|
||||
* pPortmask - Isolation portmask for specified ingress port.
|
||||
* pExtPortmask - Isolation extension portmask for specified ingress port.
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_isolationEntry_set(rtk_port_isoConfig_t mode, rtk_port_t port, rtk_portmask_t *pPortmask, rtk_portmask_t *pExtPortmask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_serdesMode_set
|
||||
* Description:
|
||||
* Set Serdes Mode
|
||||
* Input:
|
||||
* num - serdes number
|
||||
* cfg - serdes mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_serdesMode_set(uint8 num, uint8 cfg);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_port_serdesMode_get
|
||||
* Description:
|
||||
* Get Serdes Mode
|
||||
* Input:
|
||||
* num - serdes number
|
||||
* Output:
|
||||
* cfg - serdes mode
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_port_serdesMode_get(uint8 num, uint8 *cfg);
|
||||
|
||||
#endif /* __DAL_CA8277B_PORT_H__ */
|
||||
298
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_qos.h
Executable file
298
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_qos.h
Executable file
|
|
@ -0,0 +1,298 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 42383 $
|
||||
* $Date: 2013-08-28 14:10:44 +0800 (Wed, 28 Aug 2013) $
|
||||
*
|
||||
* Purpose : Definition of QoS API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Ingress Priority Decision
|
||||
* (2) Egress Remarking
|
||||
* (3) Queue Scheduling
|
||||
* (4) Congestion avoidance
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_QOS_H__
|
||||
#define __DAL_CA8277B_QOS_H__
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/qos.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/****************************************************************/
|
||||
/* Constant Definition */
|
||||
/****************************************************************/
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_init
|
||||
* Description:
|
||||
* Configure QoS initial settings
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_QUEUE_NUM - Invalid queue number
|
||||
* Note:
|
||||
*
|
||||
* The initialization does the following actions:
|
||||
* - set input bandwidth control parameters to default values
|
||||
* - set priority decision parameters
|
||||
* - set scheduling parameters
|
||||
* - disable port remark ability
|
||||
* - CPU port init 8 queue using prioroty to queue mapping index 0
|
||||
* - Other port init 1 queue using prioroty to queue mapping index 1
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_priSelGroup_get
|
||||
* Description:
|
||||
* Get weight of each priority assignment on specified priority selection group.
|
||||
* Input:
|
||||
* grpIdx - index of priority selection group
|
||||
* Output:
|
||||
* pWeightOfPriSel - pointer to weight of each priority assignment
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Apollo only support group 0
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_priSelGroup_get(uint32 grpIdx, rtk_qos_priSelWeight_t *pWeightOfPriSel);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_priSelGroup_set
|
||||
* Description:
|
||||
* Set weight of each priority assignment on specified priority selection group.
|
||||
* Input:
|
||||
* grpIdx - index of priority selection group
|
||||
* pWeightOfPriSel - weight of each priority assignment
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Apollo only support group 0
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_priSelGroup_set(uint32 grpIdx, rtk_qos_priSelWeight_t *pWeightOfPriSel);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_portPriSelGroup_get
|
||||
* Description:
|
||||
* Get priority selection group for specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pPriSelGrpIdx - pointer to index of priority selection group
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_portPriSelGroup_get(rtk_port_t port, uint32 *pPriSelGrpIdx);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_portPriSelGroup_set
|
||||
* Description:
|
||||
* Set priority selection group for specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* priSelGrpIdx - index of priority selection group
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_portPriSelGroup_set(rtk_port_t port, uint32 priSelGrpIdx);
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_priMap_get
|
||||
* Description:
|
||||
* Get the entry of internal priority to QID mapping table.
|
||||
* Input:
|
||||
* group - the group of priority to Queue id map(0~3).
|
||||
* pPri2qid - array of internal priority on a queue
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_ENTRY_INDEX - Invalid group index
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_priMap_get(uint32 group, rtk_qos_pri2queue_t *pPri2qid);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_priMap_set
|
||||
* Description:
|
||||
* Set the entry of internal priority to QID mapping table.
|
||||
* Input:
|
||||
* group - the group of priority to Queue id map(0~3).
|
||||
* pPri2qid - array of internal priority on a queue
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_ENTRY_INDEX - Invalid group index
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Below is an example of internal priority to QID mapping table.
|
||||
* -
|
||||
* - Priority
|
||||
* - group 0 1 2 3 4 5 6 7
|
||||
* - ================================
|
||||
* - 0 0 1 2 3 4 5 6 7
|
||||
* - 1 0 0 0 0 0 0 0 0
|
||||
* - 2 0 0 0 0 6 6 6 6
|
||||
* - 3 0 0 0 1 1 2 2 3
|
||||
* -for table index 0
|
||||
* - pPri2qid[0] = 0 internal priority 0 map to queue 0
|
||||
* - pPri2qid[1] = 1 internal priority 1 map to queue 1
|
||||
* - pPri2qid[2] = 2 internal priority 2 map to queue 2
|
||||
* - pPri2qid[3] = 3 internal priority 3 map to queue 3
|
||||
* - pPri2qid[4] = 4 internal priority 4 map to queue 4
|
||||
* - pPri2qid[5] = 5 internal priority 5 map to queue 5
|
||||
* - pPri2qid[6] = 6 internal priority 6 map to queue 6
|
||||
* - pPri2qid[7] = 7 internal priority 7 map to queue 7
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_priMap_set(uint32 group, rtk_qos_pri2queue_t *pPri2qid);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_portPriMap_get
|
||||
* Description:
|
||||
* Get the value of internal priority to QID mapping table on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pGroup - Priority to queue mapping group
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_portPriMap_get(rtk_port_t port, uint32 *pGroup);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_portPriMap_set
|
||||
* Description:
|
||||
* Set the value of internal priority to QID mapping table on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* index - index to priority to queue table
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_portPriMap_set(rtk_port_t port, uint32 group);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_schedulingQueue_get
|
||||
* Description:
|
||||
* Get the scheduling types and weights of queues on specific port in egress scheduling.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pQweights - the array of weights for WRR/WFQ queue (valid:1~128, 0 for STRICT_PRIORITY queue)
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The types of queue are: WFQ_WRR_PRIORITY or STRICT_PRIORITY.
|
||||
* If the weight is 0 then the type is STRICT_PRIORITY, else the type is WFQ_WRR_PRIORITY.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_schedulingQueue_get(rtk_port_t port, rtk_qos_queue_weights_t *pQweights);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_qos_schedulingQueue_set
|
||||
* Description:
|
||||
* Set the scheduling types and weights of queues on specific port in egress scheduling.
|
||||
* Input:
|
||||
* port - port id
|
||||
* pQweights - the array of weights for WRR/WFQ queue (valid:1~128, 0 for STRICT_PRIORITY queue)
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_QOS_QUEUE_WEIGHT - Invalid queue weight
|
||||
* Note:
|
||||
* The types of queue are: WFQ_WRR_PRIORITY or STRICT_PRIORITY.
|
||||
* If the weight is 0 then the type is STRICT_PRIORITY, else the type is WFQ_WRR_PRIORITY.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_qos_schedulingQueue_set(rtk_port_t port, rtk_qos_queue_weights_t *pQweights);
|
||||
|
||||
#endif /* __DAL_CA8277B_QOS_H__ */
|
||||
524
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_rate.h
Executable file
524
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_rate.h
Executable file
|
|
@ -0,0 +1,524 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 39101 $
|
||||
* $Date: 2013-05-03 17:35:27 +0800 (週五, 03 五月 2013) $
|
||||
*
|
||||
* Purpose : Definition of Port Bandwidth Control and Storm Control API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Configuration of Ingress Port Bandwidth Control [Ingress Rate Limit]
|
||||
* (2) Configuration of Egress Port Bandwidth Control [Egress Rate Limit]
|
||||
* (3) Configuration of Storm Control
|
||||
* (3) Configuration of meter
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_RATE_H__
|
||||
#define __DAL_CA8277B_RATE_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : Rate */
|
||||
/* Sub-module Name: Configuration of egress port bandwidth control */
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_init
|
||||
* Description:
|
||||
* Initial the rate module.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_portIgrBandwidthCtrlRate_get
|
||||
* Description:
|
||||
* Get the ingress bandwidth control rate.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pRate - ingress bandwidth control rate
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* (1) The rate unit is 1 kbps and the range is from 8k to 1048568k.
|
||||
* (2) The granularity of rate is 8 kbps
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_portIgrBandwidthCtrlRate_get(rtk_port_t port, uint32 *pRate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_portIgrBandwidthCtrlRate_set
|
||||
* Description:
|
||||
* Set the ingress bandwidth control rate.
|
||||
* Input:
|
||||
* port - port id
|
||||
* rate - ingress bandwidth control rate
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_RATE - Invalid input rate
|
||||
* Note:
|
||||
* (1) The rate unit is 1 kbps and the range is from 8k to 1048568k.
|
||||
* (2) The granularity of rate is 8 kbps
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_portIgrBandwidthCtrlRate_set(rtk_port_t port, uint32 rate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_portEgrBandwidthCtrlRate_get
|
||||
* Description:
|
||||
* Get the egress bandwidth control rate.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pRate - egress bandwidth control rate
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* (1) The rate unit is 1 kbps and the range is from 1k to 1048568k.
|
||||
* (2) The granularity of rate is 1 kbps
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_portEgrBandwidthCtrlRate_get(rtk_port_t port, uint32 *pRate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_portEgrBandwidthCtrlRate_set
|
||||
* Description:
|
||||
* Set the egress bandwidth control rate.
|
||||
* Input:
|
||||
* port - port id
|
||||
* rate - egress bandwidth control rate
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_RATE - Invalid input rate
|
||||
* Note:
|
||||
* (1) The rate unit is 1 kbps and the range is from 1k to 1048568k.
|
||||
* (2) The granularity of rate is 1 kbps
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_portEgrBandwidthCtrlRate_set(rtk_port_t port, uint32 rate);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_egrQueueBwCtrlEnable_get
|
||||
* Description:
|
||||
* Get enable status of egress bandwidth control on specified queue.
|
||||
* Input:
|
||||
* port - port id
|
||||
* queue - queue id
|
||||
* Output:
|
||||
* pEnable - Pointer to enable status of egress queue bandwidth control
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_QUEUE_ID - invalid queue id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_egrQueueBwCtrlEnable_get(
|
||||
rtk_port_t port,
|
||||
rtk_qid_t queue,
|
||||
rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_egrQueueBwCtrlEnable_set
|
||||
* Description:
|
||||
* Set enable status of egress bandwidth control on specified queue.
|
||||
* Input:
|
||||
* port - port id
|
||||
* queue - queue id
|
||||
* enable - enable status of egress queue bandwidth control
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_QUEUE_ID - invalid queue id
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_egrQueueBwCtrlEnable_set(
|
||||
rtk_port_t port,
|
||||
rtk_qid_t queue,
|
||||
rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_egrQueueBwCtrlMeterIdx_get
|
||||
* Description:
|
||||
* Get rate of egress bandwidth control on specified queue.
|
||||
* Input:
|
||||
* port - port id
|
||||
* queue - queue id
|
||||
* Output:
|
||||
* pMeterIndex - meter index
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_QUEUE_ID - invalid queue id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* The actual rate is "rate * chip granularity".
|
||||
* The unit of granularity in Apollo is 8Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_egrQueueBwCtrlMeterIdx_get(
|
||||
rtk_port_t port,
|
||||
rtk_qid_t queue,
|
||||
uint32 *pMeterIndex);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_egrQueueBwCtrlMeterIdx_set
|
||||
* Description:
|
||||
* Set rate of egress bandwidth control on specified queue.
|
||||
* Input:
|
||||
* port - port id
|
||||
* queue - queue id
|
||||
* meterIndex - meter index
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_QUEUE_ID - invalid queue id
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The actual rate is "rate * chip granularity".
|
||||
* The unit of granularity in Apollo is 8Kbps.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_egrQueueBwCtrlMeterIdx_set(
|
||||
rtk_port_t port,
|
||||
rtk_qid_t queue,
|
||||
uint32 meterIndex);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_stormControlRate_get
|
||||
* Description:
|
||||
* Get the storm control meter index.
|
||||
* Input:
|
||||
* port - port id
|
||||
* stormType - storm group type
|
||||
* Output:
|
||||
* pIndex - storm control meter index.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_ENTRY_NOTFOUND - The global strom group is not enable for this group
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
* - Before call this API must make sure the global strom gruop for given group is enabled,
|
||||
* otherwise this API will return RT_ERR_ENTRY_NOTFOUND
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_stormControlMeterIdx_get(
|
||||
rtk_port_t port,
|
||||
rtk_rate_storm_group_t stormType,
|
||||
uint32 *pIndex);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_stormControlMeterIdx_set
|
||||
* Description:
|
||||
* Set the storm control meter index.
|
||||
* Input:
|
||||
* port - port id
|
||||
* storm_type - storm group type
|
||||
* index - storm control meter index.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_ENTRY_NOTFOUND - The global strom group is not enable for this group
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* RT_ERR_RATE - Invalid input bandwidth
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
* - Before call this API must make sure the global strom gruop for given group is enabled,
|
||||
* otherwise this API will return RT_ERR_ENTRY_NOTFOUND
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_stormControlMeterIdx_set(
|
||||
rtk_port_t port,
|
||||
rtk_rate_storm_group_t stormType,
|
||||
uint32 index);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_stormControlPortEnable_get
|
||||
* Description:
|
||||
* Get enable status of storm control on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* stormType - storm group type
|
||||
* Output:
|
||||
* pEnable - pointer to enable status of storm control
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_SFC_UNKNOWN_GROUP - Unknown storm group
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_stormControlPortEnable_get(
|
||||
rtk_port_t port,
|
||||
rtk_rate_storm_group_t stormType,
|
||||
rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_stormControlPortEnable_set
|
||||
* Description:
|
||||
* Set enable status of storm control on specified port.
|
||||
* Input:
|
||||
* port - port id
|
||||
* stormType - storm group type
|
||||
* enable - enable status of storm control
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_SFC_UNKNOWN_GROUP - Unknown storm group
|
||||
* RT_ERR_ENTRY_NOTFOUND - The global strom group is not enable for this group
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* The storm group types are as following:
|
||||
* - STORM_GROUP_UNKNOWN_UNICAST
|
||||
* - STORM_GROUP_UNKNOWN_MULTICAST
|
||||
* - STORM_GROUP_MULTICAST
|
||||
* - STORM_GROUP_BROADCAST
|
||||
* - STORM_GROUP_DHCP
|
||||
* - STORM_GROUP_ARP
|
||||
* - STORM_GROUP_IGMP_MLD
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_stormControlPortEnable_set(
|
||||
rtk_port_t port,
|
||||
rtk_rate_storm_group_t stormType,
|
||||
rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_shareMeter_set
|
||||
* Description:
|
||||
* Set meter configuration
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* rate - rate of share meter
|
||||
* ifgInclude - include IFG or not, ENABLE:include DISABLE:exclude
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* RT_ERR_RATE - Invalid rate
|
||||
* RT_ERR_INPUT - Invalid input parameters
|
||||
* Note:
|
||||
* The API can set shared meter rate and ifg include for each meter.
|
||||
* The rate unit is 1 kbps and the range is from 8k to 1048568k.
|
||||
* The granularity of rate is 8 kbps. The ifg_include parameter is used
|
||||
* for rate calculation with/without inter-frame-gap and preamble.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_shareMeter_set (
|
||||
uint32 index,
|
||||
uint32 rate,
|
||||
rtk_enable_t ifgInclude );
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_shareMeter_get
|
||||
* Description:
|
||||
* Get meter configuration
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* Output:
|
||||
* pRate - pointer of rate of share meter
|
||||
* pIfgInclude - include IFG or not, ENABLE:include DISABLE:exclude
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The API can get shared meter rate and ifg include for each meter.
|
||||
* The rate unit is 1 kbps and the granularity of rate is 8 kbps.
|
||||
* The ifg_include parameter is used for rate calculation with/without inter-frame-gap and preamble
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_shareMeter_get (
|
||||
uint32 index,
|
||||
uint32* pRate,
|
||||
rtk_enable_t* pIfgInclude );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_shareMeterMode_set
|
||||
* Description:
|
||||
* Set meter mode
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* meterMode - meter mode(bit rate mode or packet rate mode)
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Error Input
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The API can set shared meter type.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_shareMeterMode_set (
|
||||
uint32 index,
|
||||
rtk_rate_metet_mode_t meterMode );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_shareMeterMode_get
|
||||
* Description:
|
||||
* Set meter mode
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* pMeterMode - meter mode(bit rate mode or packet rate mode)
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Error Input
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The API can get shared meter mode.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_shareMeterMode_get (
|
||||
uint32 index,
|
||||
rtk_rate_metet_mode_t* pMeterMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_shareMeterBucket_set
|
||||
* Description:
|
||||
* Set meter Bucket Size
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* bucketSize - Bucket Size
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Error Input
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The API can set shared meter bucket size.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_shareMeterBucket_set (
|
||||
uint32 index,
|
||||
uint32 bucketSize );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_rate_shareMeterBucket_get
|
||||
* Description:
|
||||
* Get meter Bucket Size
|
||||
* Input:
|
||||
* index - shared meter index
|
||||
* Output:
|
||||
* pBucketSize - Bucket Size
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_FILTER_METER_ID - Invalid meter
|
||||
* Note:
|
||||
* The API can get shared meter bucket size.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_rate_shareMeterBucket_get (
|
||||
uint32 index,
|
||||
uint32* pBucketSize );
|
||||
|
||||
#endif /* __DAL_CA8277B_RATE_H__ */
|
||||
252
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_sec.h
Executable file
252
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_sec.h
Executable file
|
|
@ -0,0 +1,252 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 39101 $
|
||||
* $Date: 2013-05-03 17:35:27 +0800 (Fri, 03 May 2013) $
|
||||
*
|
||||
* Purpose : Definition of Security API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) attack prevention
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_SEC_H__
|
||||
#define __DAL_CA8277B_SEC_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <common/rt_error.h>
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
//base on core_clk=333MHz: 4*512*3ns*DOS_ATK_FLOOD_CNT_cnt(0x29a) == 4ms;
|
||||
//(0x29a)/4 = 166 for 1ms
|
||||
#define DOS_ATK_FLOOD_UNIT_1MS 166
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : Security */
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_init
|
||||
* Description:
|
||||
* Initialize security module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize security module before calling any sec APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_init(void);
|
||||
|
||||
/* Module Name : Security */
|
||||
/* Sub-module Name: Attack prevention */
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_portAttackPreventState_get
|
||||
* Description:
|
||||
* Per port get attack prevention confi state
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pEnable - status attack prevention
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* The status attack prevention:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_portAttackPreventState_get(rtk_port_t port, rtk_enable_t *pEnable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_portAttackPreventState_set
|
||||
* Description:
|
||||
* Per port set attack prevention confi state
|
||||
* Input:
|
||||
* port - port id.
|
||||
* enable - status attack prevention
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - Invalid port id
|
||||
* Note:
|
||||
* The status attack prevention:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_portAttackPreventState_set(rtk_port_t port, rtk_enable_t enable);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_attackPrevent_get
|
||||
* Description:
|
||||
* Get action for each kind of attack on specified port.
|
||||
* Input:
|
||||
* attackType - type of attack
|
||||
* Output:
|
||||
* pAction - pointer to action for attack
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Action is as following:
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_DROP
|
||||
* - ACTION_FORWARD
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_attackPrevent_get(
|
||||
rtk_sec_attackType_t attackType,
|
||||
rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_attackPrevent_set
|
||||
* Description:
|
||||
* Set action for each kind of attack.
|
||||
* Input:
|
||||
* attack_type - type of attack
|
||||
* action - action for attack
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_FWD_ACTION - invalid forwarding action
|
||||
* RT_ERR_INPUT - invalid input parameter
|
||||
* Note:
|
||||
* Action is as following:
|
||||
* - ACTION_TRAP2CPU
|
||||
* - ACTION_DROP
|
||||
* - ACTION_FORWARD
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_attackPrevent_set(
|
||||
rtk_sec_attackType_t attackType,
|
||||
rtk_action_t action);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_attackFloodThresh_get
|
||||
* Description:
|
||||
* Get flood threshold, time unit 1ms.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pFloodThresh - pointer to flood threshold
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Flood type is as following:
|
||||
* - SEC_ICMPFLOOD
|
||||
* - SEC_SYNCFLOOD
|
||||
* - SEC_FINFLOOD
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_attackFloodThresh_get(rtk_sec_attackFloodType_t type, uint32 *pFloodThresh);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_attackFloodThresh_set
|
||||
* Description:
|
||||
* Set flood threshold, time unit 1ms.
|
||||
* Input:
|
||||
* floodThresh - flood threshold
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Flood type is as following:
|
||||
* - SEC_ICMPFLOOD
|
||||
* - SEC_SYNCFLOOD
|
||||
* - SEC_FINFLOOD
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_attackFloodThresh_set(rtk_sec_attackFloodType_t type, uint32 floodThresh);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_attackFloodThreshUnit_get
|
||||
* Description:
|
||||
* Get time unit of flood threshold, 1/2/4/8/16/32/64/128/512 ms.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pFloodThreshUnit - pointer to flood threshold time unit
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Flood type is as following:
|
||||
* - SEC_ICMPFLOOD
|
||||
* - SEC_SYNCFLOOD
|
||||
* - SEC_FINFLOOD
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_attackFloodThreshUnit_get(rtk_sec_attackFloodType_t type, uint32 *pFloodThreshUnit);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_sec_attackFloodThreshUnit_set
|
||||
* Description:
|
||||
* Set time unit of flood threshold, 1/2/4/8/16/32/64/128/512 ms.
|
||||
* Input:
|
||||
* floodThresh - flood threshold time unit
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Flood type is as following:
|
||||
* - SEC_ICMPFLOOD
|
||||
* - SEC_SYNCFLOOD
|
||||
* - SEC_FINFLOOD
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_sec_attackFloodThreshUnit_set(rtk_sec_attackFloodType_t type, uint32 floodThreshUnit);
|
||||
|
||||
#endif /* __DAL_CA8277B_SEC_H__ */
|
||||
198
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_stat.h
Executable file
198
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_stat.h
Executable file
|
|
@ -0,0 +1,198 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 39157 $
|
||||
* $Date: 2013-05-06 17:36:30 +0800 (Mon, 06 May 2013) $
|
||||
*
|
||||
* Purpose : Definition of Statistic API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Statistic Counter Reset
|
||||
* (2) Statistic Counter Get
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_STAT_H__
|
||||
#define __DAL_CA8277B_STAT_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <rtk/stat.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
typedef struct dal_port_cntr_s
|
||||
{
|
||||
uint64 ifInOctets;
|
||||
uint64 ifInUcastPkts;
|
||||
uint64 ifInMulticastPkts;
|
||||
uint64 ifInBroadcastPkts;
|
||||
uint64 ifInDiscards;
|
||||
uint64 ifOutOctets;
|
||||
uint64 ifOutDiscards;
|
||||
uint64 ifOutUcastPkts;
|
||||
uint64 ifOutMulticastPkts;
|
||||
uint64 ifOutBrocastPkts;
|
||||
uint64 dot1dBasePortDelayExceededDiscards;
|
||||
uint64 dot1dTpPortInDiscards;
|
||||
uint64 dot1dTpHcPortInDiscards;
|
||||
uint64 dot3InPauseFrames;
|
||||
uint64 dot3OutPauseFrames;
|
||||
uint64 dot3OutPauseOnFrames;
|
||||
uint64 dot3StatsAligmentErrors;
|
||||
uint64 dot3StatsFCSErrors;
|
||||
uint64 dot3StatsSingleCollisionFrames;
|
||||
uint64 dot3StatsMultipleCollisionFrames;
|
||||
uint64 dot3StatsDeferredTransmissions;
|
||||
uint64 dot3StatsLateCollisions;
|
||||
uint64 dot3StatsExcessiveCollisions;
|
||||
uint64 dot3StatsFrameTooLongs;
|
||||
uint64 dot3StatsSymbolErrors;
|
||||
uint64 dot3ControlInUnknownOpcodes;
|
||||
uint64 etherStatsDropEvents;
|
||||
uint64 etherStatsOctets;
|
||||
uint64 etherStatsBcastPkts;
|
||||
uint64 etherStatsMcastPkts;
|
||||
uint64 etherStatsUndersizePkts;
|
||||
uint64 etherStatsOversizePkts;
|
||||
uint64 etherStatsFragments;
|
||||
uint64 etherStatsJabbers;
|
||||
uint64 etherStatsCollisions;
|
||||
uint64 etherStatsCRCAlignErrors;
|
||||
uint64 etherStatsPkts64Octets;
|
||||
uint64 etherStatsPkts65to127Octets;
|
||||
uint64 etherStatsPkts128to255Octets;
|
||||
uint64 etherStatsPkts256to511Octets;
|
||||
uint64 etherStatsPkts512to1023Octets;
|
||||
uint64 etherStatsPkts1024to1518Octets;
|
||||
uint64 etherStatsTxOctets;
|
||||
uint64 etherStatsTxUndersizePkts;
|
||||
uint64 etherStatsTxOversizePkts;
|
||||
uint64 etherStatsTxPkts64Octets;
|
||||
uint64 etherStatsTxPkts65to127Octets;
|
||||
uint64 etherStatsTxPkts128to255Octets;
|
||||
uint64 etherStatsTxPkts256to511Octets;
|
||||
uint64 etherStatsTxPkts512to1023Octets;
|
||||
uint64 etherStatsTxPkts1024to1518Octets;
|
||||
uint64 etherStatsTxPkts1519toMaxOctets;
|
||||
uint64 etherStatsTxBcastPkts;
|
||||
uint64 etherStatsTxMcastPkts;
|
||||
uint64 etherStatsTxFragments;
|
||||
uint64 etherStatsTxJabbers;
|
||||
uint64 etherStatsTxCRCAlignErrors;
|
||||
uint64 etherStatsRxUndersizePkts;
|
||||
uint64 etherStatsRxUndersizeDropPkts;
|
||||
uint64 etherStatsRxOversizePkts;
|
||||
uint64 etherStatsRxPkts64Octets;
|
||||
uint64 etherStatsRxPkts65to127Octets;
|
||||
uint64 etherStatsRxPkts128to255Octets;
|
||||
uint64 etherStatsRxPkts256to511Octets;
|
||||
uint64 etherStatsRxPkts512to1023Octets;
|
||||
uint64 etherStatsRxPkts1024to1518Octets;
|
||||
uint64 etherStatsRxPkts1519toMaxOctets;
|
||||
uint64 inOampduPkts;
|
||||
uint64 outOampduPkts;
|
||||
}dal_port_cntr_t;
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : STAT */
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_stat_init
|
||||
* Description:
|
||||
* Initialize stat module of the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_STAT_GLOBAL_CNTR_FAIL - Could not retrieve/reset Global Counter
|
||||
* RT_ERR_STAT_PORT_CNTR_FAIL - Could not retrieve/reset Port Counter
|
||||
* Note:
|
||||
* Must initialize stat module before calling any stat APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_stat_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_stat_port_reset
|
||||
* Description:
|
||||
* Reset the specified port counters in the specified device.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_STAT_PORT_CNTR_FAIL - Could not retrieve/reset Port Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_stat_port_reset(rtk_port_t port);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rtl9607c_stat_port_get
|
||||
* Description:
|
||||
* Get one specified port counter.
|
||||
* Input:
|
||||
* port - port id
|
||||
* cntrIdx - specified port counter index
|
||||
* Output:
|
||||
* pCntr - pointer buffer of counter value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_STAT_PORT_CNTR_FAIL - Could not retrieve/reset Port Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_stat_port_get(rtk_port_t port, rtk_stat_port_type_t cntrIdx, uint64 *pCntr);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_stat_port_getAll
|
||||
* Description:
|
||||
* Get all counters of one specified port in the specified device.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pPortCntrs - pointer buffer of counter value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_STAT_PORT_CNTR_FAIL - Could not retrieve/reset Port Counter
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_stat_port_getAll(rtk_port_t port, rtk_stat_port_cntr_t *pPortCntrs);
|
||||
|
||||
#endif /* __DAL_CA8277B_STAT_H__ */
|
||||
171
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_switch.h
Executable file
171
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_switch.h
Executable file
|
|
@ -0,0 +1,171 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 42093 $
|
||||
* $Date: 2013-08-15 22:14:29 +0800 (?Ÿæ??? 15 ?«æ? 2013) $
|
||||
*
|
||||
* Purpose : Definition of Switch Global API
|
||||
*
|
||||
* Feature : The file have include the following module and sub-modules
|
||||
* (1) Switch parameter settings
|
||||
* (2) Management address and vlan configuration.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_SWITCH_H__
|
||||
#define __DAL_CA8277B_SWITCH_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <hal/chipdef/chip.h>
|
||||
#include <rtk/switch.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Module Name : Switch */
|
||||
/* Sub-module Name: Switch parameter settings */
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_switch_init
|
||||
* Description:
|
||||
* Initialize switch module of the specified device.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Module must be initialized before using all of APIs in this module
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_switch_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_switch_phyPortId_get
|
||||
* Description:
|
||||
* Get physical port id from logical port name
|
||||
* Input:
|
||||
* portName - logical port name
|
||||
* Output:
|
||||
* pPortId - pointer to the physical port id
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Call RTK API the port ID must get from this API
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_switch_phyPortId_get(rtk_switch_port_name_t portName, int32 *pPortId);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_switch_version_get
|
||||
* Description:
|
||||
* Get chip version
|
||||
* Input:
|
||||
* pChipId - chip id
|
||||
* pRev - revision id
|
||||
* pSubtype - sub type
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_switch_version_get(uint32 *pChipId, uint32 *pRev, uint32 *pSubtype);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_switch_maxPktLenByPort_get
|
||||
* Description:
|
||||
* Get the max packet length setting of specific port
|
||||
* Input:
|
||||
* port - speed type
|
||||
* Output:
|
||||
* pLen - pointer to the max packet length
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_switch_maxPktLenByPort_get(rtk_port_t port, uint32 *pLen);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_switch_maxPktLenByPort_set
|
||||
* Description:
|
||||
* Set the max packet length of specific port
|
||||
* Input:
|
||||
* port - port
|
||||
* len - max packet length
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_switch_maxPktLenByPort_set(rtk_port_t port, uint32 len);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_switch_chip_reset
|
||||
* Description:
|
||||
* Reset switch chip
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_switch_chip_reset(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_switch_thermal_get
|
||||
* Description:
|
||||
* Get soc thermal value
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* thermalIntger - pointer to thermal value for integer part
|
||||
* thermalDecimal - pointer to thermal value for Decimal part
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* RT_ERR_INPUT - invalid enum speed type
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_switch_thermal_get(int32 *thermalIntger, int32 *thermalDecimal);
|
||||
#endif /* __DAL_CA8277B_SWITCH_H__ */
|
||||
196
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_trap.h
Executable file
196
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_trap.h
Executable file
|
|
@ -0,0 +1,196 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 39101 $
|
||||
* $Date: 2013-05-03 17:35:27 +0800 (星期五, 03 五月 2013) $
|
||||
*
|
||||
* Purpose : Definition of TRAP API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Configuration for traping packet to CPU
|
||||
* (2) RMA
|
||||
* (3) User defined RMA
|
||||
* (4) System-wise management frame
|
||||
* (5) System-wise user defined management frame
|
||||
* (6) Per port user defined management frame
|
||||
* (7) Packet with special flag or option
|
||||
* (8) CFM and OAM packet
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8277B_TRAP_H__
|
||||
#define __DAL_CA8277B_TRAP_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_error.h>
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/epon.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_ca8277b_trap_init
|
||||
* Description:
|
||||
* Initial the trap module of the specified device..
|
||||
* Input:
|
||||
* unit - unit id
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_trap_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_trap_portIgmpMldCtrlPktAction_get
|
||||
* Description:
|
||||
* Get the configuration about MLD control packets Action
|
||||
* Input:
|
||||
* port - The ingress port ID.
|
||||
* igmpMldType - IGMP/MLD protocol type;
|
||||
* Output:
|
||||
* pAction - Action of IGMP/MLD control packet
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_trap_portIgmpMldCtrlPktAction_get(rtk_port_t port, rtk_trap_igmpMld_type_t igmpMldType, rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_trap_portIgmpMldCtrlPktAction_set
|
||||
* Description:
|
||||
* Set the configuration about MLD control packets Action
|
||||
* Input:
|
||||
* port - The ingress port ID.
|
||||
* igmpMldType - IGMP/MLD protocol type;
|
||||
* action - Action of IGMP/MLD control packet
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_PORT_ID
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_trap_portIgmpMldCtrlPktAction_set(rtk_port_t port, rtk_trap_igmpMld_type_t igmpMldType, rtk_action_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_trap_oamPduAction_get
|
||||
* Description:
|
||||
* Get forwarding action of trapped oam PDU on specified port.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pAction - pointer to forwarding action of trapped oam PDU
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Forwarding action is as following
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_TRAP2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_trap_oamPduAction_get(rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_trap_oamPduAction_set
|
||||
* Description:
|
||||
* Set forwarding action of trapped oam PDU on specified port.
|
||||
* Input:
|
||||
* action - forwarding action of trapped oam PDU
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_FWD_ACTION - invalid forwarding action
|
||||
* Note:
|
||||
* Forwarding action is as following
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_TRAP2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_trap_oamPduAction_set(rtk_action_t action);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_trap_omciAction_get
|
||||
* Description:
|
||||
* Get forwarding action of trapped omci PDU on specified port.
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pAction - pointer to forwarding action of trapped omci PDU
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Forwarding action is as following
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_TRAP2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_trap_omciAction_get(rtk_action_t *pAction);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_trap_omciAction_set
|
||||
* Description:
|
||||
* Set forwarding action of trapped omci PDU on specified port.
|
||||
* Input:
|
||||
* action - forwarding action of trapped omci PDU
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_FWD_ACTION - invalid forwarding action
|
||||
* Note:
|
||||
* Forwarding action is as following
|
||||
* - ACTION_FORWARD
|
||||
* - ACTION_TRAP2CPU
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_trap_omciAction_set(rtk_action_t action);
|
||||
|
||||
#endif /* __DAL_CA8277B_TRAP_H__ */
|
||||
315
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_vlan.h
Executable file
315
sources/rtk-gp3000/include/dal/ca8277b/dal_ca8277b_vlan.h
Executable file
|
|
@ -0,0 +1,315 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 39101 $
|
||||
* $Date: 2013-05-03 17:35:27 +0800 (週五, 03 五月 2013) $
|
||||
*
|
||||
* Purpose : Definition of VLAN API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) Vlan table configure and modification
|
||||
* (2) Accept frame type
|
||||
* (3) Vlan ingress/egress filter
|
||||
* (4) Port based and protocol based vlan
|
||||
* (5) TPID configuration
|
||||
* (6) Ingress tag handling
|
||||
* (7) Tag format handling
|
||||
*
|
||||
*/
|
||||
#ifndef __DAL_CA8277B_VLAN_H__
|
||||
#define __DAL_CA8277B_VLAN_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/vlan.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
#define DAL_CA8277B_DEFAULT_VLAN_ID (1)
|
||||
|
||||
|
||||
/****************************************************************/
|
||||
/* Type Definition */
|
||||
/****************************************************************/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_init
|
||||
* Description:
|
||||
* Initialize vlan module.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize vlan module before calling any vlan APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_init(void);
|
||||
|
||||
/* Module Name : Vlan */
|
||||
/* Sub-module Name: Vlan table configure and modification */
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_create
|
||||
* Description:
|
||||
* Create the vlan in the specified device.
|
||||
* Input:
|
||||
* vid - vlan id to be created
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_VLAN_EXIST - vlan is exist
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_create(rtk_vlan_t vid);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_destroy
|
||||
* Description:
|
||||
* Destroy the vlan.
|
||||
* Input:
|
||||
* vid - vlan id to be destroyed
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_VLAN_ENTRY_NOT_FOUND - specified vlan entry not found
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_destroy(rtk_vlan_t vid);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_destroyAll
|
||||
* Description:
|
||||
* Destroy all vlans except default vlan.
|
||||
* Input:
|
||||
* restore_default_vlan - keep and restore default vlan id or not?
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_UNIT_ID - invalid unit id
|
||||
* Note:
|
||||
* The restore argument is permit following value:
|
||||
* - 0: remove default vlan
|
||||
* - 1: restore default vlan
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_destroyAll(uint32 restoreDefaultVlan);
|
||||
|
||||
/* Module Name : Vlan */
|
||||
/* Sub-module Name: Port based and protocol based vlan */
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_portPvid_get
|
||||
* Description:
|
||||
* Get port default vlan id.
|
||||
* Input:
|
||||
* port - port id
|
||||
* Output:
|
||||
* pPvid - pointer buffer of port default vlan id
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_portPvid_get(rtk_port_t port, uint32 *pPvid);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_portPvid_set
|
||||
* Description:
|
||||
* Set port default vlan id.
|
||||
* Input:
|
||||
* port - port id
|
||||
* pvid - port default vlan id
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_PORT_ID - invalid port id
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_portPvid_set(rtk_port_t port, uint32 pvid);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_port_get
|
||||
* Description:
|
||||
* Get the vlan members.
|
||||
* Input:
|
||||
* vid - vlan id
|
||||
* Output:
|
||||
* pMember_portmask - pointer buffer of member ports
|
||||
* pUntag_portmask - pointer buffer of untagged member ports
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_VLAN_ENTRY_NOT_FOUND - specified vlan entry not found
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_port_get(rtk_vlan_t vid,rtk_portmask_t *pMemberPortmask,rtk_portmask_t *pUntagPortmask);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_port_set
|
||||
* Description:
|
||||
* Replace the vlan members.
|
||||
* Input:
|
||||
* vid - vlan id
|
||||
* pMember_portmask - member ports
|
||||
* pUntag_portmask - untagged member ports
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_VLAN_ENTRY_NOT_FOUND - specified vlan entry not found
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* Don't care the original vlan members and replace with new configure
|
||||
* directly.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_port_set(rtk_vlan_t vid,rtk_portmask_t *pMember_portmask,rtk_portmask_t *pUntag_portmask);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_vlanFunctionEnable_get
|
||||
* Description:
|
||||
* Get the VLAN enable status.
|
||||
* Input:
|
||||
* enable - enable status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
* The status of vlan function is as following:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_vlanFunctionEnable_get(rtk_enable_t *pEnable);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_vlanFunctionEnable_set
|
||||
* Description:
|
||||
* Set the VLAN enable status.
|
||||
* Input:
|
||||
* enable - enable status
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
* The status of vlan function is as following:
|
||||
* - DISABLED
|
||||
* - ENABLED
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_vlanFunctionEnable_set(rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_fidMode_get
|
||||
* Description:
|
||||
* Get the filter id mode of the vlan.
|
||||
* Input:
|
||||
* vid - vlan id
|
||||
* Output:
|
||||
* pMode - pointer buffer of filter id mode
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_VLAN_ENTRY_NOT_FOUND - specified vlan entry not found
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
* mode can be: -VLAN__FID_IVL
|
||||
* -VLAN__FID_SVL
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_fidMode_get(rtk_vlan_t vid, rtk_fidMode_t *pMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_vlan_fidMode_set
|
||||
* Description:
|
||||
* Set the filter id mode of the vlan.
|
||||
* Input:
|
||||
* vid - vlan id
|
||||
* mode - filter id mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_VLAN_VID - invalid vid
|
||||
* RT_ERR_VLAN_ENTRY_NOT_FOUND - specified vlan entry not found
|
||||
* RT_ERR_OUT_OF_RANGE - input parameter out of range
|
||||
* Note:
|
||||
* mode can be: -VLAN__FID_IVL
|
||||
* -VLAN__FID_SVL
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_vlan_fidMode_set(rtk_vlan_t vid, rtk_fidMode_t mode);
|
||||
|
||||
#endif /* __DAL_CA8277B_VLAN_H__ */
|
||||
374
sources/rtk-gp3000/include/dal/ca8277b/dal_rt_ca8277b_epon.h
Executable file
374
sources/rtk-gp3000/include/dal/ca8277b/dal_rt_ca8277b_epon.h
Executable file
|
|
@ -0,0 +1,374 @@
|
|||
/*
|
||||
* Copyright (C) 2018 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: $
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition of EPON API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) EPON
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_RT_CA8277B_EPON_H__
|
||||
#define __DAL_RT_CA8277B_EPON_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/rt/rt_epon.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_init
|
||||
* Description:
|
||||
* epon register level initial function
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern
|
||||
int32 dal_rt_ca8277b_epon_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_oam_tx
|
||||
* Description:
|
||||
* Transmit OAM message.
|
||||
* Input:
|
||||
* msgLen - length of the OAM message to be transmitted
|
||||
* pMsg - pointer to the OAM message data
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_oam_tx(uint32 msgLen, uint8 *pMsg, uint8 llidIdx);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_oam_rx_callback_register
|
||||
* Description:
|
||||
* Register OAM RX callback function.
|
||||
* Input:
|
||||
* oamRx - pointer to the callback function for OAM RX
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_oam_rx_callback_register(rt_epon_oam_rx_callback oamRx);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_dyinggasp_set
|
||||
* Description:
|
||||
* Transmit dying gasp OAM message.
|
||||
* Input:
|
||||
* msgLen - length of the dying gasp OAM message to be transmitted
|
||||
* pMsg - pointer to the dying gasp OAM message data
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_dyinggasp_set(uint32 msgLen, uint8 *pMsg);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_mpcp_info_get
|
||||
* Description:
|
||||
* Get epon mpcp information
|
||||
* Input:
|
||||
* Output:
|
||||
* info - mpcp relative information
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*
|
||||
* This API routine is used to get generic ONU MPCP information and can be invoked at any time.
|
||||
* However some of fields like laser on laser_off sync_time and olt_discinfo will be valid if ONU is not in registered
|
||||
* state. Note that field onu_discinfo and olt_discinfo are only appropriate for 10G ONU.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_epon_mpcp_info_get(rt_epon_mpcp_info_t *info);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_mpcp_queue_threshold_set
|
||||
* Description:
|
||||
* Set epon threshold report
|
||||
* Input:
|
||||
* pThresholdRpt - threshole report setting
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Error Input
|
||||
* Note:
|
||||
* The the report level 1 for normal report type, max value is 4.
|
||||
*/
|
||||
extern int32 dal_ca8277b_epon_mpcp_queue_threshold_set(rt_epon_report_threshold_t *pThresholdRpt);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_epon_mpcp_queue_threshold_get
|
||||
* Description:
|
||||
* Get epon threshold report setting
|
||||
* Input:
|
||||
* pThresholdRpt - threshole report setting
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_INPUT - Error Input
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8277b_epon_mpcp_queue_threshold_get(rt_epon_report_threshold_t *pThresholdRpt);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_llid_entry_get
|
||||
* Description:
|
||||
* Get llid entry
|
||||
* Input:
|
||||
* llidIdx: LLID table index
|
||||
* Output:
|
||||
* pLlidEntry: LLID entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_llid_entry_get(rt_epon_llid_entry_t *pLlidEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_llid_entry_set
|
||||
* Description:
|
||||
* Set llid entry
|
||||
* Input:
|
||||
* llidIdx: LLID table index
|
||||
* Output:
|
||||
* pLlidEntry: LLID entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_llid_entry_set(rt_epon_llid_entry_t *pLlidEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_registerReq_get
|
||||
* Description:
|
||||
* Get register request relative parameter
|
||||
* Input:
|
||||
* pRegEntry : register request relative parament
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_registerReq_get(rt_epon_regReq_t *pRegEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_registerReq_set
|
||||
* Description:
|
||||
* Set register request relative parameter
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRegEntry : register request relative parament
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_registerReq_set(rt_epon_regReq_t *pRegEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_churningKey_get
|
||||
* Description:
|
||||
* Get churning key entry
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEntry : churning key relative parameter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
int32 dal_rt_ca8277b_epon_churningKey_get(rt_epon_churningKeyEntry_t *pEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_churningKey_set
|
||||
* Description:
|
||||
* Set churning key entry
|
||||
* Input:
|
||||
* pEntry : churning key relative parameter
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_churningKey_set(rt_epon_churningKeyEntry_t *pEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_usFecState_get
|
||||
* Description:
|
||||
* Get upstream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : upstream FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_usFecState_get(rt_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_usFecState_set
|
||||
* Description:
|
||||
* Set upstream fec state
|
||||
* Input:
|
||||
* state : upstream FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_usFecState_set(rt_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_dsFecState_get
|
||||
* Description:
|
||||
* Get down-stream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : down-stream FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_dsFecState_get(rt_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_dsFecState_set
|
||||
* Description:
|
||||
* Set down-stream fec state
|
||||
* Input:
|
||||
* state : down-stream FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_dsFecState_set(rt_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_mibCounter_get
|
||||
* Description:
|
||||
* Get EPON MIB Counter
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pCounter : EPON mib counter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_mibCounter_get(rt_epon_counter_t *pCounter);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_epon_losState_get
|
||||
* Description:
|
||||
* Get laser lose of signal state.
|
||||
* Input:
|
||||
* pState LOS state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_epon_losState_get(rt_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* _dal_rt_ca8277b_epon_is_inited
|
||||
* Description:
|
||||
* get epon init status function.
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* epon init status
|
||||
* Note:
|
||||
*/
|
||||
extern int
|
||||
_dal_ca8277b_epon_is_inited(void);
|
||||
#endif /* __DAL_RT_CA8277B_EPON_H__ */
|
||||
710
sources/rtk-gp3000/include/dal/ca8277b/dal_rt_ca8277b_gpon.h
Executable file
710
sources/rtk-gp3000/include/dal/ca8277b/dal_rt_ca8277b_gpon.h
Executable file
|
|
@ -0,0 +1,710 @@
|
|||
/*
|
||||
* Copyright (C) 2018 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: $
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition of GPON API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) GPON
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_RT_CA8277B_GPON_H__
|
||||
#define __DAL_RT_CA8277B_GPON_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/rt/rt_gpon.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_init
|
||||
* Description:
|
||||
* gpon register level initial function
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_init(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_serialNumber_set
|
||||
* Description:
|
||||
* Set GPON serial number
|
||||
* Input:
|
||||
* pSN - pointer to the GPON serial number
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_serialNumber_set(rt_gpon_serialNumber_t *pSN);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_registrationId_set
|
||||
* Description:
|
||||
* Set GPON registration ID (password in 984.3).
|
||||
* Input:
|
||||
* pRegId - pointer to the GPON registration id
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_registrationId_set(rt_gpon_registrationId_t *pRegId);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_activate
|
||||
* Description:
|
||||
* GPON MAC Activating.
|
||||
* Input:
|
||||
* initState - the initial state when ONU active
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
* The GPON MAC is starting to work now.
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_activate(rt_gpon_initialState_t initState);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_deactivate
|
||||
* Description:
|
||||
* GPON MAC Deactivate.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* The GPON MAC is out of work now.
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_deactivate(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8277b_gpon_onuState_get
|
||||
* Description:
|
||||
* Get ONU State
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
* pOnuState: point for get onu state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_onuState_get(rt_gpon_onuState_t *pOnuState);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_omci_tx
|
||||
* Description:
|
||||
* Transmit OMCI message.
|
||||
* Input:
|
||||
* msgLen - length of the OMCI message to be transmitted
|
||||
* pMsg - pointer to the OMCI message data
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_omci_tx(uint32 msgLen, uint8 *pMsg);
|
||||
|
||||
/* Function Name:
|
||||
* rt_gpon_omci_rx_callback_register
|
||||
* Description:
|
||||
* Register OMCI RX callback function.
|
||||
* Input:
|
||||
* omciRx - pointer to the callback function for OMCI RX
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_omci_rx_callback_register(rt_gpon_omci_rx_callback omciRx);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_tcont_set
|
||||
* Description:
|
||||
* Set GPON tcont
|
||||
* Input:
|
||||
* tcontId - tcont index
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_tcont_set(uint32 *pTcontId, uint32 allocId);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_tcont_get
|
||||
* Description:
|
||||
* Get GPON allocation id
|
||||
* Input:
|
||||
* tcontId - tcont index
|
||||
* Output:
|
||||
* pAllocId - pointer to the allocation id
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_tcont_get(uint32 tcontId, uint32 *pAllocId);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_tcont_del
|
||||
* Description:
|
||||
* Delete GPON tcont
|
||||
* Input:
|
||||
* tcontId - tcont index
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*/
|
||||
extern int dal_rt_ca8277b_gpon_tcont_del(uint32 tcontId);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_usFlow_set
|
||||
* Description:
|
||||
* Set GPON upstream flow
|
||||
* Input:
|
||||
* usFlowId - upstream flow id
|
||||
* pUsFlow - the pointer of upstream flow config
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_usFlow_set(uint32 usFlowId, const rt_gpon_usFlow_t *pUsFlow);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_usFlow_get
|
||||
* Description:
|
||||
* Get the upstream flow
|
||||
* Input:
|
||||
* usFlowId - upstream flow id
|
||||
* Output:
|
||||
* pUsFlow - the pointer of upstream flow config
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_usFlow_get(uint32 usFlowId, rt_gpon_usFlow_t *pUsFlow);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_usFlow_del
|
||||
* Description:
|
||||
* Delete GPON upstream flow
|
||||
* Input:
|
||||
* usFlowId - upstream flow id
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_usFlow_del(uint32 usFlowId);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_usFlow_delAll
|
||||
* Description:
|
||||
* Delete all GPON upstream flow
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_usFlow_delAll(void);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_dsFlow_set
|
||||
* Description:
|
||||
* Set GPON downstream flow
|
||||
* Input:
|
||||
* dsFlowId - donwstream flow id
|
||||
* pDsFlow - the pointer of downstream flow config
|
||||
*
|
||||
* Output:
|
||||
* pOnuState: point for get onu state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_dsFlow_set(uint32 dsFlowId, const rt_gpon_dsFlow_t *pDsFlow);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_dsFlow_get
|
||||
* Description:
|
||||
* Get GPON downstream flow
|
||||
* Input:
|
||||
* dsFlowId - donwstream flow id
|
||||
* Output:
|
||||
* pDsFlow - the pointer of downstream flow config
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_dsFlow_get(uint32 dsFlowId, rt_gpon_dsFlow_t *pDsFlow);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_dsFlow_del
|
||||
* Description:
|
||||
* Delete GPON downstream flow
|
||||
* Input:
|
||||
* dsFlowId - donwstream flow id
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_dsFlow_del(uint32 dsFlowId);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_dsFlow_delAll
|
||||
* Description:
|
||||
* Delete all GPON downstream flow
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_dsFlow_delAll(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_ponQueue_set
|
||||
* Description:
|
||||
* Set the pon queue
|
||||
* Input:
|
||||
* tcontId - tcont index
|
||||
* tcQueueId - tcont queue index
|
||||
* pQueuecfg - pointer to the queue configuration
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_ponQueue_set(
|
||||
uint32 tcontId,
|
||||
uint32 tcQueueId,
|
||||
const rt_gpon_queueCfg_t *pQueuecfg);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_ponQueue_get
|
||||
* Description:
|
||||
* Get the pon queue
|
||||
* Input:
|
||||
* tcontId - tcont index
|
||||
* tcQueueId - tcont queue index
|
||||
* Output:
|
||||
* pQueuecfg - pointer to the queue configuration
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
int32 dal_rt_ca8277b_gpon_ponQueue_get(
|
||||
uint32 tcontId,
|
||||
uint32 tcQueueId,
|
||||
rt_gpon_queueCfg_t *pQueuecfg);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_ponQueue_del
|
||||
* Description:
|
||||
* Delete the pon queue
|
||||
* Input:
|
||||
* tcontId - tcont index
|
||||
* tcQueueId - tcont queue index
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_ponQueue_del(
|
||||
uint32 tcontId,
|
||||
uint32 tcQueueId);
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_scheInfo_get
|
||||
* Description:
|
||||
* Get scheduling information
|
||||
* Input:
|
||||
* pScheInfo - pointer to the scheduling information
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_scheInfo_get(rt_gpon_schedule_info_t *pScheInfo);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_flowCounter_get
|
||||
* Description:
|
||||
* Get the flow counters.
|
||||
* Input:
|
||||
* flowId - logical flow ID
|
||||
* flowCntType - counter type
|
||||
* Output:
|
||||
* pFlowCnt - pointer to the flow counters
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_flowCounter_get(uint32 flowId, rt_gpon_flow_counter_type_t flowCntType, rt_gpon_flow_counter_t *pFlowCnt);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_pmCounter_get
|
||||
* Description:
|
||||
* Get the pm counters.
|
||||
* Input:
|
||||
* pmCntType - counter type
|
||||
* Output:
|
||||
* pPmCnt - pointer to the pm counters
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_pmCounter_get(rt_gpon_pm_type_t pmCntType, rt_gpon_pm_counter_t *pPmCnt);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_ponTag_get
|
||||
* Description:
|
||||
* Get the PON Tag.
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pPonTag - pointer to the PON TAG
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_ponTag_get(rt_gpon_ponTag_t *pPonTag);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_msk_set
|
||||
* Description:
|
||||
* Set the Master Session Key.
|
||||
* Input:
|
||||
* pMsk - pointer to the Master Session Key
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_msk_set(rt_gpon_msk_t *pMsk);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_omci_mic_generate
|
||||
* Description:
|
||||
* Generate the OMCI MIC value according to the inputs.
|
||||
* Input:
|
||||
* dir - the direction of the OMCI msg, 0x01 for Downstream and 0x02 for Upstream
|
||||
* pMsg - pointer to the OMCI message data
|
||||
* msgLen - length of the OMCI message, not include MIC
|
||||
* Output:
|
||||
* mic - pointer to the generated MIC
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_gpon_omci_mic_generate(uint32 dir, uint8 *pMsg, uint32 msgLen, uint32 *mic);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_mcKey_set
|
||||
* Description:
|
||||
* Set the Multicast Key.
|
||||
* Input:
|
||||
* pMcKey - pointer to the Multicast Key
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_rt_ca8277b_gpon_mcKey_set(rt_gpon_mc_key_t *pMcKey);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_attribute_set
|
||||
* Description:
|
||||
* Set the gpon attribute.
|
||||
* Input:
|
||||
* attributeType - attribute type
|
||||
* pAttributeValue - pointer to the attribute value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_gpon_attribute_set(rt_gpon_attribute_type_t attributeType, rt_gpon_attribute_t *pAttributeValue);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_attribute_get
|
||||
* Description:
|
||||
* Get the gpon attribute.
|
||||
* Input:
|
||||
* attributeType - attribute type
|
||||
* Output:
|
||||
* pAttributeValue - pointer to the attribute value
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_gpon_attribute_get(rt_gpon_attribute_type_t attributeType, rt_gpon_attribute_t *pAttributeValue);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_usFlow_phyData_get
|
||||
* Description:
|
||||
* Get the physical data of upstream flow
|
||||
* Input:
|
||||
* usFlowId - upstream flow id
|
||||
* pTcontId - pointer to the physical T-CONT ID value
|
||||
* pTcQueueId - pointer to the physical T-CONT Queue ID value
|
||||
* pGemIdx - pointer to the physical GEM index value
|
||||
* Output:
|
||||
* pUsFlow - the pointer of upstream flow config
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* RT_ERR_NOT_INIT - The module is not initial
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_gpon_usFlow_phyData_get(uint32 usFlowId, uint32 *pTcontId, uint32 *pTcQueueId, uint32 *pGemIdx);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_omcc_get
|
||||
* Description:
|
||||
* get omcc information.
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
* pOmcc - omcc information
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_ENTRY_NOTFOUND - specified entry not found
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_gpon_omcc_get(rt_gpon_omcc_t *pOmcc);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_omci_mirror_set
|
||||
* Description:
|
||||
* set gpon omci mirror function.
|
||||
* Input:
|
||||
* enable - enable mirrior function
|
||||
* mirroringPort - Select
|
||||
* Output:
|
||||
* pOmcc - omcc information
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_ENTRY_NOTFOUND - specified entry not found
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_gpon_omci_mirror_set(rt_enable_t enable, rt_port_t mirroringPort);
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_gpon_fec_get
|
||||
* Description:
|
||||
* get gpon fec status function.
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
* pFecStatus - fec status information
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_gpon_fec_get(rt_gpon_fec_status_t *pFecStatus);
|
||||
|
||||
/* Function Name:
|
||||
* _dal_rt_ca8277b_gpon_is_inited
|
||||
* Description:
|
||||
* get gpon init status function.
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* gpon init status
|
||||
* Note:
|
||||
*/
|
||||
extern int
|
||||
_dal_ca8277b_gpon_is_inited(void);
|
||||
|
||||
|
||||
#endif /* __DAL_RT_CA8277B_GPON_H__ */
|
||||
80
sources/rtk-gp3000/include/dal/ca8277b/dal_rt_ca8277b_l2.h
Executable file
80
sources/rtk-gp3000/include/dal/ca8277b/dal_rt_ca8277b_l2.h
Executable file
|
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* Copyright (C) 2019 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: $
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition of L2 API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) IVL/SVL mode
|
||||
*/
|
||||
|
||||
#ifndef __DAL_RT_CA8277B_L2_H__
|
||||
#define __DAL_RT_CA8277B_L2_H__
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_l2_ivlSvl_get
|
||||
* Description:
|
||||
* Configure PON misc get settings
|
||||
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pIvlEn - IVL is enable
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_l2_ivlSvl_get(rt_enable_t *pIvlEn);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_ponQueue_mode_get
|
||||
* Description:
|
||||
* get currect PON queue mode setting
|
||||
* Input:
|
||||
* ivlEn - IVL is enable
|
||||
* Output:
|
||||
* pPonQueueMode - current running PON queue mode
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_l2_ivlSvl_set(rt_enable_t ivlEn);
|
||||
|
||||
#endif
|
||||
243
sources/rtk-gp3000/include/dal/ca8277b/dal_rt_ca8277b_ponmisc.h
Executable file
243
sources/rtk-gp3000/include/dal/ca8277b/dal_rt_ca8277b_ponmisc.h
Executable file
|
|
@ -0,0 +1,243 @@
|
|||
/*
|
||||
* Copyright (C) 2019 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: $
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition of PON misc API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) PON misc
|
||||
*/
|
||||
|
||||
#ifndef __DAL_RT_CA8277B_PONMISC_H__
|
||||
#define __DAL_RT_CA8277B_PONMISC_H__
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/ponmac.h>
|
||||
#include <rtk/rt/rt_ponmisc.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_init
|
||||
* Description:
|
||||
* Configure PON misc initial settings
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_mode_get
|
||||
* Description:
|
||||
* Configure PON misc get settings
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pPonMode - current running PON mode
|
||||
* pPonSpeed - current running PON speed
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_FEATURE_NOT_SUPPORTED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_mode_get(rt_ponmisc_ponMode_t *pPonMode,rt_ponmisc_ponSpeed_t *pPonSpeed);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_mode_set
|
||||
* Description:
|
||||
* Configure PON mode and speed settings
|
||||
* Input:
|
||||
* ponMode - PON mode
|
||||
* ponSpeed - PON speed
|
||||
* Output:
|
||||
* None.
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_FEATURE_NOT_SUPPORTED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_mode_set(rt_ponmisc_ponMode_t ponMode, rt_ponmisc_ponSpeed_t ponSpeed);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_ponQueue_mode_get
|
||||
* Description:
|
||||
* get currect PON queue mode setting
|
||||
* Input:
|
||||
* None.
|
||||
* Output:
|
||||
* pPonQueueMode - current running PON queue mode
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_ponQueue_mode_get(rt_ponmisc_ponQueueMode_t *pPonQueueMode);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_tcont_llid_logic2phy_get
|
||||
* Description:
|
||||
* Get physical to logic mapping of T-CONT/LLID
|
||||
* Input:
|
||||
* logicId - logic index of T-CONT/LLID
|
||||
* Output:
|
||||
* pPhyId - pointer to physical index of T-CONT/LLID
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_PORT_ID
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_tcont_llid_logic2phy_get(uint16 logicId,uint16 *pPhyId);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_burstPolarityReverse_get
|
||||
* Description:
|
||||
* Get the status of PON burst polarity reverse
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* pPolarity - pointer of burst polarity reverse status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_burstPolarityReverse_get(rt_ponmisc_polarity_t *pPolarity);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_burstPolarityReverse_set
|
||||
* Description:
|
||||
* Set the status of PON burst polarity reverse
|
||||
* Input:
|
||||
* polarity - the burst polarity reverse status
|
||||
* Output:
|
||||
* none
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_burstPolarityReverse_set(rt_ponmisc_polarity_t polarity);
|
||||
|
||||
/* Function Name:
|
||||
* rt_ponmisc_forceLaserState_get
|
||||
* Description:
|
||||
* Get Force Laser status
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* pStatus - pointer of Force Laser status
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_forceLaserState_get(rt_ponmisc_laser_status_t *pStatus);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_forceLaserState_set
|
||||
* Description:
|
||||
* Set Force Laser status
|
||||
* Input:
|
||||
* status - Force Laser status
|
||||
* Output:
|
||||
* none
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_forceLaserState_set(rt_ponmisc_laser_status_t status);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_forcePRBS_get
|
||||
* Description:
|
||||
* Get the PRBS config
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* pPrbsCfg - pointer of PRBS config
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - input parameter may be null pointer
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_forcePRBS_get(rt_ponmisc_prbs_t *pPrbsCfg);
|
||||
|
||||
/* Function Name:
|
||||
* dal_rt_ca8277b_ponmisc_forcePRBS_set
|
||||
* Description:
|
||||
* Set the PRBS config
|
||||
* Input:
|
||||
* none
|
||||
* Output:
|
||||
* prbsCfg - PRBS config
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT - Invalid input parameters.
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_rt_ca8277b_ponmisc_forcePRBS_set(rt_ponmisc_prbs_t prbsCfg);
|
||||
|
||||
#endif
|
||||
27
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279.h
Normal file
27
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#ifndef __DAL_CA8279_H_
|
||||
#define __DAL_CA8279_H_
|
||||
|
||||
#include <common/rt_type.h>
|
||||
#include <common/rt_error.h>
|
||||
#include <common/util/rt_bitop.h>
|
||||
#include <common/util/rt_util.h>
|
||||
#include <common/debug/rt_log.h>
|
||||
#include <osal/memory.h>
|
||||
|
||||
#include <dal/dal_common.h>
|
||||
#include <hal/common/halctrl.h>
|
||||
|
||||
#include <rtk/default.h>
|
||||
|
||||
#include <ca_types.h>
|
||||
#include <scfg.h>
|
||||
|
||||
extern ca_uint8_t CA_PON_MODE;
|
||||
|
||||
#define CAERR_PORT_ID 0xFFFF
|
||||
|
||||
#define RTK2CA_PORT_ID(port) \
|
||||
(HAL_IS_PON_PORT(port)?((CA_PON_MODE == ONU_PON_MAC_EPON_D10G||CA_PON_MODE == ONU_PON_MAC_EPON_BI10G||CA_PON_MODE == ONU_PON_MAC_EPON_1G) ? CA_PORT_ID(CA_PORT_TYPE_EPON,port):CA_PORT_ID(CA_PORT_TYPE_GPON,port)) : HAL_IS_ETHER_PORT(port)?CA_PORT_ID(CA_PORT_TYPE_ETHERNET,port) : HAL_IS_CPU_PORT(port)?CA_PORT_ID(CA_PORT_TYPE_CPU,port) : (port == 0x18 || port == 0x19) ? port : CAERR_PORT_ID)
|
||||
|
||||
#endif /*__DAL_CA8279_H_*/
|
||||
|
||||
239
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279_epon.h
Executable file
239
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279_epon.h
Executable file
|
|
@ -0,0 +1,239 @@
|
|||
/*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
*
|
||||
* *
|
||||
* $Revision: $
|
||||
* $Date: 2012-10-16
|
||||
*
|
||||
* Purpose : EPON MAC register access APIs
|
||||
*
|
||||
* Feature : Provide the APIs to access EPON MAC
|
||||
*
|
||||
*/
|
||||
#ifndef _DAL_CA8279_EPON_H_
|
||||
#define _DAL_CA8279_EPON_H_
|
||||
|
||||
#include <common/rt_error.h>
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/epon.h>
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_init
|
||||
* Description:
|
||||
* epon register level initial function
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_llid_entry_get
|
||||
* Description:
|
||||
* Get llid entry
|
||||
* Input:
|
||||
* llidIdx: LLID table index
|
||||
* Output:
|
||||
* pLlidEntry: LLID entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_llid_entry_get(rtk_epon_llid_entry_t *pLlidEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_llid_entry_set
|
||||
* Description:
|
||||
* Set llid entry
|
||||
* Input:
|
||||
* llidIdx: LLID table index
|
||||
* Output:
|
||||
* pLlidEntry: LLID entry
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_llid_entry_set(rtk_epon_llid_entry_t *pLlidEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_registerReq_get
|
||||
* Description:
|
||||
* Get register request relative parameter
|
||||
* Input:
|
||||
* pRegEntry : register request relative parament
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_registerReq_get(rtk_epon_regReq_t *pRegEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_registerReq_set
|
||||
* Description:
|
||||
* Set register request relative parameter
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pRegEntry : register request relative parament
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_registerReq_set(rtk_epon_regReq_t *pRegEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_churningKey_get
|
||||
* Description:
|
||||
* Get churning key entry
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pEntry : churning key relative parameter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_churningKey_get(rtk_epon_churningKeyEntry_t *pEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_churningKey_set
|
||||
* Description:
|
||||
* Set churning key entry
|
||||
* Input:
|
||||
* pEntry : churning key relative parameter
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_churningKey_set(rtk_epon_churningKeyEntry_t *pEntry);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_usFecState_get
|
||||
* Description:
|
||||
* Get upstream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : upstream FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_usFecState_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_usFecState_set
|
||||
* Description:
|
||||
* Set upstream fec state
|
||||
* Input:
|
||||
* state : upstream FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_usFecState_set(rtk_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_dsFecState_get
|
||||
* Description:
|
||||
* Get down-stream fec state
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : down-stream FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_dsFecState_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_dsFecState_set
|
||||
* Description:
|
||||
* Set down-stream fec state
|
||||
* Input:
|
||||
* state : down-stream FEC state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_dsFecState_set(rtk_enable_t state);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_mibCounter_get
|
||||
* Description:
|
||||
* Get EPON MIB Counter
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* pCounter : EPON mib counter
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_mibCounter_get(rtk_epon_counter_t *pCounter);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_losState_get
|
||||
* Description:
|
||||
* Get laser lose of signal state.
|
||||
* Input:
|
||||
* pState LOS state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_losState_get(rtk_enable_t *pState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_epon_llidEntryNum_get
|
||||
* Description:
|
||||
* Get EPON support LLID entry number
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* *pState : glogal FEC state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_epon_llidEntryNum_get(uint32 *num);
|
||||
|
||||
#endif /*#ifndef _DAL_CA8279_EPON_H_*/
|
||||
|
||||
161
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279_gpio.h
Normal file
161
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279_gpio.h
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
|
||||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 45450 $
|
||||
* $Date: 2017-04-17 14:08:31 +0800 (Mon, 17 APR 2017) $
|
||||
*
|
||||
* Purpose : Definition of GPIO API
|
||||
*
|
||||
* Feature : Provide the APIs to enable and configure GPIO
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DAL_CA8279_GPIO_H__
|
||||
#define __DAL_CA8279_GPIO_H__
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <dal/ca8279/dal_ca8279.h>
|
||||
#include <rtk/gpio.h>
|
||||
#include <dal/ca8279/dal_ca8279_gpio.h>
|
||||
#include <ioal/mem32.h>
|
||||
|
||||
|
||||
#define CA8279_GPIO_PIN_NUM 32
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpio_init
|
||||
* Description:
|
||||
* gpio init function
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* None
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_gpio_init ( void );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpio_state_set
|
||||
* Description:
|
||||
* enable or disable gpio function
|
||||
* Input:
|
||||
* gpioId - gpio id from 0~95
|
||||
* enable - enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_gpio_state_set ( uint32 gpioId, rtk_enable_t enable );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpio_state_get
|
||||
* Description:
|
||||
* enable or disable gpio function
|
||||
* Input:
|
||||
* gpioId - gpio id from 0~95
|
||||
* enable - point for get gpio enable or disable
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_gpio_state_get ( uint32 gpioId, rtk_enable_t* enable );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpio_mode_set
|
||||
* Description:
|
||||
* set gpio to input or output mode
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 95
|
||||
* mode -gpio mode, input or output mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_gpio_mode_set ( uint32 gpioId, rtk_gpio_mode_t mode );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpio_mode_get
|
||||
* Description:
|
||||
* get gpio to input or output mode
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 95
|
||||
* mode -point for get gpio mode
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_gpio_mode_get ( uint32 gpioId, rtk_gpio_mode_t* mode );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpio_databit_get
|
||||
* Description:
|
||||
* read gpio data
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 95
|
||||
* data -point for read data from gpio
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_gpio_databit_get ( uint32 gpioId, uint32* data );
|
||||
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpio_databit_set
|
||||
* Description:
|
||||
* write data to gpio
|
||||
* Input:
|
||||
* gpioId -gpio id from 0 to 95
|
||||
* data -write data to gpio
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* None.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_gpio_databit_set ( uint32 gpioId, uint32 data );
|
||||
|
||||
#endif /* __DAL_CA8279_GPIO_H__ */
|
||||
104
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279_gpon.h
Executable file
104
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279_gpon.h
Executable file
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* Copyright (C) 2018 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: $
|
||||
* $Date: $
|
||||
*
|
||||
* Purpose : Definition of GPON API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) GPON
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_CA8279_GPON_H__
|
||||
#define __DAL_CA8279_GPON_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/gponv2.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpon_init
|
||||
* Description:
|
||||
* gpon register level initial function
|
||||
* Input:
|
||||
* None
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER - NULL pointer
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_gpon_init(void);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpon_onuState_set
|
||||
* Description:
|
||||
* Set ONU State .
|
||||
* Input:
|
||||
* onuState: onu state
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_gpon_onuState_set(rtk_gpon_onuState_t onuState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpon_onuState_get
|
||||
* Description:
|
||||
* Get ONU State
|
||||
* Input:
|
||||
*
|
||||
* Output:
|
||||
* pOnuState: point for get onu state
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_gpon_onuState_get(rtk_gpon_onuState_t *pOnuState);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_gpon_password_set
|
||||
* Description:
|
||||
* Set ONU PLOAM password/registration ID .
|
||||
* Input:
|
||||
* rtk_gpon_password_t: password
|
||||
* Output:
|
||||
*
|
||||
* Return:
|
||||
* RT_ERR_OK - OK
|
||||
* RT_ERR_FAILED - Failed
|
||||
* Note:
|
||||
*/
|
||||
extern int32 dal_ca8279_gpon_password_set(rtk_gpon_password_t *pwd);
|
||||
#endif /* __DAL_CA8279_GPON_H__ */
|
||||
248
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279_i2c.h
Executable file
248
sources/rtk-gp3000/include/dal/ca8279/dal_ca8279_i2c.h
Executable file
|
|
@ -0,0 +1,248 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Realtek Semiconductor Corp.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This program is the proprietary software of Realtek Semiconductor
|
||||
* Corporation and/or its licensors, and only be used, duplicated,
|
||||
* modified or distributed under the authorized license from Realtek.
|
||||
*
|
||||
* ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
|
||||
* THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
*
|
||||
* $Revision: 54353 $
|
||||
* $Date: 2014-12-25 20:03:23 +0800 (Thu, 25 Dec 2014) $
|
||||
*
|
||||
* Purpose : Definition of I2C API
|
||||
*
|
||||
* Feature : The file includes the following modules and sub-modules
|
||||
* (1) I2C control
|
||||
* (2) I2C read/write
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __DAL_CA8279_I2C_H__
|
||||
#define __DAL_CA8279_I2C_H__
|
||||
|
||||
|
||||
/*
|
||||
* Include Files
|
||||
*/
|
||||
#include <common/rt_type.h>
|
||||
#include <rtk/i2c.h>
|
||||
|
||||
/*
|
||||
* Symbol Definition
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Data Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Macro Declaration
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Function Declaration
|
||||
*/
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_init
|
||||
* Description:
|
||||
* Initialize i2c interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* Note:
|
||||
* Must initialize before calling any other APIs.
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_init(rtk_i2c_port_t i2cPort);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_enable_get
|
||||
* Description:
|
||||
* Get I2C interface state.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* pEnable - the pointer of enable/disable state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_enable_get (rtk_i2c_port_t i2cPort,rtk_enable_t* pEnable );
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_enable_set
|
||||
* Description:
|
||||
* Enable/Disable I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* enable - enable/disable state
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_enable_set(rtk_i2c_port_t i2cPort, rtk_enable_t enable);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_write
|
||||
* Description:
|
||||
* I2c write data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* data - data value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_write(rtk_i2c_port_t i2cPort, uint32 devID, uint32 regAddr, uint32 data);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_read
|
||||
* Description:
|
||||
* I2c read data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* pData - the pointer of returned data
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_read(rtk_i2c_port_t i2cPort, uint32 devID, uint32 regAddr, uint32 *pData);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_clock_get
|
||||
* Description:
|
||||
* Get the clock of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* pClock - KMHz, 10-bit value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_NULL_POINTER
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_clock_get(rtk_i2c_port_t i2cPort,uint32* pClock);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_clock_set
|
||||
* Description:
|
||||
* Set the clock of I2C interface.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* clock - KHz, 10-bit value
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* Note:
|
||||
*
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_clock_set(rtk_i2c_port_t i2cPort,uint32 clock);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_seq_read
|
||||
* Description:
|
||||
* I2c read data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* pData - the pointer of returned data
|
||||
* count - number of sequential read
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* RT_ERR_CHIP_NOT_SUPPORTED
|
||||
* Note:
|
||||
* The ASIC doesn't support sequential read opearation
|
||||
* Use multiple random read to simulate the behavior
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_seq_read (
|
||||
rtk_i2c_port_t i2cPort,
|
||||
uint32 devID,
|
||||
uint32 regAddr,
|
||||
uint32 *pData,
|
||||
uint32 count);
|
||||
|
||||
/* Function Name:
|
||||
* dal_ca8279_i2c_seq_write
|
||||
* Description:
|
||||
* I2c read data.
|
||||
* Input:
|
||||
* i2cPort - I2C port interface
|
||||
* devID - the device ID
|
||||
* regAddr - register address
|
||||
* pData - the pointer of returned data
|
||||
* count - number of sequential read
|
||||
* Output:
|
||||
* None
|
||||
* Return:
|
||||
* RT_ERR_OK
|
||||
* RT_ERR_FAILED
|
||||
* RT_ERR_INPUT
|
||||
* RT_ERR_NULL_POINTER
|
||||
* RT_ERR_CHIP_NOT_SUPPORTED
|
||||
* Note:
|
||||
* The ASIC doesn't support sequential write opearation
|
||||
* Use multiple random write to simulate the behavior
|
||||
*/
|
||||
extern int32
|
||||
dal_ca8279_i2c_seq_write (
|
||||
rtk_i2c_port_t i2cPort,
|
||||
uint32 devID,
|
||||
uint32 regAddr,
|
||||
uint32 *pData,
|
||||
uint32 count);
|
||||
|
||||
#endif /*#ifndef __DAL_CA8279_I2C_H__*/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue