135 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* arch/arm/mach-msm/proc_comm.h
 | |
|  *
 | |
|  * Copyright (c) 2007 QUALCOMM Incorporated
 | |
|  *
 | |
|  * 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_MSM_DEX_COMM_CE_H_
 | |
| #define _ARCH_ARM_MACH_MSM_MSM_DEX_COMM_CE_H_
 | |
| 
 | |
| // DEX_* research taken from http://wiki.xda-developers.com/index.php?pagename=RaphaelDEX
 | |
| // Research by cr2
 | |
| 
 | |
| #define DEX_HAS_DATA    0x100
 | |
| #define DEX_STATUS_FAIL 0x200
 | |
| 
 | |
| enum {
 | |
| 	DEX_PMIC_WLAN_ON = 0x2,
 | |
| 	DEX_PMIC_WLAN_OFF = 0x3,
 | |
| 	DEX_PMIC_VIBRA_ON = 0x4,
 | |
| 	DEX_PMIC_VIBRA_OFF = 0x5,
 | |
| 	DEX_PMIC_IR_ON = 0x6,
 | |
| 	DEX_PMIC_IR_OFF = 0x7,
 | |
| 	DEX_PMIC_CAM_ON = 0x8,
 | |
| 	DEX_PMIC_CAM_OFF = 0x9,
 | |
| 	DEX_PMIC_VGACAM_ON = 0xa,
 | |
| 	DEX_PMIC_VGACAM_OFF = 0xb,
 | |
| 	DEX_PMIC_SD_ON = 0xc,
 | |
| 	DEX_PMIC_SD_OFF = 0xd,
 | |
| 	DEX_PMIC_LCD_ON = 0xe,
 | |
| 	DEX_PMIC_LCD_OFF = 0xf,
 | |
| 	DEX_PMIC_MDDI_ON = 0x10,
 | |
| 	DEX_PMIC_MDDI_OFF = 0x11,
 | |
| 	DEX_PMIC_BT_ON = 0x12,
 | |
| 	DEX_PMIC_BT_OFF = 0x13,
 | |
| 	DEX_POWER_OFF = 0x14,
 | |
| 	DEX_PMIC_REG_ON = 0x15,
 | |
| 	DEX_PMIC_REG_OFF = 0x16,
 | |
| 	DEX_VIBRA_ON = 0x17,
 | |
| 	DEX_VIBRA_OFF = 0x18,
 | |
| 	DEX_SET_AUDIO_PATH = 0x19,
 | |
| 	DEX_PMIC_REG_VOLTAGE = 0x1a,
 | |
| 	DEX_SETUSB_DPLUS = 0x1b,
 | |
| 	DEX_AUDIO_CALL = 0x1c,
 | |
| 
 | |
| 	//???
 | |
| 	DEX_SET_L2_LOCK_BUS_CLK = 0x1d,
 | |
| 	DEX_ARM9_LOW_SPEED = 0x1d,
 | |
| 	DEX_REGISTER_VOCODER_PCM = 0x1e,
 | |
| 	DEX_UNREGISTER_VOCODER_PCM = 0x1f,
 | |
| 	DEX_SET_CLOCK_ON = 0x20,
 | |
| 	DEX_SET_CLOCK_OFF = 0x21,
 | |
| 	DEX_RESET_ARM9 = 0x22,
 | |
| 
 | |
| 	DEX_PMIC_TVOUT_AUTO_ON = 0x25,
 | |
| 	DEX_PMIC_TVOUT_AUTO_FF = 0x26,
 | |
| 
 | |
| 	DEX_LCD_STATUS = 0x30,
 | |
| 	DEX_CONFIG_MPP_PINS = 0x31,
 | |
| 	DEX_SET_CHARGER_STATUS = 0x32,
 | |
| 	DEX_TASK_REGISTER = 0x33,
 | |
| 	DEX_TASK_UNREGISTER = 0x34,
 | |
| 
 | |
| 	DEX_UPDATE_ACDB = 0x80,
 | |
| 	DEX_READ_RTC = 0x81,
 | |
| 	DEX_WRITE_RTC = 0x82,
 | |
| 	DEX_SET_ALARM_RTC = 0x84,
 | |
| 
 | |
| 	DEX_GET_BATTERY_DATA = 0x8a,
 | |
| 	DEX_GET_BATTERY_ID = 0x8b,
 | |
| 
 | |
| 	DEX_NOTIFY_ARM9_REBOOT = 0x8e,
 | |
| 
 | |
| 	DEX_GET_TX_POWER = 0x90,
 | |
| 	DEX_GET_NETWORK_BAND = 0x91,
 | |
| 	DEX_GET_GSM_TX_BAND = 0x92,
 | |
| 
 | |
| 	DEX_GET_SLEEP_CLOCK = 0xa2,
 | |
| 
 | |
| 	DEX_FOTA_READ = 0xa4,
 | |
| 	DEX_FOTA_WRITE = 0xa5,
 | |
| };
 | |
| 
 | |
| 
 | |
| // ??
 | |
| #define GPIO_ENABLE     0
 | |
| #define GPIO_DISABLE    1
 | |
| 
 | |
| // .dir (1b)
 | |
| #define GPIO_INPUT      0
 | |
| #define GPIO_OUTPUT     1
 | |
| 
 | |
| // .pull (2b)
 | |
| #define GPIO_NO_PULL    0
 | |
| #define GPIO_PULL_DOWN  1
 | |
| #define GPIO_KEEPER     2
 | |
| #define GPIO_PULL_UP    3
 | |
| 
 | |
| // .drvstr (4b)
 | |
| #define GPIO_2MA        0
 | |
| #define GPIO_4MA        1
 | |
| #define GPIO_6MA        2
 | |
| #define GPIO_8MA        3
 | |
| #define GPIO_10MA       4
 | |
| #define GPIO_12MA       5
 | |
| #define GPIO_14MA       6
 | |
| #define GPIO_16MA       7
 | |
| 
 | |
| #define DEX_GPIO_CFG(a, b, c, d, e, f) (struct msm_gpio_config){ \
 | |
| 		.gpio = (a), \
 | |
| 		.dir = (c), \
 | |
| 		.out_op = (f), \
 | |
| 		.pull = (d), \
 | |
| 		.func = (b), \
 | |
| 		.drvstr = (e) \
 | |
| 	}
 | |
| 
 | |
| 
 | |
| int dex_comm(unsigned cmd, unsigned *data1, unsigned *data2);
 | |
| int dex_audio(int param);
 | |
| 
 | |
| int init_dex_comm(void);
 | |
| 
 | |
| #endif
 | |
| 
 | |
| 
 |