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 16 #ifndef __PLAT_DEVS_H 17 #define __PLAT_DEVS_H __FILE__ 18 19 #include <linux/platform_device.h> 20 21 struct s3c24xx_uart_resources { 22 struct resource *resources; 23 unsigned long nr_resources; 24 }; 25 26 extern struct s3c24xx_uart_resources s3c2410_uart_resources[]; 27 extern struct s3c24xx_uart_resources s3c64xx_uart_resources[]; 28 extern struct s3c24xx_uart_resources s5p_uart_resources[]; 29 30 extern struct platform_device *s3c24xx_uart_devs[]; 31 extern struct platform_device *s3c24xx_uart_src[]; 32 33 extern struct platform_device s3c64xx_device_ac97; 34 extern struct platform_device s3c64xx_device_iis0; 35 extern struct platform_device s3c64xx_device_iis1; 36 extern struct platform_device s3c64xx_device_iisv4; 37 extern struct platform_device s3c64xx_device_onenand1; 38 extern struct platform_device s3c64xx_device_pcm0; 39 extern struct platform_device s3c64xx_device_pcm1; 40 extern struct platform_device s3c64xx_device_spi0; 41 extern struct platform_device s3c64xx_device_spi1; 42 extern struct platform_device s3c64xx_device_spi2; 43 44 extern struct platform_device s3c_device_adc; 45 extern struct platform_device s3c_device_cfcon; 46 extern struct platform_device s3c_device_fb; 47 extern struct platform_device s3c_device_hwmon; 48 extern struct platform_device s3c_device_hsmmc0; 49 extern struct platform_device s3c_device_hsmmc1; 50 extern struct platform_device s3c_device_hsmmc2; 51 extern struct platform_device s3c_device_hsmmc3; 52 extern struct platform_device s3c_device_i2c0; 53 extern struct platform_device s3c_device_i2c1; 54 extern struct platform_device s3c_device_i2c2; 55 extern struct platform_device s3c_device_i2c3; 56 extern struct platform_device s3c_device_i2c4; 57 extern struct platform_device s3c_device_i2c5; 58 extern struct platform_device s3c_device_i2c6; 59 extern struct platform_device s3c_device_i2c7; 60 extern struct platform_device s3c_device_iis; 61 extern struct platform_device s3c_device_lcd; 62 extern struct platform_device s3c_device_nand; 63 extern struct platform_device s3c_device_ohci; 64 extern struct platform_device s3c_device_onenand; 65 extern struct platform_device s3c_device_rtc; 66 extern struct platform_device s3c_device_sdi; 67 extern struct platform_device s3c_device_spi0; 68 extern struct platform_device s3c_device_spi1; 69 extern struct platform_device s3c_device_ts; 70 extern struct platform_device s3c_device_timer[]; 71 extern struct platform_device s3c_device_usbgadget; 72 extern struct platform_device s3c_device_usb_hsotg; 73 extern struct platform_device s3c_device_usb_hsudc; 74 extern struct platform_device s3c_device_wdt; 75 76 extern struct platform_device s5p_device_ehci; 77 extern struct platform_device s5p_device_fimc0; 78 extern struct platform_device s5p_device_fimc1; 79 extern struct platform_device s5p_device_fimc2; 80 extern struct platform_device s5p_device_fimc3; 81 extern struct platform_device s5p_device_fimc_md; 82 extern struct platform_device s5p_device_fimd0; 83 extern struct platform_device s5p_device_hdmi; 84 extern struct platform_device s5p_device_i2c_hdmiphy; 85 extern struct platform_device s5p_device_mfc; 86 extern struct platform_device s5p_device_mfc_l; 87 extern struct platform_device s5p_device_mfc_r; 88 extern struct platform_device s5p_device_mipi_csis0; 89 extern struct platform_device s5p_device_mipi_csis1; 90 extern struct platform_device s5p_device_mixer; 91 extern struct platform_device s5p_device_onenand; 92 extern struct platform_device s5p_device_sdo; 93 94 extern struct platform_device s5p6440_device_iis; 95 extern struct platform_device s5p6440_device_pcm; 96 97 extern struct platform_device s5p6450_device_iis0; 98 extern struct platform_device s5p6450_device_iis1; 99 extern struct platform_device s5p6450_device_iis2; 100 extern struct platform_device s5p6450_device_pcm0; 101 102 103 extern struct platform_device s5pc100_device_ac97; 104 extern struct platform_device s5pc100_device_iis0; 105 extern struct platform_device s5pc100_device_iis1; 106 extern struct platform_device s5pc100_device_iis2; 107 extern struct platform_device s5pc100_device_pcm0; 108 extern struct platform_device s5pc100_device_pcm1; 109 extern struct platform_device s5pc100_device_spdif; 110 111 extern struct platform_device s5pv210_device_ac97; 112 extern struct platform_device s5pv210_device_iis0; 113 extern struct platform_device s5pv210_device_iis1; 114 extern struct platform_device s5pv210_device_iis2; 115 extern struct platform_device s5pv210_device_pcm0; 116 extern struct platform_device s5pv210_device_pcm1; 117 extern struct platform_device s5pv210_device_pcm2; 118 extern struct platform_device s5pv210_device_spdif; 119 120 extern struct platform_device exynos4_device_ac97; 121 extern struct platform_device exynos4_device_ahci; 122 extern struct platform_device exynos4_device_dwmci; 123 extern struct platform_device exynos4_device_i2s0; 124 extern struct platform_device exynos4_device_i2s1; 125 extern struct platform_device exynos4_device_i2s2; 126 extern struct platform_device exynos4_device_ohci; 127 extern struct platform_device exynos4_device_pcm0; 128 extern struct platform_device exynos4_device_pcm1; 129 extern struct platform_device exynos4_device_pcm2; 130 extern struct platform_device exynos4_device_pd[]; 131 extern struct platform_device exynos4_device_spdif; 132 extern struct platform_device exynos4_device_sysmmu; 133 134 extern struct platform_device samsung_asoc_dma; 135 extern struct platform_device samsung_asoc_idma; 136 extern struct platform_device samsung_device_keypad; 137 138 /* s3c2440 specific devices */ 139 140 #ifdef CONFIG_CPU_S3C2440 141 142 extern struct platform_device s3c_device_camif; 143 extern struct platform_device s3c_device_ac97; 144 145 #endif 146 147 /** 148 * s3c_set_platdata() - helper for setting platform data 149 * @pd: The default platform data for this device. 150 * @pdsize: The size of the platform data. 151 * @pdev: Pointer to the device to fill in. 152 * 153 * This helper replaces a number of calls that copy and then set the 154 * platform data of the device. 155 */ 156 extern void *s3c_set_platdata(void *pd, size_t pdsize, 157 struct platform_device *pdev); 158 159 #endif /* __PLAT_DEVS_H */ 160