mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
ARM: 5683/1: Add nuc950 platform to w90x900
Add nuc950 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
35c9221acb
commit
936fbe9efc
5 changed files with 143 additions and 0 deletions
|
@ -5,6 +5,11 @@ config CPU_W90P910
|
|||
help
|
||||
Support for W90P910 of Nuvoton W90X900 CPUs.
|
||||
|
||||
config CPU_NUC950
|
||||
bool
|
||||
help
|
||||
Support for NUCP950 of Nuvoton NUC900 CPUs.
|
||||
|
||||
menu "W90P910 Machines"
|
||||
|
||||
config MACH_W90P910EVB
|
||||
|
@ -16,4 +21,14 @@ config MACH_W90P910EVB
|
|||
|
||||
endmenu
|
||||
|
||||
menu "NUC950 Machines"
|
||||
|
||||
config MACH_W90P950EVB
|
||||
bool "Nuvoton NUC950 Evaluation Board"
|
||||
select CPU_NUC950
|
||||
help
|
||||
Say Y here if you are using the Nuvoton NUC950EVB
|
||||
|
||||
endmenu
|
||||
|
||||
endif
|
||||
|
|
|
@ -9,7 +9,9 @@ obj-y += clksel.o dev.o cpu.o
|
|||
# W90X900 CPU support files
|
||||
|
||||
obj-$(CONFIG_CPU_W90P910) += nuc910.o
|
||||
obj-$(CONFIG_CPU_NUC950) += nuc950.o
|
||||
|
||||
# machine support
|
||||
|
||||
obj-$(CONFIG_MACH_W90P910EVB) += mach-nuc910evb.o
|
||||
obj-$(CONFIG_MACH_W90P950EVB) += mach-nuc950evb.o
|
||||
|
|
44
arch/arm/mach-w90x900/mach-nuc950evb.c
Normal file
44
arch/arm/mach-w90x900/mach-nuc950evb.c
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* linux/arch/arm/mach-w90x900/mach-nuc950evb.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 "nuc950.h"
|
||||
|
||||
static void __init nuc950evb_map_io(void)
|
||||
{
|
||||
nuc950_map_io();
|
||||
nuc950_init_clocks();
|
||||
}
|
||||
|
||||
static void __init nuc950evb_init(void)
|
||||
{
|
||||
nuc950_board_init();
|
||||
}
|
||||
|
||||
MACHINE_START(W90P950EVB, "W90P950EVB")
|
||||
/* Maintainer: Wan ZongShun */
|
||||
.phys_io = W90X900_PA_UART,
|
||||
.io_pg_offst = (((u32)W90X900_VA_UART) >> 18) & 0xfffc,
|
||||
.boot_params = 0,
|
||||
.map_io = nuc950evb_map_io,
|
||||
.init_irq = nuc900_init_irq,
|
||||
.init_machine = nuc950evb_init,
|
||||
.timer = &nuc900_timer,
|
||||
MACHINE_END
|
54
arch/arm/mach-w90x900/nuc950.c
Normal file
54
arch/arm/mach-w90x900/nuc950.c
Normal file
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* linux/arch/arm/mach-w90x900/nuc950.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>
|
||||
*
|
||||
* NUC950 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 *nuc950_dev[] __initdata = {
|
||||
&nuc900_device_kpi,
|
||||
&nuc900_device_fmi,
|
||||
};
|
||||
|
||||
/* define specific CPU platform io map */
|
||||
|
||||
static struct map_desc nuc950evb_iodesc[] __initdata = {
|
||||
};
|
||||
|
||||
/*Init NUC950 evb io*/
|
||||
|
||||
void __init nuc950_map_io(void)
|
||||
{
|
||||
nuc900_map_io(nuc950evb_iodesc, ARRAY_SIZE(nuc950evb_iodesc));
|
||||
}
|
||||
|
||||
/*Init NUC950 clock*/
|
||||
|
||||
void __init nuc950_init_clocks(void)
|
||||
{
|
||||
nuc900_init_clocks();
|
||||
}
|
||||
|
||||
/*Init NUC950 board info*/
|
||||
|
||||
void __init nuc950_board_init(void)
|
||||
{
|
||||
nuc900_board_init(nuc950_dev, ARRAY_SIZE(nuc950_dev));
|
||||
}
|
28
arch/arm/mach-w90x900/nuc950.h
Normal file
28
arch/arm/mach-w90x900/nuc950.h
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* arch/arm/mach-w90x900/nuc950.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 nuc950.c */
|
||||
|
||||
extern void nuc950_board_init(void);
|
||||
extern void nuc950_init_clocks(void);
|
||||
extern void nuc950_map_io(void);
|
Loading…
Reference in a new issue