Commit 39f926ad authored by Dustin Peterson's avatar Dustin Peterson

Update update_device_schedule, configure_time, configure_device.

parent e05e392c
......@@ -53,7 +53,7 @@ This page describes the changes to the IEEE standard 1801 (UPF 2.1) that were ma
### Modeling power management controllers
* configure_device
* configure_time
* create_pmc
* schedule_strategy
* update_device_schedule
......@@ -102,17 +102,19 @@ This page describes the changes to the IEEE standard 1801 (UPF 2.1) that were ma
**Example:** *add_voltage_source_state state_0 -device BBGEN_0 -condition {CTRL_0 && !CTRL_1} -supply_on {VNW_P 1.0} -output {VPW_N 0.8}*
#### configure_device
#### configure_time
<table width=100%>
<tr>
<th>Purpose</th>
<td colspan=2>Configures the implementation of the device control that will be used by the power management controller to switch the power switch or the voltage source into the right state. In the current version of this specification there is only support for classic switching using dedicated control signals - the control signal mapping to states can be derived from the _create_power_switch_ and _create_voltage_source_ commands.</td>
<td colspan=2>Configures the number of cycles (relative to PMC clock) it takes to switch from one device state to another device state until the device output voltage is stable.</td>
</tr>
<tr>
<th>Syntax</th>
<td colspan=2><b>configure_device</b> <i>device_name</i>
<br>[<b>-no_timer|-with_timer </b> {<i>bit_width default_value</i>}]
<td colspan=2><b>configure_time</b> <i>device_name</i>
<br>[<b>-from </b> <i>device_state_name</i>]
<br>[<b>-to </b> <i>device_state_name</i>]
<br>[<b>-cycles </b> <i>integer</i>]
</td>
</tr>
<tr>
......@@ -121,17 +123,21 @@ This page describes the changes to the IEEE standard 1801 (UPF 2.1) that were ma
<td>Rooted name of the power switch or voltage source to set the control for.</td>
</tr>
<tr>
<td><b>-no_timer</b></td>
<td>Disables using the timer. (default)</td>
<td><b>-from </b> <i>device_state_name</i></td>
<td>Device state that is currently enabled.</td>
</tr>
<tr>
<td><b>-with_timer </b> {<i>bit_width default_value</i>}</td>
<td>Enables a timer, additionally to an optional acknowledge port, that is used to determine the end of a transition of a voltage source or power switch. The timer starts with the transition &mdash; if the timer reaches 0, the transition is assumed to be finished (if the acknowledge is raised before, the timer is stopped before reaching 0).
<td><b>-to </b> <i>device_state_name</i></td>
<td>Target device state.</td>
</tr>
<tr>
<td><b>-cycles </b> <i>integer</i></td>
<td>Number of cycles after which the transition is assumed to be finished.
</td>
</tr>
</table>
**Example:** *configure_device my_switch -with_timer {4 12}*
**Example:** *configure_time my_switch -from OFF -to ON -cycles 30*
#### create_pmc
......@@ -167,8 +173,8 @@ This page describes the changes to the IEEE standard 1801 (UPF 2.1) that were ma
<td>The PMC will be placed in this domain. Make sure, that it is always on or at least always on if any managed power domain shall be on.</td>
</tr>
<tr>
<td><b>-interface</b> <i>&lt;plain | apb3 | axi4lite | avalon | wishbone&gt;</i></td>
<td>Interface that shall be created to control the PMC by the SoC: Either a plain interface (so timer configuration, mode configuration, status and so on is available as plain inputs and outputs) or a variety of bus interfaces (currently: APB3, AXI4-Lite, Avalon-MM, Wishbone) are supported.</td>
<td><b>-interface</b> <i>&lt;plain | self | apb3 | axi4lite | avalon | wishbone&gt;</i></td>
<td>Interface that shall be created to control the PMC by the SoC: Either a plain interface (so timer configuration, mode configuration, status and so on is available as plain inputs and outputs), self-managed interface (uses the conditions specified in describe_state_transition to derive the next power mode) or a variety of bus interfaces (currently: APB3, AXI4-Lite, Avalon-MM, Wishbone) are supported.</td>
</tr>
<tr>
<td><b>-interface_param</b> {<i> name value </i>}]*</td>
......@@ -369,8 +375,8 @@ This page describes the changes to the IEEE standard 1801 (UPF 2.1) that were ma
<tr>
<th>Syntax</th>
<td colspan=2><b>schedule_strategy</b> <i>pmc_name</i>
<br>[<b>-device</b> {<i>power_switch|voltage_source</i>}]
<br><b>-state</b> {<i>power_switch_state|voltage_source_state|pmc_state</i>}
<br>[<b>-device</b> {<i>power_switch|voltage_source|custom_device</i>}]
<br><b>-state</b> {<i>power_switch_state|voltage_source_state|custom_device_state|pmc_state</i>}
<br><b>-feature</b> {<i>isolation_strategy</i> | <i>retention_strategy</i> | <i>clock_gating_strategy</i> | <i>reset_strategy</i>}
<br>[<b>-enable</b> <i>&lt;before|after&gt;</i>]
<br>[<b>-disable</b> <i>&lt;before|after&gt;</i>]
......@@ -382,12 +388,12 @@ This page describes the changes to the IEEE standard 1801 (UPF 2.1) that were ma
<td>The name of the power state machine.</td>
</tr>
<tr>
<td><b>-device</b> {<i>power_switch|voltage_source</i>}</td>
<td>The name of the voltage source or power switch, in which in the given state this feature gets activated. If device is not given, the name of the state given in <b>-state</b> shall be the name of a power state added to the power management controller given by <pmc_name>.</td>
<td><b>-device</b> {<i>power_switch|voltage_source|custom_device</i>}</td>
<td>The name of the voltage source, power switch or custom device, in which in the given state this feature gets activated. If device is not given, the name of the state given in <b>-state</b> shall be the name of a power state added to the power management controller given by <i>pmc_name</i>.</td>
</tr>
<tr>
<td><b>-state</b> {<i>power_switch_state|voltage_source_state|pmc_state</i>}</td>
<td>The name of the voltage source, power switch or power state machine state where this feature gets activated.</td>
<td><b>-state</b> {<i>power_switch_state|voltage_source_state|custom_device_state|pmc_state</i>}</td>
<td>The name of the voltage source, power switch, custom device or power state machine state where this feature gets activated.</td>
</tr>
<tr>
<td><b>-feature</b> {<i>isolation_strategy</i> | <i>retention_strategy</i> | <i>clock_gating_strategy</i> | <i>reset_strategy</i>}</td>
......@@ -636,10 +642,11 @@ This page describes the changes to the IEEE standard 1801 (UPF 2.1) that were ma
</tr>
<tr>
<td><b>-before</b> {<i>device_name</I> [{<i>device_state_list</i>}]}</td>
<td>List of device states that need to be activated (and finished) before switching to this device state.</td>
</tr>
<tr>
<td><b>-after</b> {<i>device_name</I> [{<i>device_state_list</i>}]}</td>
<td><i>device_name</i> is the rooted name of a device. If <i>device_state_list</i> is given each entry shall reference an existing device state of <i>device_name</i>. If <i>device_state_list</i> is omitted this command applies to all existing device states. If <b>-after</b> is given, the device state (or all device states) specified by <b>-after</b> shall be scheduled <u>after</u> the device states specified using <b>-device</b>.</td>
<td>List of device states that need to be activated after successfully switching to this device state.</td>
</tr>
</table>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment