devs.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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 platform_device *s3c24xx_uart_devs[];
  25. extern struct platform_device *s3c24xx_uart_src[];
  26. extern struct platform_device s3c64xx_device_ac97;
  27. extern struct platform_device s3c64xx_device_iis0;
  28. extern struct platform_device s3c64xx_device_iis1;
  29. extern struct platform_device s3c64xx_device_iisv4;
  30. extern struct platform_device s3c64xx_device_onenand1;
  31. extern struct platform_device s3c64xx_device_pcm0;
  32. extern struct platform_device s3c64xx_device_pcm1;
  33. extern struct platform_device s3c64xx_device_spi0;
  34. extern struct platform_device s3c64xx_device_spi1;
  35. extern struct platform_device s3c64xx_device_spi2;
  36. extern struct platform_device s3c_device_adc;
  37. extern struct platform_device s3c_device_cfcon;
  38. extern struct platform_device s3c_device_fb;
  39. extern struct platform_device s3c_device_hwmon;
  40. extern struct platform_device s3c_device_hsmmc0;
  41. extern struct platform_device s3c_device_hsmmc1;
  42. extern struct platform_device s3c_device_hsmmc2;
  43. extern struct platform_device s3c_device_hsmmc3;
  44. extern struct platform_device s3c_device_i2c0;
  45. extern struct platform_device s3c_device_i2c1;
  46. extern struct platform_device s3c_device_i2c2;
  47. extern struct platform_device s3c_device_i2c3;
  48. extern struct platform_device s3c_device_i2c4;
  49. extern struct platform_device s3c_device_i2c5;
  50. extern struct platform_device s3c_device_i2c6;
  51. extern struct platform_device s3c_device_i2c7;
  52. extern struct platform_device s3c_device_iis;
  53. extern struct platform_device s3c_device_lcd;
  54. extern struct platform_device s3c_device_nand;
  55. extern struct platform_device s3c_device_ohci;
  56. extern struct platform_device s3c_device_onenand;
  57. extern struct platform_device s3c_device_rtc;
  58. extern struct platform_device s3c_device_sdi;
  59. extern struct platform_device s3c_device_spi0;
  60. extern struct platform_device s3c_device_spi1;
  61. extern struct platform_device s3c_device_ts;
  62. extern struct platform_device s3c_device_timer[];
  63. extern struct platform_device s3c_device_usbgadget;
  64. extern struct platform_device s3c_device_usb_hsotg;
  65. extern struct platform_device s3c_device_usb_hsudc;
  66. extern struct platform_device s3c_device_wdt;
  67. extern struct platform_device samsung_asoc_idma;
  68. extern struct platform_device samsung_device_keypad;
  69. extern struct platform_device samsung_device_pwm;
  70. /* s3c2440 specific devices */
  71. #ifdef CONFIG_CPU_S3C2440
  72. extern struct platform_device s3c_device_camif;
  73. extern struct platform_device s3c_device_ac97;
  74. #endif
  75. /**
  76. * s3c_set_platdata() - helper for setting platform data
  77. * @pd: The default platform data for this device.
  78. * @pdsize: The size of the platform data.
  79. * @pdev: Pointer to the device to fill in.
  80. *
  81. * This helper replaces a number of calls that copy and then set the
  82. * platform data of the device.
  83. */
  84. extern void *s3c_set_platdata(void *pd, size_t pdsize,
  85. struct platform_device *pdev);
  86. #endif /* __PLAT_DEVS_H */