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 array[byte]),
16              so each entry in the array should pack as many bytes as possible.
17      returns:
18        - name: response
19          # TODO via https://github.com/openbmc/openbmc/issues/1160. This should
20          # change to array[byte]. As of now, the REST server maps any numeric
21          # data to int32.
22          type: array[int32]
23          description: >
24              An array of integers representing the response. This
25              should still be bytes worth of data (as though using array[byte]),
26              so each entry in the array should pack as many bytes as possible.
27
28    - name: SetMode
29      description: >
30          Change the power mode of the system.
31      parameters:
32        - name: mode
33          type: byte
34          description: >
35              Desired power mode of the system.
36        - name: frequencyPoint
37          type: uint16
38          description: >
39              Frequency point required by some power modes.
40      returns:
41        - name: status
42          type: boolean
43          description: >
44              Returns true if the mode change was accepted.
45
46