mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
ARM: 5684/1: Add nuc960 platform to w90x900
Add nuc960 platform to w90x900. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
936fbe9efc
commit
8e22676e56
5 changed files with 143 additions and 0 deletions
|
@ -10,6 +10,11 @@ config CPU_NUC950
|
||||||
help
|
help
|
||||||
Support for NUCP950 of Nuvoton NUC900 CPUs.
|
Support for NUCP950 of Nuvoton NUC900 CPUs.
|
||||||
|
|
||||||
|
config CPU_NUC960
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Support for NUCP960 of Nuvoton NUC900 CPUs.
|
||||||
|
|
||||||
menu "W90P910 Machines"
|
menu "W90P910 Machines"
|
||||||
|
|
||||||
config MACH_W90P910EVB
|
config MACH_W90P910EVB
|
||||||
|
@ -31,4 +36,14 @@ config MACH_W90P950EVB
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
menu "NUC960 Machines"
|
||||||
|
|
||||||
|
config MACH_W90N960EVB
|
||||||
|
bool "Nuvoton NUC960 Evaluation Board"
|
||||||
|
select CPU_NUC960
|
||||||
|
help
|
||||||
|
Say Y here if you are using the Nuvoton NUC960EVB
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -10,8 +10,10 @@ obj-y += clksel.o dev.o cpu.o
|
||||||
|
|
||||||
obj-$(CONFIG_CPU_W90P910) += nuc910.o
|
obj-$(CONFIG_CPU_W90P910) += nuc910.o
|
||||||
obj-$(CONFIG_CPU_NUC950) += nuc950.o
|
obj-$(CONFIG_CPU_NUC950) += nuc950.o
|
||||||
|
obj-$(CONFIG_CPU_NUC960) += nuc960.o
|
||||||
|
|
||||||
# machine support
|
# machine support
|
||||||
|
|
||||||
obj-$(CONFIG_MACH_W90P910EVB) += mach-nuc910evb.o
|
obj-$(CONFIG_MACH_W90P910EVB) += mach-nuc910evb.o
|
||||||
obj-$(CONFIG_MACH_W90P950EVB) += mach-nuc950evb.o
|
obj-$(CONFIG_MACH_W90P950EVB) += mach-nuc950evb.o
|
||||||
|
obj-$(CONFIG_MACH_W90N960EVB) += mach-nuc960evb.o
|
||||||
|
|
44
arch/arm/mach-w90x900/mach-nuc960evb.c
Normal file
44
arch/arm/mach-w90x900/mach-nuc960evb.c
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
/*
|
||||||
|
* linux/arch/arm/mach-w90x900/mach-nuc960evb.c
|
||||||
|
*
|
||||||
|
* Based on mach-s3c2410/mach-smdk2410.c by Jonas Dietsche
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008 Nuvoton technology corporation.
|
||||||
|
*
|
||||||
|
* Wan ZongShun <mcuos.com@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation;version 2 of the License.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
#include <asm/mach/arch.h>
|
||||||
|
#include <asm/mach/map.h>
|
||||||
|
#include <asm/mach-types.h>
|
||||||
|
#include <mach/map.h>
|
||||||
|
|
||||||
|
#include "nuc960.h"
|
||||||
|
|
||||||
|
static void __init nuc960evb_map_io(void)
|
||||||
|
{
|
||||||
|
nuc960_map_io();
|
||||||
|
nuc960_init_clocks();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __init nuc960evb_init(void)
|
||||||
|
{
|
||||||
|
nuc960_board_init();
|
||||||
|
}
|
||||||
|
|
||||||
|
MACHINE_START(W90N960EVB, "W90N960EVB")
|
||||||
|
/* Maintainer: Wan ZongShun */
|
||||||
|
.phys_io = W90X900_PA_UART,
|
||||||
|
.io_pg_offst = (((u32)W90X900_VA_UART) >> 18) & 0xfffc,
|
||||||
|
.boot_params = 0,
|
||||||
|
.map_io = nuc960evb_map_io,
|
||||||
|
.init_irq = nuc900_init_irq,
|
||||||
|
.init_machine = nuc960evb_init,
|
||||||
|
.timer = &nuc900_timer,
|
||||||
|
MACHINE_END
|
54
arch/arm/mach-w90x900/nuc960.c
Normal file
54
arch/arm/mach-w90x900/nuc960.c
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
/*
|
||||||
|
* linux/arch/arm/mach-w90x900/nuc960.c
|
||||||
|
*
|
||||||
|
* Based on linux/arch/arm/plat-s3c24xx/s3c244x.c by Ben Dooks
|
||||||
|
*
|
||||||
|
* Copyright (c) 2008 Nuvoton technology corporation.
|
||||||
|
*
|
||||||
|
* Wan ZongShun <mcuos.com@gmail.com>
|
||||||
|
*
|
||||||
|
* NUC960 cpu support
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation;version 2 of the License.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
#include <asm/mach/map.h>
|
||||||
|
#include <mach/hardware.h>
|
||||||
|
#include "cpu.h"
|
||||||
|
|
||||||
|
/* define specific CPU platform device */
|
||||||
|
|
||||||
|
static struct platform_device *nuc960_dev[] __initdata = {
|
||||||
|
&nuc900_device_kpi,
|
||||||
|
&nuc900_device_fmi,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* define specific CPU platform io map */
|
||||||
|
|
||||||
|
static struct map_desc nuc960evb_iodesc[] __initdata = {
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Init NUC960 evb io*/
|
||||||
|
|
||||||
|
void __init nuc960_map_io(void)
|
||||||
|
{
|
||||||
|
nuc900_map_io(nuc960evb_iodesc, ARRAY_SIZE(nuc960evb_iodesc));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Init NUC960 clock*/
|
||||||
|
|
||||||
|
void __init nuc960_init_clocks(void)
|
||||||
|
{
|
||||||
|
nuc900_init_clocks();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Init NUC960 board info*/
|
||||||
|
|
||||||
|
void __init nuc960_board_init(void)
|
||||||
|
{
|
||||||
|
nuc900_board_init(nuc960_dev, ARRAY_SIZE(nuc960_dev));
|
||||||
|
}
|
28
arch/arm/mach-w90x900/nuc960.h
Normal file
28
arch/arm/mach-w90x900/nuc960.h
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* arch/arm/mach-w90x900/nuc960.h
|
||||||
|
*
|
||||||
|
* Copyright (c) 2008 Nuvoton corporation
|
||||||
|
*
|
||||||
|
* Header file for NUC900 CPU support
|
||||||
|
*
|
||||||
|
* Wan ZongShun <mcuos.com@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct map_desc;
|
||||||
|
struct sys_timer;
|
||||||
|
|
||||||
|
/* core initialisation functions */
|
||||||
|
|
||||||
|
extern void nuc900_init_irq(void);
|
||||||
|
extern struct sys_timer nuc900_timer;
|
||||||
|
|
||||||
|
/* extern file from nuc960.c */
|
||||||
|
|
||||||
|
extern void nuc960_board_init(void);
|
||||||
|
extern void nuc960_init_clocks(void);
|
||||||
|
extern void nuc960_map_io(void);
|
Loading…
Reference in a new issue