/* linux/include/asm-arm/plat-s3c24xx/s3c2400.h
 *
 * Copyright (c) 2004 Simtec Electronics
 *	Ben Dooks <ben@simtec.co.uk>
 *
 * Header file for S3C2400 cpu support
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * Modifications:
 *     09-Fev-2006 LCVR  First version, based on s3c2410.h
*/

#ifdef CONFIG_CPU_S3C2400

extern  int s3c2400_init(void);

extern void s3c2400_map_io(void);

extern void s3c2400_init_uarts(struct s3c2410_uartcfg *cfg, int no);

extern void s3c2400_init_clocks(int xtal);

#else
#define s3c2400_init_clocks NULL
#define s3c2400_init_uarts NULL
#define s3c2400_map_io NULL
#define s3c2400_init NULL
#endif
