| /* |
| * Copyright (C) 2018 Marvell International Ltd. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| * https://spdx.org/licenses |
| */ |
| |
| #ifndef __MSS_PM_MEM_H |
| #define __MSS_PM_MEM_H |
| |
| /* MSS SRAM Memory base */ |
| #define MSS_SRAM_PM_CONTROL_BASE (MVEBU_REGS_BASE + 0x520000) |
| |
| enum mss_pm_ctrl_handshake { |
| MSS_UN_INITIALIZED = 0, |
| MSS_COMPATIBILITY_ERROR = 1, |
| MSS_ACKNOWLEDGMENT = 2, |
| HOST_ACKNOWLEDGMENT = 3 |
| }; |
| |
| enum mss_pm_ctrl_rtos_env { |
| MSS_MULTI_PROCESS_ENV = 0, |
| MSS_SINGLE_PROCESS_ENV = 1, |
| MSS_MAX_PROCESS_ENV |
| }; |
| |
| struct mss_pm_ctrl_block { |
| /* This field is used to synchronize the Host |
| * and MSS initialization sequence |
| * Valid Values |
| * 0 - Un-Initialized |
| * 1 - Compatibility Error |
| * 2 - MSS Acknowledgment |
| * 3 - Host Acknowledgment |
| */ |
| unsigned int handshake; |
| |
| /* |
| * This field include Host IPC version. Once received by the MSS |
| * It will be compared to MSS IPC version and set MSS Acknowledge to |
| * "compatibility error" in case there is no match |
| */ |
| unsigned int ipc_version; |
| unsigned int ipc_base_address; |
| unsigned int ipc_state; |
| |
| /* Following fields defines firmware core architecture */ |
| unsigned int num_of_cores; |
| unsigned int num_of_clusters; |
| unsigned int num_of_cores_per_cluster; |
| |
| /* Following fields define pm trace debug base address */ |
| unsigned int pm_trace_ctrl_base_address; |
| unsigned int pm_trace_info_base_address; |
| unsigned int pm_trace_info_core_size; |
| |
| unsigned int ctrl_blk_size; |
| }; |
| |
| #endif /* __MSS_PM_MEM_H */ |