Yi Li | 4f025cd | 2016-12-02 19:03:53 +0800 | [diff] [blame] | 1 | description: > |
| 2 | Implement the watchdog function. |
William A. Kennington III | 34fc296 | 2018-01-23 21:05:19 -0800 | [diff] [blame] | 3 | |
William A. Kennington III | c61651d | 2018-04-23 10:13:24 -0700 | [diff] [blame] | 4 | methods: |
| 5 | - name: ResetTimeRemaining |
| 6 | description: > |
| 7 | Resets the time remaining to the configured interval. |
| 8 | This is equivalent to reading the Interval and writing it |
| 9 | into the TimeRemaining. Optionally the watchdog can be enabled |
| 10 | during the reset process. |
| 11 | parameters: |
| 12 | - name: EnableWatchdog |
| 13 | type: boolean |
| 14 | description: > |
| 15 | If true the watchdog will be enabled when the reset |
| 16 | is performed. |
| 17 | errors: |
| 18 | - xyz.openbmc_project.Common.Error.InternalFailure |
| 19 | |
Yi Li | 4f025cd | 2016-12-02 19:03:53 +0800 | [diff] [blame] | 20 | properties: |
William A. Kennington III | 34fc296 | 2018-01-23 21:05:19 -0800 | [diff] [blame] | 21 | - name: Initialized |
| 22 | type: boolean |
| 23 | description: > |
| 24 | Whether the host has configured the watchdog yet. |
| 25 | default: false |
Yi Li | 4f025cd | 2016-12-02 19:03:53 +0800 | [diff] [blame] | 26 | - name: Enabled |
| 27 | type: boolean |
| 28 | description: > |
| 29 | The watchdog is enabled or not. |
| 30 | default: false |
William A. Kennington III | dfa9e65 | 2018-01-23 21:05:38 -0800 | [diff] [blame] | 31 | - name: ExpireAction |
| 32 | type: enum[self.Action] |
| 33 | description: > |
| 34 | The action the watchdog should perform when it expires. |
| 35 | default: 'HardReset' |
Yi Li | 4f025cd | 2016-12-02 19:03:53 +0800 | [diff] [blame] | 36 | - name: Interval |
| 37 | type: uint64 |
| 38 | description: > |
Patrick Venture | 08b0d93 | 2017-07-30 10:40:41 -0700 | [diff] [blame] | 39 | Time interval to arm the watchdog, in milli-second. |
Yi Li | 4f025cd | 2016-12-02 19:03:53 +0800 | [diff] [blame] | 40 | default: 30000 |
| 41 | - name: TimeRemaining |
| 42 | type: uint64 |
| 43 | description: > |
Patrick Venture | 08b0d93 | 2017-07-30 10:40:41 -0700 | [diff] [blame] | 44 | Time remaining before timeout, in milli-second. |
Yi Li | 4f025cd | 2016-12-02 19:03:53 +0800 | [diff] [blame] | 45 | Setting this property can re-arm the watchdog. |
| 46 | default: 0 |
William A. Kennington III | c39e8ce | 2019-01-15 15:06:00 -0800 | [diff] [blame] | 47 | - name: CurrentTimerUse |
| 48 | type: enum[self.TimerUse] |
Yong Li | d8b93b5 | 2018-12-05 18:12:46 +0800 | [diff] [blame] | 49 | description: > |
William A. Kennington III | c39e8ce | 2019-01-15 15:06:00 -0800 | [diff] [blame] | 50 | The host defined user of this timer. |
Yong Li | d8b93b5 | 2018-12-05 18:12:46 +0800 | [diff] [blame] | 51 | default: 'Reserved' |
William A. Kennington III | c39e8ce | 2019-01-15 15:06:00 -0800 | [diff] [blame] | 52 | - name: ExpiredTimerUse |
| 53 | type: enum[self.TimerUse] |
Yong Li | d8b93b5 | 2018-12-05 18:12:46 +0800 | [diff] [blame] | 54 | description: > |
William A. Kennington III | c39e8ce | 2019-01-15 15:06:00 -0800 | [diff] [blame] | 55 | The timer user at the time of expiration. |
Yong Li | d8b93b5 | 2018-12-05 18:12:46 +0800 | [diff] [blame] | 56 | default: 'Reserved' |
Yi Li | 4f025cd | 2016-12-02 19:03:53 +0800 | [diff] [blame] | 57 | |
William A. Kennington III | dfa9e65 | 2018-01-23 21:05:38 -0800 | [diff] [blame] | 58 | enumerations: |
| 59 | - name: Action |
| 60 | description: > |
| 61 | The type of action to perform. |
| 62 | values: |
| 63 | - name: 'None' |
| 64 | description: > |
| 65 | Do nothing. |
| 66 | - name: 'HardReset' |
| 67 | description: > |
| 68 | Perform a reset of the system. |
| 69 | - name: 'PowerOff' |
| 70 | description: > |
| 71 | Perform a power off of the system. |
| 72 | - name: 'PowerCycle' |
| 73 | description: > |
| 74 | Perform a power cycle of the system. |
| 75 | |
William A. Kennington III | c39e8ce | 2019-01-15 15:06:00 -0800 | [diff] [blame] | 76 | - name: TimerUse |
Yong Li | d8b93b5 | 2018-12-05 18:12:46 +0800 | [diff] [blame] | 77 | description: > |
| 78 | The type of timer use. |
| 79 | values: |
| 80 | - name: 'Reserved' |
| 81 | description: > |
| 82 | Reserved. |
| 83 | - name: 'BIOSFRB2' |
| 84 | description: > |
| 85 | BIOS FRB2. |
| 86 | - name: 'BIOSPOST' |
| 87 | description: > |
| 88 | BIOS POST. |
| 89 | - name: 'OSLoad' |
| 90 | description: > |
| 91 | OS Load. |
| 92 | - name: SMSOS |
| 93 | description: > |
| 94 | SMS OS. |
| 95 | - name: 'OEM' |
| 96 | description: > |
| 97 | OEM. |
Willy Tu | 6f52416 | 2021-08-03 16:26:35 -0700 | [diff] [blame] | 98 | |
| 99 | signals: |
| 100 | - name: Timeout |
| 101 | description: > |
| 102 | Watchdog timeout event signal |
| 103 | properties: |
| 104 | - name: Action |
| 105 | type: enum[self.Action] |
| 106 | description: > |
| 107 | The action taken during the watchdog timeout event. |