mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-28 15:13:55 +08:00
41c3548e6d
This isolates the custom S3C64xx GPIO definition table to <linux/platform_data/gpio-samsung-s3x64xx.h> as this is used in a few different places in the kernel, removing the need to depend on the implicit inclusion of <mach/gpio.h> from <linux/gpio.h> and thus getting rid of a few nasty cross-dependencies. Also delete the CONFIG_SAMSUNG_GPIO_EXTRA stuff. Instead roof the number of GPIOs for this platform: First sum up all the GPIO banks from A to Q: 187 GPIOs. Add the 16 "board GPIOs" and the roof for SAMSUNG_GPIO_EXTRA, 128, so in total maximum 187+16+128 = 331 GPIOs, so let's take the same roof as for S3C24XX: 512. This way we can do away with the GPIO calculation macros for GPIO_BOARD_START, BOARD_NR_GPIOS and the definition of ARCH_NR_GPIOS. Cc: Mark Brown <broonie@kernel.org> [on Mini6410 board] Tested-by: Tomasz Figa <t.figa@samsung.com> [for changes in mach-s3c64xx] Acked-by: Tomasz Figa <t.figa@samsung.com> Tested-by: Mark Brown <broonie@linaro.org> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
315 lines
7.2 KiB
Plaintext
315 lines
7.2 KiB
Plaintext
# Copyright 2008 Openmoko, Inc.
|
|
# Simtec Electronics, Ben Dooks <ben@simtec.co.uk>
|
|
#
|
|
# Licensed under GPLv2
|
|
|
|
if ARCH_S3C64XX
|
|
|
|
# Configuration options for the S3C6410 CPU
|
|
|
|
config CPU_S3C6400
|
|
bool
|
|
help
|
|
Enable S3C6400 CPU support
|
|
|
|
config CPU_S3C6410
|
|
bool
|
|
help
|
|
Enable S3C6410 CPU support
|
|
|
|
config S3C64XX_DMA
|
|
bool "S3C64XX DMA"
|
|
select S3C_DMA
|
|
|
|
config S3C64XX_SETUP_SDHCI
|
|
bool
|
|
select S3C64XX_SETUP_SDHCI_GPIO
|
|
help
|
|
Internal configuration for default SDHCI setup for S3C6400 and
|
|
S3C6410 SoCs.
|
|
|
|
config S3C64XX_DEV_ONENAND1
|
|
bool
|
|
help
|
|
Compile in platform device definition for OneNAND1 controller
|
|
|
|
# platform specific device setup
|
|
|
|
config S3C64XX_SETUP_I2C0
|
|
bool
|
|
default y
|
|
help
|
|
Common setup code for i2c bus 0.
|
|
|
|
Note, currently since i2c0 is always compiled, this setup helper
|
|
is always compiled with it.
|
|
|
|
config S3C64XX_SETUP_I2C1
|
|
bool
|
|
help
|
|
Common setup code for i2c bus 1.
|
|
|
|
config S3C64XX_SETUP_IDE
|
|
bool
|
|
help
|
|
Common setup code for S3C64XX IDE.
|
|
|
|
config S3C64XX_SETUP_FB_24BPP
|
|
bool
|
|
help
|
|
Common setup code for S3C64XX with an 24bpp RGB display helper.
|
|
|
|
config S3C64XX_SETUP_KEYPAD
|
|
bool
|
|
help
|
|
Common setup code for S3C64XX KEYPAD GPIO configurations
|
|
|
|
config S3C64XX_SETUP_SDHCI_GPIO
|
|
bool
|
|
help
|
|
Common setup code for S3C64XX SDHCI GPIO configurations
|
|
|
|
config S3C64XX_SETUP_SPI
|
|
bool
|
|
help
|
|
Common setup code for SPI GPIO configurations
|
|
|
|
config S3C64XX_SETUP_USB_PHY
|
|
bool
|
|
help
|
|
Common setup code for USB PHY controller
|
|
|
|
# S36400 Macchine support
|
|
|
|
config MACH_SMDK6400
|
|
bool "SMDK6400"
|
|
select CPU_S3C6400
|
|
select S3C64XX_SETUP_SDHCI
|
|
select S3C_DEV_HSMMC
|
|
select S3C_DEV_NAND
|
|
help
|
|
Machine support for the Samsung SMDK6400
|
|
|
|
# S3C6410 machine support
|
|
|
|
config MACH_ANW6410
|
|
bool "A&W6410"
|
|
select CPU_S3C6410
|
|
select S3C64XX_SETUP_FB_24BPP
|
|
select S3C_DEV_FB
|
|
help
|
|
Machine support for the A&W6410
|
|
|
|
config MACH_MINI6410
|
|
bool "MINI6410"
|
|
select CPU_S3C6410
|
|
select S3C64XX_SETUP_FB_24BPP
|
|
select S3C64XX_SETUP_SDHCI
|
|
select S3C_DEV_FB
|
|
select S3C_DEV_HSMMC
|
|
select S3C_DEV_HSMMC1
|
|
select S3C_DEV_NAND
|
|
select S3C_DEV_USB_HOST
|
|
select SAMSUNG_DEV_ADC
|
|
select SAMSUNG_DEV_TS
|
|
help
|
|
Machine support for the FriendlyARM MINI6410
|
|
|
|
config MACH_REAL6410
|
|
bool "REAL6410"
|
|
select CPU_S3C6410
|
|
select S3C64XX_SETUP_FB_24BPP
|
|
select S3C64XX_SETUP_SDHCI
|
|
select S3C_DEV_FB
|
|
select S3C_DEV_HSMMC
|
|
select S3C_DEV_HSMMC1
|
|
select S3C_DEV_NAND
|
|
select S3C_DEV_USB_HOST
|
|
select SAMSUNG_DEV_ADC
|
|
select SAMSUNG_DEV_TS
|
|
help
|
|
Machine support for the CoreWind REAL6410
|
|
|
|
config MACH_SMDK6410
|
|
bool "SMDK6410"
|
|
select CPU_S3C6410
|
|
select HAVE_S3C2410_WATCHDOG if WATCHDOG
|
|
select S3C64XX_SETUP_FB_24BPP
|
|
select S3C64XX_SETUP_I2C1
|
|
select S3C64XX_SETUP_IDE
|
|
select S3C64XX_SETUP_KEYPAD
|
|
select S3C64XX_SETUP_SDHCI
|
|
select S3C64XX_SETUP_USB_PHY
|
|
select S3C_DEV_FB
|
|
select S3C_DEV_HSMMC
|
|
select S3C_DEV_HSMMC1
|
|
select S3C_DEV_I2C1
|
|
select S3C_DEV_RTC
|
|
select S3C_DEV_USB_HOST
|
|
select S3C_DEV_USB_HSOTG
|
|
select S3C_DEV_WDT
|
|
select SAMSUNG_DEV_ADC
|
|
select SAMSUNG_DEV_BACKLIGHT
|
|
select SAMSUNG_DEV_IDE
|
|
select SAMSUNG_DEV_KEYPAD
|
|
select SAMSUNG_DEV_PWM
|
|
select SAMSUNG_DEV_TS
|
|
help
|
|
Machine support for the Samsung SMDK6410
|
|
|
|
# At least some of the SMDK6410s were shipped with the card detect
|
|
# for the MMC/SD slots connected to the same input. This means that
|
|
# either the boards need to be altered to have channel0 to an alternate
|
|
# configuration or that only one slot can be used.
|
|
|
|
choice
|
|
prompt "SMDK6410 MMC/SD slot setup"
|
|
depends on MACH_SMDK6410
|
|
|
|
config SMDK6410_SD_CH0
|
|
bool "Use channel 0 only"
|
|
depends on MACH_SMDK6410
|
|
help
|
|
Select CON7 (channel 0) as the MMC/SD slot, as
|
|
at least some SMDK6410 boards come with the
|
|
resistors fitted so that the card detects for
|
|
channels 0 and 1 are the same.
|
|
|
|
config SMDK6410_SD_CH1
|
|
bool "Use channel 1 only"
|
|
depends on MACH_SMDK6410
|
|
help
|
|
Select CON6 (channel 1) as the MMC/SD slot, as
|
|
at least some SMDK6410 boards come with the
|
|
resistors fitted so that the card detects for
|
|
channels 0 and 1 are the same.
|
|
|
|
endchoice
|
|
|
|
config SMDK6410_WM1190_EV1
|
|
bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
|
|
depends on MACH_SMDK6410
|
|
select MFD_WM8350_I2C
|
|
select REGULATOR
|
|
select REGULATOR_WM8350
|
|
help
|
|
The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC
|
|
and audio daughtercard for the Samsung SMDK6410 reference
|
|
platform. Enabling this option will build support for this
|
|
module into the kernel. The presence of the module will be
|
|
detected at runtime so the resulting kernel can be used
|
|
with or without the 1190-EV1 fitted.
|
|
|
|
config SMDK6410_WM1192_EV1
|
|
bool "Support Wolfson Microelectronics 1192-EV1 PMIC card"
|
|
depends on MACH_SMDK6410
|
|
select MFD_WM831X
|
|
select MFD_WM831X_I2C
|
|
select REGULATOR
|
|
select REGULATOR_WM831X
|
|
help
|
|
The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC
|
|
daughtercard for the Samsung SMDK6410 reference platform.
|
|
Enabling this option will build support for this module into
|
|
the kernel. The presence of the daughtercard will be
|
|
detected at runtime so the resulting kernel can be used
|
|
with or without the 1192-EV1 fitted.
|
|
|
|
config MACH_NCP
|
|
bool "NCP"
|
|
select CPU_S3C6410
|
|
select S3C64XX_SETUP_I2C1
|
|
select S3C_DEV_HSMMC1
|
|
select S3C_DEV_I2C1
|
|
help
|
|
Machine support for the Samsung NCP
|
|
|
|
config MACH_HMT
|
|
bool "Airgoo HMT"
|
|
select CPU_S3C6410
|
|
select S3C64XX_SETUP_FB_24BPP
|
|
select S3C_DEV_FB
|
|
select S3C_DEV_NAND
|
|
select S3C_DEV_USB_HOST
|
|
select SAMSUNG_DEV_PWM
|
|
help
|
|
Machine support for the Airgoo HMT
|
|
|
|
config MACH_SMARTQ
|
|
bool
|
|
select CPU_S3C6410
|
|
select S3C64XX_SETUP_FB_24BPP
|
|
select S3C64XX_SETUP_SDHCI
|
|
select S3C64XX_SETUP_USB_PHY
|
|
select S3C_DEV_FB
|
|
select S3C_DEV_HSMMC
|
|
select S3C_DEV_HSMMC1
|
|
select S3C_DEV_HSMMC2
|
|
select S3C_DEV_HWMON
|
|
select S3C_DEV_RTC
|
|
select S3C_DEV_USB_HOST
|
|
select S3C_DEV_USB_HSOTG
|
|
select SAMSUNG_DEV_ADC
|
|
select SAMSUNG_DEV_PWM
|
|
select SAMSUNG_DEV_TS
|
|
help
|
|
Shared machine support for SmartQ 5/7
|
|
|
|
config MACH_SMARTQ5
|
|
bool "SmartQ 5"
|
|
select MACH_SMARTQ
|
|
help
|
|
Machine support for the SmartQ 5
|
|
|
|
config MACH_SMARTQ7
|
|
bool "SmartQ 7"
|
|
select MACH_SMARTQ
|
|
help
|
|
Machine support for the SmartQ 7
|
|
|
|
config MACH_WLF_CRAGG_6410
|
|
bool "Wolfson Cragganmore 6410"
|
|
select CPU_S3C6410
|
|
select I2C
|
|
select LEDS_GPIO_REGISTER
|
|
select S3C64XX_DEV_SPI0
|
|
select S3C64XX_SETUP_FB_24BPP
|
|
select S3C64XX_SETUP_I2C1
|
|
select S3C64XX_SETUP_IDE
|
|
select S3C64XX_SETUP_KEYPAD
|
|
select S3C64XX_SETUP_SDHCI
|
|
select S3C64XX_SETUP_SPI
|
|
select S3C64XX_SETUP_USB_PHY
|
|
select S3C_DEV_FB
|
|
select S3C_DEV_HSMMC
|
|
select S3C_DEV_HSMMC1
|
|
select S3C_DEV_HSMMC2
|
|
select S3C_DEV_I2C1
|
|
select S3C_DEV_RTC
|
|
select S3C_DEV_USB_HOST
|
|
select S3C_DEV_USB_HSOTG
|
|
select S3C_DEV_WDT
|
|
select SAMSUNG_DEV_ADC
|
|
select SAMSUNG_DEV_KEYPAD
|
|
select SAMSUNG_DEV_PWM
|
|
help
|
|
Machine support for the Wolfson Cragganmore S3C6410 variant.
|
|
|
|
config MACH_S3C64XX_DT
|
|
bool "Samsung S3C6400/S3C6410 machine using Device Tree"
|
|
select CLKSRC_OF
|
|
select CPU_S3C6400
|
|
select CPU_S3C6410
|
|
select PINCTRL
|
|
select PINCTRL_S3C64XX
|
|
select USE_OF
|
|
help
|
|
Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
|
|
enabled.
|
|
Select this if a fdt blob is available for your S3C64XX SoC based
|
|
board.
|
|
Note: This is under development and not all peripherals can be
|
|
supported with this machine file.
|
|
|
|
endif
|