blob: 4fad98a048612c37bfbdae47a46ccb740454119a [file] [log] [blame]
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -07001/* linux/arch/arm/mach-msm/devices.h
2 *
3 * Copyright (C) 2008 Google, Inc.
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07004 * Copyright (c) 2009-2011, Code Aurora Forum. All rights reserved.
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -07005 *
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
Stephen Boydbd323442011-02-23 09:37:42 -080020#include <linux/clkdev.h>
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070021#include <linux/platform_device.h>
Stephen Boydbd323442011-02-23 09:37:42 -080022
Daniel Walker5e96da52010-05-12 13:43:28 -070023#include "clock.h"
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070024extern struct platform_device asoc_msm_pcm;
25extern struct platform_device asoc_msm_dai0;
26extern struct platform_device asoc_msm_dai1;
27#if defined (CONFIG_SND_MSM_MVS_DAI_SOC)
28extern struct platform_device asoc_msm_mvs;
29extern struct platform_device asoc_mvs_dai0;
30extern struct platform_device asoc_mvs_dai1;
31#endif
32
33extern struct platform_device msm_ebi0_thermal;
34extern struct platform_device msm_ebi1_thermal;
Daniel Walker5e96da52010-05-12 13:43:28 -070035
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070036extern struct platform_device msm_device_uart1;
37extern struct platform_device msm_device_uart2;
38extern struct platform_device msm_device_uart3;
39
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070040extern struct platform_device msm_device_uart_dm1;
41extern struct platform_device msm_device_uart_dm2;
42extern struct platform_device msm_device_uart_dm3;
43extern struct platform_device msm_device_uart_dm12;
44extern struct platform_device *msm_device_uart_gsbi9;
45
Stepan Moskovchenkod056fca2011-01-27 12:12:07 -080046extern struct platform_device msm8960_device_uart_gsbi2;
47extern struct platform_device msm8960_device_uart_gsbi5;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070048extern struct platform_device msm8960_device_ssbi_pm8921;
49extern struct platform_device msm8960_device_qup_i2c_gsbi3;
50extern struct platform_device msm8960_device_qup_i2c_gsbi4;
51extern struct platform_device msm8960_device_qup_i2c_gsbi10;
52extern struct platform_device msm8960_device_qup_i2c_gsbi12;
53extern struct platform_device msm8960_device_qup_spi_gsbi1;
54extern struct platform_device msm8960_gemini_device;
55
56extern struct platform_device apq8064_device_uart_gsbi3;
Stepan Moskovchenkod056fca2011-01-27 12:12:07 -080057
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070058extern struct platform_device msm_device_sdc1;
59extern struct platform_device msm_device_sdc2;
60extern struct platform_device msm_device_sdc3;
61extern struct platform_device msm_device_sdc4;
62
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070063extern struct platform_device msm_device_gadget_peripheral;
Pavankumar Kondeti7032d512010-12-08 13:37:07 +053064extern struct platform_device msm_device_hsusb_host;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070065extern struct platform_device msm_device_hsusb_host2;
66
67extern struct platform_device msm_device_otg;
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070068
69extern struct platform_device msm_device_i2c;
70
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070071extern struct platform_device msm_device_i2c_2;
72
73extern struct platform_device qup_device_i2c;
74
75extern struct platform_device msm_gsbi0_qup_i2c_device;
76extern struct platform_device msm_gsbi1_qup_i2c_device;
77extern struct platform_device msm_gsbi3_qup_i2c_device;
78extern struct platform_device msm_gsbi4_qup_i2c_device;
79extern struct platform_device msm_gsbi7_qup_i2c_device;
80extern struct platform_device msm_gsbi8_qup_i2c_device;
81extern struct platform_device msm_gsbi9_qup_i2c_device;
82extern struct platform_device msm_gsbi12_qup_i2c_device;
83
84extern struct platform_device msm_slim_ctrl;
85extern struct platform_device msm_device_sps;
86extern struct platform_device msm_device_bam_dmux;
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070087extern struct platform_device msm_device_smd;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070088extern struct platform_device msm_device_dmov;
89extern struct platform_device msm_device_dmov_adm0;
90extern struct platform_device msm_device_dmov_adm1;
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070091
92extern struct platform_device msm_device_nand;
93
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070094extern struct platform_device msm_device_tssc;
95
96extern struct platform_device msm_rotator_device;
97
98extern struct platform_device msm_device_tsif[2];
99
100extern struct platform_device msm_device_ssbi1;
101extern struct platform_device msm_device_ssbi2;
102extern struct platform_device msm_device_ssbi3;
103extern struct platform_device msm_device_ssbi6;
104extern struct platform_device msm_device_ssbi7;
105
106extern struct platform_device msm_gsbi1_qup_spi_device;
107
108extern struct platform_device msm_device_wcnss_wlan;
109
110extern struct platform_device msm_device_vidc_720p;
111
112extern struct platform_device msm_pcm;
113extern struct platform_device msm_pcm_routing;
114extern struct platform_device msm_cpudai0;
115extern struct platform_device msm_cpudai1;
116extern struct platform_device msm_cpudai_hdmi_rx;
117extern struct platform_device msm_cpudai_bt_rx;
118extern struct platform_device msm_cpudai_bt_tx;
119extern struct platform_device msm_cpudai_fm_rx;
120extern struct platform_device msm_cpudai_fm_tx;
121extern struct platform_device msm_cpu_fe;
122extern struct platform_device msm_stub_codec;
123extern struct platform_device msm_voice;
124extern struct platform_device msm_voip;
125extern struct platform_device msm_lpa_pcm;
126extern struct platform_device msm_pcm_hostless;
127
128extern struct platform_device *msm_footswitch_devices[];
129extern unsigned msm_num_footswitch_devices;
130
131extern struct platform_device fsm_qfp_fuse_device;
132
Rohit Vaswani4c0d3042011-07-13 14:19:23 -0700133extern struct platform_device fsm_xo_device;
134
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700135extern struct platform_device qfec_device;
Daniel Walker50bc0ef2010-12-13 14:35:11 -0800136
Stephen Boydbd323442011-02-23 09:37:42 -0800137extern struct clk_lookup msm_clocks_7x01a[];
Daniel Walker5e96da52010-05-12 13:43:28 -0700138extern unsigned msm_num_clocks_7x01a;
139
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700140extern struct clk_lookup msm_clocks_7x25[];
141extern unsigned msm_num_clocks_7x25;
142
143extern struct clk_lookup msm_clocks_7x27[];
144extern unsigned msm_num_clocks_7x27;
145
146extern struct clk_lookup msm_clocks_7x27a[];
147extern unsigned msm_num_clocks_7x27a;
Daniel Walker1ed8d582010-05-05 07:49:05 -0700148
Stephen Boydbd323442011-02-23 09:37:42 -0800149extern struct clk_lookup msm_clocks_8x50[];
Daniel Walkeracb241c2010-05-05 07:48:32 -0700150extern unsigned msm_num_clocks_8x50;
151
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700152extern struct clk_lookup msm_clocks_8960_dummy[];
153extern unsigned msm_num_clocks_8960_dummy;
154
155extern struct clk_lookup msm_clocks_8064_dummy[];
156extern unsigned msm_num_clocks_8064_dummy;
157
158extern struct platform_device msm_kgsl_3d0;
159extern struct platform_device msm_kgsl_2d0;
160extern struct platform_device msm_kgsl_2d1;
161
162extern struct platform_device msm_mipi_dsi1_device;
163
164extern struct clk_lookup msm_clocks_fsm9xxx[];
165extern unsigned msm_num_clocks_fsm9xxx;
166
167extern struct platform_device msm_footswitch;
168
169void __init msm_fb_register_device(char *name, void *data);
170void __init msm_camera_register_device(void *, uint32_t, void *);
171struct platform_device *msm_add_gsbi9_uart(void);
172extern struct platform_device msm_device_touchscreen;
173
174extern struct pil_device peripheral_dsps;
175extern struct platform_device led_pdev;
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -0700176#endif