android_kernel_cmhtcleo/arch/arm/mach-msm/board-htcleo.h

209 lines
6.1 KiB
C

/* arch/arm/mach-msm/board-htcleo.h
*
* Copyright (C) 2009 HTC Corporation.
* Author: Haley Teng <Haley_Teng@htc.com>
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __ARCH_ARM_MACH_MSM_BOARD_HTCLEO_H
#define __ARCH_ARM_MACH_MSM_BOARD_HTCLEO_H
#include <mach/board.h>
#define MSM_EBI1_BANK0_BASE 0x11800000
//#define MSM_EBI1_BANK0_SIZE 0x1E800000 /* 488MB */
#if defined(CONFIG_USING_BRAVOS_DSP)
#define MSM_EBI1_BANK0_SIZE 0x1CFC0000 /* 488MB - DESIRE DSP - 0x00040000 RAM CONSOLE*/
#else
#define MSM_EBI1_BANK0_SIZE 0x1E7C0000 /* 488MB - 0x00040000 RAM CONSOLE*/
#endif
/* Don't change that */
#define MSM_SMI_BASE 0x00000000
#define MSM_SMI_SIZE 0x04000000
/* Begin SMI region */
/* First part of SMI is used for OEMSBL & AMSS */
#define MSM_PMEM_SMI_BASE (MSM_SMI_BASE + 0x02500000)
#define MSM_PMEM_SMI_SIZE 0x01B00000
#define MSM_FB_BASE MSM_PMEM_SMI_BASE
#define MSM_FB_SIZE 0x00600000
#define MSM_PMEM_MDP_BASE 0x3B700000
#define MSM_PMEM_MDP_SIZE 0x02000000
#define MSM_PMEM_ADSP_BASE 0x3D700000
#define MSM_PMEM_ADSP_SIZE 0x02900000
#define MSM_GPU_PHYS_BASE (MSM_PMEM_SMI_BASE + MSM_FB_SIZE)
#define MSM_GPU_PHYS_SIZE 0x00800000
/* #define MSM_GPU_PHYS_SIZE 0x00300000 */
#define MSM_PMEM_VENC_BASE (MSM_GPU_PHYS_BASE + MSM_GPU_PHYS_SIZE)
#define MSM_PMEM_VENC_SIZE 0x00800000
#define MSM_PMEM_SMIPOOL_BASE (MSM_PMEM_VENC_BASE + MSM_PMEM_VENC_SIZE)
#define MSM_PMEM_SMIPOOL_SIZE (MSM_PMEM_SMI_SIZE - MSM_GPU_PHYS_SIZE - MSM_FB_SIZE - MSM_PMEM_VENC_SIZE)
/* End SMI region */
/* Begin EBI region */
#define PMEM_KERNEL_EBI1_SIZE 0x00028000
#define MSM_PMEM_SF_SIZE 0x02000000
/* MSM_RAM_CONSOLE uses the last 0x00040000 of EBI memory, defined in msm_iomap.h
#define MSM_RAM_CONSOLE_SIZE 0x00040000
#define MSM_RAM_CONSOLE_BASE (MSM_EBI1_BANK0_BASE + MSM_EBI1_BANK0_SIZE - MSM_RAM_CONSOLE_SIZE) //0x2FFC0000
*/
#define MSM_PANEL_PHYS 0x00080000
#define MSM_PANEL_SIZE 0x00080000
/* End EBI region */
#define HTCLEO_GPIO_PS_HOLD 25
#define HTCLEO_GPIO_UP_INT_N 90
#define HTCLEO_GPIO_UP_RESET_N 91
#define HTCLEO_GPIO_LS_EN_N 119
#define HTCLEO_GPIO_TP_INT_N 92
#define HTCLEO_GPIO_TP_LS_EN 93
#define HTCLEO_GPIO_TP_EN 160
#define HTCLEO_GPIO_POWER_KEY 94
#define HTCLEO_GPIO_SD_STATUS 153
#define HTCLEO_GPIO_WIFI_SHUTDOWN_N 129
#define HTCLEO_GPIO_WIFI_IRQ 152
#define HTCLEO_GPIO_VIBRATOR_ON 100
/* Flashlight */
#define HTCLEO_GPIO_FLASHLIGHT_TORCH 159
#define HTCLEO_GPIO_FLASHLIGHT_FLASH 143
#define HTCLEO_AUD_JACKHP_EN 157
#define HTCLEO_AUD_2V5_EN 158
#define HTCLEO_BT_PCM_OUT 68
#define HTCLEO_BT_PCM_IN 69
#define HTCLEO_BT_PCM_SYNC 70
#define HTCLEO_BT_PCM_CLK 71
/* Headset */
#define HTCLEO_GPIO_HDS_MIC 35
#define HTCLEO_GPIO_HDS_DET 145
/* Keypad */
#define HTCLEO_GPIO_KP_MKOUT0 33
#define HTCLEO_GPIO_KP_MKOUT1 32
#define HTCLEO_GPIO_KP_MKOUT2 31
#define HTCLEO_GPIO_KP_MPIN0 42
#define HTCLEO_GPIO_KP_MPIN1 41
#define HTCLEO_GPIO_KP_MPIN2 40
#define HTCLEO_GPIO_KP_LED 48
/* Bluetooth */
#define HTCLEO_GPIO_BT_UART1_RTS 43
#define HTCLEO_GPIO_BT_UART1_CTS 44
#define HTCLEO_GPIO_BT_UART1_RX 45
#define HTCLEO_GPIO_BT_UART1_TX 46
#define HTCLEO_GPIO_BT_RESET_N 146
#define HTCLEO_GPIO_BT_SHUTDOWN_N 128
#define HTCLEO_GPIO_BT_HOST_WAKE 37
#define HTCLEO_GPIO_BT_CHIP_WAKE 57
/* Battery */
#define HTCLEO_GPIO_BATTERY_CHARGER_ENABLE 22
#define HTCLEO_GPIO_BATTERY_CHARGER_CURRENT 16
#define HTCLEO_GPIO_BATTERY_OVER_CHG 147
#define HTCLEO_GPIO_POWER_USB 109
#define HTCLEO_GPIO_USBPHY_3V3_ENABLE 104
/* Touchscreen */
#define HTCLEO_GPIO_TS_POWER 160
#define HTCLEO_GPIO_TS_IRQ 92
#define HTCLEO_GPIO_TS_SEL 108
#define HTCLEO_GPIO_TS_MULT 82
#define HTCLEO_GPIO_H2W_CLK 27
#define HTCLEO_GPIO_LED_3V3_EN 85
/* Compass */
#define HTCLEO_GPIO_COMPASS_INT_N 39
#define HTCLEO_GPIO_COMPASS_RST_N 107
#define HTCLEO_PROJECT_NAME "htcleo"
#define HTCLEO_LAYOUTS { \
{ { 0, 1, 0}, { -1, 0, 0}, { 0, 0, 1} }, \
{ { 0, -1, 0}, { 1, 0, 0}, { 0, 0, -1} }, \
{ { -1, 0, 0}, { 0, -1, 0}, { 0, 0, 1} }, \
{ { -1, 0, 0}, { 0, 0, -1}, { 0, 1, 0} } \
}
/* Display */
#define HTCLEO_GPIO_LCM_POWER 88
#define HTCLEO_GPIO_LCM_RESET 29
#define HTCLEO_LCD_R1 (114)
#define HTCLEO_LCD_R2 (115)
#define HTCLEO_LCD_R3 (116)
#define HTCLEO_LCD_R4 (117)
#define HTCLEO_LCD_R5 (118)
#define HTCLEO_LCD_G0 (121)
#define HTCLEO_LCD_G1 (122)
#define HTCLEO_LCD_G2 (123)
#define HTCLEO_LCD_G3 (124)
#define HTCLEO_LCD_G4 (125)
#define HTCLEO_LCD_G5 (126)
#define HTCLEO_LCD_B1 (130)
#define HTCLEO_LCD_B2 (131)
#define HTCLEO_LCD_B3 (132)
#define HTCLEO_LCD_B4 (133)
#define HTCLEO_LCD_B5 (134)
#define HTCLEO_LCD_PCLK (135)
#define HTCLEO_LCD_VSYNC (136)
#define HTCLEO_LCD_HSYNC (137)
#define HTCLEO_LCD_DE (138)
/* Voltage driver */
#define HTCLEO_TPS65023_MIN_UV_MV (800)
#define HTCLEO_TPS65023_MAX_UV_MV (1375)
#define HTCLEO_TPS65023_UV_STEP_MV (25)
/* LEDS */
#define LED_RGB (1 << 0)
struct microp_led_config {
const char *name;
uint32_t type;
uint8_t init_value;
uint8_t fade_time;
uint16_t led_pin;
uint8_t mask_w[3];
};
struct microp_led_platform_data {
struct microp_led_config *led_config;
int num_leds;
};
int htcleo_pm_set_vreg(int enable, unsigned id);
int __init htcleo_init_panel(void);
int htcleo_is_nand_boot(void);
unsigned htcleo_get_vbus_state(void);
void config_camera_on_gpios(void);
void config_camera_off_gpios(void);
int is_valid_mac_address(char *mac);
#endif /* __ARCH_ARM_MACH_MSM_BOARD_HTCLEO_H */