diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/sdk_fman/Kconfig')
-rw-r--r-- | drivers/net/ethernet/freescale/sdk_fman/Kconfig | 162 |
1 files changed, 162 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 000000000000..9dfbb0ac5d50 --- /dev/null +++ b/drivers/net/ethernet/freescale/sdk_fman/Kconfig @@ -0,0 +1,162 @@ +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 FSL_SDK_FMAN_RTC_API + bool "FMan RTC (1588 timer) APIs" + default n + help + This option enables RTC (1588 timer) initialization and + APIs support. The ptp_qoriq driver is not available if + it is selected for RTC (1588 timer). Neither of them + were not able to be used together. + +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 |