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; 42extern struct platform_device s3c64xx_device_spi2; 43 44extern struct platform_device s3c_device_adc; 45extern struct platform_device s3c_device_cfcon; 46extern struct platform_device s3c_device_fb; 47extern struct platform_device s3c_device_hwmon; 48extern struct platform_device s3c_device_hsmmc0; 49extern struct platform_device s3c_device_hsmmc1; 50extern struct platform_device s3c_device_hsmmc2; 51extern struct platform_device s3c_device_hsmmc3; 52extern struct platform_device s3c_device_i2c0; 53extern struct platform_device s3c_device_i2c1; 54extern struct platform_device s3c_device_i2c2; 55extern struct platform_device s3c_device_i2c3; 56extern struct platform_device s3c_device_i2c4; 57extern struct platform_device s3c_device_i2c5; 58extern struct platform_device s3c_device_i2c6; 59extern struct platform_device s3c_device_i2c7; 60extern struct platform_device s3c_device_iis; 61extern struct platform_device s3c_device_lcd; 62extern struct platform_device s3c_device_nand; 63extern struct platform_device s3c_device_ohci; 64extern struct platform_device s3c_device_onenand; 65extern struct platform_device s3c_device_rtc; 66extern struct platform_device s3c_device_sdi; 67extern struct platform_device s3c_device_spi0; 68extern struct platform_device s3c_device_spi1; 69extern struct platform_device s3c_device_ts; 70extern struct platform_device s3c_device_timer[]; 71extern struct platform_device s3c_device_usbgadget; 72extern struct platform_device s3c_device_usb_hsotg; 73extern struct platform_device s3c_device_usb_hsudc; 74extern struct platform_device s3c_device_wdt; 75 76extern struct platform_device s5p_device_ehci; 77extern struct platform_device s5p_device_fimc0; 78extern struct platform_device s5p_device_fimc1; 79extern struct platform_device s5p_device_fimc2; 80extern struct platform_device s5p_device_fimc3; 81extern struct platform_device s5p_device_fimc_md; 82extern struct platform_device s5p_device_fimd0; 83extern struct platform_device s5p_device_hdmi; 84extern struct platform_device s5p_device_i2c_hdmiphy; 85extern struct platform_device s5p_device_mfc; 86extern struct platform_device s5p_device_mfc_l; 87extern struct platform_device s5p_device_mfc_r; 88extern struct platform_device s5p_device_mipi_csis0; 89extern struct platform_device s5p_device_mipi_csis1; 90extern struct platform_device s5p_device_mixer; 91extern struct platform_device s5p_device_onenand; 92extern struct platform_device s5p_device_sdo; 93 94extern struct platform_device s5p6440_device_iis; 95extern struct platform_device s5p6440_device_pcm; 96 97extern struct platform_device s5p6450_device_iis0; 98extern struct platform_device s5p6450_device_iis1; 99extern struct platform_device s5p6450_device_iis2; 100extern struct platform_device s5p6450_device_pcm0; 101 102 103extern struct platform_device s5pc100_device_ac97; 104extern struct platform_device s5pc100_device_iis0; 105extern struct platform_device s5pc100_device_iis1; 106extern struct platform_device s5pc100_device_iis2; 107extern struct platform_device s5pc100_device_pcm0; 108extern struct platform_device s5pc100_device_pcm1; 109extern struct platform_device s5pc100_device_spdif; 110 111extern struct platform_device s5pv210_device_ac97; 112extern struct platform_device s5pv210_device_iis0; 113extern struct platform_device s5pv210_device_iis1; 114extern struct platform_device s5pv210_device_iis2; 115extern struct platform_device s5pv210_device_pcm0; 116extern struct platform_device s5pv210_device_pcm1; 117extern struct platform_device s5pv210_device_pcm2; 118extern struct platform_device s5pv210_device_spdif; 119 120extern struct platform_device exynos4_device_ac97; 121extern struct platform_device exynos4_device_ahci; 122extern struct platform_device exynos4_device_dwmci; 123extern struct platform_device exynos4_device_i2s0; 124extern struct platform_device exynos4_device_i2s1; 125extern struct platform_device exynos4_device_i2s2; 126extern struct platform_device exynos4_device_ohci; 127extern struct platform_device exynos4_device_pcm0; 128extern struct platform_device exynos4_device_pcm1; 129extern struct platform_device exynos4_device_pcm2; 130extern struct platform_device exynos4_device_pd[]; 131extern struct platform_device exynos4_device_spdif; 132extern struct platform_device exynos4_device_sysmmu; 133 134extern struct platform_device samsung_asoc_dma; 135extern struct platform_device samsung_asoc_idma; 136extern struct platform_device samsung_device_keypad; 137 138/* s3c2440 specific devices */ 139 140#ifdef CONFIG_CPU_S3C2440 141 142extern struct platform_device s3c_device_camif; 143extern 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 */ 156extern void *s3c_set_platdata(void *pd, size_t pdsize, 157 struct platform_device *pdev); 158 159#endif /* __PLAT_DEVS_H */ 160