xref: /openbmc/pldm/libpldmresponder/examples/effecter/dbus_to_terminus_effecter.json (revision 90f28d7b91a8909ca17eb7874593f02c8f61aa1f)
1*90f28d7bSThu Nguyen{
2*90f28d7bSThu Nguyen    "entries": [
3*90f28d7bSThu Nguyen        {
4*90f28d7bSThu Nguyen            // mctp eid is needed for communicating with the host
5*90f28d7bSThu Nguyen            "mctp_eid": 9,
6*90f28d7bSThu Nguyen            "effecter_info": {
7*90f28d7bSThu Nguyen                // a 0xFFFF(65535) means effecter id is not hard coded and
8*90f28d7bSThu Nguyen                // will be fetched from the PDR
9*90f28d7bSThu Nguyen                "effecterID": 65535,
10*90f28d7bSThu Nguyen                "containerID": 1,
11*90f28d7bSThu Nguyen                "entityType": 32801,
12*90f28d7bSThu Nguyen                // entity type 33 means Phyp will set value 32801
13*90f28d7bSThu Nguyen                // this is because the MSB is set to indicate
14*90f28d7bSThu Nguyen                // virtual entity
15*90f28d7bSThu Nguyen                "entityInstance": 1,
16*90f28d7bSThu Nguyen                "compositeEffecterCount": 3
17*90f28d7bSThu Nguyen            },
18*90f28d7bSThu Nguyen            "effecters": [
19*90f28d7bSThu Nguyen                {
20*90f28d7bSThu Nguyen                    // Following are the D-Bus information under each effecter
21*90f28d7bSThu Nguyen                    // which are monitored for a property change signal
22*90f28d7bSThu Nguyen
23*90f28d7bSThu Nguyen                    // if there is a property change, the corresponding
24*90f28d7bSThu Nguyen                    // state value is picked up to set the host effecter
25*90f28d7bSThu Nguyen
26*90f28d7bSThu Nguyen                    "dbus_info": {
27*90f28d7bSThu Nguyen                        "object_path": "/xyz/abc/def",
28*90f28d7bSThu Nguyen                        "interface": "xyz.openbmc_project.example1.value",
29*90f28d7bSThu Nguyen                        "property_name": "value1",
30*90f28d7bSThu Nguyen                        "property_type": "string",
31*90f28d7bSThu Nguyen                        "property_values": [
32*90f28d7bSThu Nguyen                            "xyz.openbmc_project.State.On",
33*90f28d7bSThu Nguyen                            "xyz.openbmc_project.State.Off"
34*90f28d7bSThu Nguyen                        ]
35*90f28d7bSThu Nguyen                    },
36*90f28d7bSThu Nguyen                    "state": {
37*90f28d7bSThu Nguyen                        "id": 197,
38*90f28d7bSThu Nguyen                        // This should be of same size and order as
39*90f28d7bSThu Nguyen                        // property_values
40*90f28d7bSThu Nguyen                        "state_values": [0, 1]
41*90f28d7bSThu Nguyen                    }
42*90f28d7bSThu Nguyen                },
43*90f28d7bSThu Nguyen                {
44*90f28d7bSThu Nguyen                    "dbus_info": {
45*90f28d7bSThu Nguyen                        "object_path": "/xyz/abc/def",
46*90f28d7bSThu Nguyen                        "interface": "xyz.openbmc_project.example1.value",
47*90f28d7bSThu Nguyen                        "property_name": "value2",
48*90f28d7bSThu Nguyen                        "property_type": "uint8_t",
49*90f28d7bSThu Nguyen                        "property_values": [9, 10]
50*90f28d7bSThu Nguyen                    },
51*90f28d7bSThu Nguyen                    "state": {
52*90f28d7bSThu Nguyen                        "id": 12,
53*90f28d7bSThu Nguyen                        "state_values": [2, 3]
54*90f28d7bSThu Nguyen                    }
55*90f28d7bSThu Nguyen                },
56*90f28d7bSThu Nguyen                {
57*90f28d7bSThu Nguyen                    "dbus_info": {
58*90f28d7bSThu Nguyen                        "object_path": "/abc/def/xyz",
59*90f28d7bSThu Nguyen                        "interface": "xyz.openbmc_project.example3.value",
60*90f28d7bSThu Nguyen                        "property_name": "value3",
61*90f28d7bSThu Nguyen                        "property_type": "bool",
62*90f28d7bSThu Nguyen                        "property_values": [false, true]
63*90f28d7bSThu Nguyen                    },
64*90f28d7bSThu Nguyen                    "state": {
65*90f28d7bSThu Nguyen                        "id": 12,
66*90f28d7bSThu Nguyen                        "state_values": [0, 1]
67*90f28d7bSThu Nguyen                    }
68*90f28d7bSThu Nguyen                }
69*90f28d7bSThu Nguyen            ]
70*90f28d7bSThu Nguyen        },
71*90f28d7bSThu Nguyen        {
72*90f28d7bSThu Nguyen            "mctp_eid": 10,
73*90f28d7bSThu Nguyen            "effecter_info": {
74*90f28d7bSThu Nguyen                "effecterID": 10,
75*90f28d7bSThu Nguyen                "containerID": 0,
76*90f28d7bSThu Nguyen                "entityType": 33,
77*90f28d7bSThu Nguyen                "entityInstance": 0,
78*90f28d7bSThu Nguyen                "compositeEffecterCount": 1
79*90f28d7bSThu Nguyen            },
80*90f28d7bSThu Nguyen            "effecters": [
81*90f28d7bSThu Nguyen                {
82*90f28d7bSThu Nguyen                    "dbus_info": {
83*90f28d7bSThu Nguyen                        "object_path": "/def/abc/xyz",
84*90f28d7bSThu Nguyen                        "interface": "xyz.openbmc_project.example4.value",
85*90f28d7bSThu Nguyen                        "property_name": "value4",
86*90f28d7bSThu Nguyen                        "property_type": "string",
87*90f28d7bSThu Nguyen                        "property_values": [
88*90f28d7bSThu Nguyen                            "xyz.openbmc_project.State.Enabled",
89*90f28d7bSThu Nguyen                            "xyz.openbmc_project.State.Disabled"
90*90f28d7bSThu Nguyen                        ]
91*90f28d7bSThu Nguyen                    },
92*90f28d7bSThu Nguyen                    "state": {
93*90f28d7bSThu Nguyen                        "id": 15,
94*90f28d7bSThu Nguyen                        "state_values": [3, 4]
95*90f28d7bSThu Nguyen                    }
96*90f28d7bSThu Nguyen                }
97*90f28d7bSThu Nguyen            ]
98*90f28d7bSThu Nguyen        }
99*90f28d7bSThu Nguyen    ]
100*90f28d7bSThu Nguyen}
101