1description: >
2    Monitor Post code coming and buffer all of them based on boot cycle into
3    file system.
4
5properties:
6    - name: CurrentBootCycleCount
7      type: uint16
8      description: >
9          It is used to indicate number of boot cycles that have post codes
10          archived. It starts from 1 and is limited to MaxBootCycleNum.
11    - name: MaxBootCycleNum
12      type: uint16
13      description: >
14          The max cached boot cycles for post code. It is used to indicate end
15          user what's the max boot number, and make sure get command parameter
16          less than it.
17methods:
18    - name: GetPostCodesWithTimeStamp
19      description: >
20          Method to get the cached post codes of the indicated boot cycle with
21          timestamp.
22      parameters:
23          - name: Index
24            type: uint16
25            description: >
26                Index indicates which boot cycle of post codes is requested. 1
27                is for the most recent boot cycle. CurrentBootCycleCount is for
28                the oldest boot cycle.
29      returns:
30          - name: Codes
31            type: dict[uint64, struct[uint64,array[byte]]]
32            description: >
33                An array of post codes and timestamp in microseconds since epoch
34    - name: GetPostCodes
35      description: >
36          Method to get the cached post codes of the indicated boot cycle.
37      parameters:
38          - name: Index
39            type: uint16
40            description: >
41                Index indicates which boot cycle of post codes is requested. 1
42                is for the most recent boot cycle. CurrentBootCycleCount is for
43                the oldest boot cycle.
44      returns:
45          - name: Codes
46            type: array[struct[uint64,array[byte]]]
47            description: >
48                An array of post codes of one boot cycle.
49
50paths:
51    - namespace: /xyz/openbmc_project/State/Boot
52      segments:
53          - name: Host
54            value: PostCode
55