devs.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (c) 2011 Samsung Electronics Co., Ltd.
  4. * http://www.samsung.com
  5. *
  6. * Copyright (c) 2004 Simtec Electronics
  7. * Ben Dooks <[email protected]>
  8. *
  9. * Header file for s3c2410 standard platform devices
  10. */
  11. #ifndef __PLAT_DEVS_H
  12. #define __PLAT_DEVS_H __FILE__
  13. #include <linux/platform_device.h>
  14. struct s3c24xx_uart_resources {
  15. struct resource *resources;
  16. unsigned long nr_resources;
  17. };
  18. extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
  19. extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
  20. extern struct platform_device *s3c24xx_uart_devs[];
  21. extern struct platform_device *s3c24xx_uart_src[];
  22. extern struct platform_device s3c64xx_device_ac97;
  23. extern struct platform_device s3c64xx_device_iis0;
  24. extern struct platform_device s3c64xx_device_iis1;
  25. extern struct platform_device s3c64xx_device_iisv4;
  26. extern struct platform_device s3c64xx_device_onenand1;
  27. extern struct platform_device s3c64xx_device_pcm0;
  28. extern struct platform_device s3c64xx_device_pcm1;
  29. extern struct platform_device s3c64xx_device_spi0;
  30. extern struct platform_device s3c_device_adc;
  31. extern struct platform_device s3c_device_cfcon;
  32. extern struct platform_device s3c_device_fb;
  33. extern struct platform_device s3c_device_hwmon;
  34. extern struct platform_device s3c_device_hsmmc0;
  35. extern struct platform_device s3c_device_hsmmc1;
  36. extern struct platform_device s3c_device_hsmmc2;
  37. extern struct platform_device s3c_device_hsmmc3;
  38. extern struct platform_device s3c_device_i2c0;
  39. extern struct platform_device s3c_device_i2c1;
  40. extern struct platform_device s3c_device_i2c2;
  41. extern struct platform_device s3c_device_i2c3;
  42. extern struct platform_device s3c_device_i2c4;
  43. extern struct platform_device s3c_device_i2c5;
  44. extern struct platform_device s3c_device_i2c6;
  45. extern struct platform_device s3c_device_i2c7;
  46. extern struct platform_device s3c_device_iis;
  47. extern struct platform_device s3c_device_lcd;
  48. extern struct platform_device s3c_device_nand;
  49. extern struct platform_device s3c_device_ohci;
  50. extern struct platform_device s3c_device_onenand;
  51. extern struct platform_device s3c_device_rtc;
  52. extern struct platform_device s3c_device_sdi;
  53. extern struct platform_device s3c_device_spi0;
  54. extern struct platform_device s3c_device_spi1;
  55. extern struct platform_device s3c_device_ts;
  56. extern struct platform_device s3c_device_timer[];
  57. extern struct platform_device s3c_device_usbgadget;
  58. extern struct platform_device s3c_device_usb_hsotg;
  59. extern struct platform_device s3c_device_usb_hsudc;
  60. extern struct platform_device s3c_device_wdt;
  61. extern struct platform_device samsung_asoc_idma;
  62. extern struct platform_device samsung_device_keypad;
  63. extern struct platform_device samsung_device_pwm;
  64. /* s3c2440 specific devices */
  65. #ifdef CONFIG_CPU_S3C2440
  66. extern struct platform_device s3c_device_camif;
  67. extern struct platform_device s3c_device_ac97;
  68. #endif
  69. /**
  70. * s3c_set_platdata() - helper for setting platform data
  71. * @pd: The default platform data for this device.
  72. * @pdsize: The size of the platform data.
  73. * @pdev: Pointer to the device to fill in.
  74. *
  75. * This helper replaces a number of calls that copy and then set the
  76. * platform data of the device.
  77. */
  78. extern void *s3c_set_platdata(void *pd, size_t pdsize,
  79. struct platform_device *pdev);
  80. #endif /* __PLAT_DEVS_H */