summaryrefslogtreecommitdiffstats
path: root/sbe/sbefw/sbeHostUtils.H
diff options
context:
space:
mode:
Diffstat (limited to 'sbe/sbefw/sbeHostUtils.H')
-rw-r--r--sbe/sbefw/sbeHostUtils.H245
1 files changed, 0 insertions, 245 deletions
diff --git a/sbe/sbefw/sbeHostUtils.H b/sbe/sbefw/sbeHostUtils.H
deleted file mode 100644
index 0605d476..00000000
--- a/sbe/sbefw/sbeHostUtils.H
+++ /dev/null
@@ -1,245 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: sbe/sbefw/sbeHostUtils.H $ */
-/* */
-/* OpenPOWER sbe Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2016 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-/*
- * @file: ppe/sbe/sbefw/sbeHostUtils.H
- *
- * @brief This file contains basic SBE PSU hardware specific
- * definitions and operations.
- *
- */
-
-#ifndef __SBEFW_SBEHOSTUTILS_H
-#define __SBEFW_SBEHOSTUTILS_H
-
-#include <stdint.h>
-#include "ppe42_scom.h"
-#include "sbeHostMsg.H"
-
-/**
- * @brief SBE PSU Access register addresses
- *
- */
-const uint32_t SBE_HOST_PSU_BASE = 0x000D0050;
-
-const uint32_t SBE_HOST_PSU_MBOX_REG0 = SBE_HOST_PSU_BASE + 0x0000;
-const uint32_t SBE_HOST_PSU_MBOX_REG1 = SBE_HOST_PSU_BASE + 0x0001;
-const uint32_t SBE_HOST_PSU_MBOX_REG2 = SBE_HOST_PSU_BASE + 0x0002;
-const uint32_t SBE_HOST_PSU_MBOX_REG3 = SBE_HOST_PSU_BASE + 0x0003;
-const uint32_t SBE_HOST_PSU_MBOX_REG4 = SBE_HOST_PSU_BASE + 0x0004;
-const uint32_t SBE_HOST_PSU_MBOX_REG5 = SBE_HOST_PSU_BASE + 0x0005;
-const uint32_t SBE_HOST_PSU_MBOX_REG6 = SBE_HOST_PSU_BASE + 0x0006;
-const uint32_t SBE_HOST_PSU_MBOX_REG7 = SBE_HOST_PSU_BASE + 0x0007;
-
-
-const uint32_t SBE_PSU2SBE_DOORBELL_REG_RW = 0x000D0060;
-const uint32_t SBE_PSU2SBE_DOORBELL_REG_AND = 0x000D0061;
-const uint32_t SBE_PSU2SBE_DOORBELL_REG_OR = 0x000D0062;
-const uint32_t SBE_PSU2HOST_DOORBELL_REG_RW = 0x000D0063;
-const uint32_t SBE_PSU2HOST_DOORBELL_REG_AND = 0x000D0064;
-const uint32_t SBE_PSU2HOST_DOORBELL_REG_OR = 0x000D0065;
-
-
-/**
- * @brief SBE PSU door bell register Bit definitions
- */
-typedef enum
-{
- // Bit 0 AND flag for PSU->SBE Doorbell Register;
- // When this is set by the host firmware, it would trigger an
- // interrupt to the SBE about a waiting message in the Host/SBE
- // Mailbox Registers. SBE is responsible for clearing this
- // bit upon being interrupted.
- SBE_PSU2SBE_DOORBELL_CLEAR_BIT0 = 0x7FFFFFFFFFFFFFFFull,
-} sbe_psu2sbeDoorbellReg_UpdateFlags;
-
-typedef enum
-{
- // Bit 0 OR flag for SBE->PSU Doorbell Register;
- // When this is set by SBE, it would trigger an interrupt to host
- // firmware about a waiting response in the Host/SBE Mailbox Registers 4-7
- SBE_SBE2PSU_DOORBELL_SET_BIT0 = 0x8000000000000000ull,
-
- // Bit 1 OR flag for SBE->PSU Doorbell Register;
- // When this is set by SBE, it would trigger an interrupt to host
- // firmware indicating that the message in Host/SBE mailbox registers 0-3
- // has been read by SBE and is being processed
- SBE_SBE2PSU_DOORBELL_SET_BIT1 = 0x4000000000000000ull,
-
- // Bit 2 OR flag for SBE->PSU Doorbell Register;
- // When this is set by SBE, it would trigger an interrupt to host
- // firmware to trigger Stop15 exit on thread 0 on the master core.
- // This would be used to trigger hostboot in istep 16
- SBE_SBE2PSU_DOORBELL_SET_BIT2 = 0x2000000000000000ull,
-} sbe_sbe2psuDoorbellReg_UpdateFlags;
-
-
-/*****************************************************************/
-/** PSU->SBE register access utilities **/
-/*****************************************************************/
-
-/**
- * @brief sbeClearPsu2SbeDbBitX : Clear given bit in PSU->SBE DB register
- *
- * @param[in] 64-Bit Scom Data indicating bit position to be cleared
- *
- * @return RC from the underlying scom utility
- *
- */
-inline uint32_t sbeClearPsu2SbeDbBitX (const uint64_t i_bit)
-{
- return putscom_abs (SBE_PSU2SBE_DOORBELL_REG_AND, i_bit) ;
-}
-
-
-/**
- * @brief sbeReadPsu2SbeDbReg : Read PSU->SBE DB register
- *
- * @param[out] 64-Bit Data read from PSU->SBE DB register
- *
- * @return RC from the underlying scom utility
- *
- */
-inline uint32_t sbeReadPsu2SbeDbReg (uint64_t *o_data)
-{
- return getscom_abs (SBE_PSU2SBE_DOORBELL_REG_RW, o_data) ;
-}
-
-
-/**
- * @brief sbeReadPsu2SbeMbxReg : Read from PSU->SBE MBX register(s)
- *
- * @param[in] i_addr
- * Starting Mbx Register Address
- * @param[in] i_count
- * Number of Mbx registers to be read.
- * @param[in] i_isFinalRead
- * Indicates if its a final read operation for this chip op and
- * internally handle the ack
- * By default it is false.
- * @param[out] o_pData
- * Contents of the Mbx registers read into the buffer
- * @return Return Code
- * SUCCESS or TBD
- */
-uint32_t sbeReadPsu2SbeMbxReg (uint32_t i_addr,
- const uint8_t i_count,
- uint64_t *o_pData,
- bool i_isFinalRead = false);
-
-/*****************************************************************/
-/** SBE->PSU register access utilities **/
-/*****************************************************************/
-
-/**
- * @brief sbeSetSbe2PsuDbBitX : Set Bit-X in SBE->PSU DB register
- *
- * @param[in] 64-Bit Scom Data indicating bit position
- *
- * @return RC from the underlying scom utility
- *
- */
-inline uint32_t sbeSetSbe2PsuDbBitX (const uint64_t i_bit)
-{
- return putscom_abs (SBE_PSU2HOST_DOORBELL_REG_OR, i_bit) ;
-}
-
-/**
- * @brief sbeClearSbe2PsuDbBitX : Clear Bit-X in SBE->PSU DB register
- *
- * @param[in] 64-Bit Scom Data indicating bit position
- *
- * @return RC from the underlying scom utility
- *
- */
-inline uint32_t sbeClearSbe2PsuDbBitX (const uint64_t i_bit)
-{
- return putscom_abs (SBE_PSU2HOST_DOORBELL_REG_AND, i_bit) ;
-}
-
-/**
- * @brief sbeReadSbe2PsuDbReg : Read SBE->PSU DB register
- *
- * @param[out] 64-Bit Data read from SBE->PSU DB register
- *
- * @return RC from the underlying scom utility
- *
- */
-inline uint32_t sbeReadSbe2PsuDbReg (uint64_t *o_data)
-{
- return getscom_abs (SBE_PSU2HOST_DOORBELL_REG_RW, o_data) ;
-}
-
-/**
- * @brief sbeAcknowledgeHost : Acknowldge by setting bit 1 in
- * SBE->PSU DB register if the host had requested for an ack
- *
- * @return RC from the underlying scom utility
- *
- */
-uint32_t sbeAcknowledgeHost();
-
-/**
- * @brief sbeIntrHostUponRespWaiting : Interrupt Host by
- * setting bit 0 in SBE->PSU DB register if the host had
- * requested for response
- *
- * @return RC from the underlying scom utility
- *
- */
-uint32_t sbeIntrHostUponRespWaiting();
-
-
-/**
- * @brief sbeWriteSbe2PsuMbxReg : Write to SBE->PSU MBX register(s)
- *
- * @param[in] i_addr
- * Starting Mbx Register Address
- * @param[in] i_pData
- * Contains the data to be written into given Mbx registers
- * @param[in] i_count
- * Number of Mbx registers to be written.
- * @param[in] i_setBit0ToIntrHB
- * Indicates whether to write Bit0 to interrupt the Host,
- * By default it is false.
- * @return Return Code
- * SUCCESS or TBD
- */
-uint32_t sbeWriteSbe2PsuMbxReg (uint32_t i_addr,
- const uint64_t *i_pData,
- const uint8_t i_count,
- bool i_setBit0ToIntrHB = false);
-
-/* @brief - Send PSU Chip Op response
- *
- * @param[in] - i_sbe2PsuRespHdr - Response header
- * @param[in] - i_fapiRc - fapi rc of the relevant hwp call
- * @param[in/out] - io_rc - rc status of the PSU access utility
- *
- * @return - void
- */
-void sbePSUSendResponse(sbeSbe2PsuRespHdr_t &i_sbe2PsuRespHdr,
- uint32_t &i_fapiRc,
- uint32_t &io_rc);
-#endif // __SBEFW_SBEHOSTUTILS_H
OpenPOWER on IntegriCloud