Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various Updates #85

Open
wants to merge 15 commits into
base: cm-12.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,178 changes: 260 additions & 918 deletions arch/arm/mach-msm/board-ancora.c

Large diffs are not rendered by default.

331 changes: 50 additions & 281 deletions drivers/dpram/dpram.c

Large diffs are not rendered by default.

173 changes: 78 additions & 95 deletions drivers/dpram/dpram.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
#ifndef __DPRAM_H__
#define __DPRAM_H__

//hsil
//#define DPRAM_16MB
#if defined(CONFIG_MACH_ANCORA_TMO) || defined(CONFIG_MACH_APACHE)
#define DPRAM_64K
Expand All @@ -24,132 +23,132 @@
#endif

#ifdef DPRAM_16MB /* if dpram size is 16MB */
#define DPRAM_SIZE 0x4000
#define DPRAM_SIZE 0x4000

#define DPRAM_START_ADDRESS 0x0000
#define DPRAM_MAGIC_CODE_ADDRESS (DPRAM_START_ADDRESS)
#define DPRAM_ACCESS_ENABLE_ADDRESS (DPRAM_START_ADDRESS + 0x0002)
#define DPRAM_START_ADDRESS 0x0000
#define DPRAM_MAGIC_CODE_ADDRESS (DPRAM_START_ADDRESS)
#define DPRAM_ACCESS_ENABLE_ADDRESS (DPRAM_START_ADDRESS + 0x0002)

#define DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS (DPRAM_START_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_FORMATTED_TAIL_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_FORMATTED_BUFFER_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_FORMATTED_SIZE 1020 /* 0x03FC */
#define DPRAM_PDA2PHONE_FORMATTED_SIZE 1020 /* 0x03FC */

#define DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS (DPRAM_START_ADDRESS + 0x0404)
#define DPRAM_PDA2PHONE_RAW_TAIL_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_RAW_BUFFER_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_RAW_SIZE 7152 /*1BF0*/
#define DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS (DPRAM_START_ADDRESS + 0x0404)
#define DPRAM_PDA2PHONE_RAW_TAIL_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_RAW_BUFFER_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_RAW_SIZE 7152 /*1BF0*/

#define DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS (DPRAM_START_ADDRESS + 0x1FF8)
#define DPRAM_PHONE2PDA_FORMATTED_TAIL_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_FORMATTED_BUFFER_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_FORMATTED_SIZE 1020 /* 0x03FC */
#define DPRAM_PHONE2PDA_FORMATTED_SIZE 1020 /* 0x03FC */

#define DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS (DPRAM_START_ADDRESS + 0x23F8)
#define DPRAM_PHONE2PDA_RAW_TAIL_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_RAW_BUFFER_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_RAW_SIZE 7152 /* 1BF0 */
#define DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS (DPRAM_START_ADDRESS + 0x23F8)
#define DPRAM_PHONE2PDA_RAW_TAIL_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_RAW_BUFFER_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_RAW_SIZE 7152 /* 1BF0 */

/* indicator area*/
#define DPRAM_INDICATOR_START (DPRAM_START_ADDRESS + 0x3FEC)
#define DPRAM_INDICATOR_SIZE 16
#define DPRAM_INDICATOR_START (DPRAM_START_ADDRESS + 0x3FEC)
#define DPRAM_INDICATOR_SIZE 16

#define DPRAM_PDA2PHONE_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0x3FFE)
#define DPRAM_PHONE2PDA_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0x3FFC)
#define DPRAM_INTERRUPT_PORT_SIZE 2
#define DPRAM_PDA2PHONE_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0x3FFE)
#define DPRAM_PHONE2PDA_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0x3FFC)
#define DPRAM_INTERRUPT_PORT_SIZE 2
#endif

#ifdef DPRAM_32MB
#define DPRAM_SIZE 0x8000
#define DPRAM_SIZE 0x8000

