blob: 48848d5a79caec1be967e2dfe9d8dc486f5790a2 [file] [log] [blame]
Chintan Pandya40762702011-12-06 13:47:06 +05301/* Copyright (c) 2011-2012, Code Aurora Forum. 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 Pandya12ec56a2012-03-13 15:47:12 +053017#include <linux/fmem.h>
18
Chintan Pandyacf467fc2011-12-01 17:11:11 +053019void __init msm7627a_init_mmc(void);
20
Chintan Pandya250c2e52012-01-19 17:15:49 +053021void __init msm_msm7627a_allocate_memory_regions(void);
22void __init msm_fb_add_devices(void);
23
Chintan Pandya12ec56a2012-03-13 15:47:12 +053024#define PMEM_KERNEL_EBI1_SIZE 0x3A000
25#define MSM_PMEM_AUDIO_SIZE 0x5B000
26
27#define MSM_PMEM_MDP_SIZE 0x2300000
28#define MSM_PMEM_ADSP_SIZE 0x1100000
29
30#define MSM7x25A_MSM_PMEM_MDP_SIZE 0x1500000
31#define MSM7x25A_MSM_PMEM_ADSP_SIZE 0xB91000
32
33#define QRD_PMEM_MDP_SIZE 0x1DD1000
34#define QRD_PMEM_ADSP_SIZE 0x1100000
35
Chintan Pandya40762702011-12-06 13:47:06 +053036enum {
37 GPIO_EXPANDER_IRQ_BASE = NR_MSM_IRQS + NR_GPIO_IRQS,
38 GPIO_EXPANDER_GPIO_BASE = NR_MSM_GPIOS,
39 /* SURF expander */
40 GPIO_CORE_EXPANDER_BASE = GPIO_EXPANDER_GPIO_BASE,
41 GPIO_BT_SYS_REST_EN = GPIO_CORE_EXPANDER_BASE,
42 GPIO_WLAN_EXT_POR_N,
43 GPIO_DISPLAY_PWR_EN,
44 GPIO_BACKLIGHT_EN,
45 GPIO_PRESSURE_XCLR,
46 GPIO_VREG_S3_EXP,
47 GPIO_UBM2M_PWRDWN,
48 GPIO_ETM_MODE_CS_N,
49 GPIO_HOST_VBUS_EN,
50 GPIO_SPI_MOSI,
51 GPIO_SPI_MISO,
52 GPIO_SPI_CLK,
53 GPIO_SPI_CS0_N,
54 GPIO_CORE_EXPANDER_IO13,
55 GPIO_CORE_EXPANDER_IO14,
56 GPIO_CORE_EXPANDER_IO15,
57 /* Camera expander */
58 GPIO_CAM_EXPANDER_BASE = GPIO_CORE_EXPANDER_BASE + 16,
59 GPIO_CAM_GP_STROBE_READY = GPIO_CAM_EXPANDER_BASE,
60 GPIO_CAM_GP_AFBUSY,
61 GPIO_CAM_GP_CAM_PWDN,
62 GPIO_CAM_GP_CAM1MP_XCLR,
63 GPIO_CAM_GP_CAMIF_RESET_N,
64 GPIO_CAM_GP_STROBE_CE,
65 GPIO_CAM_GP_LED_EN1,
66 GPIO_CAM_GP_LED_EN2,
67};
68
69enum {
70 QRD_GPIO_HOST_VBUS_EN = 107,
71 QRD_GPIO_BT_SYS_REST_EN = 114,
72 QRD_GPIO_WAKE_ON_WIRELESS,
73 QRD_GPIO_BACKLIGHT_EN,
74 QRD_GPIO_NC,
75 QRD_GPIO_CAM_3MP_PWDN, /* CAM_VGA */
76 QRD_GPIO_WLAN_EN,
77 QRD_GPIO_CAM_5MP_SHDN_EN,
78 QRD_GPIO_CAM_5MP_RESET,
79 QRD_GPIO_TP,
80 QRD_GPIO_CAM_GP_CAMIF_RESET,
81};
82
Chintan Pandyaf4ad4002012-02-28 19:49:03 +053083#define ADSP_RPC_PROG 0x3000000a
Chintan Pandya13490c02011-12-20 13:03:36 +053084#if defined(CONFIG_BT) && defined(CONFIG_MARIMBA_CORE)
85
86#define FPGA_MSM_CNTRL_REG2 0x90008010
87#define BAHAMA_SLAVE_ID_FM_REG 0x02
88#define BAHAMA_SLAVE_ID_FM_ADDR 0x2A
89#define BAHAMA_SLAVE_ID_QMEMBIST_ADDR 0x7B
90#define FM_GPIO 83
91#define BT_PCM_BCLK_MODE 0x88
92#define BT_PCM_DIN_MODE 0x89
93#define BT_PCM_DOUT_MODE 0x8A
94#define BT_PCM_SYNC_MODE 0x8B
95#define FM_I2S_SD_MODE 0x8E
96#define FM_I2S_WS_MODE 0x8F
97#define FM_I2S_SCK_MODE 0x90
98#define I2C_PIN_CTL 0x15
Chintan Pandya40762702011-12-06 13:47:06 +053099#define I2C_NORMAL 0x40
Chintan Pandya13490c02011-12-20 13:03:36 +0530100
101struct bahama_config_register {
102 u8 reg;
103 u8 value;
104 u8 mask;
105};
106
107struct bt_vreg_info {
108 const char *name;
109 unsigned int pmapp_id;
110 unsigned int min_level;
111 unsigned int max_level;
112 unsigned int is_pin_controlled;
113 struct regulator *reg;
114};
115
Chintan Pandya13490c02011-12-20 13:03:36 +0530116void __init msm7627a_bt_power_init(void);
117#endif
118
Chintan Pandya12ec56a2012-03-13 15:47:12 +0530119extern struct fmem_platform_data fmem_pdata;
120
Chintan Pandya40762702011-12-06 13:47:06 +0530121void __init msm7627a_camera_init(void);
Sujit Reddy Thummaca0c1062012-02-24 14:47:05 +0530122u32 msm7627a_power_collapse_latency(enum msm_pm_sleep_mode);
Chintan Pandya0d453192012-03-09 13:20:33 +0530123
124void __init msm7627a_add_io_devices(void);
125void __init qrd7627a_add_io_devices(void);
Chintan Pandya12ec56a2012-03-13 15:47:12 +0530126void __init msm_adsp_add_pdev(void);
127void __init msm7627a_reserve(void);
128void __init qrd7627a_reserve(void);
Chintan Pandyacf467fc2011-12-01 17:11:11 +0530129#endif