Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 1 | /* |
Sundar R Iyer | 4d1cb92 | 2010-05-12 15:44:59 +0530 | [diff] [blame] | 2 | * Copyright (C) STMicroelectronics 2009 |
| 3 | * Copyright (C) ST-Ericsson SA 2010 |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 4 | * |
Sundar R Iyer | 4d1cb92 | 2010-05-12 15:44:59 +0530 | [diff] [blame] | 5 | * 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 Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 10 | */ |
| 11 | |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 12 | #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 Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 47 | enum mailbox_ed_t { |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 48 | 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 Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 51 | }; |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 52 | |
| 53 | /* Union declaration */ |
| 54 | |
| 55 | /* ARM to XP70 mailbox definition */ |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 56 | union req_mb0_ed_t { |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 57 | struct { |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 58 | 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 Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 61 | unsigned int unused:8; |
| 62 | } req_field; |
| 63 | unsigned int complete_field; |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 64 | }; |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 65 | |
| 66 | /* mailbox definition for ARM/APE operation */ |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 67 | union req_mb1_ed_t { |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 68 | struct { |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 69 | enum arm_opp_ed_t arm_opp:8; |
| 70 | enum ape_opp_ed_t ape_opp:8; |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 71 | } req_field; |
| 72 | unsigned short complete_field; |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 73 | }; |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 74 | |
| 75 | /* mailbox definition for hardware accelerator */ |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 76 | union req_mb2_ed_t { |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 77 | struct { |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 78 | enum hw_accst_ed_t hw_accst:8; |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 79 | } hw_accst_list[ESRAM4_ED + 1]; |
| 80 | unsigned int complete_field[3]; |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 81 | }; |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 82 | |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 83 | struct arm_irq_mask_ed_t { |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 84 | unsigned int arm_irq_mask[4]; |
Kumar Sanghvi | c99e78f | 2010-03-06 22:18:05 +0530 | [diff] [blame] | 85 | }; |
Kumar Sanghvi | cbc4297 | 2010-02-08 16:52:15 +0530 | [diff] [blame] | 86 | |
| 87 | #endif /* __MACH_PRCMU_FW_ED_H */ |