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