aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c64xx/include/plat
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-s3c64xx/include/plat')
-rw-r--r--arch/arm/plat-s3c64xx/include/plat/irqs.h12
-rw-r--r--arch/arm/plat-s3c64xx/include/plat/regs-clock.h71
-rw-r--r--arch/arm/plat-s3c64xx/include/plat/regs-srom.h59
-rw-r--r--arch/arm/plat-s3c64xx/include/plat/spi-clocks.h18
4 files changed, 86 insertions, 74 deletions
diff --git a/arch/arm/plat-s3c64xx/include/plat/irqs.h b/arch/arm/plat-s3c64xx/include/plat/irqs.h
index 7956fd3bb19..a22758194e6 100644
--- a/arch/arm/plat-s3c64xx/include/plat/irqs.h
+++ b/arch/arm/plat-s3c64xx/include/plat/irqs.h
@@ -24,8 +24,8 @@
24 24
25#define S3C_IRQ(x) ((x) + S3C_IRQ_OFFSET) 25#define S3C_IRQ(x) ((x) + S3C_IRQ_OFFSET)
26 26
27#define S3C_VIC0_BASE S3C_IRQ(0) 27#define IRQ_VIC0_BASE S3C_IRQ(0)
28#define S3C_VIC1_BASE S3C_IRQ(32) 28#define IRQ_VIC1_BASE S3C_IRQ(32)
29 29
30/* UART interrupts, each UART has 4 intterupts per channel so 30/* UART interrupts, each UART has 4 intterupts per channel so
31 * use the space between the ISA and S3C main interrupts. Note, these 31 * use the space between the ISA and S3C main interrupts. Note, these
@@ -59,8 +59,8 @@
59 59
60/* VIC based IRQs */ 60/* VIC based IRQs */
61 61
62#define S3C64XX_IRQ_VIC0(x) (S3C_VIC0_BASE + (x)) 62#define S3C64XX_IRQ_VIC0(x) (IRQ_VIC0_BASE + (x))
63#define S3C64XX_IRQ_VIC1(x) (S3C_VIC1_BASE + (x)) 63#define S3C64XX_IRQ_VIC1(x) (IRQ_VIC1_BASE + (x))
64 64
65/* VIC0 */ 65/* VIC0 */
66 66
@@ -198,7 +198,11 @@
198 * interrupt controllers). */ 198 * interrupt controllers). */
199#define IRQ_BOARD_START (IRQ_EINT_GROUP9_BASE + IRQ_EINT_GROUP9_NR + 1) 199#define IRQ_BOARD_START (IRQ_EINT_GROUP9_BASE + IRQ_EINT_GROUP9_NR + 1)
200 200
201#ifdef CONFIG_SMDK6410_WM1190_EV1
202#define IRQ_BOARD_NR 64
203#else
201#define IRQ_BOARD_NR 16 204#define IRQ_BOARD_NR 16
205#endif
202 206
203#define IRQ_BOARD_END (IRQ_BOARD_START + IRQ_BOARD_NR) 207#define IRQ_BOARD_END (IRQ_BOARD_START + IRQ_BOARD_NR)
204 208
diff --git a/arch/arm/plat-s3c64xx/include/plat/regs-clock.h b/arch/arm/plat-s3c64xx/include/plat/regs-clock.h
index ff46e7fa957..3ef62741e5d 100644
--- a/arch/arm/plat-s3c64xx/include/plat/regs-clock.h
+++ b/arch/arm/plat-s3c64xx/include/plat/regs-clock.h
@@ -35,14 +35,6 @@
35#define S3C_MEM0_GATE S3C_CLKREG(0x3C) 35#define S3C_MEM0_GATE S3C_CLKREG(0x3C)
36 36
37/* CLKDIV0 */ 37/* CLKDIV0 */
38#define S3C6400_CLKDIV0_MFC_MASK (0xf << 28)
39#define S3C6400_CLKDIV0_MFC_SHIFT (28)
40#define S3C6400_CLKDIV0_JPEG_MASK (0xf << 24)
41#define S3C6400_CLKDIV0_JPEG_SHIFT (24)
42#define S3C6400_CLKDIV0_CAM_MASK (0xf << 20)
43#define S3C6400_CLKDIV0_CAM_SHIFT (20)
44#define S3C6400_CLKDIV0_SECURITY_MASK (0x3 << 18)
45#define S3C6400_CLKDIV0_SECURITY_SHIFT (18)
46#define S3C6400_CLKDIV0_PCLK_MASK (0xf << 12) 38#define S3C6400_CLKDIV0_PCLK_MASK (0xf << 12)
47#define S3C6400_CLKDIV0_PCLK_SHIFT (12) 39#define S3C6400_CLKDIV0_PCLK_SHIFT (12)
48#define S3C6400_CLKDIV0_HCLK2_MASK (0x7 << 9) 40#define S3C6400_CLKDIV0_HCLK2_MASK (0x7 << 9)
@@ -51,42 +43,11 @@
51#define S3C6400_CLKDIV0_HCLK_SHIFT (8) 43#define S3C6400_CLKDIV0_HCLK_SHIFT (8)
52#define S3C6400_CLKDIV0_MPLL_MASK (0x1 << 4) 44#define S3C6400_CLKDIV0_MPLL_MASK (0x1 << 4)
53#define S3C6400_CLKDIV0_MPLL_SHIFT (4) 45#define S3C6400_CLKDIV0_MPLL_SHIFT (4)
46
54#define S3C6400_CLKDIV0_ARM_MASK (0x7 << 0) 47#define S3C6400_CLKDIV0_ARM_MASK (0x7 << 0)
55#define S3C6410_CLKDIV0_ARM_MASK (0xf << 0) 48#define S3C6410_CLKDIV0_ARM_MASK (0xf << 0)
56#define S3C6400_CLKDIV0_ARM_SHIFT (0) 49#define S3C6400_CLKDIV0_ARM_SHIFT (0)
57 50
58/* CLKDIV1 */
59#define S3C6410_CLKDIV1_FIMC_MASK (0xf << 24)
60#define S3C6410_CLKDIV1_FIMC_SHIFT (24)
61#define S3C6400_CLKDIV1_UHOST_MASK (0xf << 20)
62#define S3C6400_CLKDIV1_UHOST_SHIFT (20)
63#define S3C6400_CLKDIV1_SCALER_MASK (0xf << 16)
64#define S3C6400_CLKDIV1_SCALER_SHIFT (16)
65#define S3C6400_CLKDIV1_LCD_MASK (0xf << 12)
66#define S3C6400_CLKDIV1_LCD_SHIFT (12)
67#define S3C6400_CLKDIV1_MMC2_MASK (0xf << 8)
68#define S3C6400_CLKDIV1_MMC2_SHIFT (8)
69#define S3C6400_CLKDIV1_MMC1_MASK (0xf << 4)
70#define S3C6400_CLKDIV1_MMC1_SHIFT (4)
71#define S3C6400_CLKDIV1_MMC0_MASK (0xf << 0)
72#define S3C6400_CLKDIV1_MMC0_SHIFT (0)
73
74/* CLKDIV2 */
75#define S3C6410_CLKDIV2_AUDIO2_MASK (0xf << 24)
76#define S3C6410_CLKDIV2_AUDIO2_SHIFT (24)
77#define S3C6400_CLKDIV2_IRDA_MASK (0xf << 20)
78#define S3C6400_CLKDIV2_IRDA_SHIFT (20)
79#define S3C6400_CLKDIV2_UART_MASK (0xf << 16)
80#define S3C6400_CLKDIV2_UART_SHIFT (16)
81#define S3C6400_CLKDIV2_AUDIO1_MASK (0xf << 12)
82#define S3C6400_CLKDIV2_AUDIO1_SHIFT (12)
83#define S3C6400_CLKDIV2_AUDIO0_MASK (0xf << 8)
84#define S3C6400_CLKDIV2_AUDIO0_SHIFT (8)
85#define S3C6400_CLKDIV2_SPI1_MASK (0xf << 4)
86#define S3C6400_CLKDIV2_SPI1_SHIFT (4)
87#define S3C6400_CLKDIV2_SPI0_MASK (0xf << 0)
88#define S3C6400_CLKDIV2_SPI0_SHIFT (0)
89
90/* HCLK GATE Registers */ 51/* HCLK GATE Registers */
91#define S3C_CLKCON_HCLK_3DSE (1<<31) 52#define S3C_CLKCON_HCLK_3DSE (1<<31)
92#define S3C_CLKCON_HCLK_UHOST (1<<29) 53#define S3C_CLKCON_HCLK_UHOST (1<<29)
@@ -192,34 +153,4 @@
192#define S3C6400_CLKSRC_EPLL_MOUT_SHIFT (2) 153#define S3C6400_CLKSRC_EPLL_MOUT_SHIFT (2)
193#define S3C6400_CLKSRC_MFC (1 << 4) 154#define S3C6400_CLKSRC_MFC (1 << 4)
194 155
195#define S3C6410_CLKSRC_TV27_MASK (0x1 << 31)
196#define S3C6410_CLKSRC_TV27_SHIFT (31)
197#define S3C6410_CLKSRC_DAC27_MASK (0x1 << 30)
198#define S3C6410_CLKSRC_DAC27_SHIFT (30)
199#define S3C6400_CLKSRC_SCALER_MASK (0x3 << 28)
200#define S3C6400_CLKSRC_SCALER_SHIFT (28)
201#define S3C6400_CLKSRC_LCD_MASK (0x3 << 26)
202#define S3C6400_CLKSRC_LCD_SHIFT (26)
203#define S3C6400_CLKSRC_IRDA_MASK (0x3 << 24)
204#define S3C6400_CLKSRC_IRDA_SHIFT (24)
205#define S3C6400_CLKSRC_MMC2_MASK (0x3 << 22)
206#define S3C6400_CLKSRC_MMC2_SHIFT (22)
207#define S3C6400_CLKSRC_MMC1_MASK (0x3 << 20)
208#define S3C6400_CLKSRC_MMC1_SHIFT (20)
209#define S3C6400_CLKSRC_MMC0_MASK (0x3 << 18)
210#define S3C6400_CLKSRC_MMC0_SHIFT (18)
211#define S3C6400_CLKSRC_SPI1_MASK (0x3 << 16)
212#define S3C6400_CLKSRC_SPI1_SHIFT (16)
213#define S3C6400_CLKSRC_SPI0_MASK (0x3 << 14)
214#define S3C6400_CLKSRC_SPI0_SHIFT (14)
215#define S3C6400_CLKSRC_UART_MASK (0x1 << 13)
216#define S3C6400_CLKSRC_UART_SHIFT (13)
217#define S3C6400_CLKSRC_AUDIO1_MASK (0x7 << 10)
218#define S3C6400_CLKSRC_AUDIO1_SHIFT (10)
219#define S3C6400_CLKSRC_AUDIO0_MASK (0x7 << 7)
220#define S3C6400_CLKSRC_AUDIO0_SHIFT (7)
221#define S3C6400_CLKSRC_UHOST_MASK (0x3 << 5)
222#define S3C6400_CLKSRC_UHOST_SHIFT (5)
223
224
225#endif /* _PLAT_REGS_CLOCK_H */ 156#endif /* _PLAT_REGS_CLOCK_H */
diff --git a/arch/arm/plat-s3c64xx/include/plat/regs-srom.h b/arch/arm/plat-s3c64xx/include/plat/regs-srom.h
new file mode 100644
index 00000000000..756731b3629
--- /dev/null
+++ b/arch/arm/plat-s3c64xx/include/plat/regs-srom.h
@@ -0,0 +1,59 @@
1/* arch/arm/plat-s3c64xx/include/plat/regs-srom.h
2 *
3 * Copyright 2009 Andy Green <andy@warmcat.com>
4 *
5 * S3C64XX SROM definitions
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10*/
11
12#ifndef __PLAT_REGS_SROM_H
13#define __PLAT_REGS_SROM_H __FILE__
14
15#define S3C64XX_SROMREG(x) (S3C_VA_MEM + (x))
16
17#define S3C64XX_SROM_BW S3C64XX_SROMREG(0)
18#define S3C64XX_SROM_BC0 S3C64XX_SROMREG(4)
19#define S3C64XX_SROM_BC1 S3C64XX_SROMREG(8)
20#define S3C64XX_SROM_BC2 S3C64XX_SROMREG(0xc)
21#define S3C64XX_SROM_BC3 S3C64XX_SROMREG(0x10)
22#define S3C64XX_SROM_BC4 S3C64XX_SROMREG(0x14)
23#define S3C64XX_SROM_BC5 S3C64XX_SROMREG(0x18)
24
25/*
26 * one register BW holds 5 x 4-bit packed settings for NCS0 - NCS4
27 */
28
29#define S3C64XX_SROM_BW__DATAWIDTH__SHIFT 0
30#define S3C64XX_SROM_BW__WAITENABLE__SHIFT 2
31#define S3C64XX_SROM_BW__BYTEENABLE__SHIFT 3
32#define S3C64XX_SROM_BW__CS_MASK 0xf
33
34#define S3C64XX_SROM_BW__NCS0__SHIFT 0
35#define S3C64XX_SROM_BW__NCS1__SHIFT 4
36#define S3C64XX_SROM_BW__NCS2__SHIFT 8
37#define S3C64XX_SROM_BW__NCS3__SHIFT 0xc
38#define S3C64XX_SROM_BW__NCS4__SHIFT 0x10
39
40/*
41 * applies to same to BCS0 - BCS4
42 */
43
44#define S3C64XX_SROM_BCX__PMC__SHIFT 0
45#define S3C64XX_SROM_BCX__PMC__MASK 3
46#define S3C64XX_SROM_BCX__TACP__SHIFT 4
47#define S3C64XX_SROM_BCX__TACP__MASK 0xf
48#define S3C64XX_SROM_BCX__TCAH__SHIFT 8
49#define S3C64XX_SROM_BCX__TCAH__MASK 0xf
50#define S3C64XX_SROM_BCX__TCOH__SHIFT 12
51#define S3C64XX_SROM_BCX__TCOH__MASK 0xf
52#define S3C64XX_SROM_BCX__TACC__SHIFT 16
53#define S3C64XX_SROM_BCX__TACC__MASK 0x1f
54#define S3C64XX_SROM_BCX__TCOS__SHIFT 24
55#define S3C64XX_SROM_BCX__TCOS__MASK 0xf
56#define S3C64XX_SROM_BCX__TACS__SHIFT 28
57#define S3C64XX_SROM_BCX__TACS__MASK 0xf
58
59#endif /* _PLAT_REGS_SROM_H */
diff --git a/arch/arm/plat-s3c64xx/include/plat/spi-clocks.h b/arch/arm/plat-s3c64xx/include/plat/spi-clocks.h
new file mode 100644
index 00000000000..524bdae3f62
--- /dev/null
+++ b/arch/arm/plat-s3c64xx/include/plat/spi-clocks.h
@@ -0,0 +1,18 @@
1/* linux/arch/arm/plat-s3c64xx/include/plat/spi-clocks.h
2 *
3 * Copyright (C) 2009 Samsung Electronics Ltd.
4 * Jaswinder Singh <jassi.brar@samsung.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#ifndef __S3C64XX_PLAT_SPI_CLKS_H
12#define __S3C64XX_PLAT_SPI_CLKS_H __FILE__
13
14#define S3C64XX_SPI_SRCCLK_PCLK 0
15#define S3C64XX_SPI_SRCCLK_SPIBUS 1
16#define S3C64XX_SPI_SRCCLK_48M 2
17
18#endif /* __S3C64XX_PLAT_SPI_CLKS_H */