Skip to content

Commit

Permalink
ARM: gemini: convert to ARMv4 multiplatform
Browse files Browse the repository at this point in the history
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: Linus Walleij <linus.walleij@linaro.org>
  • Loading branch information
Linus Walleij committed Mar 12, 2017
1 parent 8e39061 commit 6dbb708
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 165 deletions.
21 changes: 2 additions & 19 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"
Expand Down
13 changes: 13 additions & 0 deletions arch/arm/mach-gemini/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
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
2 changes: 1 addition & 1 deletion arch/arm/mach-gemini/Makefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Makefile for Cortina systems Gemini
obj-y := idle.o board-dt.o
obj-y := board-dt.o
1 change: 0 additions & 1 deletion arch/arm/mach-gemini/Makefile.boot

This file was deleted.

24 changes: 24 additions & 0 deletions arch/arm/mach-gemini/board-dt.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand All @@ -27,12 +29,34 @@ 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,
};

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
31 changes: 0 additions & 31 deletions arch/arm/mach-gemini/idle.c

This file was deleted.

71 changes: 0 additions & 71 deletions arch/arm/mach-gemini/include/mach/hardware.h

This file was deleted.

42 changes: 0 additions & 42 deletions arch/arm/mach-gemini/include/mach/uncompress.h

This file was deleted.

0 comments on commit 6dbb708

Please sign in to comment.