From c12ddfe1ed41b59c3122b67a37195c085f9da9c6 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Fri, 13 Jan 2017 23:55:54 +0100 Subject: ARM: gemini: convert to MULTI_IRQ_HANDLER In order to enable device tree boot on this machine we must first convert it to runtime-manage its irq handler, so do this. Cc: Janos Laube Cc: Paulius Zaleckas Cc: Hans Ulli Kroll Cc: Florian Fainelli Signed-off-by: Linus Walleij --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0d4e71b42c77..6c2b72b173c8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -365,6 +365,7 @@ config ARCH_GEMINI select CPU_FA526 select GENERIC_CLOCKEVENTS select GPIOLIB + select MULTI_IRQ_HANDLER help Support for the Cortina Systems Gemini family SoCs -- cgit From 41d9830cd09f652936be95431cecfbac39ed09f7 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Sat, 21 Jan 2017 12:59:05 +0100 Subject: ARM: gemini: DT for the Cortina Gemini SoC platforms This adds initial and compulsory device tree support to the Gemini ARMv4 platform. We are selecting a bunch of "absolute minimals" for getting a working system up with just device tree: - We select USE_OF for natural reasons or nothing works. - We select CLKSRC_OF and GEMINI_TIMER so we get timekeeping from the clocksource. - We select GPIO_GEMINI because these are used as irqchips, and for a generic driver it is not reasonable for those to have to select every possible irqchip in the world to work, the platform should simply provide the available irqchips. - We select a UART that can be exprected to work with SERIAL_OF_PLATFORM which is the name for an 8250 OF-probed serial port. - We select the syscon-based reset controller: it's not fun when "reboot" doesn't work because of Kconfig, so we just select POWER_RESET and POWER_RESET_SYSCON. - We perhaps a bit controversiallt select ARM_APPENDED_DTB, because this platform is using the ancient RedBoot, and can *NOT* be expected to upgrade its bootloaders. Appended device tree is simply how these devices have to work with device tree. Cc: Janos Laube Cc: Paulius Zaleckas Cc: Hans Ulli Kroll Cc: Florian Fainelli Signed-off-by: Linus Walleij --- arch/arm/Kconfig | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 6c2b72b173c8..637f5756dca8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -361,11 +361,17 @@ config ARM_SINGLE_ARMV7M config ARCH_GEMINI bool "Cortina Systems Gemini" - select CLKSRC_MMIO + select ARM_APPENDED_DTB # Old Redboot bootloaders deployed select CPU_FA526 - select GENERIC_CLOCKEVENTS + select FARADAY_FTINTC010 + select FTTMR010_TIMER + select GPIO_GEMINI select GPIOLIB select MULTI_IRQ_HANDLER + select POWER_RESET + select POWER_RESET_SYSCON + select SERIAL_OF_PLATFORM + select USE_OF help Support for the Cortina Systems Gemini family SoCs -- cgit From ee149d66d76057e40fe1354c08572f8611cf50e4 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Sat, 21 Jan 2017 21:30:29 +0100 Subject: ARM: gemini: delete all boardfiles Delete the Gemini boardfiles: we have corresponding, fully-featured device trees for all these boards. Delete the referenced include files. Delete the local config symbols, especially one for "swapped memory", as all supported boards have swapped memory, and would a new board be supported this is likely not the right way to achieve it anyways. Only the Kconfig options in the central arch/arm/Kconfig remains. Cc: Janos Laube Cc: Paulius Zaleckas Cc: Hans Ulli Kroll Cc: Florian Fainelli Signed-off-by: Linus Walleij --- arch/arm/Kconfig | 2 -- 1 file changed, 2 deletions(-) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 637f5756dca8..150119a9de7b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -755,8 +755,6 @@ source "arch/arm/mach-ep93xx/Kconfig" source "arch/arm/mach-footbridge/Kconfig" -source "arch/arm/mach-gemini/Kconfig" - source "arch/arm/mach-highbank/Kconfig" source "arch/arm/mach-hisi/Kconfig" -- cgit From 46abf938db42f31d92481f35bbba3bd044901c6b Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Sat, 21 Jan 2017 21:35:52 +0100 Subject: ARM: gemini: switch to sparse IRQs There is no boardfiles or anything else using the fixed IRQs anymore, switch the platform to use sparse IRQs and delete the header. Cc: Janos Laube Cc: Paulius Zaleckas Cc: Hans Ulli Kroll Cc: Florian Fainelli Signed-off-by: Linus Walleij --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 150119a9de7b..4dbc7c625724 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -371,6 +371,7 @@ config ARCH_GEMINI select POWER_RESET select POWER_RESET_SYSCON select SERIAL_OF_PLATFORM + select SPARSE_IRQ select USE_OF help Support for the Cortina Systems Gemini family SoCs -- cgit From 8e39061ec8910848d537384bc30f574299f0d3f5 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Sat, 21 Jan 2017 21:49:27 +0100 Subject: ARM: gemini: select ARM_PATCH_PHYS_VIRT and AUTO_ZRELADDR This platform survives physical to virtual patching without any hickups, and can use AUTO_ZRELADDR. We still need to keep Makefile.boot but it is now empty. Cc: Janos Laube Cc: Paulius Zaleckas Cc: Hans Ulli Kroll Cc: Florian Fainelli Signed-off-by: Linus Walleij --- arch/arm/Kconfig | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4dbc7c625724..bfa68a6e4c09 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -362,6 +362,8 @@ config ARM_SINGLE_ARMV7M config ARCH_GEMINI bool "Cortina Systems Gemini" select ARM_APPENDED_DTB # Old Redboot bootloaders deployed + select ARM_PATCH_PHYS_VIRT + select AUTO_ZRELADDR select CPU_FA526 select FARADAY_FTINTC010 select FTTMR010_TIMER -- cgit From 6dbb708a8fb8eef552d8de2b7574d92741b3bb31 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Sat, 21 Jan 2017 22:43:08 +0100 Subject: ARM: gemini: convert to ARMv4 multiplatform This converts the Gemini platform to ARMv4 multiplatform, deleting the local include directory, moving an idiomatic local idling function into the .machine_init() call and getting rid of the Makefile.boot finally. Cc: Janos Laube Cc: Paulius Zaleckas Cc: Hans Ulli Kroll Cc: Florian Fainelli Signed-off-by: Linus Walleij --- arch/arm/Kconfig | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index bfa68a6e4c09..f1e83a7ffdae 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -359,25 +359,6 @@ config ARM_SINGLE_ARMV7M select SPARSE_IRQ select USE_OF -config ARCH_GEMINI - bool "Cortina Systems Gemini" - select ARM_APPENDED_DTB # Old Redboot bootloaders deployed - select ARM_PATCH_PHYS_VIRT - select AUTO_ZRELADDR - select CPU_FA526 - select FARADAY_FTINTC010 - select FTTMR010_TIMER - select GPIO_GEMINI - select GPIOLIB - select MULTI_IRQ_HANDLER - select POWER_RESET - select POWER_RESET_SYSCON - select SERIAL_OF_PLATFORM - select SPARSE_IRQ - select USE_OF - help - Support for the Cortina Systems Gemini family SoCs - config ARCH_EBSA110 bool "EBSA-110" select ARCH_USES_GETTIMEOFFSET @@ -758,6 +739,8 @@ source "arch/arm/mach-ep93xx/Kconfig" source "arch/arm/mach-footbridge/Kconfig" +source "arch/arm/mach-gemini/Kconfig" + source "arch/arm/mach-highbank/Kconfig" source "arch/arm/mach-hisi/Kconfig" -- cgit From bcb84fb4d606ef8a0c2c276551bc81f6d2381898 Mon Sep 17 00:00:00 2001 From: Alexandre TORGUE Date: Mon, 30 Jan 2017 17:33:13 +0100 Subject: ARM: stm32: create dedicated kconfig for STM32 machine Create a dedicated Kconfig file in mach-stm32/ and move existing stm32 configs inside. Signed-off-by: Alexandre TORGUE --- arch/arm/Kconfig | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) (limited to 'arch/arm/Kconfig') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0d4e71b42c77..4386fd8edf7a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -819,6 +819,8 @@ source "arch/arm/mach-spear/Kconfig" source "arch/arm/mach-sti/Kconfig" +source "arch/arm/mach-stm32/Kconfig" + source "arch/arm/mach-s3c24xx/Kconfig" source "arch/arm/mach-s3c64xx/Kconfig" @@ -877,28 +879,6 @@ config ARCH_LPC18XX Support for NXP's LPC18xx Cortex-M3 and LPC43xx Cortex-M4 high performance microcontrollers. -config ARCH_STM32 - bool "STMicrolectronics STM32" - depends on ARM_SINGLE_ARMV7M - select ARCH_HAS_RESET_CONTROLLER - select ARMV7M_SYSTICK - select CLKSRC_STM32 - select PINCTRL - select RESET_CONTROLLER - select STM32_EXTI - help - Support for STMicroelectronics STM32 processors. - -config MACH_STM32F429 - bool "STMicrolectronics STM32F429" - depends on ARCH_STM32 - default y - -config MACH_STM32F746 - bool "STMicrolectronics STM32F746" - depends on ARCH_STM32 - default y - config ARCH_MPS2 bool "ARM MPS2 platform" depends on ARM_SINGLE_ARMV7M -- cgit