/* Memory Address */
#define DPRAM_START_ADDRESS 0x0000
#define DPRAM_MAGIC_CODE_ADDRESS (DPRAM_START_ADDRESS)
#define DPRAM_ACCESS_ENABLE_ADDRESS (DPRAM_START_ADDRESS + 0x0002)
#define DPRAM_START_ADDRESS 0x0000
#define DPRAM_MAGIC_CODE_ADDRESS (DPRAM_START_ADDRESS)
#define DPRAM_ACCESS_ENABLE_ADDRESS (DPRAM_START_ADDRESS + 0x0002)

#define DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS (DPRAM_START_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_FORMATTED_TAIL_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_FORMATTED_BUFFER_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_FORMATTED_SIZE 1020
#define DPRAM_PDA2PHONE_FORMATTED_SIZE 1020

#define DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_BUFFER_ADDRESS + DPRAM_PDA2PHONE_FORMATTED_SIZE)
#define DPRAM_PDA2PHONE_RAW_TAIL_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_RAW_BUFFER_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_RAW_SIZE 15352 /*1BF0*/
#define DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_BUFFER_ADDRESS + DPRAM_PDA2PHONE_FORMATTED_SIZE)
#define DPRAM_PDA2PHONE_RAW_TAIL_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_RAW_BUFFER_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_RAW_SIZE 15352 /*1BF0*/

#define DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS (DPRAM_PDA2PHONE_RAW_BUFFER_ADDRESS + DPRAM_PDA2PHONE_RAW_SIZE)
#define DPRAM_PHONE2PDA_FORMATTED_TAIL_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_FORMATTED_BUFFER_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_FORMATTED_SIZE 1020 /* 0x03FC */
#define DPRAM_PHONE2PDA_FORMATTED_SIZE 1020 /* 0x03FC */

#define DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_BUFFER_ADDRESS + DPRAM_PHONE2PDA_FORMATTED_SIZE)
#define DPRAM_PHONE2PDA_RAW_TAIL_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_RAW_BUFFER_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_RAW_SIZE 15352 /* 1BF0 */
#define DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_BUFFER_ADDRESS + DPRAM_PHONE2PDA_FORMATTED_SIZE)
#define DPRAM_PHONE2PDA_RAW_TAIL_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_RAW_BUFFER_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_RAW_SIZE 15352 /* 1BF0 */

/* indicator area*/
#define DPRAM_INDICATOR_START (DPRAM_START_ADDRESS + 0x7FEC)
#define DPRAM_INDICATOR_SIZE 0
#define DPRAM_INDICATOR_START (DPRAM_START_ADDRESS + 0x7FEC)
#define DPRAM_INDICATOR_SIZE 0

#define DPRAM_PDA2PHONE_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0x7FFC)
#define DPRAM_PHONE2PDA_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0x7FFE)
#define DPRAM_INTERRUPT_PORT_SIZE 2
#define DPRAM_PDA2PHONE_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0x7FFC)
#define DPRAM_PHONE2PDA_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0x7FFE)
#define DPRAM_INTERRUPT_PORT_SIZE 2

#endif /* DPRAM_32MB*/

#ifdef DPRAM_64K
#define DPRAM_SIZE 0x10000
#define DPRAM_SIZE 0x10000

/* Memory Address */
#define DPRAM_START_ADDRESS 0x0000
#define DPRAM_MAGIC_CODE_ADDRESS (DPRAM_START_ADDRESS)
#define DPRAM_ACCESS_ENABLE_ADDRESS (DPRAM_START_ADDRESS + 0x0002)
#define DPRAM_START_ADDRESS 0x0000
#define DPRAM_MAGIC_CODE_ADDRESS (DPRAM_START_ADDRESS)
#define DPRAM_ACCESS_ENABLE_ADDRESS (DPRAM_START_ADDRESS + 0x0002)

#define DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS (DPRAM_START_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_FORMATTED_TAIL_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_FORMATTED_BUFFER_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_FORMATTED_SIZE 1020
#define DPRAM_PDA2PHONE_FORMATTED_SIZE 1020

#define DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_BUFFER_ADDRESS + DPRAM_PDA2PHONE_FORMATTED_SIZE)
#define DPRAM_PDA2PHONE_RAW_TAIL_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_RAW_BUFFER_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_RAW_SIZE 31736//15352 /*1BF0*/
#define DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS (DPRAM_PDA2PHONE_FORMATTED_BUFFER_ADDRESS + DPRAM_PDA2PHONE_FORMATTED_SIZE)
#define DPRAM_PDA2PHONE_RAW_TAIL_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PDA2PHONE_RAW_BUFFER_ADDRESS (DPRAM_PDA2PHONE_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PDA2PHONE_RAW_SIZE 31736 /*1BF0*/

