blob: c49057497abd69fcc3a5b9ba19dd020c39c1b079 [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>
Daniel Walker5e96da52010-05-12 13:43:28 -070022#include "clock.h"
Rohit Vaswaniced9b3b2011-08-23 17:21:49 -070023
24void __init msm9615_device_init(void);
25void __init msm9615_map_io(void);
26void __init msm_map_msm9615_io(void);
27void __init msm9615_init_irq(void);
28
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070029extern struct platform_device asoc_msm_pcm;
30extern struct platform_device asoc_msm_dai0;
31extern struct platform_device asoc_msm_dai1;
32#if defined (CONFIG_SND_MSM_MVS_DAI_SOC)
33extern struct platform_device asoc_msm_mvs;
34extern struct platform_device asoc_mvs_dai0;
35extern struct platform_device asoc_mvs_dai1;
36#endif
37
38extern struct platform_device msm_ebi0_thermal;
39extern struct platform_device msm_ebi1_thermal;
Daniel Walker5e96da52010-05-12 13:43:28 -070040
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070041extern struct platform_device msm_device_uart1;
42extern struct platform_device msm_device_uart2;
43extern struct platform_device msm_device_uart3;
44
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070045extern struct platform_device msm_device_uart_dm1;
46extern struct platform_device msm_device_uart_dm2;
47extern struct platform_device msm_device_uart_dm3;
48extern struct platform_device msm_device_uart_dm12;
49extern struct platform_device *msm_device_uart_gsbi9;
Mayank Rana9f51f582011-08-04 18:35:59 +053050extern struct platform_device msm_device_uart_dm6;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070051
Stepan Moskovchenkod056fca2011-01-27 12:12:07 -080052extern struct platform_device msm8960_device_uart_gsbi2;
53extern struct platform_device msm8960_device_uart_gsbi5;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070054extern struct platform_device msm8960_device_ssbi_pm8921;
55extern struct platform_device msm8960_device_qup_i2c_gsbi3;
56extern struct platform_device msm8960_device_qup_i2c_gsbi4;
57extern struct platform_device msm8960_device_qup_i2c_gsbi10;
58extern struct platform_device msm8960_device_qup_i2c_gsbi12;
59extern struct platform_device msm8960_device_qup_spi_gsbi1;
60extern struct platform_device msm8960_gemini_device;
61
Stepan Moskovchenko2701a442011-08-19 13:47:22 -070062extern struct platform_device apq8064_device_uart_gsbi1;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070063extern struct platform_device apq8064_device_uart_gsbi3;
Kenneth Heitke748593a2011-07-15 15:45:11 -060064extern struct platform_device apq8064_device_qup_i2c_gsbi4;
Harini Jayaramanc4c58692011-07-19 14:50:10 -060065extern struct platform_device apq8064_device_qup_spi_gsbi5;
Sagar Dharia8bdcdaf2011-09-16 16:01:15 -060066extern struct platform_device apq8064_slim_ctrl;
Kenneth Heitke36920d32011-07-20 16:44:30 -060067extern struct platform_device apq8064_device_ssbi_pmic1;
68extern struct platform_device apq8064_device_ssbi_pmic2;
Stepan Moskovchenkod056fca2011-01-27 12:12:07 -080069
Rohit Vaswani09666872011-08-23 17:41:54 -070070extern struct platform_device msm9615_device_uart_gsbi4;
Harini Jayaramaneba52672011-09-08 15:13:00 -060071extern struct platform_device msm9615_device_qup_i2c_gsbi5;
Harini Jayaraman738c9312011-09-08 15:22:38 -060072extern struct platform_device msm9615_device_qup_spi_gsbi3;
Kenneth Heitkeaf3d3cf2011-09-08 11:45:31 -070073extern struct platform_device msm9615_device_ssbi_pmic1;
Siddartha Mohanadoss5d49cec2011-09-21 10:26:15 -070074extern struct platform_device msm9615_device_tsens;
Rohit Vaswani09666872011-08-23 17:41:54 -070075
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070076extern struct platform_device msm_device_sdc1;
77extern struct platform_device msm_device_sdc2;
78extern struct platform_device msm_device_sdc3;
79extern struct platform_device msm_device_sdc4;
80
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070081extern struct platform_device msm_device_gadget_peripheral;
Pavankumar Kondeti7032d512010-12-08 13:37:07 +053082extern struct platform_device msm_device_hsusb_host;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070083extern struct platform_device msm_device_hsusb_host2;
Vijayavardhan Vennapusaeb566482011-09-18 07:48:37 +053084extern struct platform_device msm_device_hsic_host;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070085
86extern struct platform_device msm_device_otg;
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070087
Stepan Moskovchenko14aa6492011-08-08 15:15:01 -070088extern struct platform_device msm8960_device_otg;
89extern struct platform_device msm8960_device_gadget_peripheral;
90
91extern struct platform_device apq8064_device_otg;
92extern struct platform_device apq8064_usb_diag_device;
93extern struct platform_device apq8064_device_gadget_peripheral;
94
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -070095extern struct platform_device msm_device_i2c;
96
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070097extern struct platform_device msm_device_i2c_2;
98
99extern struct platform_device qup_device_i2c;
100
101extern struct platform_device msm_gsbi0_qup_i2c_device;
102extern struct platform_device msm_gsbi1_qup_i2c_device;
103extern struct platform_device msm_gsbi3_qup_i2c_device;
104extern struct platform_device msm_gsbi4_qup_i2c_device;
105extern struct platform_device msm_gsbi7_qup_i2c_device;
106extern struct platform_device msm_gsbi8_qup_i2c_device;
107extern struct platform_device msm_gsbi9_qup_i2c_device;
108extern struct platform_device msm_gsbi12_qup_i2c_device;
109
110extern struct platform_device msm_slim_ctrl;
111extern struct platform_device msm_device_sps;
Yan He06913ce2011-08-26 16:33:46 -0700112extern struct platform_device msm_device_sps_apq8064;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700113extern struct platform_device msm_device_bam_dmux;
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -0700114extern struct platform_device msm_device_smd;
Jeff Hugo0c0f5e92011-09-28 13:55:45 -0600115extern struct platform_device msm_device_smd_apq8064;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700116extern struct platform_device msm_device_dmov;
Stepan Moskovchenkodf13d342011-08-03 19:01:25 -0700117extern struct platform_device msm8960_device_dmov;
118extern struct platform_device apq8064_device_dmov;
Jeff Ohlsteind19bf442011-09-09 12:48:18 -0700119extern struct platform_device msm9615_device_dmov;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700120extern struct platform_device msm_device_dmov_adm0;
121extern struct platform_device msm_device_dmov_adm1;
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -0700122
123extern struct platform_device msm_device_nand;
124
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700125extern struct platform_device msm_device_tssc;
126
127extern struct platform_device msm_rotator_device;
128
129extern struct platform_device msm_device_tsif[2];
130
Anirudh Ghayal9d9cdc22011-10-10 17:17:07 +0530131extern struct platform_device msm_device_ssbi_pmic1;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700132extern struct platform_device msm_device_ssbi1;
133extern struct platform_device msm_device_ssbi2;
134extern struct platform_device msm_device_ssbi3;
135extern struct platform_device msm_device_ssbi6;
136extern struct platform_device msm_device_ssbi7;
137
138extern struct platform_device msm_gsbi1_qup_spi_device;
139
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700140extern struct platform_device msm_device_vidc_720p;
141
142extern struct platform_device msm_pcm;
143extern struct platform_device msm_pcm_routing;
144extern struct platform_device msm_cpudai0;
145extern struct platform_device msm_cpudai1;
146extern struct platform_device msm_cpudai_hdmi_rx;
147extern struct platform_device msm_cpudai_bt_rx;
148extern struct platform_device msm_cpudai_bt_tx;
149extern struct platform_device msm_cpudai_fm_rx;
150extern struct platform_device msm_cpudai_fm_tx;
Bhalchandra Gajare0e795c42011-08-15 18:10:30 -0700151extern struct platform_device msm_cpudai_auxpcm_rx;
152extern struct platform_device msm_cpudai_auxpcm_tx;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700153extern struct platform_device msm_cpu_fe;
154extern struct platform_device msm_stub_codec;
155extern struct platform_device msm_voice;
156extern struct platform_device msm_voip;
157extern struct platform_device msm_lpa_pcm;
158extern struct platform_device msm_pcm_hostless;
Laxminath Kasamcee1d602011-08-01 19:26:57 +0530159extern struct platform_device msm_cpudai_afe_01_rx;
160extern struct platform_device msm_cpudai_afe_01_tx;
161extern struct platform_device msm_cpudai_afe_02_rx;
162extern struct platform_device msm_cpudai_afe_02_tx;
163extern struct platform_device msm_pcm_afe;
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700164
165extern struct platform_device *msm_footswitch_devices[];
166extern unsigned msm_num_footswitch_devices;
167
168extern struct platform_device fsm_qfp_fuse_device;
169
Rohit Vaswani4c0d3042011-07-13 14:19:23 -0700170extern struct platform_device fsm_xo_device;
171
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700172extern struct platform_device qfec_device;
Daniel Walker50bc0ef2010-12-13 14:35:11 -0800173
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700174extern struct platform_device msm_kgsl_3d0;
175extern struct platform_device msm_kgsl_2d0;
176extern struct platform_device msm_kgsl_2d1;
177
178extern struct platform_device msm_mipi_dsi1_device;
179
180extern struct clk_lookup msm_clocks_fsm9xxx[];
181extern unsigned msm_num_clocks_fsm9xxx;
182
183extern struct platform_device msm_footswitch;
184
185void __init msm_fb_register_device(char *name, void *data);
186void __init msm_camera_register_device(void *, uint32_t, void *);
187struct platform_device *msm_add_gsbi9_uart(void);
188extern struct platform_device msm_device_touchscreen;
189
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700190extern struct platform_device led_pdev;
Laura Abbotta2e93632011-08-19 13:36:32 -0700191
192extern struct platform_device ion_dev;
Maheshkumar Sivasubramanian9c8cdc92011-09-12 14:11:30 -0600193extern struct platform_device msm_rpm_device;
Ramesh Masavarapu5ad37392011-10-10 10:44:10 -0700194extern struct platform_device msm_device_rng;
Ramesh Masavarapuaa28b5b2011-10-21 10:26:03 -0700195
196#if defined(CONFIG_CRYPTO_DEV_QCRYPTO) || \
197 defined(CONFIG_CRYPTO_DEV_QCRYPTO_MODULE)
198extern struct platform_device msm9615_qcrypto_device;
199#endif
200
201#if defined(CONFIG_CRYPTO_DEV_QCEDEV) || \
202 defined(CONFIG_CRYPTO_DEV_QCEDEV_MODULE)
203extern struct platform_device msm9615_qcedev_device;
204#endif
Jeff Ohlstein7e668552011-10-06 16:17:25 -0700205extern struct platform_device msm8960_device_watchdog;
206extern struct platform_device msm8660_device_watchdog;
207extern struct platform_device msm8064_device_watchdog;
208extern struct platform_device msm9615_device_watchdog;
Brian Swetlandbcc0f6a2008-09-10 14:00:53 -0700209#endif