blob: 1f39996af9e7c231ef58c2a9fad9b3230b0f2996 [file] [log] [blame]
Kumar Sanghvicbc42972010-02-08 16:52:15 +05301/*
Sundar R Iyer4d1cb922010-05-12 15:44:59 +05302 * Copyright (C) STMicroelectronics 2009
3 * Copyright (C) ST-Ericsson SA 2010
Kumar Sanghvicbc42972010-02-08 16:52:15 +05304 *
Sundar R Iyer4d1cb922010-05-12 15:44:59 +05305 * License Terms: GNU General Public License v2
6 * Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com>
7 * Author: Sundar Iyer <sundar.iyer@stericsson.com>
8 *
9 * U8500 PRCM header definitions for u8500 ED cut
Kumar Sanghvicbc42972010-02-08 16:52:15 +053010 */
11
Kumar Sanghvicbc42972010-02-08 16:52:15 +053012#ifndef __MACH_PRCMU_FW_ED_H
13#define __MACH_PRCMU_FW_ED_H
14
15#include <mach/prcmu-fw-defs_ed.h>
16
17#define _PRCMU_TCDM_BASE_ED IO_ADDRESS(U8500_PRCMU_TCDM_BASE)
18#define PRCM_BOOT_STATUS_ED (_PRCMU_TCDM_BASE + 0xFFF)
19#define PRCM_ROMCODE_A2P_ED (_PRCMU_TCDM_BASE + 0xFFE)
20#define PRCM_ROMCODE_P2A_ED (_PRCMU_TCDM_BASE + 0xFFD)
21#define PRCM_AP_PWR_STATE_ED (_PRCMU_TCDM_BASE + 0xFFC)
22#define PRCM_NOT_USED_ED (_PRCMU_TCDM_BASE + 0xFFB)
23
24#define PRCM_REQ_MB0_ED (_PRCMU_TCDM_BASE + 0xFF8)
25#define PRCM_DDRPWR_ST_ED (PRCM_REQ_MB0 + 0x2) /* 0xFFA */
26#define PRCM_4500_FIFOWU_ED (PRCM_REQ_MB0 + 0x1) /* 0xFF9 */
27#define PRCM_APPWR_STTR_ED (PRCM_REQ_MB0 + 0x0) /* 0xFF8 */
28
29#define PRCM_REQ_MB1_ED (_PRCMU_TCDM_BASE + 0xFF6)
30#define PRCM_APE_OPP_ED (PRCM_REQ_MB1 + 0x1) /* 0xFF7 */
31#define PRCM_ARM_OPP_ED (PRCM_REQ_MB1 + 0x0) /* 0xFF6 */
32
33#define PRCM_REQ_MB2_ED (_PRCMU_TCDM_BASE + 0xFEC) /* 0xFEC - 0xFF5 */
34
35#define PRCM_ACK_MB0_ED (_PRCMU_TCDM_BASE + 0xFE8)
36#define PRCM_M2A_STATUS_ED (PRCM_ACK_MB0 + 0x3) /* 0xFEB */
37#define PRCM_M2A_ERROR_ED (PRCM_ACK_MB0 + 0x2) /* 0xFEA */
38#define PRCM_M2A_DVFS_STAT_ED (PRCM_ACK_MB0 + 0x1) /* 0xFE9 */
39#define PRCM_M2A_HWACC_STAT_ED (PRCM_ACK_MB0 + 0x0) /* 0xFE8 */
40
41#define PRCM_REQ_MB6_ED (_PRCMU_TCDM_BASE + 0xFE7)
42#define PRCM_SVAMMDSPSTATUS_ED PRCM_REQ_MB6
43
44#define PRCM_REQ_MB7_ED 0xFE6
45#define PRCM_SIAMMDSPSTATUS_ED PRCM_REQ_MB7
46
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053047enum mailbox_ed_t {
Kumar Sanghvicbc42972010-02-08 16:52:15 +053048 REQ_MB0_ED = 0, /* Uses XP70_IT_EVENT_10 */
49 REQ_MB1_ED = 1, /* Uses XP70_IT_EVENT_11 */
50 REQ_MB2_ED = 2, /* Uses XP70_IT_EVENT_12 */
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053051};
Kumar Sanghvicbc42972010-02-08 16:52:15 +053052
53/* Union declaration */
54
55/* ARM to XP70 mailbox definition */
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053056union req_mb0_ed_t {
Kumar Sanghvicbc42972010-02-08 16:52:15 +053057 struct {
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053058 enum ap_pwrst_trans_ed_t ap_pwrst_trans:8;
59 enum intr_wakeup_ed_t fifo_4500wu:8;
60 enum ddr_pwrst_ed_t ddr_pwrst:8;
Kumar Sanghvicbc42972010-02-08 16:52:15 +053061 unsigned int unused:8;
62 } req_field;
63 unsigned int complete_field;
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053064};
Kumar Sanghvicbc42972010-02-08 16:52:15 +053065
66/* mailbox definition for ARM/APE operation */
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053067union req_mb1_ed_t {
Kumar Sanghvicbc42972010-02-08 16:52:15 +053068 struct {
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053069 enum arm_opp_ed_t arm_opp:8;
70 enum ape_opp_ed_t ape_opp:8;
Kumar Sanghvicbc42972010-02-08 16:52:15 +053071 } req_field;
72 unsigned short complete_field;
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053073};
Kumar Sanghvicbc42972010-02-08 16:52:15 +053074
75/* mailbox definition for hardware accelerator */
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053076union req_mb2_ed_t {
Kumar Sanghvicbc42972010-02-08 16:52:15 +053077 struct {
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053078 enum hw_accst_ed_t hw_accst:8;
Kumar Sanghvicbc42972010-02-08 16:52:15 +053079 } hw_accst_list[ESRAM4_ED + 1];
80 unsigned int complete_field[3];
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053081};
Kumar Sanghvicbc42972010-02-08 16:52:15 +053082
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053083struct arm_irq_mask_ed_t {
Kumar Sanghvicbc42972010-02-08 16:52:15 +053084 unsigned int arm_irq_mask[4];
Kumar Sanghvic99e78f2010-03-06 22:18:05 +053085};
Kumar Sanghvicbc42972010-02-08 16:52:15 +053086
87#endif /* __MACH_PRCMU_FW_ED_H */