summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/sdk_fman/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/freescale/sdk_fman/Kconfig')
-rw-r--r--drivers/net/ethernet/freescale/sdk_fman/Kconfig153
1 files changed, 153 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/sdk_fman/Kconfig b/drivers/net/ethernet/freescale/sdk_fman/Kconfig
new file mode 100644
index 0000000..d98c098
--- /dev/null
+++ b/drivers/net/ethernet/freescale/sdk_fman/Kconfig
@@ -0,0 +1,153 @@
+menu "Frame Manager support"
+
+menuconfig FSL_SDK_FMAN
+ bool "Freescale Frame Manager (datapath) support - SDK driver"
+ depends on (FSL_SOC || ARM64 || ARM) && FSL_SDK_BMAN && FSL_SDK_QMAN && !FSL_FMAN
+ default y
+ ---help---
+ If unsure, say Y.
+
+if FSL_SDK_FMAN
+
+config FSL_SDK_FMAN_TEST
+ bool "FMan test module"
+ default n
+ select FSL_DPAA_HOOKS
+ ---help---
+ This option compiles test code for FMan.
+
+menu "FMAN Processor support"
+choice
+ depends on FSL_SDK_FMAN
+ prompt "Processor Type"
+
+config FMAN_ARM
+ bool "LS1043"
+ depends on ARM64 || ARM
+ ---help---
+ Choose "LS1043" for the ARM platforms:
+ LS1043
+
+config FMAN_P3040_P4080_P5020
+ bool "P3040 P4080 5020"
+
+config FMAN_P1023
+ bool "P1023"
+
+config FMAN_V3H
+ bool "FmanV3H"
+ ---help---
+ Choose "FmanV3H" for Fman rev3H:
+ B4860, T4240, T4160, etc
+
+config FMAN_V3L
+ bool "FmanV3L"
+ ---help---
+ Choose "FmanV3L" for Fman rev3L:
+ T1040, T1042, T1020, T1022, T1023, T1024, etc
+
+endchoice
+endmenu
+
+config FMAN_MIB_CNT_OVF_IRQ_EN
+ bool "Enable the dTSEC MIB counters overflow interrupt"
+ default n
+ ---help---
+ Enable the dTSEC MIB counters overflow interrupt to get
+ accurate MIB counters values. Enabled it compensates
+ for the counters overflow but reduces performance and
+ triggers error messages in HV setups.
+
+config FSL_FM_MAX_FRAME_SIZE
+ int "Maximum L2 frame size"
+ depends on FSL_SDK_FMAN
+ range 64 9600
+ default "1522"
+ help
+ Configure this in relation to the maximum possible MTU of your
+ network configuration. In particular, one would need to
+ increase this value in order to use jumbo frames.
+ FSL_FM_MAX_FRAME_SIZE must accommodate the Ethernet FCS (4 bytes)
+ and one ETH+VLAN header (18 bytes), to a total of 22 bytes in
+ excess of the desired L3 MTU.
+
+ Note that having too large a FSL_FM_MAX_FRAME_SIZE (much larger
+ than the actual MTU) may lead to buffer exhaustion, especially
+ in the case of badly fragmented datagrams on the Rx path.
+ Conversely, having a FSL_FM_MAX_FRAME_SIZE smaller than the actual
+ MTU will lead to frames being dropped.
+
+ This can be overridden by specifying "fsl_fm_max_frm" in
+ the kernel bootargs:
+ * in Hypervisor-based scenarios, by adding a "chosen" node
+ with the "bootargs" property specifying
+ "fsl_fm_max_frm=<YourValue>";
+ * in non-Hypervisor-based scenarios, via u-boot's env, by
+ modifying the "bootargs" env variable.
+
+config FSL_FM_RX_EXTRA_HEADROOM
+ int "Add extra headroom at beginning of data buffers"
+ depends on FSL_SDK_FMAN
+ range 16 384
+ default "64"
+ help
+ Configure this to tell the Frame Manager to reserve some extra
+ space at the beginning of a data buffer on the receive path,
+ before Internal Context fields are copied. This is in addition
+ to the private data area already reserved for driver internal
+ use. The provided value must be a multiple of 16.
+
+ This setting can be overridden by specifying
+ "fsl_fm_rx_extra_headroom" in the kernel bootargs:
+ * in Hypervisor-based scenarios, by adding a "chosen" node
+ with the "bootargs" property specifying
+ "fsl_fm_rx_extra_headroom=<YourValue>";
+ * in non-Hypervisor-based scenarios, via u-boot's env, by
+ modifying the "bootargs" env variable.
+
+config FMAN_PFC
+ bool "FMan PFC support (EXPERIMENTAL)"
+ depends on ( FMAN_V3H || FMAN_V3L || FMAN_ARM) && FSL_SDK_FMAN
+ default n
+ help
+ This option enables PFC support on FMan v3 ports.
+ Data Center Bridging defines Classes of Service that are
+ flow-controlled using PFC pause frames.
+
+if FMAN_PFC
+config FMAN_PFC_COS_COUNT
+ int "Number of PFC Classes of Service"
+ depends on FMAN_PFC && FSL_SDK_FMAN
+ range 1 4
+ default "3"
+ help
+ The number of Classes of Service controlled by PFC.
+
+config FMAN_PFC_QUANTA_0
+ int "The pause quanta for PFC CoS 0"
+ depends on FMAN_PFC && FSL_SDK_FMAN
+ range 0 65535
+ default "65535"
+
+config FMAN_PFC_QUANTA_1
+ int "The pause quanta for PFC CoS 1"
+ depends on FMAN_PFC && FSL_SDK_FMAN
+ range 0 65535
+ default "65535"
+
+config FMAN_PFC_QUANTA_2
+ int "The pause quanta for PFC CoS 2"
+ depends on FMAN_PFC && FSL_SDK_FMAN
+ range 0 65535
+ default "65535"
+
+config FMAN_PFC_QUANTA_3
+ int "The pause quanta for PFC CoS 3"
+ depends on FMAN_PFC && FSL_SDK_FMAN
+ range 0 65535
+ default "65535"
+endif
+
+endif # FSL_SDK_FMAN
+
+endmenu