Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.6.
 1/* linux/arch/arm/plat-samsung/dev-i2c3.c
 2 *
 3 * Copyright (c) 2010 Samsung Electronics Co., Ltd.
 4 *		http://www.samsung.com/
 5 *
 6 * S5P series device definition for i2c device 3
 7 *
 8 * This program is free software; you can redistribute it and/or modify
 9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12
13#include <linux/gfp.h>
14#include <linux/kernel.h>
15#include <linux/string.h>
16#include <linux/platform_device.h>
17
18#include <mach/irqs.h>
19#include <mach/map.h>
20
21#include <plat/regs-iic.h>
22#include <plat/iic.h>
23#include <plat/devs.h>
24#include <plat/cpu.h>
25
26static struct resource s3c_i2c_resource[] = {
27	[0] = {
28		.start	= S3C_PA_IIC3,
29		.end	= S3C_PA_IIC3 + SZ_4K - 1,
30		.flags	= IORESOURCE_MEM,
31	},
32	[1] = {
33		.start	= IRQ_IIC3,
34		.end	= IRQ_IIC3,
35		.flags	= IORESOURCE_IRQ,
36	},
37};
38
39struct platform_device s3c_device_i2c3 = {
40	.name		= "s3c2440-i2c",
41	.id		= 3,
42	.num_resources	= ARRAY_SIZE(s3c_i2c_resource),
43	.resource	= s3c_i2c_resource,
44};
45
46void __init s3c_i2c3_set_platdata(struct s3c2410_platform_i2c *pd)
47{
48	struct s3c2410_platform_i2c *npd;
49
50	if (!pd) {
51		pd = &default_i2c_data;
52		pd->bus_num = 3;
53	}
54
55	npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c),
56			       &s3c_device_i2c3);
57
58	if (!npd->cfg_gpio)
59		npd->cfg_gpio = s3c_i2c3_cfg_gpio;
60}