1c95cf671SFeist, James /*
2c95cf671SFeist, James // Copyright (c) 2019 Intel Corporation
3c95cf671SFeist, James //
4c95cf671SFeist, James // Licensed under the Apache License, Version 2.0 (the "License");
5c95cf671SFeist, James // you may not use this file except in compliance with the License.
6c95cf671SFeist, James // You may obtain a copy of the License at
7c95cf671SFeist, James //
8c95cf671SFeist, James //      http://www.apache.org/licenses/LICENSE-2.0
9c95cf671SFeist, James //
10c95cf671SFeist, James // Unless required by applicable law or agreed to in writing, software
11c95cf671SFeist, James // distributed under the License is distributed on an "AS IS" BASIS,
12c95cf671SFeist, James // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c95cf671SFeist, James // See the License for the specific language governing permissions and
14c95cf671SFeist, James // limitations under the License.
15c95cf671SFeist, James */
16c95cf671SFeist, James 
17c95cf671SFeist, James #include <cstdint>
18c95cf671SFeist, James #include <string>
19c95cf671SFeist, James #include <variant>
20c95cf671SFeist, James #include <vector>
21c95cf671SFeist, James 
22c95cf671SFeist, James using GetSubTreeType = std::vector<
23c95cf671SFeist, James     std::pair<std::string,
24c95cf671SFeist, James               std::vector<std::pair<std::string, std::vector<std::string>>>>>;
25c95cf671SFeist, James using BasicVariantType =
26c95cf671SFeist, James     std::variant<std::vector<std::string>, std::string, int64_t, uint64_t,
27c95cf671SFeist, James                  double, int32_t, uint32_t, int16_t, uint16_t, uint8_t, bool>;
280b236ab8SJames Feist using Association = std::tuple<std::string, std::string, std::string>;
29c95cf671SFeist, James 
30c95cf671SFeist, James namespace mapper
31c95cf671SFeist, James {
32c95cf671SFeist, James constexpr const char* busName = "xyz.openbmc_project.ObjectMapper";
33c95cf671SFeist, James constexpr const char* path = "/xyz/openbmc_project/object_mapper";
34c95cf671SFeist, James constexpr const char* interface = "xyz.openbmc_project.ObjectMapper";
35c95cf671SFeist, James constexpr const char* subtree = "GetSubTree";
36c95cf671SFeist, James } // namespace mapper
37c95cf671SFeist, James 
38c95cf671SFeist, James namespace entityManager
39c95cf671SFeist, James {
40c95cf671SFeist, James constexpr const char* busName = "xyz.openbmc_project.EntityManager";
41c95cf671SFeist, James } // namespace entityManager
42c95cf671SFeist, James 
43c95cf671SFeist, James namespace inventory
44c95cf671SFeist, James {
45c95cf671SFeist, James constexpr const char* interface = "xyz.openbmc_project.Inventory.Item";
46c95cf671SFeist, James } // namespace inventory
47c95cf671SFeist, James 
48*09dd2314SJames Feist namespace ledGroup
49*09dd2314SJames Feist {
50*09dd2314SJames Feist constexpr const char* interface = "xyz.openbmc_project.Led.Group";
51*09dd2314SJames Feist constexpr const char* asserted = "Asserted";
52*09dd2314SJames Feist } // namespace ledGroup
53*09dd2314SJames Feist 
54c95cf671SFeist, James namespace hsbp
55c95cf671SFeist, James {
56c95cf671SFeist, James enum class registers : uint8_t
57c95cf671SFeist, James {
58c95cf671SFeist, James     fpgaIdH = 0x0,
59c95cf671SFeist, James     fpgaIdL = 0x1,
60c95cf671SFeist, James     typeId = 0x2,
61c95cf671SFeist, James     bootVer = 0x3,
62c95cf671SFeist, James     fpgaVer = 0x4,
63c95cf671SFeist, James     securityRev = 0x5,
64c95cf671SFeist, James     funSupported = 0x6,
65c95cf671SFeist, James     numDisks = 0x7,
66c95cf671SFeist, James     presence = 0x8,
67c95cf671SFeist, James     ssdIFDET = 0x9,
68c95cf671SFeist, James     ifdetPart = 0xA,
69c95cf671SFeist, James     statusLocate = 0xB,
70c95cf671SFeist, James     statusFail = 0xC,
71c95cf671SFeist, James     statusRebuild = 0xD,
72c95cf671SFeist, James     ledOverride = 0xE,
73c95cf671SFeist, James     ledStatus = 0xF,
74c95cf671SFeist, James     ledPattern0 = 0x10,
75c95cf671SFeist, James     ledPattern1 = 0x11,
76c95cf671SFeist, James     ledPattern2 = 0x12,
77c95cf671SFeist, James     ledPattern3 = 0x13,
78c95cf671SFeist, James     ledPattern4 = 0x14,
79c95cf671SFeist, James     ledPattern5 = 0x15,
80c95cf671SFeist, James     ledPattern6 = 0x16,
81c95cf671SFeist, James     ledPattern7 = 0x17,
82c95cf671SFeist, James };
83c95cf671SFeist, James 
84c95cf671SFeist, James } // namespace hsbp
85