1eb0a297cSMurulidhar Nataraju #pragma once
2eb0a297cSMurulidhar Nataraju 
3eb0a297cSMurulidhar Nataraju #include <stdint.h>
4eb0a297cSMurulidhar Nataraju 
5eb0a297cSMurulidhar Nataraju namespace openpower
6eb0a297cSMurulidhar Nataraju {
7eb0a297cSMurulidhar Nataraju namespace sbe
8eb0a297cSMurulidhar Nataraju {
9eb0a297cSMurulidhar Nataraju namespace scom
10eb0a297cSMurulidhar Nataraju {
11eb0a297cSMurulidhar Nataraju 
12eb0a297cSMurulidhar Nataraju /**
13eb0a297cSMurulidhar Nataraju  * @brief Read processor SCOM register.
14eb0a297cSMurulidhar Nataraju  *
15eb0a297cSMurulidhar Nataraju  * Throws an exception on error.
16eb0a297cSMurulidhar Nataraju  *
17eb0a297cSMurulidhar Nataraju  * @param[in] FIFO device path associated with the SBE.
18eb0a297cSMurulidhar Nataraju  * @param[in] SCOM register address.
19eb0a297cSMurulidhar Nataraju  * @return The register data
20eb0a297cSMurulidhar Nataraju  */
21*da79c9caSPatrick Venture uint64_t read(const char* devPath, uint64_t address);
22eb0a297cSMurulidhar Nataraju 
23eb0a297cSMurulidhar Nataraju /**
24eb0a297cSMurulidhar Nataraju  * @brief Write processor SCOM register.
25eb0a297cSMurulidhar Nataraju  *
26eb0a297cSMurulidhar Nataraju  * Throws an exception on error.
27eb0a297cSMurulidhar Nataraju  *
28eb0a297cSMurulidhar Nataraju  * @param[in] FIFO device path associated with the SBE.
29eb0a297cSMurulidhar Nataraju  * @param[in] SCOM register address.
30eb0a297cSMurulidhar Nataraju  * @param[in] Data to be written into the register.
31eb0a297cSMurulidhar Nataraju  */
32*da79c9caSPatrick Venture void write(const char* devPath, uint64_t address, uint64_t data);
33eb0a297cSMurulidhar Nataraju 
34eb0a297cSMurulidhar Nataraju } // namespace scom
35eb0a297cSMurulidhar Nataraju } // namespace sbe
36eb0a297cSMurulidhar Nataraju } // namespace openpower
37