linux_dsm_epyc7002/arch/arm/mach-s3c24xx/Kconfig
Arnd Bergmann 27873b052e ARM: samsung: make SAMSUNG_DMADEV optional
The only remaining driver using the samsung dmadev code is the broken
samsung-ac97 sound driver. However, as found by Russell's autobuilder,
the elaborate dependency chains around it cause problems with
circular dependencies.

This is an attempt to simplify those dependencies by making the
SAMSUNG_DMADEV option user-selectable. I also try to keep the
default settings for all related options unchanged, so we don't
introduce any regressions against earlier testing on linux-next.

In particular, all s3c64xx and s5p* platforms keep selecting the
pl330 and pl08x drivers they require, but the select statement
is now moved towards the main platform option, and it remains
optional by unselecting CONFIG_DMADEVICES.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Kukjin Kim <kgene.kim@samsung.com>
2014-06-17 17:09:37 +02:00

634 lines
14 KiB
Plaintext

# arch/arm/mach-s3c24xx/Kconfig
#
# Copyright (c) 2012 Samsung Electronics Co., Ltd.
# http://www.samsung.com/
#
# Copyright 2007 Simtec Electronics
#
# Licensed under GPLv2
if ARCH_S3C24XX
config PLAT_S3C24XX
def_bool y
select ARCH_REQUIRE_GPIOLIB
select NO_IOPORT_MAP
select S3C_DEV_NAND
select IRQ_DOMAIN
help
Base platform code for any Samsung S3C24XX device
menu "SAMSUNG S3C24XX SoCs Support"
comment "S3C24XX SoCs"
config CPU_S3C2410
bool "SAMSUNG S3C2410"
default y
select CPU_ARM920T
select S3C2410_COMMON_CLK
select S3C2410_DMA if S3C24XX_DMA
select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
select S3C2410_PM if PM
select SAMSUNG_WDT_RESET
help
Support for S3C2410 and S3C2410A family from the S3C24XX line
of Samsung Mobile CPUs.
config CPU_S3C2412
bool "SAMSUNG S3C2412"
select CPU_ARM926T
select S3C2412_COMMON_CLK
select S3C2412_DMA if S3C24XX_DMA
select S3C2412_PM if PM
help
Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
config CPU_S3C2416
bool "SAMSUNG S3C2416/S3C2450"
select CPU_ARM926T
select S3C2416_PM if PM
select S3C2443_COMMON_CLK
select S3C2443_DMA if S3C24XX_DMA
help
Support for the S3C2416 SoC from the S3C24XX line
config CPU_S3C2440
bool "SAMSUNG S3C2440"
select CPU_ARM920T
select S3C2410_COMMON_CLK
select S3C2410_PM if PM
select S3C2440_DMA if S3C24XX_DMA
help
Support for S3C2440 Samsung Mobile CPU based systems.
config CPU_S3C2442
bool "SAMSUNG S3C2442"
select CPU_ARM920T
select S3C2410_COMMON_CLK
select S3C2410_DMA if S3C24XX_DMA
select S3C2410_PM if PM
help
Support for S3C2442 Samsung Mobile CPU based systems.
config CPU_S3C244X
def_bool y
depends on CPU_S3C2440 || CPU_S3C2442
select SAMSUNG_WDT_RESET
config CPU_S3C2443
bool "SAMSUNG S3C2443"
select CPU_ARM920T
select S3C2443_COMMON_CLK
select S3C2443_DMA if S3C24XX_DMA
help
Support for the S3C2443 SoC from the S3C24XX line
# common code
config S3C24XX_SMDK
bool
help
Common machine code for SMDK2410 and SMDK2440
config S3C24XX_SIMTEC_AUDIO
bool
depends on (ARCH_BAST || MACH_VR1000 || MACH_OSIRIS || MACH_ANUBIS)
default y
help
Add audio devices for common Simtec S3C24XX boards
config S3C24XX_SIMTEC_PM
bool
help
Common power management code for systems that are
compatible with the Simtec style of power management
config S3C24XX_SIMTEC_USB
bool
help
USB management code for common Simtec S3C24XX boards
config S3C24XX_SETUP_TS
bool
help
Compile in platform device definition for Samsung TouchScreen.
config S3C24XX_DMA
bool "S3C2410 DMA support (deprecated)"
select S3C_DMA
help
S3C2410 DMA support. This is needed for drivers like sound which
use the S3C2410's DMA system to move data to and from the
peripheral blocks.
config S3C2410_DMA_DEBUG
bool "S3C2410 DMA support debug"
depends on S3C2410_DMA
help
Enable debugging output for the DMA code. This option sends info
to the kernel log, at priority KERN_DEBUG.
config S3C2410_DMA
bool
depends on S3C24XX_DMA && (CPU_S3C2410 || CPU_S3C2442)
help
DMA device selection for S3C2410 and compatible CPUs
config S3C2410_PM
bool
help
Power Management code common to S3C2410 and better
config S3C24XX_PLL
bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
depends on ARM_S3C24XX_CPUFREQ
help
Compile in support for changing the PLL frequency from the
S3C24XX series CPUfreq driver. The PLL takes time to settle
after a frequency change, so by default it is not enabled.
This also means that the PLL tables for the selected CPU(s) will
be built which may increase the size of the kernel image.
# cpu frequency items common between s3c2410 and s3c2440/s3c2442
config S3C2410_IOTIMING
bool
depends on ARM_S3C24XX_CPUFREQ
help
Internal node to select io timing code that is common to the s3c2410
and s3c2440/s3c2442 cpu frequency support.
config S3C2410_CPUFREQ_UTILS
bool
depends on ARM_S3C24XX_CPUFREQ
help
Internal node to select timing code that is common to the s3c2410
and s3c2440/s3c244 cpu frequency support.
# cpu frequency support common to s3c2412, s3c2413 and s3c2442
config S3C2412_IOTIMING
bool
depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2412 || CPU_S3C2443)
help
Intel node to select io timing code that is common to the s3c2412
and the s3c2443.
# cpu-specific sections
if CPU_S3C2410
config S3C2410_PLL
bool
depends on ARM_S3C2410_CPUFREQ && S3C24XX_PLL
default y
help
Select the PLL table for the S3C2410
config S3C24XX_SIMTEC_NOR
bool
help
Internal node to specify machine has simtec NOR mapping
config MACH_BAST_IDE
bool
select HAVE_PATA_PLATFORM
help
Internal node for machines with an BAST style IDE
interface
comment "S3C2410 Boards"
#
# The "S3C2410 Boards" list is ordered alphabetically by option text.
# (without ARCH_ or MACH_)
#
config MACH_AML_M5900
bool "AML M5900 Series"
select S3C24XX_SIMTEC_PM if PM
select S3C_DEV_USB_HOST
help
Say Y here if you are using the American Microsystems M5900 Series
<http://www.amltd.com>
config ARCH_BAST
bool "Simtec Electronics BAST (EB2410ITX)"
select ISA
select MACH_BAST_IDE
select S3C2410_COMMON_DCLK
select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
select S3C24XX_SIMTEC_NOR
select S3C24XX_SIMTEC_PM if PM
select S3C24XX_SIMTEC_USB
select S3C_DEV_HWMON
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Simtec Electronics EB2410ITX
development board (also known as BAST)
config BAST_PC104_IRQ
bool "BAST PC104 IRQ support"
depends on ARCH_BAST
default y
help
Say Y here to enable the PC104 IRQ routing on the
Simtec BAST (EB2410ITX)
config ARCH_H1940
bool "IPAQ H1940"
select PM_H1940 if PM
select S3C24XX_SETUP_TS
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the HP IPAQ H1940
config H1940BT
tristate "Control the state of H1940 bluetooth chip"
depends on ARCH_H1940
select RFKILL
help
This is a simple driver that is able to control
the state of built in bluetooth chip on h1940.
config PM_H1940
bool
help
Internal node for H1940 and related PM
config MACH_N30
bool "Acer N30 family"
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you want suppt for the Acer N30, Acer N35,
Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
config MACH_OTOM
bool "NexVision OTOM Board"
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Nex Vision OTOM board
config MACH_QT2410
bool "QT2410"
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Armzone QT2410
config ARCH_SMDK2410
bool "SMDK2410/A9M2410"
select S3C24XX_SMDK
select S3C_DEV_USB_HOST
help
Say Y here if you are using the SMDK2410 or the derived module A9M2410
<http://www.fsforth.de>
config MACH_TCT_HAMMER
bool "TCT Hammer Board"
select S3C_DEV_USB_HOST
help
Say Y here if you are using the TinCanTools Hammer Board
<http://www.tincantools.com>
config MACH_VR1000
bool "Thorcom VR1000"
select MACH_BAST_IDE
select S3C2410_COMMON_DCLK
select S3C24XX_SIMTEC_NOR
select S3C24XX_SIMTEC_PM if PM
select S3C24XX_SIMTEC_USB
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Thorcom VR1000 board.
endif # CPU_S3C2410
config S3C2412_PM_SLEEP
bool
help
Internal config node to apply sleep for S3C2412 power management.
Can be selected by another SoCs such as S3C2416 with similar
sleep procedure.
if CPU_S3C2412
config CPU_S3C2412_ONLY
bool
depends on !CPU_S3C2410 && !CPU_S3C2416 && !CPU_S3C2440 && \
!CPU_S3C2442 && !CPU_S3C2443
default y
config S3C2412_DMA
bool
help
Internal config node for S3C2412 DMA support
config S3C2412_PM
bool
select S3C2412_PM_SLEEP
select SAMSUNG_WAKEMASK
help
Internal config node to apply S3C2412 power management
comment "S3C2412 Boards"
#
# The "S3C2412 Boards" list is ordered alphabetically by option text.
# (without ARCH_ or MACH_)
#
config MACH_JIVE
bool "Logitech Jive"
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Logitech Jive.
config MACH_JIVE_SHOW_BOOTLOADER
bool "Allow access to bootloader partitions in MTD"
depends on MACH_JIVE
config MACH_S3C2413
bool
help
Internal node for S3C2413 version of SMDK2413, so that
machine_is_s3c2413() will work when MACH_SMDK2413 is
selected
config MACH_SMDK2412
bool "SMDK2412"
select MACH_SMDK2413
help
Say Y here if you are using an SMDK2412
Note, this shares support with SMDK2413, so will automatically
select MACH_SMDK2413.
config MACH_SMDK2413
bool "SMDK2413"
select MACH_S3C2413
select S3C24XX_SMDK
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using an SMDK2413
config MACH_VSTMS
bool "VMSTMS"
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using an VSTMS board
endif # CPU_S3C2412
if CPU_S3C2416
config S3C2416_PM
bool
select S3C2412_PM_SLEEP
help
Internal config node to apply S3C2416 power management
config S3C2416_SETUP_SDHCI
bool
select S3C2416_SETUP_SDHCI_GPIO
help
Internal helper functions for S3C2416 based SDHCI systems
config S3C2416_SETUP_SDHCI_GPIO
bool
help
Common setup code for SDHCI gpio.
comment "S3C2416 Boards"
config MACH_SMDK2416
bool "SMDK2416"
select S3C2416_SETUP_SDHCI
select S3C24XX_SMDK
select S3C_DEV_FB
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using an SMDK2416
config MACH_S3C2416_DT
bool "Samsung S3C2416 machine using devicetree"
select CLKSRC_OF
select USE_OF
select PINCTRL
select PINCTRL_S3C24XX
help
Machine support for Samsung S3C2416 machines with device tree enabled.
Select this if a fdt blob is available for the S3C2416 SoC based board.
Note: This is under development and not all peripherals can be supported
with this machine file.
endif # CPU_S3C2416
if CPU_S3C2440
config S3C2440_DMA
bool
help
Support for S3C2440 specific DMA code5A
config S3C2440_XTAL_12000000
bool
help
Indicate that the build needs to support 12MHz system
crystal.
config S3C2440_XTAL_16934400
bool
help
Indicate that the build needs to support 16.9344MHz system
crystal.
config S3C2440_PLL_12000000
bool
depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_12000000
default y if S3C24XX_PLL
help
PLL tables for S3C2440 or S3C2442 CPUs with 12MHz crystals.
config S3C2440_PLL_16934400
bool
depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_16934400
default y if S3C24XX_PLL
help
PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
comment "S3C2440 Boards"
#
# The "S3C2440 Boards" list is ordered alphabetically by option text.
# (without ARCH_ or MACH_)
#
config MACH_ANUBIS
bool "Simtec Electronics ANUBIS"
select HAVE_PATA_PLATFORM
select S3C2410_COMMON_DCLK
select S3C2440_XTAL_12000000
select S3C24XX_SIMTEC_PM if PM
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Simtec Electronics ANUBIS
development system
config MACH_AT2440EVB
bool "Avantech AT2440EVB development board"
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the AT2440EVB development board
config MACH_MINI2440
bool "MINI2440 development board"
select EEPROM_AT24 if I2C
select LEDS_CLASS
select LEDS_TRIGGERS
select LEDS_TRIGGER_BACKLIGHT
select NEW_LEDS
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
select S3C_SETUP_CAMIF
help
Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
available via various sources. It can come with a 3.5" or 7" touch LCD.
config MACH_NEXCODER_2440
bool "NexVision NEXCODER 2440 Light Board"
select S3C2440_XTAL_12000000
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
config MACH_OSIRIS
bool "Simtec IM2440D20 (OSIRIS) module"
select S3C2410_COMMON_DCLK
select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
select S3C2440_XTAL_12000000
select S3C24XX_SIMTEC_PM if PM
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Simtec IM2440D20 module, also
known as the Osiris.
config MACH_OSIRIS_DVS
tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver"
depends on MACH_OSIRIS
depends on TPS65010
help
Say Y/M here if you want to have dynamic voltage scaling support
on the Simtec IM2440D20 (OSIRIS) module via the TPS65011.
The DVS driver alters the voltage supplied to the ARM core
depending on the frequency it is running at. The driver itself
does not do any of the frequency alteration, which is left up
to the cpufreq driver.
config MACH_RX3715
bool "HP iPAQ rx3715"
select PM_H1940 if PM
select S3C2440_XTAL_16934400
select S3C_DEV_NAND
help
Say Y here if you are using the HP iPAQ rx3715.
config ARCH_S3C2440
bool "SMDK2440"
select S3C2440_XTAL_16934400
select S3C24XX_SMDK
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here if you are using the SMDK2440.
config SMDK2440_CPU2440
bool "SMDK2440 with S3C2440 CPU module"
default y if ARCH_S3C2440
select S3C2440_XTAL_16934400
endif # CPU_S3C2440
if CPU_S3C2442
comment "S3C2442 Boards"
#
# The "S3C2442 Boards" list is ordered alphabetically by option text.
# (without ARCH_ or MACH_)
#
config MACH_NEO1973_GTA02
bool "Openmoko GTA02 / Freerunner phone"
select I2C
select MFD_PCF50633
select PCF50633_GPIO
select POWER_SUPPLY
select S3C24XX_PWM
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
config MACH_RX1950
bool "HP iPAQ rx1950"
select I2C
select PM_H1940 if PM
select S3C2410_COMMON_DCLK
select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
select S3C2440_XTAL_16934400
select S3C24XX_PWM
select S3C_DEV_NAND
help
Say Y here if you're using HP iPAQ rx1950
endif # CPU_S3C2442
if CPU_S3C2443 || CPU_S3C2416
config S3C2443_DMA
bool
help
Internal config node for S3C2443 DMA support
config S3C2443_SETUP_SPI
bool
help
Common setup code for SPI GPIO configurations
endif # CPU_S3C2443 || CPU_S3C2416
if CPU_S3C2443
comment "S3C2443 Boards"
config MACH_SMDK2443
bool "SMDK2443"
select S3C24XX_SMDK
select S3C_DEV_HSMMC1
help
Say Y here if you are using an SMDK2443
endif # CPU_S3C2443
endmenu # SAMSUNG S3C24XX SoCs Support
endif # ARCH_S3C24XX