blob: b239d82ffc75af3df9d724b1e879af358e420d1f [file] [log] [blame]
Duy Truonge833aca2013-02-12 13:35:08 -08001/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
Chintan Pandyacf467fc2011-12-01 17:11:11 +05302 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 *
12 */
13#ifndef __ARCH_ARM_MACH_MSM_BOARD_7627A__
14#define __ARCH_ARM_MACH_MSM_BOARD_7627A__
15
Sujit Reddy Thummaca0c1062012-02-24 14:47:05 +053016#include "pm.h"
Chintan Pandyacf467fc2011-12-01 17:11:11 +053017void __init msm7627a_init_mmc(void);
18
Chintan Pandya250c2e52012-01-19 17:15:49 +053019void __init msm_msm7627a_allocate_memory_regions(void);
20void __init msm_fb_add_devices(void);
21
Chintan Pandya40762702011-12-06 13:47:06 +053022enum {
23 GPIO_EXPANDER_IRQ_BASE = NR_MSM_IRQS + NR_GPIO_IRQS,
24 GPIO_EXPANDER_GPIO_BASE = NR_MSM_GPIOS,
25 /* SURF expander */
26 GPIO_CORE_EXPANDER_BASE = GPIO_EXPANDER_GPIO_BASE,
27 GPIO_BT_SYS_REST_EN = GPIO_CORE_EXPANDER_BASE,
28 GPIO_WLAN_EXT_POR_N,
29 GPIO_DISPLAY_PWR_EN,
30 GPIO_BACKLIGHT_EN,
31 GPIO_PRESSURE_XCLR,
32 GPIO_VREG_S3_EXP,
33 GPIO_UBM2M_PWRDWN,
34 GPIO_ETM_MODE_CS_N,
35 GPIO_HOST_VBUS_EN,
36 GPIO_SPI_MOSI,
37 GPIO_SPI_MISO,
38 GPIO_SPI_CLK,
39 GPIO_SPI_CS0_N,
40 GPIO_CORE_EXPANDER_IO13,
41 GPIO_CORE_EXPANDER_IO14,
42 GPIO_CORE_EXPANDER_IO15,
43 /* Camera expander */
44 GPIO_CAM_EXPANDER_BASE = GPIO_CORE_EXPANDER_BASE + 16,
45 GPIO_CAM_GP_STROBE_READY = GPIO_CAM_EXPANDER_BASE,
46 GPIO_CAM_GP_AFBUSY,
47 GPIO_CAM_GP_CAM_PWDN,
48 GPIO_CAM_GP_CAM1MP_XCLR,
49 GPIO_CAM_GP_CAMIF_RESET_N,
50 GPIO_CAM_GP_STROBE_CE,
51 GPIO_CAM_GP_LED_EN1,
52 GPIO_CAM_GP_LED_EN2,
53};
54
55enum {
56 QRD_GPIO_HOST_VBUS_EN = 107,
57 QRD_GPIO_BT_SYS_REST_EN = 114,
58 QRD_GPIO_WAKE_ON_WIRELESS,
59 QRD_GPIO_BACKLIGHT_EN,
60 QRD_GPIO_NC,
61 QRD_GPIO_CAM_3MP_PWDN, /* CAM_VGA */
62 QRD_GPIO_WLAN_EN,
63 QRD_GPIO_CAM_5MP_SHDN_EN,
64 QRD_GPIO_CAM_5MP_RESET,
65 QRD_GPIO_TP,
66 QRD_GPIO_CAM_GP_CAMIF_RESET,
67};
68
Chintan Pandyaf4ad4002012-02-28 19:49:03 +053069#define ADSP_RPC_PROG 0x3000000a
Chintan Pandya13490c02011-12-20 13:03:36 +053070#if defined(CONFIG_BT) && defined(CONFIG_MARIMBA_CORE)
71
72#define FPGA_MSM_CNTRL_REG2 0x90008010
73#define BAHAMA_SLAVE_ID_FM_REG 0x02
74#define BAHAMA_SLAVE_ID_FM_ADDR 0x2A
75#define BAHAMA_SLAVE_ID_QMEMBIST_ADDR 0x7B
76#define FM_GPIO 83
77#define BT_PCM_BCLK_MODE 0x88
78#define BT_PCM_DIN_MODE 0x89
79#define BT_PCM_DOUT_MODE 0x8A
80#define BT_PCM_SYNC_MODE 0x8B
81#define FM_I2S_SD_MODE 0x8E
82#define FM_I2S_WS_MODE 0x8F
83#define FM_I2S_SCK_MODE 0x90
84#define I2C_PIN_CTL 0x15
Chintan Pandya40762702011-12-06 13:47:06 +053085#define I2C_NORMAL 0x40
Chintan Pandya13490c02011-12-20 13:03:36 +053086
87struct bahama_config_register {
88 u8 reg;
89 u8 value;
90 u8 mask;
91};
92
93struct bt_vreg_info {
94 const char *name;
95 unsigned int pmapp_id;
96 unsigned int min_level;
97 unsigned int max_level;
98 unsigned int is_pin_controlled;
99 struct regulator *reg;
100};
101
Chintan Pandya13490c02011-12-20 13:03:36 +0530102void __init msm7627a_bt_power_init(void);
103#endif
104
Chintan Pandya40762702011-12-06 13:47:06 +0530105void __init msm7627a_camera_init(void);
Raju P.L.S.S.S.Nce5c5c22012-05-17 23:10:08 +0530106int lcd_camera_power_onoff(int on);
Chintan Pandya0d453192012-03-09 13:20:33 +0530107
108void __init msm7627a_add_io_devices(void);
109void __init qrd7627a_add_io_devices(void);
Chintan Pandyacf467fc2011-12-01 17:11:11 +0530110#endif