blob: faf3252ed1ddc2fda24649263caf5a79f2188398 [file] [log] [blame]
/******************************************************************************
*
* (c) Copyright 2014 Xilinx, Inc. All rights reserved.
*
* This file contains confidential and proprietary information of Xilinx, Inc.
* and is protected under U.S. and international copyright and other
* intellectual property laws.
*
* DISCLAIMER
* This disclaimer is not a license and does not grant any rights to the
* materials distributed herewith. Except as otherwise provided in a valid
* license issued to you by Xilinx, and to the maximum extent permitted by
* applicable law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL
* FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,
* IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
* MERCHANTABILITY, NON- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;
* and
* (2) Xilinx shall not be liable (whether in contract or tort, including
* negligence, or under any other theory of liability) for any loss or damage
* of any kind or nature related to, arising under or in connection with these
* materials, including for any direct, or any indirect, special, incidental,
* or consequential loss or damage (including loss of data, profits,
* goodwill, or any type of loss or damage suffered as a result of any
* action brought by a third party) even if such damage or loss was
* reasonably foreseeable or Xilinx had been advised of the possibility
* of the same.
*
* CRITICAL APPLICATIONS
* Xilinx products are not designed or intended to be fail- safe, or for use
* in any application requiring fail-safe performance, such as life-support
* or safety devices or systems, Class III medical devices, nuclear
* facilities, applications related to the deployment of airbags, or any
* other applications that could lead to death, personal injury, or severe
* property or environmental damage (individually and collectively,
* "Critical Applications"). Customer assumes the sole risk and liability
* of any use of Xilinx products in Critical Applications, subject only to
* applicable laws and regulations governing limitations on product liability.
*
* THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART
* OF THIS FILE AT ALL TIMES.
*
******************************************************************************/
/*
PMU - PCW handoff file
Auto generated file from PCW-Vivado tools to be consumed in PMU firmware
*/
#define XPFW_CFG_MASTER_PMU 0
#define XPFW_CFG_MASTER_CSU 1
#define XPFW_CFG_MASTER_APU 2
#define XPFW_CFG_MASTER_RPU_0 3
#define XPFW_CFG_MASTER_RPU_1 4
#define XPFW_CFG_MASTER_USB0 5
#define XPFW_CFG_MASTER_USB1 6
#define XPFW_CFG_MASTER_ENET0 7
#define XPFW_CFG_MASTER_ENET1 8
#define XPFW_CFG_MASTER_ENET2 9
#define XPFW_CFG_MASTER_ENET3 10
#define XPFW_CFG_MASTER_DAP 11
#define XPFW_CFG_MASTER_ADMA 12
#define XPFW_CFG_MASTER_SD0 13
#define XPFW_CFG_MASTER_SD1 14
#define XPFW_CFG_MASTER_NAND 15
#define XPFW_CFG_MASTER_QSPI 16
#define XPFW_CFG_MASTER_SATA 17
#define XPFW_CFG_MASTER_GPU 18
#define XPFW_CFG_MASTER_CORESIGHT 19
#define XPFW_CFG_MASTER_PCIE 20
#define XPFW_CFG_MASTER_DP 21
#define XPFW_CFG_MASTER_GDMA 22
#define XPFW_CFG_MASTER_AF0 23
#define XPFW_CFG_MASTER_AF1 24
#define XPFW_CFG_MASTER_AF2 25
#define XPFW_CFG_MASTER_AF3 26
#define XPFW_CFG_MASTER_AF4 27
#define XPFW_CFG_MASTER_AF5 28
#define XPFW_CFG_MASTER_AFILPD 29
#define XPFW_CFG_MASTER_MAX 30
#define XPFW_CFG_SLAVE_UART0 0
#define XPFW_CFG_SLAVE_UART1 1
#define XPFW_CFG_SLAVE_I2C0 2
#define XPFW_CFG_SLAVE_I2C1 3
#define XPFW_CFG_SLAVE_SPI0 4
#define XPFW_CFG_SLAVE_SPI1 5
#define XPFW_CFG_SLAVE_CAN0 6
#define XPFW_CFG_SLAVE_CAN1 7
#define XPFW_CFG_SLAVE_GPIO0 8
#define XPFW_CFG_SLAVE_ENET0 9
#define XPFW_CFG_SLAVE_ENET1 10
#define XPFW_CFG_SLAVE_ENET2 11
#define XPFW_CFG_SLAVE_ENET3 12
#define XPFW_CFG_SLAVE_NAND0 13
#define XPFW_CFG_SLAVE_TTC0 14
#define XPFW_CFG_SLAVE_TTC1 15
#define XPFW_CFG_SLAVE_TTC2 16
#define XPFW_CFG_SLAVE_TTC3 17
#define XPFW_CFG_SLAVE_WDT0 18
#define XPFW_CFG_SLAVE_SD0 19
#define XPFW_CFG_SLAVE_SD1 10
#define XPFW_CFG_SLAVE_USB0 11
#define XPFW_CFG_SLAVE_USB1 12
#define XPFW_CFG_SLAVE_IOUSLCR0 13
#define XPFW_CFG_SLAVE_CSU0 14
#define XPFW_CFG_SLAVE_LPD_SLCR 15
#define XPFW_CFG_SLAVE_LPD_GPV 16
#define XPFW_CFG_SLAVE_USB3_0 17
#define XPFW_CFG_SLAVE_USB3_1 18
#define XPFW_CFG_SLAVE_QSPI0 19
#define XPFW_CFG_SLAVE_DDR 20
#define XPFW_CFG_SLAVE_OCM 21
#define XPFW_CFG_SLAVE_PMU_GLREG 22
#define XPFW_CFG_SLAVE_MAX 23
/* MASTER LIST
Shared resources like DDR will be powered off by the PMUFW, if no active user for such a resource is present. In order to be able to determine whether no user is present,
PMUFW needs to be aware of all possible users. These include:
1. APU / Independent A53s
2. RPU lockstep/independent
3. PL Soft-Cores
So a list of all active Masters in the System should be exported to PMU FW */
unsigned int XPFW_ConfigActMasters[XPFW_CFG_MASTER_MAX] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
/* SLAVE LIST
It is expected that unused resources are statically turned off by the FSBL during boot. Everything else that is used during run-time needs to be known to the
PMUFW in order to execute PM-related functionality on it. So a list of all active slaves on the system should be exported to the PMU FW */
unsigned int XPFW_ConfigActSlaves[XPFW_CFG_SLAVE_MAX] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
/* Ownership Information
PMU_Master_Slave_Isolation[C_MASTER_PSS_CORTEX_APU][PSS_DDR_0] = 1 */
unsigned int XPFW_ConfigTable[XPFW_CFG_MASTER_MAX][XPFW_CFG_SLAVE_MAX] = {
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // E.g APU - > DDR, SD0, ENET0
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // E.g RPU_0 - > DDR, SD0, ENET0
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // E.g RPU_1 - > DDR, ENET0
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
};
/* Safety Monitor test case to be done */