7d0d3fa733
Over the past ten years, new machine support was based on device tree, and an initial set of about 400 boards using ATAGS with boardfile for booting were grandfathered in, with about half of them either removed or converted to DT over time. Based on the recent mailing list discussion I started, I have now turned the findings into a set of patches that marks most board files as 'depends on UNUSED_BOARD_FILES', leaving only 38 of the 196 boards. For the boards that are marked as unused, there are two final chances for potential users: The removal is scheduled to take place after the longterm stable kernel at the end of 2022, so users can stay on that version for another few years, and if anyone still has one of these machines and is planning to keep updating kernels beyond that version, they can speak up now to have their boards taken off the list again. Waiting for the LTS release also makes sure that there will be at least one longterm kernel that contains the recent multiplatform conversion along while still supporting all legacy boards. The short summary of the current status is: - The s3c24xx, cns3xxx, iop32x and mv78xx0 platforms have no known users and will be removed entirely. - The mmp and davinci platforms have DT support for the important machines and will become DT-only after this. - s3c64xx, dove, orion5x, and pxa keep some board files to allow those to be migrated over to DT more easily, but most board files are getting removed now. DT support on these platforms is partially working but requires changes to additional drivers for the other boards. - omap1, ep93xx, sa1100, footbridge and rpc have no DT support at the moment but have some boards with known users. Removing the board files that nobody uses should make it easier to try a DT conversion if anyone cares. There is no explicit timeline what happens with the boards that remain after this removal, but I expect to revisit this in the future, and with most boards gone, there will be a good time to do a treewide review of platform drivers that never gained DT support and have no remaining in-tree board files. Link: https://lore.kernel.org/linux-arm-kernel/CAK8P3a0Z9vGEQbVRBo84bSyPFM-LF+hs5w8ZA51g2Z+NsdtDQA@mail.gmail.com/ -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+30ACgkQmmx57+YA GNnibw//anM6PmfEX9Oeh2sJb7B7scUOMYrhUiw7e//pJ3kD68thviWwkMC0O8x6 05bjFscnCo+AXuZ6TKChFHDrZxJXdJzEpFmGaKVu9LAZjVBGjWaXVeI5xiTGn01b Og9tqPsRqHFfeo3MzrubVUmOv/lbceXoqrep7i+MHfYvmAMWwfGg54JChmABvYSZ 6si4NNLj1U+Eav0uj9Ge2ucBfzN6z1nJeo6I68GXTuAjZcrtlgAEcgTK0X6yMnTF Sv3TzX/B3QG7t0Jib+PSYrDDVxqMJM+e+m8d/qyHFW5am/9ML/fSn2OyPYigfs1+ 0/dgh0+Qu6GG+Xjr+wx5DY7EE/uM9AqvdJiKhGWPfGv++K5H2r/wMeIvbmXlzlrr JRWpKXUHCPdcGKyouJlDOiT3XfBU7X1gfMUK6Os/WYLxLgPo+9+syQtJBMA2PtnJ USlS31vLJbitInDgj9DWtXagBvDvzaUdW9NBwHtE2I3FqsvSZXCqvTpNgkmX7a1v qYJuoMHeppFP6Ylq4Lcu+5DHR9rDfG4z35BC7KWC/7EIkzOapqtYjuzwZg5N5HM2 NOm7gLigOmQl4Jue+2ziUGllo6knPNZdcnRZXUWt+pF77smQS+BSGXAm4xjuwn6B lPD8CQUN83QZdZtVkkvrC9rDGp3ZJCkII9XzvSBf/Cl+C+6ejqY= =wd/l -----END PGP SIGNATURE----- Merge tag 'arm-boardfiles-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM boardfile deprecation from Arnd Bergmann: "Over the past ten years, new machine support was based on device tree, and an initial set of about 400 boards using ATAGS with boardfile for booting were grandfathered in, with about half of them either removed or converted to DT over time. Based on the recent mailing list discussion I started, I have now turned the findings into a set of patches that marks most board files as 'depends on UNUSED_BOARD_FILES', leaving only 38 of the 196 boards. For the boards that are marked as unused, there are two final chances for potential users: The removal is scheduled to take place after the longterm stable kernel at the end of 2022, so users can stay on that version for another few years, and if anyone still has one of these machines and is planning to keep updating kernels beyond that version, they can speak up now to have their boards taken off the list again. Waiting for the LTS release also makes sure that there will be at least one longterm kernel that contains the recent multiplatform conversion along while still supporting all legacy boards. The short summary of the current status is: - The s3c24xx, cns3xxx, iop32x and mv78xx0 platforms have no known users and will be removed entirely. - The mmp and davinci platforms have DT support for the important machines and will become DT-only after this. - s3c64xx, dove, orion5x, and pxa keep some board files to allow those to be migrated over to DT more easily, but most board files are getting removed now. DT support on these platforms is partially working but requires changes to additional drivers for the other boards. - omap1, ep93xx, sa1100, footbridge and rpc have no DT support at the moment but have some boards with known users. Removing the board files that nobody uses should make it easier to try a DT conversion if anyone cares. There is no explicit timeline what happens with the boards that remain after this removal, but I expect to revisit this in the future, and with most boards gone, there will be a good time to do a treewide review of platform drivers that never gained DT support and have no remaining in-tree board files" Link: https://lore.kernel.org/linux-arm-kernel/CAK8P3a0Z9vGEQbVRBo84bSyPFM-LF+hs5w8ZA51g2Z+NsdtDQA@mail.gmail.com/ * tag 'arm-boardfiles-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: ARM: cns3xxx: add CONFIG_UNUSED_BOARD_FILES dependency ARM: iop32x: mark as unused ARM: s3c: mark most board files as unused ARM: omap1: add Kconfig dependencies for unused boards ARM: sa1100: mark most boards as unused ARM: footbridge: mark cats board for removal ARM: mmp: mark all board files for removal ARM: ep93xx: mark most board files as unused ARM: davinci: mark all ATAGS board files as unused ARM: orion: add ATAGS dependencies ARM: pxa: add Kconfig dependencies for ATAGS based boards ARM: add CONFIG_UNUSED_BOARD_FILES ARM: add ATAGS dependencies to non-DT platforms
355 lines
8.3 KiB
Plaintext
355 lines
8.3 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Copyright 2008 Openmoko, Inc.
|
|
# Simtec Electronics, Ben Dooks <ben@simtec.co.uk>
|
|
|
|
menuconfig ARCH_S3C64XX
|
|
bool "Samsung S3C64XX (deprecated, see help)"
|
|
depends on ARCH_MULTI_V6
|
|
select ARM_AMBA
|
|
select ARM_VIC
|
|
select CLKSRC_SAMSUNG_PWM
|
|
select COMMON_CLK_SAMSUNG
|
|
select GPIO_SAMSUNG if ATAGS
|
|
select GPIOLIB
|
|
select HAVE_TCM
|
|
select PLAT_SAMSUNG
|
|
select PM_GENERIC_DOMAINS if PM
|
|
select S3C_DEV_NAND if ATAGS
|
|
select S3C_GPIO_TRACK if ATAGS
|
|
select S3C2410_WATCHDOG
|
|
select SAMSUNG_ATAGS if ATAGS
|
|
select SAMSUNG_WAKEMASK if PM
|
|
select WATCHDOG
|
|
help
|
|
Samsung S3C64XX series based systems
|
|
|
|
The platform is deprecated and scheduled for removal. Please reach to
|
|
the maintainers of the platform and linux-samsung-soc@vger.kernel.org if
|
|
you still use it.
|
|
Without such feedback, the platform will be removed after 2024.
|
|
|
|
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_PL080
|
|
def_bool DMADEVICES
|
|
select AMBA_PL08X
|
|
|
|
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
|
|
|
|
config SAMSUNG_DEV_BACKLIGHT
|
|
bool
|
|
depends on SAMSUNG_DEV_PWM
|
|
help
|
|
Compile in platform device definition LCD backlight with PWM Timer
|
|
|
|
# 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"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
select CPU_S3C6400
|
|
select S3C64XX_SETUP_SDHCI
|
|
select S3C_DEV_HSMMC1
|
|
help
|
|
Machine support for the Samsung SMDK6400
|
|
|
|
# S3C6410 machine support
|
|
|
|
config MACH_ANW6410
|
|
bool "A&W6410"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
select CPU_S3C6410
|
|
select S3C64XX_SETUP_FB_24BPP
|
|
select S3C_DEV_FB
|
|
help
|
|
Machine support for the A&W6410
|
|
|
|
config MACH_MINI6410
|
|
bool "MINI6410"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
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"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
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"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
select CPU_S3C6410
|
|
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
|
|
depends on I2C=y
|
|
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
|
|
depends on I2C=y
|
|
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"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
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"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
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"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
select MACH_SMARTQ
|
|
help
|
|
Machine support for the SmartQ 5
|
|
|
|
config MACH_SMARTQ7
|
|
bool "SmartQ 7"
|
|
depends on ATAGS && UNUSED_BOARD_FILES
|
|
select MACH_SMARTQ
|
|
help
|
|
Machine support for the SmartQ 7
|
|
|
|
config MACH_WLF_CRAGG_6410
|
|
bool "Wolfson Cragganmore 6410"
|
|
depends on ATAGS
|
|
depends on I2C=y
|
|
select CPU_S3C6410
|
|
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 CPU_S3C6400
|
|
select CPU_S3C6410
|
|
select PINCTRL
|
|
select PINCTRL_S3C64XX
|
|
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
|