#define DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS (DPRAM_PDA2PHONE_RAW_BUFFER_ADDRESS + DPRAM_PDA2PHONE_RAW_SIZE)
#define DPRAM_PHONE2PDA_FORMATTED_TAIL_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_FORMATTED_BUFFER_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_FORMATTED_SIZE 1020 /* 0x03FC */
#define DPRAM_PHONE2PDA_FORMATTED_SIZE 1020 /* 0x03FC */

#define DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_BUFFER_ADDRESS + DPRAM_PHONE2PDA_FORMATTED_SIZE)
#define DPRAM_PHONE2PDA_RAW_TAIL_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_RAW_BUFFER_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_RAW_SIZE 31736//15352 //23544 /* 1BF0 */
#define DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS (DPRAM_PHONE2PDA_FORMATTED_BUFFER_ADDRESS + DPRAM_PHONE2PDA_FORMATTED_SIZE)
#define DPRAM_PHONE2PDA_RAW_TAIL_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0002)
#define DPRAM_PHONE2PDA_RAW_BUFFER_ADDRESS (DPRAM_PHONE2PDA_RAW_HEAD_ADDRESS + 0x0004)
#define DPRAM_PHONE2PDA_RAW_SIZE 31736 /* 1BF0 */

/* indicator area*/
#define DPRAM_INDICATOR_START (DPRAM_START_ADDRESS + 0xFFEC)
#define DPRAM_INDICATOR_SIZE 0
#define DPRAM_INDICATOR_START (DPRAM_START_ADDRESS + 0xFFEC)
#define DPRAM_INDICATOR_SIZE 0

#define DPRAM_PDA2PHONE_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0xFFFC)
#define DPRAM_PHONE2PDA_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0xFFFE)
#define DPRAM_INTERRUPT_PORT_SIZE 2
#define DPRAM_PDA2PHONE_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0xFFFC)
#define DPRAM_PHONE2PDA_INTERRUPT_ADDRESS (DPRAM_START_ADDRESS + 0xFFFE)
#define DPRAM_INTERRUPT_PORT_SIZE 2

#endif /* DPRAM_32MB*/

#ifndef DPRAM_VBASE
#define DPRAM_VBASE 0xF0000000
#define DPRAM_VBASE 0xF0000000
#endif /* DPRAM_VBASE */

/*
* interrupt masks.
*/
#define INT_MASK_VALID 0x0080
#define INT_MASK_COMMAND 0x0040
#define INT_MASK_REQ_ACK_F 0x0020
#define INT_MASK_REQ_ACK_R 0x0010
#define INT_MASK_RES_ACK_F 0x0008
#define INT_MASK_RES_ACK_R 0x0004
#define INT_MASK_SEND_F 0x0002
#define INT_MASK_SEND_R 0x0001
#define INT_MASK_VALID 0x0080
#define INT_MASK_COMMAND 0x0040
#define INT_MASK_REQ_ACK_F 0x0020
#define INT_MASK_REQ_ACK_R 0x0010
#define INT_MASK_RES_ACK_F 0x0008
#define INT_MASK_RES_ACK_R 0x0004
#define INT_MASK_SEND_F 0x0002
#define INT_MASK_SEND_R 0x0001

#define INT_MASK_CMD_INIT_START 0x0001
#define INT_MASK_CMD_INIT_END 0x0002
Expand All @@ -158,13 +157,13 @@
#define INT_MASK_CMD_REQ_TIME_SYNC 0x0005
#define INT_MASK_CMD_PHONE_START 0x0008
#define INT_MASK_CMD_ERR_DISPLAY 0x0009
#define INT_MASK_CMD_PHONE_DEEP_SLEEP 0x000A
#define INT_MASK_CMD_PHONE_DEEP_SLEEP 0x000A
#define INT_MASK_CMD_NV_REBUILDING 0x000B
#define INT_MASK_CMD_EMER_DOWN 0x000C
// hsil
#define INT_MASK_CMD_PHONE_RESET 0x000F
#define INT_MASK_CMD_CHG_DETECT_NOTI 0x4000
#define INT_MASK_CMD_CHG_STATE_CHANGED 0x5000
#define INT_MASK_CMD_CHG_DETECT_NOTI 0x4000
#define INT_MASK_CMD_CHG_STATE_CHANGED 0x5000

