1description: >
2    Implement to provide pass-through mechanism to the On Chip Controller (OCC).
3methods:
4    - name: Send
5      description: >
6          Pass through a command to the OCC.
7      parameters:
8          - name: command
9            # TODO via https://github.com/openbmc/openbmc/issues/1160. This should
10            # change to array[byte]. As of now, the REST server maps any numeric
11            # data to int32.
12            type: array[int32]
13            description: >
14                An array of integers representing the command and payload. This
15                should still be bytes worth of data (as though using
16                array[byte]), so each entry in the array should pack as many
17                bytes as possible.
18      returns:
19          - name: response
20            # TODO via https://github.com/openbmc/openbmc/issues/1160. This should
21            # change to array[byte]. As of now, the REST server maps any numeric
22            # data to int32.
23            type: array[int32]
24            description: >
25                An array of integers representing the response. This should
26                still be bytes worth of data (as though using array[byte]), so
27                each entry in the array should pack as many bytes as possible.
28
29    - name: SetMode
30      description: >
31          Change the power mode of the system.
32      parameters:
33          - name: mode
34            type: byte
35            description: >
36                Desired power mode of the system.
37          - name: frequencyPoint
38            type: uint16
39            description: >
40                Frequency point required by some power modes.
41      returns:
42          - name: status
43            type: boolean
44            description: >
45                Returns true if the mode change was accepted.
46