1/* 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 26void s3c64xx_restart(char mode, const char *cmd); 27void s3c64xx_init_late(void); 28 29#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 55#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 61#endif /* __ARCH_ARM_MACH_S3C64XX_COMMON_H */ 62