Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6dbb708a authored by Linus Walleij's avatar Linus Walleij
Browse files

ARM: gemini: convert to ARMv4 multiplatform



This converts the Gemini platform to ARMv4 multiplatform, deleting
the local <mach/*> include directory, moving an idiomatic local
idling function into the .machine_init() call and getting rid of
the Makefile.boot finally.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 8e39061e
Loading
Loading
Loading
Loading
+2 −19
Original line number Diff line number Diff line
@@ -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"
+13 −0
Original line number Diff line number Diff line
menuconfig ARCH_GEMINI
	bool "Cortina Systems Gemini"
	depends on ARCH_MULTI_V4
	select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
	select FARADAY_FTINTC010
	select FTTMR010_TIMER
	select GPIO_GEMINI
	select GPIOLIB
	select POWER_RESET
	select POWER_RESET_SYSCON
	select SERIAL_OF_PLATFORM
	help
	  Support for the Cortina Systems Gemini family SoCs
+1 −1
Original line number Diff line number Diff line
# Makefile for Cortina systems Gemini
obj-y			:= idle.o board-dt.o
obj-y			:= board-dt.o
+0 −1
Original line number Diff line number Diff line
# Empty on purpose
+24 −0
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@

#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/system_misc.h>
#include <asm/proc-fns.h>

#ifdef CONFIG_DEBUG_GEMINI
/* This is needed for LL-debug/earlyprintk/debug-macro.S */
@@ -27,6 +29,27 @@ static void __init gemini_map_io(void)
#define gemini_map_io NULL
#endif

static void gemini_idle(void)
{
	/*
	 * Because of broken hardware we have to enable interrupts or the CPU
	 * will never wakeup... Acctualy it is not very good to enable
	 * interrupts first since scheduler can miss a tick, but there is
	 * no other way around this. Platforms that needs it for power saving
	 * should enable it in init code, since by default it is
	 * disabled.
	 */

	/* FIXME: Enabling interrupts here is racy! */
	local_irq_enable();
	cpu_do_idle();
}

static void __init gemini_init_machine(void)
{
	arm_pm_idle = gemini_idle;
}

static const char *gemini_board_compat[] = {
	"cortina,gemini",
	NULL,
@@ -34,5 +57,6 @@ static const char *gemini_board_compat[] = {

DT_MACHINE_START(GEMINI_DT, "Gemini (Device Tree)")
	.map_io		= gemini_map_io,
	.init_machine	= gemini_init_machine,
	.dt_compat	= gemini_board_compat,
MACHINE_END
Loading