android_kernel_cmhtcleo/arch/arm/mach-msm/include/mach/board_htc.h
2010-08-27 11:19:57 +02:00

114 lines
3.5 KiB
C

/* arch/arm/mach-msm/include/mach/BOARD_HTC.h
* Copyright (C) 2007-2009 HTC Corporation.
* Author: Thomas Tsai <thomas_tsai@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 __ASM_ARCH_MSM_BOARD_HTC_H
#define __ASM_ARCH_MSM_BOARD_HTC_H
#include <linux/types.h>
#include <linux/list.h>
#include <asm/setup.h>
#include <mach/msm_hsusb.h>
struct msm_pmem_setting{
resource_size_t pmem_start;
resource_size_t pmem_size;
resource_size_t pmem_adsp_start;
resource_size_t pmem_adsp_size;
resource_size_t pmem_gpu0_start;
resource_size_t pmem_gpu0_size;
resource_size_t pmem_gpu1_start;
resource_size_t pmem_gpu1_size;
resource_size_t pmem_camera_start;
resource_size_t pmem_camera_size;
resource_size_t ram_console_start;
resource_size_t ram_console_size;
resource_size_t kgsl_start;
resource_size_t kgsl_size;
#ifdef CONFIG_BUILD_CIQ
resource_size_t pmem_ciq_start;
resource_size_t pmem_ciq_size;
resource_size_t pmem_ciq1_start;
resource_size_t pmem_ciq1_size;
resource_size_t pmem_ciq2_start;
resource_size_t pmem_ciq2_size;
resource_size_t pmem_ciq3_start;
resource_size_t pmem_ciq3_size;
#endif
};
enum {
MSM_SERIAL_UART1 = 0,
MSM_SERIAL_UART2,
MSM_SERIAL_UART3,
#ifdef CONFIG_SERIAL_MSM_HS
MSM_SERIAL_UART1DM,
MSM_SERIAL_UART2DM,
#endif
MSM_SERIAL_NUM,
};
/* common init routines for use by arch/arm/mach-msm/board-*.c */
void __init msm_add_usb_devices(void (*phy_reset) (void), void (*phy_shutdown) (void));
void __init msm_add_usb_id_pin_function(void (*config_usb_id_gpios)(bool enable));
void __init msm_add_usb_id_pin_gpio(int usb_id_pin_io);
void __init msm_enable_car_kit_detect(bool enable);
void __init msm_change_usb_id(__u16 vendor_id, __u16 product_id);
void __init msm_add_mem_devices(struct msm_pmem_setting *setting);
void __init msm_init_pmic_vibrator(void);
#ifdef CONFIG_USB_FUNCTION
void __init msm_register_uart_usb_switch(void (*usb_uart_switch) (int));
void __init msm_register_usb_phy_init_seq(int *int_seq);
void __init msm_init_ums_lun(int lun_num);
void __init msm_set_ums_device_id(int id);
void __init msm_hsusb_set_product(struct msm_hsusb_product *product, int num_products);
#endif
struct mmc_platform_data;
int __init msm_add_sdcc_devices(unsigned int controller, struct mmc_platform_data *plat);
int __init msm_add_serial_devices(unsigned uart);
int board_mfg_mode(void);
int __init board_mcp_monodie(void);
int __init parse_tag_smi(const struct tag *tags);
int __init parse_tag_hwid(const struct tag *tags);
int __init parse_tag_monodie(const struct tag *tags);
/* Move these two into board.h
int __init parse_tag_skuid(const struct tag * tags);
int parse_tag_engineerid(const struct tag * tags);
*/
void board_get_keycaps_tag(char **);
void board_get_cid_tag(char **);
void board_get_carrier_tag(char **);
void board_get_mid_tag(char **);
int board_emmc_boot(void);
void notify_usb_connected(int online);
char *board_serialno(void);
/*
* Obviously, we need these in all project.
* To export a function to get these is too lousy.
* Each BSP can include board.h to get these.
*
* Jay, 15/May/09'
* */
extern int panel_type;
extern unsigned engineer_id;
extern int usb_phy_error;
#endif