forked from Minki/linux
1db0287ab1
This patch adds all required platform-specific data and initialization code to support the generic amba-pl08x driver on S3C64xx SoCs. Also some compatibility definitions are added to make the transition from legacy API to DMA engine easier. The biggest hack here is passing const char * pointers through DMA resource, casted to unsigned long, but this is how Samsung DMA wrappers (used to support both s3c-dma and DMA engine in drivers) are designed. Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
67 lines
1.7 KiB
C
67 lines
1.7 KiB
C
/*
|
|
* Copyright (c) 2011 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com
|
|
*
|
|
* Copyright 2008 Openmoko, Inc.
|
|
* Copyright 2008 Simtec Electronics
|
|
* Ben Dooks <ben@simtec.co.uk>
|
|
* http://armlinux.simtec.co.uk/
|
|
*
|
|
* Common Header for S3C64XX machines
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
#ifndef __ARCH_ARM_MACH_S3C64XX_COMMON_H
|
|
#define __ARCH_ARM_MACH_S3C64XX_COMMON_H
|
|
|
|
#include <linux/reboot.h>
|
|
|
|
void s3c64xx_init_irq(u32 vic0, u32 vic1);
|
|
void s3c64xx_init_io(struct map_desc *mach_desc, int size);
|
|
|
|
void s3c64xx_restart(enum reboot_mode mode, const char *cmd);
|
|
void s3c64xx_init_late(void);
|
|
|
|
void s3c64xx_clk_init(struct device_node *np, unsigned long xtal_f,
|
|
unsigned long xusbxti_f, bool is_s3c6400, void __iomem *reg_base);
|
|
void s3c64xx_set_xtal_freq(unsigned long freq);
|
|
void s3c64xx_set_xusbxti_freq(unsigned long freq);
|
|
|
|
#ifdef CONFIG_CPU_S3C6400
|
|
|
|
extern int s3c6400_init(void);
|
|
extern void s3c6400_init_irq(void);
|
|
extern void s3c6400_map_io(void);
|
|
|
|
#else
|
|
#define s3c6400_map_io NULL
|
|
#define s3c6400_init NULL
|
|
#endif
|
|
|
|
#ifdef CONFIG_CPU_S3C6410
|
|
|
|
extern int s3c6410_init(void);
|
|
extern void s3c6410_init_irq(void);
|
|
extern void s3c6410_map_io(void);
|
|
|
|
#else
|
|
#define s3c6410_map_io NULL
|
|
#define s3c6410_init NULL
|
|
#endif
|
|
|
|
#ifdef CONFIG_PM
|
|
int __init s3c64xx_pm_late_initcall(void);
|
|
#else
|
|
static inline int s3c64xx_pm_late_initcall(void) { return 0; }
|
|
#endif
|
|
|
|
#ifdef CONFIG_S3C64XX_PL080
|
|
extern struct pl08x_platform_data s3c64xx_dma0_plat_data;
|
|
extern struct pl08x_platform_data s3c64xx_dma1_plat_data;
|
|
#endif
|
|
|
|
#endif /* __ARCH_ARM_MACH_S3C64XX_COMMON_H */
|