devs.h 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. /* arch/arm/plat-samsung/include/plat/devs.h
  2. *
  3. * Copyright (c) 2011 Samsung Electronics Co., Ltd.
  4. * http://www.samsung.com
  5. *
  6. * Copyright (c) 2004 Simtec Electronics
  7. * Ben Dooks <ben@simtec.co.uk>
  8. *
  9. * Header file for s3c2410 standard platform devices
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of the GNU General Public License version 2 as
  13. * published by the Free Software Foundation.
  14. */
  15. #ifndef __PLAT_DEVS_H
  16. #define __PLAT_DEVS_H __FILE__
  17. #include <linux/platform_device.h>
  18. struct s3c24xx_uart_resources {
  19. struct resource *resources;
  20. unsigned long nr_resources;
  21. };
  22. extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
  23. extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
  24. extern struct s3c24xx_uart_resources s5p_uart_resources[];
  25. extern struct s3c24xx_uart_resources exynos4_uart_resources[];
  26. extern struct s3c24xx_uart_resources exynos5_uart_resources[];
  27. extern struct platform_device *s3c24xx_uart_devs[];
  28. extern struct platform_device *s3c24xx_uart_src[];
  29. extern struct platform_device s3c64xx_device_ac97;
  30. extern struct platform_device s3c64xx_device_iis0;
  31. extern struct platform_device s3c64xx_device_iis1;
  32. extern struct platform_device s3c64xx_device_iisv4;
  33. extern struct platform_device s3c64xx_device_onenand1;
  34. extern struct platform_device s3c64xx_device_pcm0;
  35. extern struct platform_device s3c64xx_device_pcm1;
  36. extern struct platform_device s3c64xx_device_spi0;
  37. extern struct platform_device s3c64xx_device_spi1;
  38. extern struct platform_device s3c64xx_device_spi2;
  39. extern struct platform_device s3c_device_adc;
  40. extern struct platform_device s3c_device_cfcon;
  41. extern struct platform_device s3c_device_fb;
  42. extern struct platform_device s3c_device_hwmon;
  43. extern struct platform_device s3c_device_hsmmc0;
  44. extern struct platform_device s3c_device_hsmmc1;
  45. extern struct platform_device s3c_device_hsmmc2;
  46. extern struct platform_device s3c_device_hsmmc3;
  47. extern struct platform_device s3c_device_i2c0;
  48. extern struct platform_device s3c_device_i2c1;
  49. extern struct platform_device s3c_device_i2c2;
  50. extern struct platform_device s3c_device_i2c3;
  51. extern struct platform_device s3c_device_i2c4;
  52. extern struct platform_device s3c_device_i2c5;
  53. extern struct platform_device s3c_device_i2c6;
  54. extern struct platform_device s3c_device_i2c7;
  55. extern struct platform_device s3c_device_iis;
  56. extern struct platform_device s3c_device_lcd;
  57. extern struct platform_device s3c_device_nand;
  58. extern struct platform_device s3c_device_ohci;
  59. extern struct platform_device s3c_device_onenand;
  60. extern struct platform_device s3c_device_rtc;
  61. extern struct platform_device s3c_device_sdi;
  62. extern struct platform_device s3c_device_spi0;
  63. extern struct platform_device s3c_device_spi1;
  64. extern struct platform_device s3c_device_ts;
  65. extern struct platform_device s3c_device_timer[];
  66. extern struct platform_device s3c_device_usbgadget;
  67. extern struct platform_device s3c_device_usb_hsotg;
  68. extern struct platform_device s3c_device_usb_hsudc;
  69. extern struct platform_device s3c_device_wdt;
  70. extern struct platform_device s5p_device_ehci;
  71. extern struct platform_device s5p_device_fimc0;
  72. extern struct platform_device s5p_device_fimc1;
  73. extern struct platform_device s5p_device_fimc2;
  74. extern struct platform_device s5p_device_fimc3;
  75. extern struct platform_device s5p_device_fimc_md;
  76. extern struct platform_device s5p_device_jpeg;
  77. extern struct platform_device s5p_device_g2d;
  78. extern struct platform_device s5p_device_fimd0;
  79. extern struct platform_device s5p_device_hdmi;
  80. extern struct platform_device s5p_device_i2c_hdmiphy;
  81. extern struct platform_device s5p_device_mfc;
  82. extern struct platform_device s5p_device_mfc_l;
  83. extern struct platform_device s5p_device_mfc_r;
  84. extern struct platform_device s5p_device_mipi_csis0;
  85. extern struct platform_device s5p_device_mipi_csis1;
  86. extern struct platform_device s5p_device_mixer;
  87. extern struct platform_device s5p_device_onenand;
  88. extern struct platform_device s5p_device_sdo;
  89. extern struct platform_device s5p6440_device_iis;
  90. extern struct platform_device s5p6440_device_pcm;
  91. extern struct platform_device s5p6450_device_iis0;
  92. extern struct platform_device s5p6450_device_iis1;
  93. extern struct platform_device s5p6450_device_iis2;
  94. extern struct platform_device s5p6450_device_pcm0;
  95. extern struct platform_device s5pc100_device_ac97;
  96. extern struct platform_device s5pc100_device_iis0;
  97. extern struct platform_device s5pc100_device_iis1;
  98. extern struct platform_device s5pc100_device_iis2;
  99. extern struct platform_device s5pc100_device_pcm0;
  100. extern struct platform_device s5pc100_device_pcm1;
  101. extern struct platform_device s5pc100_device_spdif;
  102. extern struct platform_device s5pv210_device_ac97;
  103. extern struct platform_device s5pv210_device_iis0;
  104. extern struct platform_device s5pv210_device_iis1;
  105. extern struct platform_device s5pv210_device_iis2;
  106. extern struct platform_device s5pv210_device_pcm0;
  107. extern struct platform_device s5pv210_device_pcm1;
  108. extern struct platform_device s5pv210_device_pcm2;
  109. extern struct platform_device s5pv210_device_spdif;
  110. extern struct platform_device exynos4_device_ac97;
  111. extern struct platform_device exynos4_device_ahci;
  112. extern struct platform_device exynos4_device_dwmci;
  113. extern struct platform_device exynos4_device_i2s0;
  114. extern struct platform_device exynos4_device_i2s1;
  115. extern struct platform_device exynos4_device_i2s2;
  116. extern struct platform_device exynos4_device_ohci;
  117. extern struct platform_device exynos4_device_pcm0;
  118. extern struct platform_device exynos4_device_pcm1;
  119. extern struct platform_device exynos4_device_pcm2;
  120. extern struct platform_device exynos4_device_pd[];
  121. extern struct platform_device exynos4_device_spdif;
  122. extern struct platform_device exynos4_device_sysmmu;
  123. extern struct platform_device samsung_asoc_dma;
  124. extern struct platform_device samsung_asoc_idma;
  125. extern struct platform_device samsung_device_keypad;
  126. /* s3c2440 specific devices */
  127. #ifdef CONFIG_CPU_S3C2440
  128. extern struct platform_device s3c_device_camif;
  129. extern struct platform_device s3c_device_ac97;
  130. #endif
  131. /**
  132. * s3c_set_platdata() - helper for setting platform data
  133. * @pd: The default platform data for this device.
  134. * @pdsize: The size of the platform data.
  135. * @pdev: Pointer to the device to fill in.
  136. *
  137. * This helper replaces a number of calls that copy and then set the
  138. * platform data of the device.
  139. */
  140. extern void *s3c_set_platdata(void *pd, size_t pdsize,
  141. struct platform_device *pdev);
  142. #endif /* __PLAT_DEVS_H */