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 extern struct platform_device s3c64xx_device_spi1; 37 extern struct platform_device s3c64xx_device_spi2; 38 39 extern struct platform_device s3c_device_adc; 40 extern struct platform_device s3c_device_cfcon; 41 extern struct platform_device s3c_device_fb; 42 extern struct platform_device s3c_device_hwmon; 43 extern struct platform_device s3c_device_hsmmc0; 44 extern struct platform_device s3c_device_hsmmc1; 45 extern struct platform_device s3c_device_hsmmc2; 46 extern struct platform_device s3c_device_hsmmc3; 47 extern struct platform_device s3c_device_i2c0; 48 extern struct platform_device s3c_device_i2c1; 49 extern struct platform_device s3c_device_i2c2; 50 extern struct platform_device s3c_device_i2c3; 51 extern struct platform_device s3c_device_i2c4; 52 extern struct platform_device s3c_device_i2c5; 53 extern struct platform_device s3c_device_i2c6; 54 extern struct platform_device s3c_device_i2c7; 55 extern struct platform_device s3c_device_iis; 56 extern struct platform_device s3c_device_lcd; 57 extern struct platform_device s3c_device_nand; 58 extern struct platform_device s3c_device_ohci; 59 extern struct platform_device s3c_device_onenand; 60 extern struct platform_device s3c_device_rtc; 61 extern struct platform_device s3c_device_sdi; 62 extern struct platform_device s3c_device_spi0; 63 extern struct platform_device s3c_device_spi1; 64 extern struct platform_device s3c_device_ts; 65 extern struct platform_device s3c_device_timer[]; 66 extern struct platform_device s3c_device_usbgadget; 67 extern struct platform_device s3c_device_usb_hsotg; 68 extern struct platform_device s3c_device_usb_hsudc; 69 extern struct platform_device s3c_device_wdt; 70 71 extern struct platform_device samsung_asoc_idma; 72 extern struct platform_device samsung_device_keypad; 73 extern struct platform_device samsung_device_pwm; 74 75 /* s3c2440 specific devices */ 76 77 #ifdef CONFIG_CPU_S3C2440 78 79 extern struct platform_device s3c_device_camif; 80 extern struct platform_device s3c_device_ac97; 81 82 #endif 83 84 /** 85 * s3c_set_platdata() - helper for setting platform data 86 * @pd: The default platform data for this device. 87 * @pdsize: The size of the platform data. 88 * @pdev: Pointer to the device to fill in. 89 * 90 * This helper replaces a number of calls that copy and then set the 91 * platform data of the device. 92 */ 93 extern void *s3c_set_platdata(void *pd, size_t pdsize, 94 struct platform_device *pdev); 95 96 #endif /* __PLAT_DEVS_H */ 97