^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config BCMA_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) depends on HAS_IOMEM && HAS_DMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) menuconfig BCMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) tristate "Broadcom specific AMBA"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) depends on BCMA_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Bus driver for Broadcom specific Advanced Microcontroller Bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Architecture.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) if BCMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) # Support for Block-I/O. SELECT this from the driver that needs it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) config BCMA_BLOCKIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) config BCMA_HOST_PCI_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) depends on PCI = y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) config BCMA_HOST_PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) bool "Support for BCMA on PCI-host bus"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) depends on BCMA_HOST_PCI_POSSIBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) select BCMA_DRIVER_PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) config BCMA_HOST_SOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) bool "Support for BCMA in a SoC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) depends on HAS_IOMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Host interface for a Broadcom AIX bus directly mapped into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) the memory. This only works with the Broadcom SoCs from the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) BCM47XX line.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) If unsure, say N
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) config BCMA_DRIVER_PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) bool "BCMA Broadcom PCI core driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) depends on PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) BCMA bus may have many versions of PCIe core. This driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) supports:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 1) PCIe core working in clientmode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 2) PCIe Gen 2 clientmode core
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) In general PCIe (Gen 2) clientmode core is required on PCIe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) hosted buses. It's responsible for initialization and basic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) hardware management.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) This driver is also prerequisite for a hostmode PCIe core
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) config BCMA_DRIVER_PCI_HOSTMODE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) bool "Driver for PCI core working in hostmode"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) depends on MIPS && BCMA_DRIVER_PCI && PCI_DRIVERS_LEGACY && BCMA = y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) PCI core hostmode operation (external PCI bus).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) config BCMA_DRIVER_MIPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) bool "BCMA Broadcom MIPS core driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) depends on MIPS || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) Driver for the Broadcom MIPS core attached to Broadcom specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) Advanced Microcontroller Bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) If unsure, say N
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) config BCMA_PFLASH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) depends on BCMA_DRIVER_MIPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) config BCMA_SFLASH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) bool "ChipCommon-attached serial flash support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) depends on BCMA_HOST_SOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Some cheap devices have serial flash connected to the ChipCommon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) instead of independent SPI controller. It requires using a separated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) driver that implements ChipCommon specific interface communication.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) Enabling this symbol will let bcma recognize serial flash and register
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) it as platform device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) config BCMA_NFLASH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) depends on BCMA_DRIVER_MIPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) config BCMA_DRIVER_GMAC_CMN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) bool "BCMA Broadcom GBIT MAC COMMON core driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) Driver for the Broadcom GBIT MAC COMMON core attached to Broadcom
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) specific Advanced Microcontroller Bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) If unsure, say N
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) config BCMA_DRIVER_GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) bool "BCMA GPIO driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) depends on GPIOLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) select GPIOLIB_IRQCHIP if BCMA_HOST_SOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) Driver to provide access to the GPIO pins of the bcma bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) If unsure, say N
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config BCMA_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) bool "BCMA debugging"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) This turns on additional debugging messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) If unsure, say N
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) endif # BCMA