config RAETH
        tristate "Ralink GMAC"
        ---help---
          This driver supports Ralink gigabit ethernet family of
          adapters.

config PDMA_NEW
        bool
	default y if  (RALINK_MT7620 || RALINK_MT7621)
        depends on RAETH

config RAETH_SCATTER_GATHER_RX_DMA
        bool
	default y if (RALINK_MT7620 || RALINK_MT7621)
        depends on RAETH


choice
	prompt "Network BottomHalves"	
        depends on RAETH
	default RA_NETWORK_WORKQUEUE_BH

	config RA_NETWORK_TASKLET_BH
	bool "Tasklet"

	config RA_NETWORK_WORKQUEUE_BH
	bool "Work Queue"

	config RAETH_NAPI
        bool "NAPI"

endchoice

#config TASKLET_WORKQUEUE_SW
#        bool "Tasklet and Workqueue switch"
#        depends on RA_NETWORK_TASKLET_BH

config RAETH_SKB_RECYCLE_2K
        bool "SKB Recycling"
        depends on RAETH

config RAETH_SPECIAL_TAG
        bool "Ralink Special Tag (0x810x)"
        depends on RAETH && RT_3052_ESW

#config RAETH_JUMBOFRAME
#        bool "Jumbo Frame up to 4K bytes"
#        depends on RAETH && !(RALINK_RT3052 || RALINK_RT3352 || RALINK_RT5350 || RALINK_MT7628)

config RAETH_CHECKSUM_OFFLOAD
        bool "TCP/UDP/IP checksum offload"
	default y
        depends on RAETH && !RALINK_RT2880

#config RAETH_SW_FC
#        bool "When TX ring is full, inform kernel stop transmit and stop RX handler"
#	 default n
#        depends on RAETH

#config RAETH_8023AZ_EEE
#        bool "Enable Embeded Switch EEE"
#	 default n
#        depends on RAETH && (RALINK_MT7620 || RALINK_MT7621 || RALINK_MT7628)



config 32B_DESC
        bool "32bytes TX/RX description"
	default n
        depends on RAETH && (RALINK_MT7620 || RALINK_MT7621)
        ---help---
          At this moment, you cannot enable 32B description with Multiple RX ring at the same time.

config RAETH_LRO
        bool "LRO (Large Receive Offload )"
	select INET_LRO
        depends on RAETH && (RALINK_RT6855A || RALINK_MT7620 || RALINK_MT7621)

config RAETH_HW_VLAN_TX
        bool "Transmit VLAN HW (DoubleVLAN is not supported)"
        depends on RAETH && !(RALINK_RT5350 || RALINK_MT7628)
        ---help---
          Please disable HW_VLAN_TX if you need double vlan

config RAETH_HW_VLAN_RX
        bool "Receive VLAN HW (DoubleVLAN is not supported)"
        depends on RAETH && RALINK_MT7621
        ---help---
          Please disable HW_VLAN_RX if you need double vlan

config RAETH_TSO
        bool "TSOV4 (Tcp Segmentaton Offload)"
	depends on (RAETH_HW_VLAN_TX && (RALINK_RT6855 || RALINK_RT6855A || RALINK_MT7620)) || (RALINK_MT7621 && (RAETH_HW_VLAN_TX || RAETH_GMAC2))
config RAETH_TSOV6
        bool "TSOV6 (Tcp Segmentaton Offload)"
	depends on RAETH_TSO

config RAETH_RW_PDMAPTR_FROM_VAR
	bool
	default y if RALINK_RT6855A || RALINK_MT7620
        depends on RAETH

#config RAETH_QOS
#        bool "QoS Feature"
#        depends on RAETH && !RALINK_RT2880 && !RALINK_MT7620 && !RALINK_MT7621 && !RAETH_TSO

choice
        prompt "QoS Type"
        depends on RAETH_QOS
        default DSCP_QOS_DSCP

config  RAETH_QOS_DSCP_BASED
        bool "DSCP-based"
        depends on RAETH_QOS 

config  RAETH_QOS_VPRI_BASED
        bool "VPRI-based"
        depends on RAETH_QOS

