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