Duy Truong | e833aca | 2013-02-12 13:35:08 -0800 | [diff] [blame] | 1 | /* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. |
Chintan Pandya | cf467fc | 2011-12-01 17:11:11 +0530 | [diff] [blame] | 2 | * |
| 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 Thumma | ca0c106 | 2012-02-24 14:47:05 +0530 | [diff] [blame] | 16 | #include "pm.h" |
Chintan Pandya | cf467fc | 2011-12-01 17:11:11 +0530 | [diff] [blame] | 17 | void __init msm7627a_init_mmc(void); |
| 18 | |
Chintan Pandya | 250c2e5 | 2012-01-19 17:15:49 +0530 | [diff] [blame] | 19 | void __init msm_msm7627a_allocate_memory_regions(void); |
| 20 | void __init msm_fb_add_devices(void); |
| 21 | |
Chintan Pandya | 4076270 | 2011-12-06 13:47:06 +0530 | [diff] [blame] | 22 | enum { |
| 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 | |
| 55 | enum { |
| 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 Pandya | f4ad400 | 2012-02-28 19:49:03 +0530 | [diff] [blame] | 69 | #define ADSP_RPC_PROG 0x3000000a |
Chintan Pandya | 13490c0 | 2011-12-20 13:03:36 +0530 | [diff] [blame] | 70 | #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 Pandya | 4076270 | 2011-12-06 13:47:06 +0530 | [diff] [blame] | 85 | #define I2C_NORMAL 0x40 |
Chintan Pandya | 13490c0 | 2011-12-20 13:03:36 +0530 | [diff] [blame] | 86 | |
| 87 | struct bahama_config_register { |
| 88 | u8 reg; |
| 89 | u8 value; |
| 90 | u8 mask; |
| 91 | }; |
| 92 | |
| 93 | struct 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 Pandya | 13490c0 | 2011-12-20 13:03:36 +0530 | [diff] [blame] | 102 | void __init msm7627a_bt_power_init(void); |
| 103 | #endif |
| 104 | |
Chintan Pandya | 4076270 | 2011-12-06 13:47:06 +0530 | [diff] [blame] | 105 | void __init msm7627a_camera_init(void); |
Raju P.L.S.S.S.N | ce5c5c2 | 2012-05-17 23:10:08 +0530 | [diff] [blame] | 106 | int lcd_camera_power_onoff(int on); |
Chintan Pandya | 0d45319 | 2012-03-09 13:20:33 +0530 | [diff] [blame] | 107 | |
| 108 | void __init msm7627a_add_io_devices(void); |
| 109 | void __init qrd7627a_add_io_devices(void); |
Chintan Pandya | cf467fc | 2011-12-01 17:11:11 +0530 | [diff] [blame] | 110 | #endif |