/arch/arm/mach-fsm/devices.h
C++ Header | 131 lines | 86 code | 30 blank | 15 comment | 0 complexity | 171bf76e607f7351de45d7409a5db54c MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0
1/* linux/arch/arm/mach-msm/devices.h
2 *
3 * Copyright (C) 2008 Google, Inc.
4 * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
5 *
6 * This software is licensed under the terms of the GNU General Public
7 * License version 2, as published by the Free Software Foundation, and
8 * may be copied, distributed, and modified under those terms.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 */
16
17#ifndef __ARCH_ARM_MACH_MSM_DEVICES_H
18#define __ARCH_ARM_MACH_MSM_DEVICES_H
19
20#include "clock.h"
21
22extern struct platform_device msm_device_uart1;
23extern struct platform_device msm_device_uart2;
24extern struct platform_device msm_device_uart3;
25
26extern struct platform_device msm_device_uart_dm1;
27extern struct platform_device msm_device_uart_dm2;
28extern struct platform_device msm_device_uart_dm12;
29
30extern struct platform_device msm_device_sdc1;
31extern struct platform_device msm_device_sdc2;
32extern struct platform_device msm_device_sdc3;
33extern struct platform_device msm_device_sdc4;
34
35extern struct platform_device msm_device_hsusb_otg;
36extern struct platform_device msm_device_hsusb_peripheral;
37extern struct platform_device msm_device_gadget_peripheral;
38extern struct platform_device msm_device_hsusb_host;
39extern struct platform_device msm_device_hsusb_host2;
40
41extern struct platform_device msm_device_otg;
42
43extern struct platform_device msm_device_i2c;
44
45extern struct platform_device msm_device_i2c_2;
46
47extern struct platform_device qup_device_i2c;
48
49extern struct platform_device msm_gsbi3_qup_i2c_device;
50extern struct platform_device msm_gsbi4_qup_i2c_device;
51extern struct platform_device msm_gsbi7_qup_i2c_device;
52extern struct platform_device msm_gsbi8_qup_i2c_device;
53extern struct platform_device msm_gsbi9_qup_i2c_device;
54
55extern struct platform_device msm_device_smd;
56extern struct platform_device msm_device_dmov;
57
58extern struct platform_device msm_device_nand;
59
60extern struct platform_device msm_device_tssc;
61
62extern struct platform_device msm_rotator_device;
63
64extern struct platform_device msm_device_tsif;
65
66extern struct platform_device msm_device_ssbi1;
67extern struct platform_device msm_device_ssbi2;
68extern struct platform_device msm_device_ssbi3;
69extern struct platform_device msm_device_ssbi6;
70extern struct platform_device msm_device_ssbi7;
71
72extern struct platform_device msm_gsbi1_qup_spi_device;
73
74extern struct platform_device msm_device_vidc_720p;
75
76extern struct clk msm_clocks_7x01a[];
77extern unsigned msm_num_clocks_7x01a;
78
79extern struct clk msm_clocks_7x25[];
80extern unsigned msm_num_clocks_7x25;
81
82extern struct clk msm_clocks_7x27[];
83extern unsigned msm_num_clocks_7x27;
84
85extern struct clk msm_clocks_7x30[];
86extern unsigned msm_num_clocks_7x30;
87
88extern struct clk msm_clocks_8x50[];
89extern unsigned msm_num_clocks_8x50;
90
91extern struct clk msm_clocks_8x60[];
92extern unsigned msm_num_clocks_8x60;
93
94void __init msm_fb_register_device(char *name, void *data);
95void __init msm_camera_register_device(void *, uint32_t, void *);
96extern struct platform_device msm_device_touchscreen;
97
98#ifdef CONFIG_GPIOLIB
99#define MSM7200A_GPIO_PLATFORM_DATA(ix, begin, end, irq) \
100 [ix] = { \
101 .gpio_base = begin, \
102 .ngpio = end - begin + 1, \
103 .irq_base = MSM_GPIO_TO_INT(begin), \
104 .irq_summary = irq, \
105 .latch_level_irqs = false, \
106 .regs = { \
107 .in = GPIO_IN_ ## ix, \
108 .out = GPIO_OUT_ ## ix, \
109 .oe = GPIO_OE_ ## ix, \
110 .int_status = GPIO_INT_STATUS_ ## ix, \
111 .int_clear = GPIO_INT_CLEAR_ ## ix, \
112 .int_en = GPIO_INT_EN_ ## ix, \
113 .int_edge = GPIO_INT_EDGE_ ## ix, \
114 .int_pos = GPIO_INT_POS_ ## ix, \
115 }, \
116 }
117
118#define MSM7200A_GPIO_DEVICE(ix, pdata) \
119 { \
120 .name = "msm7200a-gpio", \
121 .id = ix, \
122 .num_resources = 0, \
123 .dev = { \
124 .platform_data = &pdata[ix], \
125 }, \
126 }
127
128extern struct platform_device msm_gpio_devices[];
129#endif
130
131#endif