162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2011 Samsung Electronics Co., Ltd.
462306a36Sopenharmony_ci *		http://www.samsung.com
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Copyright (c) 2004 Simtec Electronics
762306a36Sopenharmony_ci * Ben Dooks <ben@simtec.co.uk>
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * Header file for s3c2410 standard platform devices
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#ifndef __PLAT_DEVS_H
1362306a36Sopenharmony_ci#define __PLAT_DEVS_H __FILE__
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#include <linux/platform_device.h>
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cistruct s3c24xx_uart_resources {
1862306a36Sopenharmony_ci	struct resource		*resources;
1962306a36Sopenharmony_ci	unsigned long		 nr_resources;
2062306a36Sopenharmony_ci};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciextern struct s3c24xx_uart_resources s3c2410_uart_resources[];
2362306a36Sopenharmony_ciextern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciextern struct platform_device *s3c24xx_uart_devs[];
2662306a36Sopenharmony_ciextern struct platform_device *s3c24xx_uart_src[];
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciextern struct platform_device s3c64xx_device_iis0;
2962306a36Sopenharmony_ciextern struct platform_device s3c64xx_device_iis1;
3062306a36Sopenharmony_ciextern struct platform_device s3c64xx_device_spi0;
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciextern struct platform_device s3c_device_fb;
3362306a36Sopenharmony_ciextern struct platform_device s3c_device_hsmmc0;
3462306a36Sopenharmony_ciextern struct platform_device s3c_device_hsmmc1;
3562306a36Sopenharmony_ciextern struct platform_device s3c_device_hsmmc2;
3662306a36Sopenharmony_ciextern struct platform_device s3c_device_hsmmc3;
3762306a36Sopenharmony_ciextern struct platform_device s3c_device_i2c0;
3862306a36Sopenharmony_ciextern struct platform_device s3c_device_i2c1;
3962306a36Sopenharmony_ciextern struct platform_device s3c_device_ohci;
4062306a36Sopenharmony_ciextern struct platform_device s3c_device_usb_hsotg;
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciextern struct platform_device samsung_device_keypad;
4362306a36Sopenharmony_ciextern struct platform_device samsung_device_pwm;
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci/**
4662306a36Sopenharmony_ci * s3c_set_platdata() - helper for setting platform data
4762306a36Sopenharmony_ci * @pd: The default platform data for this device.
4862306a36Sopenharmony_ci * @pdsize: The size of the platform data.
4962306a36Sopenharmony_ci * @pdev: Pointer to the device to fill in.
5062306a36Sopenharmony_ci *
5162306a36Sopenharmony_ci * This helper replaces a number of calls that copy and then set the
5262306a36Sopenharmony_ci * platform data of the device.
5362306a36Sopenharmony_ci */
5462306a36Sopenharmony_ciextern void *s3c_set_platdata(void *pd, size_t pdsize,
5562306a36Sopenharmony_ci			      struct platform_device *pdev);
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci#endif /* __PLAT_DEVS_H */
58