s3c64xx.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (c) 2011 Samsung Electronics Co., Ltd.
  4. * http://www.samsung.com
  5. *
  6. * Copyright 2008 Openmoko, Inc.
  7. * Copyright 2008 Simtec Electronics
  8. * Ben Dooks <[email protected]>
  9. * http://armlinux.simtec.co.uk/
  10. *
  11. * Common Header for S3C64XX machines
  12. */
  13. #ifndef __ARCH_ARM_MACH_S3C64XX_COMMON_H
  14. #define __ARCH_ARM_MACH_S3C64XX_COMMON_H
  15. #include <linux/reboot.h>
  16. void s3c64xx_init_irq(u32 vic0, u32 vic1);
  17. void s3c64xx_init_io(struct map_desc *mach_desc, int size);
  18. struct device_node;
  19. void s3c64xx_set_xtal_freq(unsigned long freq);
  20. void s3c64xx_set_xusbxti_freq(unsigned long freq);
  21. #ifdef CONFIG_CPU_S3C6400
  22. extern int s3c6400_init(void);
  23. extern void s3c6400_init_irq(void);
  24. extern void s3c6400_map_io(void);
  25. #else
  26. #define s3c6400_map_io NULL
  27. #define s3c6400_init NULL
  28. #endif
  29. #ifdef CONFIG_CPU_S3C6410
  30. extern int s3c6410_init(void);
  31. extern void s3c6410_init_irq(void);
  32. extern void s3c6410_map_io(void);
  33. #else
  34. #define s3c6410_map_io NULL
  35. #define s3c6410_init NULL
  36. #endif
  37. #ifdef CONFIG_S3C64XX_PL080
  38. extern struct pl08x_platform_data s3c64xx_dma0_plat_data;
  39. extern struct pl08x_platform_data s3c64xx_dma1_plat_data;
  40. #endif
  41. /* Samsung HR-Timer Clock mode */
  42. enum s3c64xx_timer_mode {
  43. S3C64XX_PWM0,
  44. S3C64XX_PWM1,
  45. S3C64XX_PWM2,
  46. S3C64XX_PWM3,
  47. S3C64XX_PWM4,
  48. };
  49. extern void __init s3c64xx_set_timer_source(enum s3c64xx_timer_mode event,
  50. enum s3c64xx_timer_mode source);
  51. extern void __init s3c64xx_timer_init(void);
  52. #endif /* __ARCH_ARM_MACH_S3C64XX_COMMON_H */