#define INT_MASK_CP_ONLINE_BOOT 0x0000
#define INT_MASK_CP_AIRPLANE_BOOT 0x1000
Expand All @@ -178,41 +177,26 @@
#define INT_MASK_CP_INFINEON 0x0200
#define INT_MASK_CP_BROADCOM 0x0300

#define INT_COMMAND(x) (INT_MASK_VALID | INT_MASK_COMMAND | x)
#define INT_NON_COMMAND(x) (INT_MASK_VALID | x)
#define INT_COMMAND(x) (INT_MASK_VALID | INT_MASK_COMMAND | x)
#define INT_NON_COMMAND(x) (INT_MASK_VALID | x)

#define FORMATTED_INDEX 0
#define RAW_INDEX 1
#define MAX_INDEX 2
#define FORMATTED_INDEX 0
#define RAW_INDEX 1
#define MAX_INDEX 2

/* ioctl command definitions. */
// hsil
#if 0
#define IOC_MZ_MAGIC ('h')
#define HN_DPRAM_PHONE_ON _IO(IOC_MZ_MAGIC, 0xd0)
#define HN_DPRAM_PHONE_OFF _IO(IOC_MZ_MAGIC, 0xd1)
#define HN_DPRAM_PHONE_GETSTATUS _IOR(IOC_MZ_MAGIC, 0xd2, unsigned int)
#define HN_DPRAM_PHONE_RESET _IO(IOC_MZ_MAGIC, 0xd3)
#define HN_DPRAM_MEM_RW _IOWR(IOC_MZ_MAGIC, 0xd6, unsigned long)
#else
#define IOC_SEC_MAGIC (0xf0)
#define IOC_SEC_MAGIC (0xf0)
#define HN_DPRAM_PHONE_ON _IO(IOC_SEC_MAGIC, 0xc0)
#define HN_DPRAM_PHONE_OFF _IO(IOC_SEC_MAGIC, 0xc1)
#define HN_DPRAM_PHONE_GETSTATUS _IOR(IOC_SEC_MAGIC, 0xc2, unsigned int)
#define HN_DPRAM_MEM_RW _IO(IOC_SEC_MAGIC, 0xc3)
//#define DPRAM_PHONE_BATTERY _IO(IOC_SEC_MAGIC, 0xc4)
#define HN_DPRAM_MEM_RW _IO(IOC_SEC_MAGIC, 0xc3)
#define HN_DPRAM_PHONE_RESET _IO(IOC_SEC_MAGIC, 0xc5)
// hsil for dpram dump
#define HN_DPRAM_DUMP _IO(IOC_SEC_MAGIC, 0xc6)
#define HN_DPRAM_DUMP _IO(IOC_SEC_MAGIC, 0xc6)
#define HN_DPRAM_WAKELOCK _IO(IOC_SEC_MAGIC, 0xc7)
#define HN_DPRAM_WAKEUNLOCK _IO(IOC_SEC_MAGIC, 0xca)
#define DPRAM_GET_DGS_INFO _IOR(IOC_SEC_MAGIC, 0xc8, unsigned char [0x100])
#define DPRAM_GET_DGS_INFO _IOR(IOC_SEC_MAGIC, 0xc8, unsigned char [0x100])
#define HN_DPRAM_RAMDUMP _IO(IOC_SEC_MAGIC, 0xc9)

//#define DPRAM_PHONE_ON_NORMAL 0
//#define DPRAM_PHONE_ON_LPM 1
#endif

/*
* structure definitions.
*/
Expand Down Expand Up @@ -266,7 +250,6 @@ struct _mem_param {
int dir;
};

/* TODO: add more definitions */

#endif /* __DPRAM_H__ */

Loading