endchoice

config RAETH_QDMA
        bool "Choose QDMA instead PDMA"
	default n
        depends on RAETH && RALINK_MT7621

choice
        prompt "GMAC is connected to"
        depends on RAETH
        default GE1_RGMII_FORCE_1000

config  GE1_MII_FORCE_100
        bool "MII_FORCE_100 (10/100M Switch)"
        depends on (RALINK_RT2880 || RALINK_RT3883 || RALINK_MT7621) 

config  GE1_MII_AN
        bool "MII_AN (100Phy)"
        depends on (RALINK_RT2880 || RALINK_RT3883 || RALINK_MT7621) 

config  GE1_RVMII_FORCE_100
        bool "RvMII_FORCE_100 (CPU)"
        depends on (RALINK_RT2880 || RALINK_RT3883 || RALINK_MT7621) 

config  GE1_RGMII_FORCE_1000
        bool "RGMII_FORCE_1000 (GigaSW, CPU)"
        depends on (RALINK_RT2880 || RALINK_RT3883)
	select RALINK_SPI

config  GE1_RGMII_FORCE_1000
        bool "RGMII_FORCE_1000 (GigaSW, CPU)"
        depends on (RALINK_MT7621)
	select RT_3052_ESW

#config  GE1_TRGMII_FORCE_1200
#        bool "TRGMII_FORCE_1200 (GigaSW, CPU)"
#        depends on (RALINK_MT7621)
#	select RT_3052_ESW

config  GE1_RGMII_AN
        bool "RGMII_AN (GigaPhy)"
        depends on (RALINK_RT2880 || RALINK_RT3883 || RALINK_MT7621) 

config  GE1_RGMII_NONE
        bool "NONE (NO CONNECT)"
        depends on (RALINK_MT7621)

endchoice

config  RT_3052_ESW
        bool "Ralink Embedded Switch"
	default y
        depends on (RALINK_RT3052 || RALINK_RT3352 || RALINK_RT5350 || RALINK_RT6855 || RALINK_RT6855A || RALINK_MT7620 || RALINK_MT7621 || RALINK_MT7628)

config LAN_WAN_SUPPORT
        bool "LAN/WAN Partition"
        depends on RAETH_ROUTER || RT_3052_ESW

choice
        prompt "Switch Board Layout Type"
        depends on LAN_WAN_SUPPORT || P5_RGMII_TO_MAC_MODE ||  GE1_RGMII_FORCE_1000 || GE1_TRGMII_FORCE_1200 || GE2_RGMII_FORCE_1000
	default WAN_AT_P0

	config  WAN_AT_P4
	        bool "LLLL/W"
		
	config  WAN_AT_P0
	        bool "W/LLLL"
endchoice

config	RALINK_VISTA_BASIC
	bool 'Vista Basic Logo for IC+ 175C'
        depends on LAN_WAN_SUPPORT && (RALINK_RT2880 || RALINK_RT3883)

config	ESW_DOUBLE_VLAN_TAG
	bool
	default y if RT_3052_ESW

config RAETH_HAS_PORT4
        bool "Port 4 Support"
        depends on RAETH && RALINK_MT7620
choice
        prompt "Target Mode"
        depends on RAETH_HAS_PORT4
	default P4_RGMII_TO_MAC_MODE

	config P4_MAC_TO_PHY_MODE
		bool "Giga_Phy (RGMII)"
	config  GE_RGMII_MT7530_P0_AN
		bool "GE_RGMII_MT7530_P0_AN (MT7530 Internal GigaPhy)"
	config  GE_RGMII_MT7530_P4_AN
		bool "GE_RGMII_MT7530_P4_AN (MT7530 Internal GigaPhy)"
	config P4_RGMII_TO_MAC_MODE
		bool "Giga_SW/iNIC (RGMII)"
	config P4_MII_TO_MAC_MODE
		bool "External_CPU (MII_RvMII)"
	config P4_RMII_TO_MAC_MODE
		bool "External_CPU (RvMII_MII)"
endchoice

