-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: S3C2416: Add initial support of SMDK2416
Add support of SMDK2416 development board. Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
- Loading branch information
Yauhen Kharuzhy
authored and
Ben Dooks
committed
May 10, 2010
1 parent
f1290a4
commit d241314
Showing
3 changed files
with
151 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,3 +16,4 @@ obj-$(CONFIG_CPU_S3C2416) += irq.o | |
|
||
# Machine support | ||
|
||
obj-$(CONFIG_MACH_SMDK2416) += mach-smdk2416.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
/* linux/arch/arm/mach-s3c2416/mach-hanlin_v3c.c | ||
* | ||
* Copyright (c) 2009 Yauhen Kharuzhy <jekhor@gmail.com>, | ||
* as part of OpenInkpot project | ||
* Copyright (c) 2009 Promwad Innovation Company | ||
* Yauhen Kharuzhy <yauhen.kharuzhy@promwad.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. | ||
* | ||
*/ | ||
|
||
#include <linux/kernel.h> | ||
#include <linux/types.h> | ||
#include <linux/interrupt.h> | ||
#include <linux/list.h> | ||
#include <linux/timer.h> | ||
#include <linux/init.h> | ||
#include <linux/serial_core.h> | ||
#include <linux/platform_device.h> | ||
#include <linux/io.h> | ||
#include <linux/mtd/partitions.h> | ||
|
||
#include <asm/mach/arch.h> | ||
#include <asm/mach/map.h> | ||
#include <asm/mach/irq.h> | ||
|
||
#include <mach/hardware.h> | ||
#include <asm/irq.h> | ||
#include <asm/mach-types.h> | ||
|
||
#include <plat/regs-serial.h> | ||
#include <mach/regs-gpio.h> | ||
#include <mach/regs-lcd.h> | ||
|
||
#include <mach/idle.h> | ||
#include <mach/fb.h> | ||
#include <mach/leds-gpio.h> | ||
#include <plat/iic.h> | ||
|
||
#include <plat/s3c2416.h> | ||
#include <plat/clock.h> | ||
#include <plat/devs.h> | ||
#include <plat/cpu.h> | ||
#include <plat/nand.h> | ||
|
||
#include <plat/common-smdk.h> | ||
|
||
static struct map_desc smdk2416_iodesc[] __initdata = { | ||
/* ISA IO Space map (memory space selected by A24) */ | ||
|
||
{ | ||
.virtual = (u32)S3C24XX_VA_ISA_WORD, | ||
.pfn = __phys_to_pfn(S3C2410_CS2), | ||
.length = 0x10000, | ||
.type = MT_DEVICE, | ||
}, { | ||
.virtual = (u32)S3C24XX_VA_ISA_WORD + 0x10000, | ||
.pfn = __phys_to_pfn(S3C2410_CS2 + (1<<24)), | ||
.length = SZ_4M, | ||
.type = MT_DEVICE, | ||
}, { | ||
.virtual = (u32)S3C24XX_VA_ISA_BYTE, | ||
.pfn = __phys_to_pfn(S3C2410_CS2), | ||
.length = 0x10000, | ||
.type = MT_DEVICE, | ||
}, { | ||
.virtual = (u32)S3C24XX_VA_ISA_BYTE + 0x10000, | ||
.pfn = __phys_to_pfn(S3C2410_CS2 + (1<<24)), | ||
.length = SZ_4M, | ||
.type = MT_DEVICE, | ||
} | ||
}; | ||
|
||
#define UCON (S3C2410_UCON_DEFAULT | \ | ||
S3C2440_UCON_PCLK | \ | ||
S3C2443_UCON_RXERR_IRQEN) | ||
|
||
#define ULCON (S3C2410_LCON_CS8 | S3C2410_LCON_PNONE) | ||
|
||
#define UFCON (S3C2410_UFCON_RXTRIG8 | \ | ||
S3C2410_UFCON_FIFOMODE | \ | ||
S3C2440_UFCON_TXTRIG16) | ||
|
||
static struct s3c2410_uartcfg smdk2416_uartcfgs[] __initdata = { | ||
[0] = { | ||
.hwport = 0, | ||
.flags = 0, | ||
.ucon = UCON, | ||
.ulcon = ULCON, | ||
.ufcon = UFCON, | ||
}, | ||
[1] = { | ||
.hwport = 1, | ||
.flags = 0, | ||
.ucon = UCON, | ||
.ulcon = ULCON, | ||
.ufcon = UFCON, | ||
}, | ||
/* IR port */ | ||
[2] = { | ||
.hwport = 2, | ||
.flags = 0, | ||
.ucon = UCON, | ||
.ulcon = ULCON | 0x50, | ||
.ufcon = UFCON, | ||
} | ||
}; | ||
|
||
static struct platform_device *smdk2416_devices[] __initdata = { | ||
&s3c_device_wdt, | ||
&s3c_device_i2c0, | ||
&s3c_device_hsmmc0, | ||
}; | ||
|
||
static void __init smdk2416_map_io(void) | ||
{ | ||
|
||
s3c24xx_init_io(smdk2416_iodesc, ARRAY_SIZE(smdk2416_iodesc)); | ||
s3c24xx_init_clocks(12000000); | ||
s3c24xx_init_uarts(smdk2416_uartcfgs, ARRAY_SIZE(smdk2416_uartcfgs)); | ||
|
||
} | ||
|
||
static void __init smdk2416_machine_init(void) | ||
{ | ||
s3c_i2c0_set_platdata(NULL); | ||
|
||
platform_add_devices(smdk2416_devices, ARRAY_SIZE(smdk2416_devices)); | ||
smdk_machine_init(); | ||
} | ||
|
||
MACHINE_START(SMDK2416, "SMDK2416") | ||
/* Maintainer: Yauhen Kharuzhy <jekhor@gmail.com> */ | ||
.phys_io = S3C2410_PA_UART, | ||
.io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, | ||
.boot_params = S3C2410_SDRAM_PA + 0x100, | ||
|
||
.init_irq = s3c24xx_init_irq, | ||
.map_io = smdk2416_map_io, | ||
.init_machine = smdk2416_machine_init, | ||
.timer = &s3c24xx_timer, | ||
MACHINE_END |