blob: 6cfc99bdfb3733e3e311c0872a4d3df82558f9b0 [file] [log] [blame]
Kukjin Kimb024043b2011-12-22 23:27:42 +01001/*
2 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
3 * http://www.samsung.com
4 *
5 * Copyright 2008 Openmoko, Inc.
6 * Copyright 2008 Simtec Electronics
7 * Ben Dooks <ben@simtec.co.uk>
8 * http://armlinux.simtec.co.uk/
9 *
10 * Common Header for S3C64XX machines
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License version 2 as
14 * published by the Free Software Foundation.
15 */
16
17#ifndef __ARCH_ARM_MACH_S3C64XX_COMMON_H
18#define __ARCH_ARM_MACH_S3C64XX_COMMON_H
19
20void s3c64xx_init_irq(u32 vic0, u32 vic1);
21void s3c64xx_init_io(struct map_desc *mach_desc, int size);
22
23void s3c64xx_register_clocks(unsigned long xtal, unsigned armclk_limit);
24void s3c64xx_setup_clocks(void);
25
Kukjin Kimff84ded2012-01-03 14:03:30 +010026void s3c64xx_restart(char mode, const char *cmd);
Shawn Guocc8f2522012-04-26 21:08:52 +080027void s3c64xx_init_late(void);
Kukjin Kimff84ded2012-01-03 14:03:30 +010028
Kukjin Kimb024043b2011-12-22 23:27:42 +010029#ifdef CONFIG_CPU_S3C6400
30
31extern int s3c6400_init(void);
32extern void s3c6400_init_irq(void);
33extern void s3c6400_map_io(void);
34extern void s3c6400_init_clocks(int xtal);
35
36#else
37#define s3c6400_init_clocks NULL
38#define s3c6400_map_io NULL
39#define s3c6400_init NULL
40#endif
41
42#ifdef CONFIG_CPU_S3C6410
43
44extern int s3c6410_init(void);
45extern void s3c6410_init_irq(void);
46extern void s3c6410_map_io(void);
47extern void s3c6410_init_clocks(int xtal);
48
49#else
50#define s3c6410_init_clocks NULL
51#define s3c6410_map_io NULL
52#define s3c6410_init NULL
53#endif
54
Shawn Guocc8f2522012-04-26 21:08:52 +080055#ifdef CONFIG_PM
56int __init s3c64xx_pm_late_initcall(void);
57#else
58static inline int s3c64xx_pm_late_initcall(void) { return 0; }
59#endif
60
Kukjin Kimb024043b2011-12-22 23:27:42 +010061#endif /* __ARCH_ARM_MACH_S3C64XX_COMMON_H */