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