^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # Marvell device configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) config NET_VENDOR_MARVELL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) bool "Marvell devices"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) depends on PCI || CPU_PXA168 || MV64X60 || PPC32 || PLAT_ORION || INET || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) If you have a network (Ethernet) card belonging to this class, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Note that the answer to this question doesn't directly affect the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) kernel: saying N will just cause the configurator to skip all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) the questions about Marvell devices. If you say Y, you will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) asked for your specific card in the following questions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) if NET_VENDOR_MARVELL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) config MV643XX_ETH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) tristate "Marvell Discovery (643XX) and Orion ethernet support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) depends on MV64X60 || PPC32 || PLAT_ORION || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) depends on INET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) select PHYLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) select MVMDIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) This driver supports the gigabit ethernet MACs in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Marvell Discovery PPC/MIPS chipset family (MV643XX) and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) in the Marvell Orion ARM SoC family.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Some boards that use the Discovery chipset are the Momenco
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Ocelot C and Jaguar ATX and Pegasos II.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) config MVMDIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) tristate "Marvell MDIO interface support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) depends on HAS_IOMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) select PHYLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) This driver supports the MDIO interface found in the network
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Dove, Armada 370 and Armada XP).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) This driver is used by the MV643XX_ETH and MVNETA drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) config MVNETA_BM_ENABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) tristate "Marvell Armada 38x/XP network interface BM support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) depends on MVNETA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) depends on !64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) This driver supports auxiliary block of the network
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) interface units in the Marvell ARMADA XP and ARMADA 38x SoC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) family, which is called buffer manager.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) This driver, when enabled, strictly cooperates with mvneta
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) driver and is common for all network ports of the devices,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) even for Armada 370 SoC, which doesn't support hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) buffer management.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) config MVNETA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) tristate "Marvell Armada 370/38x/XP/37xx network interface support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) depends on ARCH_MVEBU || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) select MVMDIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) select PHYLINK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) select PAGE_POOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) This driver supports the network interface units in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) Marvell ARMADA XP, ARMADA 370, ARMADA 38x and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) ARMADA 37xx SoC family.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Note that this driver is distinct from the mv643xx_eth
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) driver, which should be used for the older Marvell SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) (Dove, Orion, Discovery, Kirkwood).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) config MVNETA_BM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) depends on !64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) default y if MVNETA=y && MVNETA_BM_ENABLE!=n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) default MVNETA_BM_ENABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) select HWBM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) select GENERIC_ALLOCATOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) that all dependencies are met.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) config MVPP2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) tristate "Marvell Armada 375/7K/8K network interface support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) depends on ARCH_MVEBU || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) select MVMDIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) select PHYLINK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) select PAGE_POOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) This driver supports the network interface units in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) Marvell ARMADA 375, 7K and 8K SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) config MVPP2_PTP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) bool "Marvell Armada 8K Enable PTP support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) depends on NETWORK_PHY_TIMESTAMPING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) depends on (PTP_1588_CLOCK = y && MVPP2 = y) || \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) (PTP_1588_CLOCK && MVPP2 = m)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) config PXA168_ETH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) tristate "Marvell pxa168 ethernet support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) depends on HAS_IOMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) select PHYLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) This driver supports the pxa168 Ethernet ports.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) To compile this driver as a module, choose M here. The module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) will be called pxa168_eth.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) config SKGE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) tristate "Marvell Yukon Gigabit Ethernet support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) depends on PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) select CRC32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) and related Gigabit Ethernet adapters. It is a new smaller driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) with better performance and more complete ethtool support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) It does not support the link failover and network management
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) features that "portable" vendor supplied sk98lin driver does.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) This driver supports adapters based on the original Yukon chipset:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) It does not support the newer Yukon2 chipset: a separate driver,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) sky2, is provided for these adapters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) To compile this driver as a module, choose M here: the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) will be called skge. This is recommended.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) config SKGE_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) bool "Debugging interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) depends on SKGE && DEBUG_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) This option adds the ability to dump driver state for debugging.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) The file /sys/kernel/debug/skge/ethX displays the state of the internal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) transmit and receive rings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) config SKGE_GENESIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) bool "Support for older SysKonnect Genesis boards"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) depends on SKGE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) This enables support for the older and uncommon SysKonnect Genesis
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) chips, which support MII via an external transceiver, instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) an internal one. Disabling this option will save some memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) by making code smaller. If unsure say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) config SKY2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) tristate "Marvell Yukon 2 support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) depends on PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) select CRC32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) This driver supports Gigabit Ethernet adapters based on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) Marvell Yukon 2 chipset:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) There is companion driver for the older Marvell Yukon and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) SysKonnect Genesis based adapters: skge.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) To compile this driver as a module, choose M here: the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) will be called sky2. This is recommended.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) config SKY2_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) bool "Debugging interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) depends on SKY2 && DEBUG_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) This option adds the ability to dump driver state for debugging.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) The file /sys/kernel/debug/sky2/ethX displays the state of the internal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) transmit and receive rings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) source "drivers/net/ethernet/marvell/octeontx2/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) source "drivers/net/ethernet/marvell/prestera/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) endif # NET_VENDOR_MARVELL