mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-09 09:48:57 +00:00
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
|