[ARM] S3C24XX: Update clock data on resume
[deliverable/linux.git] / arch / arm / plat-s3c24xx / include / plat / cpu.h
CommitLineData
a21765a7 1/* linux/include/asm-arm/plat-s3c24xx/cpu.h
1da177e4
LT
2 *
3 * Copyright (c) 2004-2005 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk>
5 *
6 * Header file for S3C24XX CPU support
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.
1da177e4
LT
11*/
12
13/* todo - fix when rmk changes iodescs to use `void __iomem *` */
14
0367a8d3 15#define IODESC_ENT(x) { (unsigned long)S3C24XX_VA_##x, __phys_to_pfn(S3C24XX_PA_##x), S3C24XX_SZ_##x, MT_DEVICE }
1da177e4
LT
16
17#ifndef MHZ
18#define MHZ (1000*1000)
19#endif
20
21#define print_mhz(m) ((m) / MHZ), ((m / 1000) % 1000)
22
23/* forward declaration */
66a9b49a
BD
24struct s3c24xx_uart_resources;
25struct platform_device;
1da177e4
LT
26struct s3c2410_uartcfg;
27struct map_desc;
28
74b265d4
BD
29/* per-cpu initialisation function table. */
30
31struct cpu_table {
32 unsigned long idcode;
33 unsigned long idmask;
34 void (*map_io)(void);
35 void (*init_uarts)(struct s3c2410_uartcfg *cfg, int no);
36 void (*init_clocks)(int xtal);
37 int (*init)(void);
38 const char *name;
39};
40
41extern void s3c_init_cpu(unsigned long idcode,
42 struct cpu_table *cpus, unsigned int cputab_size);
43
1da177e4
LT
44/* core initialisation functions */
45
46extern void s3c24xx_init_irq(void);
47
48extern void s3c24xx_init_io(struct map_desc *mach_desc, int size);
49
50extern void s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no);
51
52extern void s3c24xx_init_clocks(int xtal);
53
66a9b49a
BD
54extern void s3c24xx_init_uartdevs(char *name,
55 struct s3c24xx_uart_resources *res,
56 struct s3c2410_uartcfg *cfg, int no);
57
1da177e4
LT
58/* timer for 2410/2440 */
59
60struct sys_timer;
61extern struct sys_timer s3c24xx_timer;
62
63/* system device classes */
64
a341305e 65extern struct sysdev_class s3c2410_sysclass;
68d9ab39 66extern struct sysdev_class s3c2412_sysclass;
1da177e4 67extern struct sysdev_class s3c2440_sysclass;
96ce2385 68extern struct sysdev_class s3c2442_sysclass;
e4d06e39 69extern struct sysdev_class s3c2443_sysclass;
This page took 0.351367 seconds and 5 git commands to generate.