diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-12-18 09:52:04 -0500 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2008-12-18 09:52:04 -0500 |
commit | 7f2754378f3522a42daafdbb9d2385f341008454 (patch) | |
tree | 7a6223f270cdf53067a70c2e86b2190d3577c23d /arch/arm/plat-s3c/include | |
parent | c6ad115876763e4f15055982ecb9579cb7abab5f (diff) | |
parent | a9c5d23ac724a3b908833cafbbbd49abe4741b86 (diff) |
Merge branch 'next-s3c64xx' into next-merged
Diffstat (limited to 'arch/arm/plat-s3c/include')
-rw-r--r-- | arch/arm/plat-s3c/include/plat/clock.h | 16 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/cpu.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/debug-macro.S | 2 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/devs.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/map-base.h (renamed from arch/arm/plat-s3c/include/plat/map.h) | 0 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/regs-serial.h | 14 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/regs-timer.h | 11 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/uncompress.h | 2 |
8 files changed, 45 insertions, 3 deletions
diff --git a/arch/arm/plat-s3c/include/plat/clock.h b/arch/arm/plat-s3c/include/plat/clock.h index d871609738f9..a10622eed43a 100644 --- a/arch/arm/plat-s3c/include/plat/clock.h +++ b/arch/arm/plat-s3c/include/plat/clock.h | |||
@@ -45,7 +45,13 @@ extern struct clk clk_h; | |||
45 | extern struct clk clk_p; | 45 | extern struct clk clk_p; |
46 | extern struct clk clk_mpll; | 46 | extern struct clk clk_mpll; |
47 | extern struct clk clk_upll; | 47 | extern struct clk clk_upll; |
48 | extern struct clk clk_epll; | ||
48 | extern struct clk clk_xtal; | 49 | extern struct clk clk_xtal; |
50 | extern struct clk clk_ext; | ||
51 | |||
52 | /* S3C64XX specific clocks */ | ||
53 | extern struct clk clk_27m; | ||
54 | extern struct clk clk_48m; | ||
49 | 55 | ||
50 | /* exports for arch/arm/mach-s3c2410 | 56 | /* exports for arch/arm/mach-s3c2410 |
51 | * | 57 | * |
@@ -61,6 +67,8 @@ extern int s3c24xx_register_clocks(struct clk **clk, int nr_clks); | |||
61 | 67 | ||
62 | extern int s3c24xx_register_baseclocks(unsigned long xtal); | 68 | extern int s3c24xx_register_baseclocks(unsigned long xtal); |
63 | 69 | ||
70 | extern void s3c64xx_register_clocks(void); | ||
71 | |||
64 | extern void s3c24xx_setup_clocks(unsigned long fclk, | 72 | extern void s3c24xx_setup_clocks(unsigned long fclk, |
65 | unsigned long hclk, | 73 | unsigned long hclk, |
66 | unsigned long pclk); | 74 | unsigned long pclk); |
@@ -70,3 +78,11 @@ extern void s3c2412_setup_clocks(void); | |||
70 | extern void s3c244x_setup_clocks(void); | 78 | extern void s3c244x_setup_clocks(void); |
71 | extern void s3c2443_setup_clocks(void); | 79 | extern void s3c2443_setup_clocks(void); |
72 | 80 | ||
81 | /* S3C64XX specific functions and clocks */ | ||
82 | |||
83 | extern int s3c64xx_sclk_ctrl(struct clk *clk, int enable); | ||
84 | |||
85 | /* Init for pwm clock code */ | ||
86 | |||
87 | extern void s3c_pwmclk_init(void); | ||
88 | |||
diff --git a/arch/arm/plat-s3c/include/plat/cpu.h b/arch/arm/plat-s3c/include/plat/cpu.h index 011157ea871a..e62ae0fcfe56 100644 --- a/arch/arm/plat-s3c/include/plat/cpu.h +++ b/arch/arm/plat-s3c/include/plat/cpu.h | |||
@@ -44,8 +44,10 @@ extern void s3c_init_cpu(unsigned long idcode, | |||
44 | /* core initialisation functions */ | 44 | /* core initialisation functions */ |
45 | 45 | ||
46 | extern void s3c24xx_init_irq(void); | 46 | extern void s3c24xx_init_irq(void); |
47 | extern void s3c64xx_init_irq(u32 vic0, u32 vic1); | ||
47 | 48 | ||
48 | extern void s3c24xx_init_io(struct map_desc *mach_desc, int size); | 49 | extern void s3c24xx_init_io(struct map_desc *mach_desc, int size); |
50 | extern void s3c64xx_init_io(struct map_desc *mach_desc, int size); | ||
49 | 51 | ||
50 | extern void s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no); | 52 | extern void s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no); |
51 | 53 | ||
diff --git a/arch/arm/plat-s3c/include/plat/debug-macro.S b/arch/arm/plat-s3c/include/plat/debug-macro.S index 4aa7e2e6c001..3634d4e3708b 100644 --- a/arch/arm/plat-s3c/include/plat/debug-macro.S +++ b/arch/arm/plat-s3c/include/plat/debug-macro.S | |||
@@ -20,7 +20,7 @@ | |||
20 | .endm | 20 | .endm |
21 | 21 | ||
22 | #ifndef fifo_level | 22 | #ifndef fifo_level |
23 | #define fifo_level fifo_level_s3c2410 | 23 | #define fifo_level fifo_level_s3c2440 |
24 | #endif | 24 | #endif |
25 | 25 | ||
26 | .macro fifo_full_s3c2440 rd, rx | 26 | .macro fifo_full_s3c2440 rd, rx |
diff --git a/arch/arm/plat-s3c/include/plat/devs.h b/arch/arm/plat-s3c/include/plat/devs.h index badaac9d64a8..a689c7c5ac23 100644 --- a/arch/arm/plat-s3c/include/plat/devs.h +++ b/arch/arm/plat-s3c/include/plat/devs.h | |||
@@ -17,6 +17,7 @@ struct s3c24xx_uart_resources { | |||
17 | }; | 17 | }; |
18 | 18 | ||
19 | extern struct s3c24xx_uart_resources s3c2410_uart_resources[]; | 19 | extern struct s3c24xx_uart_resources s3c2410_uart_resources[]; |
20 | extern struct s3c24xx_uart_resources s3c64xx_uart_resources[]; | ||
20 | 21 | ||
21 | extern struct platform_device *s3c24xx_uart_devs[]; | 22 | extern struct platform_device *s3c24xx_uart_devs[]; |
22 | extern struct platform_device *s3c24xx_uart_src[]; | 23 | extern struct platform_device *s3c24xx_uart_src[]; |
diff --git a/arch/arm/plat-s3c/include/plat/map.h b/arch/arm/plat-s3c/include/plat/map-base.h index b84289d32a54..b84289d32a54 100644 --- a/arch/arm/plat-s3c/include/plat/map.h +++ b/arch/arm/plat-s3c/include/plat/map-base.h | |||
diff --git a/arch/arm/plat-s3c/include/plat/regs-serial.h b/arch/arm/plat-s3c/include/plat/regs-serial.h index a0daa647b92c..3ca28585cf80 100644 --- a/arch/arm/plat-s3c/include/plat/regs-serial.h +++ b/arch/arm/plat-s3c/include/plat/regs-serial.h | |||
@@ -77,6 +77,12 @@ | |||
77 | #define S3C2440_UCON_FCLK (3<<10) | 77 | #define S3C2440_UCON_FCLK (3<<10) |
78 | #define S3C2443_UCON_EPLL (3<<10) | 78 | #define S3C2443_UCON_EPLL (3<<10) |
79 | 79 | ||
80 | #define S3C6400_UCON_CLKMASK (3<<10) | ||
81 | #define S3C6400_UCON_PCLK (0<<10) | ||
82 | #define S3C6400_UCON_PCLK2 (2<<10) | ||
83 | #define S3C6400_UCON_UCLK0 (1<<10) | ||
84 | #define S3C6400_UCON_UCLK1 (3<<10) | ||
85 | |||
80 | #define S3C2440_UCON2_FCLK_EN (1<<15) | 86 | #define S3C2440_UCON2_FCLK_EN (1<<15) |
81 | #define S3C2440_UCON0_DIVMASK (15 << 12) | 87 | #define S3C2440_UCON0_DIVMASK (15 << 12) |
82 | #define S3C2440_UCON1_DIVMASK (15 << 12) | 88 | #define S3C2440_UCON1_DIVMASK (15 << 12) |
@@ -149,6 +155,14 @@ | |||
149 | #define S3C2410_UFSTAT_RXMASK (15<<0) | 155 | #define S3C2410_UFSTAT_RXMASK (15<<0) |
150 | #define S3C2410_UFSTAT_RXSHIFT (0) | 156 | #define S3C2410_UFSTAT_RXSHIFT (0) |
151 | 157 | ||
158 | /* UFSTAT S3C24A0 */ | ||
159 | #define S3C24A0_UFSTAT_TXFULL (1 << 14) | ||
160 | #define S3C24A0_UFSTAT_RXFULL (1 << 6) | ||
161 | #define S3C24A0_UFSTAT_TXMASK (63 << 8) | ||
162 | #define S3C24A0_UFSTAT_TXSHIFT (8) | ||
163 | #define S3C24A0_UFSTAT_RXMASK (63) | ||
164 | #define S3C24A0_UFSTAT_RXSHIFT (0) | ||
165 | |||
152 | /* UFSTAT S3C2443 same as S3C2440 */ | 166 | /* UFSTAT S3C2443 same as S3C2440 */ |
153 | #define S3C2440_UFSTAT_TXFULL (1<<14) | 167 | #define S3C2440_UFSTAT_TXFULL (1<<14) |
154 | #define S3C2440_UFSTAT_RXFULL (1<<6) | 168 | #define S3C2440_UFSTAT_RXFULL (1<<6) |
diff --git a/arch/arm/plat-s3c/include/plat/regs-timer.h b/arch/arm/plat-s3c/include/plat/regs-timer.h index cc0eedd53e38..d097d92f8cc7 100644 --- a/arch/arm/plat-s3c/include/plat/regs-timer.h +++ b/arch/arm/plat-s3c/include/plat/regs-timer.h | |||
@@ -10,7 +10,6 @@ | |||
10 | * S3C2410 Timer configuration | 10 | * S3C2410 Timer configuration |
11 | */ | 11 | */ |
12 | 12 | ||
13 | |||
14 | #ifndef __ASM_ARCH_REGS_TIMER_H | 13 | #ifndef __ASM_ARCH_REGS_TIMER_H |
15 | #define __ASM_ARCH_REGS_TIMER_H | 14 | #define __ASM_ARCH_REGS_TIMER_H |
16 | 15 | ||
@@ -21,6 +20,8 @@ | |||
21 | #define S3C2410_TCFG1 S3C_TIMERREG(0x04) | 20 | #define S3C2410_TCFG1 S3C_TIMERREG(0x04) |
22 | #define S3C2410_TCON S3C_TIMERREG(0x08) | 21 | #define S3C2410_TCON S3C_TIMERREG(0x08) |
23 | 22 | ||
23 | #define S3C64XX_TINT_CSTAT S3C_TIMERREG(0x44) | ||
24 | |||
24 | #define S3C2410_TCFG_PRESCALER0_MASK (255<<0) | 25 | #define S3C2410_TCFG_PRESCALER0_MASK (255<<0) |
25 | #define S3C2410_TCFG_PRESCALER1_MASK (255<<8) | 26 | #define S3C2410_TCFG_PRESCALER1_MASK (255<<8) |
26 | #define S3C2410_TCFG_PRESCALER1_SHIFT (8) | 27 | #define S3C2410_TCFG_PRESCALER1_SHIFT (8) |
@@ -72,6 +73,14 @@ | |||
72 | #define S3C2410_TCFG1_MUX_TCLK (4<<0) | 73 | #define S3C2410_TCFG1_MUX_TCLK (4<<0) |
73 | #define S3C2410_TCFG1_MUX_MASK (15<<0) | 74 | #define S3C2410_TCFG1_MUX_MASK (15<<0) |
74 | 75 | ||
76 | #define S3C64XX_TCFG1_MUX_DIV1 (0<<0) | ||
77 | #define S3C64XX_TCFG1_MUX_DIV2 (1<<0) | ||
78 | #define S3C64XX_TCFG1_MUX_DIV4 (2<<0) | ||
79 | #define S3C64XX_TCFG1_MUX_DIV8 (3<<0) | ||
80 | #define S3C64XX_TCFG1_MUX_DIV16 (4<<0) | ||
81 | #define S3C64XX_TCFG1_MUX_TCLK (5<<0) /* 3 sets of TCLK */ | ||
82 | #define S3C64XX_TCFG1_MUX_MASK (15<<0) | ||
83 | |||
75 | #define S3C2410_TCFG1_SHIFT(x) ((x) * 4) | 84 | #define S3C2410_TCFG1_SHIFT(x) ((x) * 4) |
76 | 85 | ||
77 | /* for each timer, we have an count buffer, an compare buffer and | 86 | /* for each timer, we have an count buffer, an compare buffer and |
diff --git a/arch/arm/plat-s3c/include/plat/uncompress.h b/arch/arm/plat-s3c/include/plat/uncompress.h index 2c39a309aeb0..6061de87f225 100644 --- a/arch/arm/plat-s3c/include/plat/uncompress.h +++ b/arch/arm/plat-s3c/include/plat/uncompress.h | |||
@@ -37,7 +37,7 @@ static void arch_detect_cpu(void); | |||
37 | /* how many bytes we allow into the FIFO at a time in FIFO mode */ | 37 | /* how many bytes we allow into the FIFO at a time in FIFO mode */ |
38 | #define FIFO_MAX (14) | 38 | #define FIFO_MAX (14) |
39 | 39 | ||
40 | #define uart_base S3C24XX_PA_UART + (0x4000*CONFIG_S3C_LOWLEVEL_UART_PORT) | 40 | #define uart_base S3C_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT) |
41 | 41 | ||
42 | static __inline__ void | 42 | static __inline__ void |
43 | uart_wr(unsigned int reg, unsigned int val) | 43 | uart_wr(unsigned int reg, unsigned int val) |