config  MAC_TO_GIGAPHY_MODE_ADDR2
        hex "Port4 Phy Address"
	default 0x4
        depends on P4_MAC_TO_PHY_MODE

config RAETH_HAS_PORT5
        bool "Port 5 Support"
        depends on RAETH && (RALINK_RT3052 || RALINK_RT3352 || RALINK_RT6855 || RALINK_RT6855A || RALINK_MT7620)
choice
        prompt "Target Mode"
        depends on RAETH_HAS_PORT5
	default P5_RGMII_TO_MAC_MODE

	config P5_MAC_TO_PHY_MODE
		bool "Giga_Phy (RGMII)"
	config P5_RGMII_TO_MAC_MODE
		bool "Giga_SW/iNIC (RGMII)"
	config P5_RGMII_TO_MT7530_MODE
		bool "MT7530 Giga_SW (RGMII)"
		depends on RALINK_MT7620
	config P5_MII_TO_MAC_MODE
		bool "External_CPU (MII_RvMII)"
	config P5_RMII_TO_MAC_MODE
		bool "External_CPU (RvMII_MII)"
endchoice

config  MAC_TO_GIGAPHY_MODE_ADDR
        hex "GE1 Phy Address"
	default 0x1F
        depends on GE1_MII_AN || GE1_RGMII_AN

config  MAC_TO_GIGAPHY_MODE_ADDR
        hex "Port5 Phy Address"
	default 0x5
        depends on P5_MAC_TO_PHY_MODE

config RAETH_GMAC2
        bool "GMAC2 Support"
        depends on RAETH && (RALINK_RT3883 || RALINK_MT7621) && !RAETH_SPECIAL_TAG

choice
        prompt "GMAC2 is connected to"
        depends on RAETH_GMAC2
        default GE2_RGMII_AN

config  GE2_MII_FORCE_100
        bool "MII_FORCE_100 (10/100M Switch)"
        depends on RAETH_GMAC2

config  GE2_MII_AN
        bool "MII_AN (100Phy)"
        depends on RAETH_GMAC2

config  GE2_RVMII_FORCE_100
        bool "RvMII_FORCE_100 (CPU)"
        depends on RAETH_GMAC2

config  GE2_RGMII_FORCE_1000
        bool "RGMII_FORCE_1000 (GigaSW, CPU)"
        depends on RAETH_GMAC2
	select RALINK_SPI

config  GE2_RGMII_AN
        bool "RGMII_AN (GigaPhy)"
        depends on RAETH_GMAC2

config  GE2_INTERNAL_GPHY
        bool "Internal GigaPHY"
        depends on RAETH_GMAC2
	select LAN_WAN_SUPPORT

endchoice

config  GE_RGMII_INTERNAL_P0_AN
	bool
        depends on GE2_INTERNAL_GPHY
	default y if WAN_AT_P0

config  GE_RGMII_INTERNAL_P4_AN
	bool
        depends on GE2_INTERNAL_GPHY
	default y if WAN_AT_P4

config  MAC_TO_GIGAPHY_MODE_ADDR2
        hex
	default 0 if GE_RGMII_INTERNAL_P0_AN
	default 4 if GE_RGMII_INTERNAL_P4_AN
        depends on GE_RGMII_INTERNAL_P0_AN || GE_RGMII_INTERNAL_P4_AN

config  MAC_TO_GIGAPHY_MODE_ADDR2
        hex "GE2 Phy Address"
	default 0x1E
        depends on GE2_MII_AN || GE2_RGMII_AN

#force 100M
config RAETH_ROUTER
bool
default y if GE1_MII_FORCE_100 || GE2_MII_FORCE_100 || GE1_RVMII_FORCE_100 || GE2_RVMII_FORCE_100

#force 1000M
config MAC_TO_MAC_MODE
bool
default y if GE1_RGMII_FORCE_1000 || GE2_RGMII_FORCE_1000
depends on (RALINK_RT2880 || RALINK_RT3883) 

#AN
config GIGAPHY
bool
default y if GE1_RGMII_AN || GE2_RGMII_AN

#AN
config 100PHY
bool
default y if GE1_MII_AN || GE2_MII_AN
