aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5pv310
diff options
context:
space:
mode:
authorKukjin Kim <kgene.kim@samsung.com>2010-12-29 20:44:13 -0500
committerKukjin Kim <kgene.kim@samsung.com>2010-12-29 20:44:13 -0500
commit724c35cf530651f68f5958dc02e0b49ac6661226 (patch)
tree7511b55f0efc07495a559f48b3071a34f0bfaff3 /arch/arm/mach-s5pv310
parent57ca51514905b7aea532977e4e87e989d33bfcbb (diff)
parent3bbef1b912df64a86a86e402d7686a8ed38abaf4 (diff)
Merge branch 'next-s5p' into for-next-new
Diffstat (limited to 'arch/arm/mach-s5pv310')
-rw-r--r--arch/arm/mach-s5pv310/include/mach/irqs.h3
-rw-r--r--arch/arm/mach-s5pv310/include/mach/map.h6
-rw-r--r--arch/arm/mach-s5pv310/include/mach/regs-srom.h50
-rw-r--r--arch/arm/mach-s5pv310/mach-smdkc210.c31
-rw-r--r--arch/arm/mach-s5pv310/mach-smdkv310.c31
5 files changed, 39 insertions, 82 deletions
diff --git a/arch/arm/mach-s5pv310/include/mach/irqs.h b/arch/arm/mach-s5pv310/include/mach/irqs.h
index 3c05c58b5392..34f214444f27 100644
--- a/arch/arm/mach-s5pv310/include/mach/irqs.h
+++ b/arch/arm/mach-s5pv310/include/mach/irqs.h
@@ -86,6 +86,9 @@
86#define IRQ_HSMMC2 COMBINER_IRQ(29, 2) 86#define IRQ_HSMMC2 COMBINER_IRQ(29, 2)
87#define IRQ_HSMMC3 COMBINER_IRQ(29, 3) 87#define IRQ_HSMMC3 COMBINER_IRQ(29, 3)
88 88
89#define IRQ_MIPI_CSIS0 COMBINER_IRQ(30, 0)
90#define IRQ_MIPI_CSIS1 COMBINER_IRQ(30, 1)
91
89#define IRQ_ONENAND_AUDI COMBINER_IRQ(34, 0) 92#define IRQ_ONENAND_AUDI COMBINER_IRQ(34, 0)
90 93
91#define IRQ_EINT4 COMBINER_IRQ(37, 0) 94#define IRQ_EINT4 COMBINER_IRQ(37, 0)
diff --git a/arch/arm/mach-s5pv310/include/mach/map.h b/arch/arm/mach-s5pv310/include/mach/map.h
index 53994467605d..0d0e7eb5b391 100644
--- a/arch/arm/mach-s5pv310/include/mach/map.h
+++ b/arch/arm/mach-s5pv310/include/mach/map.h
@@ -61,9 +61,13 @@
61#define S5PV310_PA_GPIO2 (0x11000000) 61#define S5PV310_PA_GPIO2 (0x11000000)
62#define S5PV310_PA_GPIO3 (0x03860000) 62#define S5PV310_PA_GPIO3 (0x03860000)
63 63
64#define S5PV310_PA_MIPI_CSIS0 0x11880000
65#define S5PV310_PA_MIPI_CSIS1 0x11890000
66
64#define S5PV310_PA_HSMMC(x) (0x12510000 + ((x) * 0x10000)) 67#define S5PV310_PA_HSMMC(x) (0x12510000 + ((x) * 0x10000))
65 68
66#define S5PV310_PA_SROMC (0x12570000) 69#define S5PV310_PA_SROMC (0x12570000)
70#define S5P_PA_SROMC S5PV310_PA_SROMC
67 71
68/* S/PDIF */ 72/* S/PDIF */
69#define S5PV310_PA_SPDIF 0xE1100000 73#define S5PV310_PA_SPDIF 0xE1100000
@@ -116,5 +120,7 @@
116#define S3C_PA_IIC7 S5PV310_PA_IIC(7) 120#define S3C_PA_IIC7 S5PV310_PA_IIC(7)
117#define S3C_PA_RTC S5PV310_PA_RTC 121#define S3C_PA_RTC S5PV310_PA_RTC
118#define S3C_PA_WDT S5PV310_PA_WATCHDOG 122#define S3C_PA_WDT S5PV310_PA_WATCHDOG
123#define S5P_PA_MIPI_CSIS0 S5PV310_PA_MIPI_CSIS0
124#define S5P_PA_MIPI_CSIS1 S5PV310_PA_MIPI_CSIS1
119 125
120#endif /* __ASM_ARCH_MAP_H */ 126#endif /* __ASM_ARCH_MAP_H */
diff --git a/arch/arm/mach-s5pv310/include/mach/regs-srom.h b/arch/arm/mach-s5pv310/include/mach/regs-srom.h
deleted file mode 100644
index 1898b3e10550..000000000000
--- a/arch/arm/mach-s5pv310/include/mach/regs-srom.h
+++ /dev/null
@@ -1,50 +0,0 @@
1/* linux/arch/arm/mach-s5pv310/include/mach/regs-srom.h
2 *
3 * Copyright (c) 2010 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com
5 *
6 * S5PV310 - SROMC register definitions
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11*/
12
13#ifndef __ASM_ARCH_REGS_SROM_H
14#define __ASM_ARCH_REGS_SROM_H __FILE__
15
16#include <mach/map.h>
17
18#define S5PV310_SROMREG(x) (S5P_VA_SROMC + (x))
19
20#define S5PV310_SROM_BW S5PV310_SROMREG(0x0)
21#define S5PV310_SROM_BC0 S5PV310_SROMREG(0x4)
22#define S5PV310_SROM_BC1 S5PV310_SROMREG(0x8)
23#define S5PV310_SROM_BC2 S5PV310_SROMREG(0xc)
24#define S5PV310_SROM_BC3 S5PV310_SROMREG(0x10)
25
26/* one register BW holds 4 x 4-bit packed settings for NCS0 - NCS3 */
27
28#define S5PV310_SROM_BW__DATAWIDTH__SHIFT 0
29#define S5PV310_SROM_BW__ADDRMODE__SHIFT 1
30#define S5PV310_SROM_BW__WAITENABLE__SHIFT 2
31#define S5PV310_SROM_BW__BYTEENABLE__SHIFT 3
32
33#define S5PV310_SROM_BW__CS_MASK 0xf
34
35#define S5PV310_SROM_BW__NCS0__SHIFT 0
36#define S5PV310_SROM_BW__NCS1__SHIFT 4
37#define S5PV310_SROM_BW__NCS2__SHIFT 8
38#define S5PV310_SROM_BW__NCS3__SHIFT 12
39
40/* applies to same to BCS0 - BCS3 */
41
42#define S5PV310_SROM_BCX__PMC__SHIFT 0
43#define S5PV310_SROM_BCX__TACP__SHIFT 4
44#define S5PV310_SROM_BCX__TCAH__SHIFT 8
45#define S5PV310_SROM_BCX__TCOH__SHIFT 12
46#define S5PV310_SROM_BCX__TACC__SHIFT 16
47#define S5PV310_SROM_BCX__TCOS__SHIFT 24
48#define S5PV310_SROM_BCX__TACS__SHIFT 28
49
50#endif /* __ASM_ARCH_REGS_SROM_H */
diff --git a/arch/arm/mach-s5pv310/mach-smdkc210.c b/arch/arm/mach-s5pv310/mach-smdkc210.c
index 62c4d6204d2a..f3bc283df119 100644
--- a/arch/arm/mach-s5pv310/mach-smdkc210.c
+++ b/arch/arm/mach-s5pv310/mach-smdkc210.c
@@ -20,6 +20,7 @@
20#include <asm/mach-types.h> 20#include <asm/mach-types.h>
21 21
22#include <plat/regs-serial.h> 22#include <plat/regs-serial.h>
23#include <plat/regs-srom.h>
23#include <plat/s5pv310.h> 24#include <plat/s5pv310.h>
24#include <plat/cpu.h> 25#include <plat/cpu.h>
25#include <plat/devs.h> 26#include <plat/devs.h>
@@ -27,7 +28,6 @@
27#include <plat/iic.h> 28#include <plat/iic.h>
28 29
29#include <mach/map.h> 30#include <mach/map.h>
30#include <mach/regs-srom.h>
31 31
32/* Following are default values for UCON, ULCON and UFCON UART registers */ 32/* Following are default values for UCON, ULCON and UFCON UART registers */
33#define SMDKC210_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ 33#define SMDKC210_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
@@ -163,23 +163,22 @@ static void __init smdkc210_smsc911x_init(void)
163 u32 cs1; 163 u32 cs1;
164 164
165 /* configure nCS1 width to 16 bits */ 165 /* configure nCS1 width to 16 bits */
166 cs1 = __raw_readl(S5PV310_SROM_BW) & 166 cs1 = __raw_readl(S5P_SROM_BW) &
167 ~(S5PV310_SROM_BW__CS_MASK << 167 ~(S5P_SROM_BW__CS_MASK << S5P_SROM_BW__NCS1__SHIFT);
168 S5PV310_SROM_BW__NCS1__SHIFT); 168 cs1 |= ((1 << S5P_SROM_BW__DATAWIDTH__SHIFT) |
169 cs1 |= ((1 << S5PV310_SROM_BW__DATAWIDTH__SHIFT) | 169 (1 << S5P_SROM_BW__WAITENABLE__SHIFT) |
170 (1 << S5PV310_SROM_BW__WAITENABLE__SHIFT) | 170 (1 << S5P_SROM_BW__BYTEENABLE__SHIFT)) <<
171 (1 << S5PV310_SROM_BW__BYTEENABLE__SHIFT)) << 171 S5P_SROM_BW__NCS1__SHIFT;
172 S5PV310_SROM_BW__NCS1__SHIFT; 172 __raw_writel(cs1, S5P_SROM_BW);
173 __raw_writel(cs1, S5PV310_SROM_BW);
174 173
175 /* set timing for nCS1 suitable for ethernet chip */ 174 /* set timing for nCS1 suitable for ethernet chip */
176 __raw_writel((0x1 << S5PV310_SROM_BCX__PMC__SHIFT) | 175 __raw_writel((0x1 << S5P_SROM_BCX__PMC__SHIFT) |
177 (0x9 << S5PV310_SROM_BCX__TACP__SHIFT) | 176 (0x9 << S5P_SROM_BCX__TACP__SHIFT) |
178 (0xc << S5PV310_SROM_BCX__TCAH__SHIFT) | 177 (0xc << S5P_SROM_BCX__TCAH__SHIFT) |
179 (0x1 << S5PV310_SROM_BCX__TCOH__SHIFT) | 178 (0x1 << S5P_SROM_BCX__TCOH__SHIFT) |
180 (0x6 << S5PV310_SROM_BCX__TACC__SHIFT) | 179 (0x6 << S5P_SROM_BCX__TACC__SHIFT) |
181 (0x1 << S5PV310_SROM_BCX__TCOS__SHIFT) | 180 (0x1 << S5P_SROM_BCX__TCOS__SHIFT) |
182 (0x1 << S5PV310_SROM_BCX__TACS__SHIFT), S5PV310_SROM_BC1); 181 (0x1 << S5P_SROM_BCX__TACS__SHIFT), S5P_SROM_BC1);
183} 182}
184 183
185static void __init smdkc210_map_io(void) 184static void __init smdkc210_map_io(void)
diff --git a/arch/arm/mach-s5pv310/mach-smdkv310.c b/arch/arm/mach-s5pv310/mach-smdkv310.c
index d5eb607763f7..e4a826ac3c1d 100644
--- a/arch/arm/mach-s5pv310/mach-smdkv310.c
+++ b/arch/arm/mach-s5pv310/mach-smdkv310.c
@@ -20,6 +20,7 @@
20#include <asm/mach-types.h> 20#include <asm/mach-types.h>
21 21
22#include <plat/regs-serial.h> 22#include <plat/regs-serial.h>
23#include <plat/regs-srom.h>
23#include <plat/s5pv310.h> 24#include <plat/s5pv310.h>
24#include <plat/cpu.h> 25#include <plat/cpu.h>
25#include <plat/devs.h> 26#include <plat/devs.h>
@@ -27,7 +28,6 @@
27#include <plat/iic.h> 28#include <plat/iic.h>
28 29
29#include <mach/map.h> 30#include <mach/map.h>
30#include <mach/regs-srom.h>
31 31
32/* Following are default values for UCON, ULCON and UFCON UART registers */ 32/* Following are default values for UCON, ULCON and UFCON UART registers */
33#define SMDKV310_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ 33#define SMDKV310_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
@@ -163,23 +163,22 @@ static void __init smdkv310_smsc911x_init(void)
163 u32 cs1; 163 u32 cs1;
164 164
165 /* configure nCS1 width to 16 bits */ 165 /* configure nCS1 width to 16 bits */
166 cs1 = __raw_readl(S5PV310_SROM_BW) & 166 cs1 = __raw_readl(S5P_SROM_BW) &
167 ~(S5PV310_SROM_BW__CS_MASK << 167 ~(S5P_SROM_BW__CS_MASK << S5P_SROM_BW__NCS1__SHIFT);
168 S5PV310_SROM_BW__NCS1__SHIFT); 168 cs1 |= ((1 << S5P_SROM_BW__DATAWIDTH__SHIFT) |
169 cs1 |= ((1 << S5PV310_SROM_BW__DATAWIDTH__SHIFT) | 169 (1 << S5P_SROM_BW__WAITENABLE__SHIFT) |
170 (1 << S5PV310_SROM_BW__WAITENABLE__SHIFT) | 170 (1 << S5P_SROM_BW__BYTEENABLE__SHIFT)) <<
171 (1 << S5PV310_SROM_BW__BYTEENABLE__SHIFT)) << 171 S5P_SROM_BW__NCS1__SHIFT;
172 S5PV310_SROM_BW__NCS1__SHIFT; 172 __raw_writel(cs1, S5P_SROM_BW);
173 __raw_writel(cs1, S5PV310_SROM_BW);
174 173
175 /* set timing for nCS1 suitable for ethernet chip */ 174 /* set timing for nCS1 suitable for ethernet chip */
176 __raw_writel((0x1 << S5PV310_SROM_BCX__PMC__SHIFT) | 175 __raw_writel((0x1 << S5P_SROM_BCX__PMC__SHIFT) |
177 (0x9 << S5PV310_SROM_BCX__TACP__SHIFT) | 176 (0x9 << S5P_SROM_BCX__TACP__SHIFT) |
178 (0xc << S5PV310_SROM_BCX__TCAH__SHIFT) | 177 (0xc << S5P_SROM_BCX__TCAH__SHIFT) |
179 (0x1 << S5PV310_SROM_BCX__TCOH__SHIFT) | 178 (0x1 << S5P_SROM_BCX__TCOH__SHIFT) |
180 (0x6 << S5PV310_SROM_BCX__TACC__SHIFT) | 179 (0x6 << S5P_SROM_BCX__TACC__SHIFT) |
181 (0x1 << S5PV310_SROM_BCX__TCOS__SHIFT) | 180 (0x1 << S5P_SROM_BCX__TCOS__SHIFT) |
182 (0x1 << S5PV310_SROM_BCX__TACS__SHIFT), S5PV310_SROM_BC1); 181 (0x1 << S5P_SROM_BCX__TACS__SHIFT), S5P_SROM_BC1);
183} 182}
184 183
185static void __init smdkv310_map_io(void) 184static void __init smdkv310_map_io(void)