
Pull PCI updates from Bjorn Helgaas: "PCI changes for v4.6: Enumeration: - Disable IO/MEM decoding for devices with non-compliant BARs (Bjorn Helgaas) - Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs (Bjorn Helgaas Resource management: - Mark shadow copy of VGA ROM as IORESOURCE_PCI_FIXED (Bjorn Helgaas) - Don't assign or reassign immutable resources (Bjorn Helgaas) - Don't enable/disable ROM BAR if we're using a RAM shadow copy (Bjorn Helgaas) - Set ROM shadow location in arch code, not in PCI core (Bjorn Helgaas) - Remove arch-specific IORESOURCE_ROM_SHADOW size from sysfs (Bjorn Helgaas) - ia64: Use ioremap() instead of open-coded equivalent (Bjorn Helgaas) - ia64: Keep CPU physical (not virtual) addresses in shadow ROM resource (Bjorn Helgaas) - MIPS: Keep CPU physical (not virtual) addresses in shadow ROM resource (Bjorn Helgaas) - Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY (Bjorn Helgaas) - Don't leak memory if sysfs_create_bin_file() fails (Bjorn Helgaas) - rcar: Remove PCI_PROBE_ONLY handling (Lorenzo Pieralisi) - designware: Remove PCI_PROBE_ONLY handling (Lorenzo Pieralisi) Virtualization: - Wait for up to 1000ms after FLR reset (Alex Williamson) - Support SR-IOV on any function type (Kelly Zytaruk) - Add ACS quirk for all Cavium devices (Manish Jaggi) AER: - Rename pci_ops_aer to aer_inj_pci_ops (Bjorn Helgaas) - Restore pci_ops pointer while calling original pci_ops (David Daney) - Fix aer_inject error codes (Jean Delvare) - Use dev_warn() in aer_inject (Jean Delvare) - Log actual error causes in aer_inject (Jean Delvare) - Log aer_inject error injections (Jean Delvare) VPD: - Prevent VPD access for buggy devices (Babu Moger) - Move pci_read_vpd() and pci_write_vpd() close to other VPD code (Bjorn Helgaas) - Move pci_vpd_release() from header file to pci/access.c (Bjorn Helgaas) - Remove struct pci_vpd_ops.release function pointer (Bjorn Helgaas) - Rename VPD symbols to remove unnecessary "pci22" (Bjorn Helgaas) - Fold struct pci_vpd_pci22 into struct pci_vpd (Bjorn Helgaas) - Sleep rather than busy-wait for VPD access completion (Bjorn Helgaas) - Update VPD definitions (Hannes Reinecke) - Allow access to VPD attributes with size 0 (Hannes Reinecke) - Determine actual VPD size on first access (Hannes Reinecke) Generic host bridge driver: - Move structure definitions to separate header file (David Daney) - Add pci_host_common_probe(), based on gen_pci_probe() (David Daney) - Expose pci_host_common_probe() for use by other drivers (David Daney) Altera host bridge driver: - Fix altera_pcie_link_is_up() (Ley Foon Tan) Cavium ThunderX host bridge driver: - Add PCIe host driver for ThunderX processors (David Daney) - Add driver for ThunderX-pass{1,2} on-chip devices (David Daney) Freescale i.MX6 host bridge driver: - Add DT bindings to configure PHY Tx driver settings (Justin Waters) - Move imx6_pcie_reset_phy() near other PHY handling functions (Lucas Stach) - Move PHY reset into imx6_pcie_establish_link() (Lucas Stach) - Remove broken Gen2 workaround (Lucas Stach) - Move link up check into imx6_pcie_wait_for_link() (Lucas Stach) Freescale Layerscape host bridge driver: - Add "fsl,ls2085a-pcie" compatible ID (Yang Shi) Intel VMD host bridge driver: - Attach VMD resources to parent domain's resource tree (Jon Derrick) - Set bus resource start to 0 (Keith Busch) Microsoft Hyper-V host bridge driver: - Add fwnode_handle to x86 pci_sysdata (Jake Oshins) - Look up IRQ domain by fwnode_handle (Jake Oshins) - Add paravirtual PCI front-end for Microsoft Hyper-V VMs (Jake Oshins) NVIDIA Tegra host bridge driver: - Add pci_ops.{add,remove}_bus() callbacks (Thierry Reding) - Implement ->{add,remove}_bus() callbacks (Thierry Reding) - Remove unused struct tegra_pcie.num_ports field (Thierry Reding) - Track bus -> CPU mapping (Thierry Reding) - Remove misleading PHYS_OFFSET (Thierry Reding) Renesas R-Car host bridge driver: - Depend on ARCH_RENESAS, not ARCH_SHMOBILE (Simon Horman) Synopsys DesignWare host bridge driver: - ARC: Add PCI support (Joao Pinto) - Add generic dw_pcie_wait_for_link() (Joao Pinto) - Add default link up check if sub-driver doesn't override (Joao Pinto) - Add driver for prototyping kits based on ARC SDP (Joao Pinto) TI Keystone host bridge driver: - Defer probing if devm_phy_get() returns -EPROBE_DEFER (Shawn Lin) Xilinx AXI host bridge driver: - Use of_pci_get_host_bridge_resources() to parse DT (Bharat Kumar Gogada) - Remove dependency on ARM-specific struct hw_pci (Bharat Kumar Gogada) - Don't call pci_fixup_irqs() on Microblaze (Bharat Kumar Gogada) - Update Zynq binding with Microblaze node (Bharat Kumar Gogada) - microblaze: Support generic Xilinx AXI PCIe Host Bridge IP driver (Bharat Kumar Gogada) Xilinx NWL host bridge driver: - Add support for Xilinx NWL PCIe Host Controller (Bharat Kumar Gogada) Miscellaneous: - Check device_attach() return value always (Bjorn Helgaas) - Move pci_set_flags() from asm-generic/pci-bridge.h to linux/pci.h (Bjorn Helgaas) - Remove includes of empty asm-generic/pci-bridge.h (Bjorn Helgaas) - ARM64: Remove generated include of asm-generic/pci-bridge.h (Bjorn Helgaas) - Remove empty asm-generic/pci-bridge.h (Bjorn Helgaas) - Remove includes of asm/pci-bridge.h (Bjorn Helgaas) - Consolidate PCI DMA constants and interfaces in linux/pci-dma-compat.h (Bjorn Helgaas) - unicore32: Remove unused HAVE_ARCH_PCI_SET_DMA_MASK definition (Bjorn Helgaas) - Cleanup pci/pcie/Kconfig whitespace (Andreas Ziegler) - Include pci/hotplug Kconfig directly from pci/Kconfig (Bjorn Helgaas) - Include pci/pcie/Kconfig directly from pci/Kconfig (Bogicevic Sasa) - frv: Remove stray pci_{alloc,free}_consistent() declaration (Christoph Hellwig) - Move pci_dma_* helpers to common code (Christoph Hellwig) - Add PCI_CLASS_SERIAL_USB_DEVICE definition (Heikki Krogerus) - Add QEMU top-level IDs for (sub)vendor & device (Robin H. Johnson) - Fix broken URL for Dell biosdevname (Naga Venkata Sai Indubhaskar Jupudi)" * tag 'pci-v4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (94 commits) PCI: Add PCI_CLASS_SERIAL_USB_DEVICE definition PCI: designware: Add driver for prototyping kits based on ARC SDP PCI: designware: Add default link up check if sub-driver doesn't override PCI: designware: Add generic dw_pcie_wait_for_link() PCI: Cleanup pci/pcie/Kconfig whitespace PCI: Simplify pci_create_attr() control flow PCI: Don't leak memory if sysfs_create_bin_file() fails PCI: Simplify sysfs ROM cleanup PCI: Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY MIPS: Loongson 3: Keep CPU physical (not virtual) addresses in shadow ROM resource MIPS: Loongson 3: Use temporary struct resource * to avoid repetition ia64/PCI: Keep CPU physical (not virtual) addresses in shadow ROM resource ia64/PCI: Use ioremap() instead of open-coded equivalent ia64/PCI: Use temporary struct resource * to avoid repetition PCI: Clean up pci_map_rom() whitespace PCI: Remove arch-specific IORESOURCE_ROM_SHADOW size from sysfs PCI: thunder: Add driver for ThunderX-pass{1,2} on-chip devices PCI: thunder: Add PCIe host driver for ThunderX processors PCI: generic: Expose pci_host_common_probe() for use by other drivers PCI: generic: Add pci_host_common_probe(), based on gen_pci_probe() ...
412 lines
9.0 KiB
Plaintext
412 lines
9.0 KiB
Plaintext
config M32R
|
|
bool
|
|
default y
|
|
select HAVE_IDE
|
|
select HAVE_OPROFILE
|
|
select INIT_ALL_POSSIBLE
|
|
select HAVE_KERNEL_GZIP
|
|
select HAVE_KERNEL_BZIP2
|
|
select HAVE_KERNEL_LZMA
|
|
select ARCH_WANT_IPC_PARSE_VERSION
|
|
select HAVE_DEBUG_BUGVERBOSE
|
|
select VIRT_TO_BUS
|
|
select GENERIC_IRQ_PROBE
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_ATOMIC64
|
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
|
select ARCH_USES_GETTIMEOFFSET
|
|
select MODULES_USE_ELF_RELA
|
|
select HAVE_DEBUG_STACKOVERFLOW
|
|
|
|
config SBUS
|
|
bool
|
|
|
|
config GENERIC_ISA_DMA
|
|
bool
|
|
default y
|
|
|
|
config ZONE_DMA
|
|
bool
|
|
default y
|
|
|
|
config NO_IOPORT_MAP
|
|
def_bool y
|
|
|
|
config NO_DMA
|
|
def_bool y
|
|
|
|
config HZ
|
|
int
|
|
default 100
|
|
|
|
source "init/Kconfig"
|
|
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
|
|
menu "Processor type and features"
|
|
|
|
choice
|
|
prompt "Platform Type"
|
|
default PLAT_MAPPI
|
|
|
|
config PLAT_MAPPI
|
|
bool "Mappi-I"
|
|
help
|
|
The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
|
|
You can operate a Linux system on this board by using an M32R
|
|
softmacro core, which is a fully-synthesizable functional model
|
|
described in Verilog-HDL.
|
|
|
|
The Mappi-I board was the first platform, which had been used
|
|
to port and develop a Linux system for the M32R processor.
|
|
Currently, the Mappi-II, an heir to the Mappi-I, is available.
|
|
|
|
config PLAT_USRV
|
|
bool "uServer"
|
|
select PLAT_HAS_INT1ICU
|
|
|
|
config PLAT_M32700UT
|
|
bool "M32700UT"
|
|
select PLAT_HAS_INT0ICU
|
|
select PLAT_HAS_INT1ICU
|
|
select PLAT_HAS_INT2ICU
|
|
help
|
|
The M3T-M32700UT is an evaluation board based on uT-Engine
|
|
specification. This board has an M32700 (Chaos) evaluation chip.
|
|
You can say Y for SMP, because the M32700 is a single chip
|
|
multiprocessor.
|
|
|
|
config PLAT_OPSPUT
|
|
bool "OPSPUT"
|
|
select PLAT_HAS_INT0ICU
|
|
select PLAT_HAS_INT1ICU
|
|
select PLAT_HAS_INT2ICU
|
|
help
|
|
The OPSPUT is an evaluation board based on uT-Engine
|
|
specification. This board has a OPSP-REP chip.
|
|
|
|
config PLAT_OAKS32R
|
|
bool "OAKS32R"
|
|
help
|
|
The OAKS32R is a tiny, inexpensive evaluation board.
|
|
Please note that if you say Y here and choose chip "M32102",
|
|
say N for MMU and select a no-MMU version kernel, otherwise
|
|
a kernel with MMU support will not work, because the M32102
|
|
is a microcontroller for embedded systems and it has no MMU.
|
|
|
|
config PLAT_MAPPI2
|
|
bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
|
|
|
|
config PLAT_MAPPI3
|
|
bool "Mappi-III(M3A-2170)"
|
|
|
|
config PLAT_M32104UT
|
|
bool "M32104UT"
|
|
select PLAT_HAS_INT1ICU
|
|
help
|
|
The M3T-M32104UT is an reference board based on uT-Engine
|
|
specification. This board has a M32104 chip.
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Processor family"
|
|
default CHIP_M32700
|
|
|
|
config CHIP_M32700
|
|
bool "M32700 (Chaos)"
|
|
|
|
config CHIP_M32102
|
|
bool "M32102"
|
|
|
|
config CHIP_M32104
|
|
bool "M32104"
|
|
depends on PLAT_M32104UT
|
|
|
|
config CHIP_VDEC2
|
|
bool "VDEC2"
|
|
|
|
config CHIP_OPSP
|
|
bool "OPSP"
|
|
|
|
endchoice
|
|
|
|
config MMU
|
|
bool "Support for memory management hardware"
|
|
depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
|
|
default y
|
|
|
|
config TLB_ENTRIES
|
|
int "TLB Entries"
|
|
depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
|
|
default 32 if CHIP_M32700 || CHIP_OPSP
|
|
default 16 if CHIP_VDEC2
|
|
|
|
|
|
config ISA_M32R
|
|
bool
|
|
depends on CHIP_M32102 || CHIP_M32104
|
|
default y
|
|
|
|
config ISA_M32R2
|
|
bool
|
|
depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
|
|
default y
|
|
|
|
config ISA_DSP_LEVEL2
|
|
bool
|
|
depends on CHIP_M32700 || CHIP_OPSP
|
|
default y
|
|
|
|
config ISA_DUAL_ISSUE
|
|
bool
|
|
depends on CHIP_M32700 || CHIP_OPSP
|
|
default y
|
|
|
|
config PLAT_HAS_INT0ICU
|
|
bool
|
|
default n
|
|
|
|
config PLAT_HAS_INT1ICU
|
|
bool
|
|
default n
|
|
|
|
config PLAT_HAS_INT2ICU
|
|
bool
|
|
default n
|
|
|
|
config BUS_CLOCK
|
|
int "Bus Clock [Hz] (integer)"
|
|
default "70000000" if PLAT_MAPPI
|
|
default "25000000" if PLAT_USRV
|
|
default "50000000" if PLAT_MAPPI3
|
|
default "50000000" if PLAT_M32700UT
|
|
default "50000000" if PLAT_OPSPUT
|
|
default "54000000" if PLAT_M32104UT
|
|
default "33333333" if PLAT_OAKS32R
|
|
default "20000000" if PLAT_MAPPI2
|
|
|
|
config TIMER_DIVIDE
|
|
int "Timer divider (integer)"
|
|
default "128"
|
|
|
|
config CPU_LITTLE_ENDIAN
|
|
bool "Generate little endian code"
|
|
default n
|
|
|
|
config MEMORY_START
|
|
hex "Physical memory start address (hex)"
|
|
default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
|
|
default "08000000" if PLAT_USRV
|
|
default "08000000" if PLAT_M32700UT
|
|
default "08000000" if PLAT_OPSPUT
|
|
default "04000000" if PLAT_M32104UT
|
|
default "01000000" if PLAT_OAKS32R
|
|
|
|
config MEMORY_SIZE
|
|
hex "Physical memory size (hex)"
|
|
default "08000000" if PLAT_MAPPI3
|
|
default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
|
|
default "02000000" if PLAT_USRV
|
|
default "01000000" if PLAT_M32700UT
|
|
default "01000000" if PLAT_OPSPUT
|
|
default "01000000" if PLAT_M32104UT
|
|
default "00800000" if PLAT_OAKS32R
|
|
|
|
config ARCH_DISCONTIGMEM_ENABLE
|
|
bool "Internal RAM Support"
|
|
depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
|
|
default y
|
|
|
|
source "mm/Kconfig"
|
|
|
|
config IRAM_START
|
|
hex "Internal memory start address (hex)"
|
|
default "00f00000" if !CHIP_M32104
|
|
default "00700000" if CHIP_M32104
|
|
depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
|
|
|
|
config IRAM_SIZE
|
|
hex "Internal memory size (hex)"
|
|
depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
|
|
default "00080000" if CHIP_M32700
|
|
default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
|
|
default "00008000" if CHIP_VDEC2
|
|
|
|
#
|
|
# Define implied options from the CPU selection here
|
|
#
|
|
|
|
config GENERIC_LOCKBREAK
|
|
bool
|
|
default y
|
|
depends on SMP && PREEMPT
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
depends on M32R
|
|
default y
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
default n
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
bool
|
|
default n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
bool
|
|
default n
|
|
|
|
config GENERIC_HWEIGHT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config SCHED_OMIT_FRAME_POINTER
|
|
bool
|
|
default y
|
|
|
|
source "kernel/Kconfig.preempt"
|
|
|
|
config SMP
|
|
bool "Symmetric multi-processing support"
|
|
depends on MMU
|
|
---help---
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, say N. If you have a system with more
|
|
than one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on uni- and multiprocessor
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
|
you say Y here, the kernel will run on many, but not all,
|
|
uniprocessor machines. On a uniprocessor machine, the kernel
|
|
will run faster if you say N here.
|
|
|
|
People using multiprocessor machines who say Y here should also say
|
|
Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
|
|
Management" code will be disabled if you say Y here.
|
|
|
|
See also the SMP-HOWTO available at
|
|
<http://tldp.org/HOWTO/SMP-HOWTO.html>.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config CHIP_M32700_TS1
|
|
bool "Workaround code for the M32700 TS1 chip's bug"
|
|
depends on (CHIP_M32700 && SMP)
|
|
default n
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-32)"
|
|
range 2 32
|
|
depends on SMP
|
|
default "2"
|
|
help
|
|
This allows you to specify the maximum number of CPUs which this
|
|
kernel will support. The maximum supported value is 32 and the
|
|
minimum value which makes sense is 2.
|
|
|
|
This is purely to save memory - each supported CPU adds
|
|
approximately eight kilobytes to the kernel image.
|
|
|
|
# Common NUMA Features
|
|
config NUMA
|
|
bool "Numa Memory Allocation Support"
|
|
depends on SMP && BROKEN
|
|
default n
|
|
|
|
config NODES_SHIFT
|
|
int
|
|
default "1"
|
|
depends on NEED_MULTIPLE_NODES
|
|
|
|
endmenu
|
|
|
|
|
|
menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
|
|
|
|
config PCI
|
|
bool "PCI support"
|
|
depends on BROKEN
|
|
default n
|
|
help
|
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
|
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
|
|
VESA. If you have PCI, say Y, otherwise N.
|
|
|
|
choice
|
|
prompt "PCI access mode"
|
|
depends on PCI
|
|
default PCI_GOANY
|
|
|
|
config PCI_GOBIOS
|
|
bool "BIOS"
|
|
---help---
|
|
On PCI systems, the BIOS can be used to detect the PCI devices and
|
|
determine their configuration. However, some old PCI motherboards
|
|
have BIOS bugs and may crash if this is done. Also, some embedded
|
|
PCI-based systems don't have any BIOS at all. Linux can also try to
|
|
detect the PCI hardware directly without using the BIOS.
|
|
|
|
With this option, you can specify how Linux should detect the PCI
|
|
devices. If you choose "BIOS", the BIOS will be used, if you choose
|
|
"Direct", the BIOS won't be used, and if you choose "Any", the
|
|
kernel will try the direct access method and falls back to the BIOS
|
|
if that doesn't work. If unsure, go with the default, which is
|
|
"Any".
|
|
|
|
config PCI_GODIRECT
|
|
bool "Direct"
|
|
|
|
config PCI_GOANY
|
|
bool "Any"
|
|
|
|
endchoice
|
|
|
|
config PCI_BIOS
|
|
bool
|
|
depends on PCI && (PCI_GOBIOS || PCI_GOANY)
|
|
default y
|
|
|
|
config PCI_DIRECT
|
|
bool
|
|
depends on PCI && (PCI_GODIRECT || PCI_GOANY)
|
|
default y
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
config ISA
|
|
bool
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
endmenu
|
|
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/m32r/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|