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