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