Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Copyright (c) 2011 Samsung Electronics Co., Ltd.
0004  *      http://www.samsung.com
0005  *
0006  * Copyright (c) 2004 Simtec Electronics
0007  * Ben Dooks <ben@simtec.co.uk>
0008  *
0009  * Header file for s3c2410 standard platform devices
0010  */
0011 
0012 #ifndef __PLAT_DEVS_H
0013 #define __PLAT_DEVS_H __FILE__
0014 
0015 #include <linux/platform_device.h>
0016 
0017 struct s3c24xx_uart_resources {
0018     struct resource     *resources;
0019     unsigned long        nr_resources;
0020 };
0021 
0022 extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
0023 extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
0024 
0025 extern struct platform_device *s3c24xx_uart_devs[];
0026 extern struct platform_device *s3c24xx_uart_src[];
0027 
0028 extern struct platform_device s3c64xx_device_ac97;
0029 extern struct platform_device s3c64xx_device_iis0;
0030 extern struct platform_device s3c64xx_device_iis1;
0031 extern struct platform_device s3c64xx_device_iisv4;
0032 extern struct platform_device s3c64xx_device_onenand1;
0033 extern struct platform_device s3c64xx_device_pcm0;
0034 extern struct platform_device s3c64xx_device_pcm1;
0035 extern struct platform_device s3c64xx_device_spi0;
0036 extern struct platform_device s3c64xx_device_spi1;
0037 extern struct platform_device s3c64xx_device_spi2;
0038 
0039 extern struct platform_device s3c_device_adc;
0040 extern struct platform_device s3c_device_cfcon;
0041 extern struct platform_device s3c_device_fb;
0042 extern struct platform_device s3c_device_hwmon;
0043 extern struct platform_device s3c_device_hsmmc0;
0044 extern struct platform_device s3c_device_hsmmc1;
0045 extern struct platform_device s3c_device_hsmmc2;
0046 extern struct platform_device s3c_device_hsmmc3;
0047 extern struct platform_device s3c_device_i2c0;
0048 extern struct platform_device s3c_device_i2c1;
0049 extern struct platform_device s3c_device_i2c2;
0050 extern struct platform_device s3c_device_i2c3;
0051 extern struct platform_device s3c_device_i2c4;
0052 extern struct platform_device s3c_device_i2c5;
0053 extern struct platform_device s3c_device_i2c6;
0054 extern struct platform_device s3c_device_i2c7;
0055 extern struct platform_device s3c_device_iis;
0056 extern struct platform_device s3c_device_lcd;
0057 extern struct platform_device s3c_device_nand;
0058 extern struct platform_device s3c_device_ohci;
0059 extern struct platform_device s3c_device_onenand;
0060 extern struct platform_device s3c_device_rtc;
0061 extern struct platform_device s3c_device_sdi;
0062 extern struct platform_device s3c_device_spi0;
0063 extern struct platform_device s3c_device_spi1;
0064 extern struct platform_device s3c_device_ts;
0065 extern struct platform_device s3c_device_timer[];
0066 extern struct platform_device s3c_device_usbgadget;
0067 extern struct platform_device s3c_device_usb_hsotg;
0068 extern struct platform_device s3c_device_usb_hsudc;
0069 extern struct platform_device s3c_device_wdt;
0070 
0071 extern struct platform_device samsung_asoc_idma;
0072 extern struct platform_device samsung_device_keypad;
0073 extern struct platform_device samsung_device_pwm;
0074 
0075 /* s3c2440 specific devices */
0076 
0077 #ifdef CONFIG_CPU_S3C2440
0078 
0079 extern struct platform_device s3c_device_camif;
0080 extern struct platform_device s3c_device_ac97;
0081 
0082 #endif
0083 
0084 /**
0085  * s3c_set_platdata() - helper for setting platform data
0086  * @pd: The default platform data for this device.
0087  * @pdsize: The size of the platform data.
0088  * @pdev: Pointer to the device to fill in.
0089  *
0090  * This helper replaces a number of calls that copy and then set the
0091  * platform data of the device.
0092  */
0093 extern void *s3c_set_platdata(void *pd, size_t pdsize,
0094                   struct platform_device *pdev);
0095 
0096 #endif /* __PLAT_DEVS_H */