S5PV310: Add Samsung Mobile Reference Board support
Subsystems (3)
PATCH 5/6 S5PV310: Add Samsung Mobile Reference Board support
From: Kyungmin Park <[email protected]>
Initial samsung mobile reference board support
--- arch/arm/mach-s5pv310/Kconfig | 9 +++ arch/arm/mach-s5pv310/Makefile | 1 + arch/arm/mach-s5pv310/mach-universal.c | 86 ++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-s5pv310/mach-universal.c
arch/arm/mach-s5pv310/Kconfig +9 -0
@@ -23,4 +23,13 @@ config MACH_SMDKV310 select ARCH_SPARSEMEM_ENABLE help Machine support for Samsung SMDKV310 + +config MACH_UNIVERSAL + bool "Mobile Universal Board" + select CPU_S5PV310 + select ARCH_SPARSEMEM_ENABLE + help + Machine support for Samsung Mobile Universal Reference Board. + S5PC210(MCP) is one of package option of S5PV310 + endif
arch/arm/mach-s5pv310/Makefile +1 -0
@@ -22,3 +22,4 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o # machine support obj-$(CONFIG_MACH_SMDKV310) += mach-smdkv310.o +obj-$(CONFIG_MACH_UNIVERSAL) += mach-universal.o
arch/arm/mach-s5pv310/mach-universal.c new file +86 -0
86 lines not on this page · raw message
Signature · 1 line
1.5.3.3
PATCH 5/6 S5PV310: Add Samsung Mobile Reference Board support
Quoted 4 lines · Kyungmin Park
From: Kyungmin Park <[email protected]>
Initial samsung mobile reference board support
This patch should be apart from OneNAND support.
Quoted 15 lines
Signed-off-by Kyungmin Park <[email protected]>--- arch/arm/mach-s5pv310/Kconfig | 9 +++ arch/arm/mach-s5pv310/Makefile | 1 + arch/arm/mach-s5pv310/mach-universal.c | 86 ++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-s5pv310/mach-universal.carch/arm/mach-s5pv310/Kconfig +0
-0
arch/arm/mach-s5pv310/Kconfig config MACH_SMDKV310 · line 27
Quoted 5 lines
arch/arm/mach-s5pv310/Kconfig +2
-0@@ -23,4 +23,13 @@ config MACH_SMDKV310 select ARCH_SPARSEMEM_ENABLE help Machine support for Samsung SMDKV310 + +config MACH_UNIVERSAL
Hmm...do you _really_ want to use 'UNIVERSAL' as the board(machine) name? IMHO...it's so 'universal'...even though already registered to Russell's machine registry
Quoted 1 line
arch/arm/mach-s5pv310/Kconfig +1
-0+ bool "Mobile Universal Board"
...
Review
Quoted 8 lines
arch/arm/mach-s5pv310/Kconfig +6
-0+ select CPU_S5PV310 + select ARCH_SPARSEMEM_ENABLE + help + Machine support for Samsung Mobile Universal Reference Board. + S5PC210(MCP) is one of package option of S5PV310 + endif(quoted diff) +0
-0
b/arch/arm/mach-s5pv310/Makefile
Quoted 27 lines
index 56e7693..5b52132 100644
arch/arm/mach-s5pv310/Makefile +1
-0@@ -22,3 +22,4 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o # machine support obj-$(CONFIG_MACH_SMDKV310) += mach-smdkv310.o +obj-$(CONFIG_MACH_UNIVERSAL) += mach-universal.oarch/arm/mach- renamed from arch/arm/mach-s5pv310/mach-universal.c +0
-0
s5pv310/mach-universal.c
new file mode 100644
index 0000000..d22727farch/arm/mach-s5pv310/mach-universal.c new file +12
-0@@ -0,0 +1,86 @@ +/* linux/arch/arm/mach-s5pv310/mach-universal.c +* +* Copyright (C) 2010 Samsung Electronics Co., Ltd. +* +* 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/serial_core.h> + +#include <asm/mach/arch.h>
arch/arm/mach-s5pv310/mach-universal.c line 22
Quoted 10 lines
arch/arm/mach-s5pv310/mach-universal.c new file +10
-0+#include <asm/mach-types.h> +#include <asm/hardware/cache-l2x0.h> + +#include <plat/regs-serial.h> +#include <plat/s5pv310.h> +#include <plat/cpu.h> + +#include <mach/map.h> + +/* Following are default values for UCON, ULCON and UFCON UART registers
*/
Quoted 35 lines
arch/arm/mach-s5pv310/mach-universal.c new file +35
-0+#define UNIVERSAL_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ + S3C2410_UCON_RXILEVEL | \ + S3C2410_UCON_TXIRQMODE | \ + S3C2410_UCON_RXIRQMODE | \ + S3C2410_UCON_RXFIFO_TOI | \ + S3C2443_UCON_RXERR_IRQEN) + +#define UNIVERSAL_ULCON_DEFAULT S3C2410_LCON_CS8 + +#define UNIVERSAL_UFCON_DEFAULT (S3C2410_UFCON_FIFOMODE | \ + S5PV210_UFCON_TXTRIGMAX | \ + S5PV210_UFCON_RXTRIGMAX) + +static struct s3c2410_uartcfg universal_uartcfgs[]__initdata = { + [0 ] = { + .hwport =0 , + .ucon =UNIVERSAL_UCON_DEFAULT , + .ulcon =UNIVERSAL_ULCON_DEFAULT , + .ufcon =UNIVERSAL_UFCON_DEFAULT , + }, + [1 ] = { + .hwport =1 , + .ucon =UNIVERSAL_UCON_DEFAULT , + .ulcon =UNIVERSAL_ULCON_DEFAULT , + .ufcon =UNIVERSAL_UFCON_DEFAULT , + }, + [2 ] = { + .hwport =2 , + .ucon =UNIVERSAL_UCON_DEFAULT , + .ulcon =UNIVERSAL_ULCON_DEFAULT , + .ufcon =UNIVERSAL_UFCON_DEFAULT , + }, + [3 ] = { + .hwport =3 , + .ucon =UNIVERSAL_UCON_DEFAULT ,
arch/arm/mach-s5pv310/mach-universal.c
Quoted 10 lines
arch/arm/mach-s5pv310/mach-universal.c new file +10
-0+ .ulcon = UNIVERSAL_ULCON_DEFAULT, + .ufcon = UNIVERSAL_UFCON_DEFAULT, + }, +}; + +static void __init universal_map_io (void ) +{ +s5p_init_io (NULL ,0 ,S5P_VA_CHIPID ); +s3c24xx_init_clocks (24000000 ); + s3c24xx_init_uarts(universal_uartcfgs,
ARRAY_SIZE(universal_uartcfgs));
Quoted 10 lines
arch/arm/mach-s5pv310/mach-universal.c new file +10
-0+} + +static void __init universal_machine_init (void ) +{ +#ifdef CONFIG_CACHE_L2X0 +l2x0_init (S5P_VA_L2CC ,1 <<28 ,0xffffffff ); +#endif +} + +MACHINE_START (UNIVERSAL ,"UNIVERSAL" )
arch/arm/mach-s5pv310/mach-universal.c
Quoted 10 lines
arch/arm/mach-s5pv310/mach-universal.c new file +9
-1+/* Maintainer: Kyungmin Park <[email protected]> */ + .phys_io = S3C_PA_UART & 0xfff00000, + .io_pg_offst = (((u32)S3C_VA_UART) >> 18) & 0xfffc, + .boot_params = S5P_PA_SDRAM + 0x100, + .init_irq = s5pv310_init_irq, + .map_io = universal_map_io, + .init_machine = universal_machine_init, + .timer = &s5pv310_timer, +MACHINE_END --
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.