Referring to the Comportable guideline for peripheral device functionality, the module sensor_ctrl
has the following hardware interfaces defined
- Primary Clock:
clk_i
- Other Clocks:
clk_aon_i
- Bus Device Interfaces (TL-UL):
tl
- Bus Host Interfaces (TL-UL): none
- Security Countermeasures: none
Pin name | Direction | Description |
ast_debug_out[8:0] | output | ast debug outputs to pinmux |
Port Name | Package::Struct | Type | Act | Width | Description |
ast_alert | ast_pkg::ast_alert | req_rsp | rsp | 1 | |
ast_status | ast_pkg::ast_status | uni | rcv | 1 | |
ast_init_done | prim_mubi_pkg::mubi4 | uni | rcv | 1 | |
ast2pinmux | logic | uni | rcv | 9 | |
wkup_req | logic | uni | req | 1 | |
tl | tlul_pkg::tl | req_rsp | rsp | 1 | |
Interrupt Name | Type | Description |
io_status_change | Event | io power status has changed |
init_status_change | Event | ast init status has changed |
Alert Name | Description |
recov_alert | recoverable sensor_ctrl alerts |
fatal_alert | fatal sensor_ctrl alerts |
Name | Offset | Length | Description |
sensor_ctrl.INTR_STATE | 0x0 | 4 | Interrupt State Register |
sensor_ctrl.INTR_ENABLE | 0x4 | 4 | Interrupt Enable Register |
sensor_ctrl.INTR_TEST | 0x8 | 4 | Interrupt Test Register |
sensor_ctrl.ALERT_TEST | 0xc | 4 | Alert Test Register |
sensor_ctrl.CFG_REGWEN | 0x10 | 4 | Controls the configurability of !!FATAL_ALERT_EN register. |
sensor_ctrl.ALERT_TRIG | 0x14 | 4 | Alert trigger test |
sensor_ctrl.ALERT_EN_0 | 0x18 | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_1 | 0x1c | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_2 | 0x20 | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_3 | 0x24 | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_4 | 0x28 | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_5 | 0x2c | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_6 | 0x30 | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_7 | 0x34 | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_8 | 0x38 | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_9 | 0x3c | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.ALERT_EN_10 | 0x40 | 4 | Each multibit value enables a corresponding alert. |
sensor_ctrl.FATAL_ALERT_EN | 0x44 | 4 | Each bit marks a corresponding alert as fatal or recoverable. |
sensor_ctrl.RECOV_ALERT | 0x48 | 4 | Each bit represents a recoverable alert that has been triggered by AST. |
sensor_ctrl.FATAL_ALERT | 0x4c | 4 | Each bit represents a fatal alert that has been triggered by AST. |
sensor_ctrl.STATUS | 0x50 | 4 | Status readback for ast |
Interrupt State Register
- Offset:
0x0
- Reset default:
0x0
- Reset mask:
0x3
{"reg": [{"name": "io_status_change", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "init_status_change", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"bits": 30}], "config": {"lanes": 1, "fontsize": 10, "vspace": 200}}
Bits | Type | Reset | Name | Description |
31:2 | | | | Reserved |
1 | rw1c | 0x0 | init_status_change | ast init status has changed |
0 | rw1c | 0x0 | io_status_change | io power status has changed |
Interrupt Enable Register
- Offset:
0x4
- Reset default:
0x0
- Reset mask:
0x3
{"reg": [{"name": "io_status_change", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "init_status_change", "bits": 1, "attr": ["rw"], "rotate": -90}, {"bits": 30}], "config": {"lanes": 1, "fontsize": 10, "vspace": 200}}
Interrupt Test Register
- Offset:
0x8
- Reset default:
0x0
- Reset mask:
0x3
{"reg": [{"name": "io_status_change", "bits": 1, "attr": ["wo"], "rotate": -90}, {"name": "init_status_change", "bits": 1, "attr": ["wo"], "rotate": -90}, {"bits": 30}], "config": {"lanes": 1, "fontsize": 10, "vspace": 200}}
Alert Test Register
- Offset:
0xc
- Reset default:
0x0
- Reset mask:
0x3
{"reg": [{"name": "recov_alert", "bits": 1, "attr": ["wo"], "rotate": -90}, {"name": "fatal_alert", "bits": 1, "attr": ["wo"], "rotate": -90}, {"bits": 30}], "config": {"lanes": 1, "fontsize": 10, "vspace": 130}}
Bits | Type | Reset | Name | Description |
31:2 | | | | Reserved |
1 | wo | 0x0 | fatal_alert | Write 1 to trigger one alert event of this kind. |
0 | wo | 0x0 | recov_alert | Write 1 to trigger one alert event of this kind. |
Controls the configurability of FATAL_ALERT_EN
register.
- Offset:
0x10
- Reset default:
0x1
- Reset mask:
0x1
{"reg": [{"name": "EN", "bits": 1, "attr": ["rw0c"], "rotate": -90}, {"bits": 31}], "config": {"lanes": 1, "fontsize": 10, "vspace": 80}}
Bits | Type | Reset | Name | Description |
31:1 | | | | Reserved |
0 | rw0c | 0x1 | EN | Configuration enable. |
Alert trigger test
- Offset:
0x14
- Reset default:
0x0
- Reset mask:
0x7ff
{"reg": [{"name": "VAL_0", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_1", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_2", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_3", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_4", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_5", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_6", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_7", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_8", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_9", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_10", "bits": 1, "attr": ["rw"], "rotate": -90}, {"bits": 21}], "config": {"lanes": 1, "fontsize": 10, "vspace": 80}}
Bits | Type | Reset | Name | Description |
31:11 | | | | Reserved |
10 | rw | 0x0 | VAL_10 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
9 | rw | 0x0 | VAL_9 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
8 | rw | 0x0 | VAL_8 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
7 | rw | 0x0 | VAL_7 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
6 | rw | 0x0 | VAL_6 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
5 | rw | 0x0 | VAL_5 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
4 | rw | 0x0 | VAL_4 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
3 | rw | 0x0 | VAL_3 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
2 | rw | 0x0 | VAL_2 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
1 | rw | 0x0 | VAL_1 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
0 | rw | 0x0 | VAL_0 | Alert trigger for testing 0 No alerts triggered 1 Continuously trigger alert until disabled For bit mapping, please see ALERT_TEST |
Each multibit value enables a corresponding alert.
- Reset default:
0x9
- Reset mask:
0xf
Name | Offset |
ALERT_EN_0 | 0x18 |
ALERT_EN_1 | 0x1c |
ALERT_EN_2 | 0x20 |
ALERT_EN_3 | 0x24 |
ALERT_EN_4 | 0x28 |
ALERT_EN_5 | 0x2c |
ALERT_EN_6 | 0x30 |
ALERT_EN_7 | 0x34 |
ALERT_EN_8 | 0x38 |
ALERT_EN_9 | 0x3c |
ALERT_EN_10 | 0x40 |
{"reg": [{"name": "VAL", "bits": 4, "attr": ["rw"], "rotate": 0}, {"bits": 28}], "config": {"lanes": 1, "fontsize": 10, "vspace": 80}}
Bits | Type | Reset | Name | Description |
31:4 | | | | Reserved |
3:0 | rw | 0x9 | VAL | kMultiBitBool4True - An alert event is enabled. kMultiBitBool4False - An alert event is disabled. |
Each bit marks a corresponding alert as fatal or recoverable.
Note that alerts are ignored if they are not enabled in ALERT_EN.
- Offset:
0x44
- Reset default:
0x0
- Reset mask:
0x7ff
- Register enable:
CFG_REGWEN
{"reg": [{"name": "VAL_0", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_1", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_2", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_3", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_4", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_5", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_6", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_7", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_8", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_9", "bits": 1, "attr": ["rw"], "rotate": -90}, {"name": "VAL_10", "bits": 1, "attr": ["rw"], "rotate": -90}, {"bits": 21}], "config": {"lanes": 1, "fontsize": 10, "vspace": 80}}
Bits | Type | Reset | Name | Description |
31:11 | | | | Reserved |
10 | rw | 0x0 | VAL_10 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
9 | rw | 0x0 | VAL_9 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
8 | rw | 0x0 | VAL_8 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
7 | rw | 0x0 | VAL_7 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
6 | rw | 0x0 | VAL_6 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
5 | rw | 0x0 | VAL_5 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
4 | rw | 0x0 | VAL_4 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
3 | rw | 0x0 | VAL_3 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
2 | rw | 0x0 | VAL_2 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
1 | rw | 0x0 | VAL_1 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
0 | rw | 0x0 | VAL_0 | 1 - An alert event is fatal. 0 - An alert event is recoverable. |
Each bit represents a recoverable alert that has been triggered by AST.
Since these are recoverable alerts, they can be cleared by software.
- Offset:
0x48
- Reset default:
0x0
- Reset mask:
0x7ff
{"reg": [{"name": "VAL_0", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_1", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_2", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_3", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_4", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_5", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_6", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_7", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_8", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_9", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"name": "VAL_10", "bits": 1, "attr": ["rw1c"], "rotate": -90}, {"bits": 21}], "config": {"lanes": 1, "fontsize": 10, "vspace": 80}}
Bits | Type | Reset | Name | Description |
31:11 | | | | Reserved |
10 | rw1c | 0x0 | VAL_10 | 1 - An alert event has been set 0 - No alert event has been set |
9 | rw1c | 0x0 | VAL_9 | 1 - An alert event has been set 0 - No alert event has been set |
8 | rw1c | 0x0 | VAL_8 | 1 - An alert event has been set 0 - No alert event has been set |
7 | rw1c | 0x0 | VAL_7 | 1 - An alert event has been set 0 - No alert event has been set |
6 | rw1c | 0x0 | VAL_6 | 1 - An alert event has been set 0 - No alert event has been set |
5 | rw1c | 0x0 | VAL_5 | 1 - An alert event has been set 0 - No alert event has been set |
4 | rw1c | 0x0 | VAL_4 | 1 - An alert event has been set 0 - No alert event has been set |
3 | rw1c | 0x0 | VAL_3 | 1 - An alert event has been set 0 - No alert event has been set |
2 | rw1c | 0x0 | VAL_2 | 1 - An alert event has been set 0 - No alert event has been set |
1 | rw1c | 0x0 | VAL_1 | 1 - An alert event has been set 0 - No alert event has been set |
0 | rw1c | 0x0 | VAL_0 | 1 - An alert event has been set 0 - No alert event has been set |
Each bit represents a fatal alert that has been triggered by AST.
Since these registers represent fatal alerts, they cannot be cleared.
The lower bits are used for ast alert events.
The upper bits are used for local events.
- Offset:
0x4c
- Reset default:
0x0
- Reset mask:
0xfff
{"reg": [{"name": "VAL_0", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_1", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_2", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_3", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_4", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_5", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_6", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_7", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_8", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_9", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_10", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "VAL_11", "bits": 1, "attr": ["ro"], "rotate": -90}, {"bits": 20}], "config": {"lanes": 1, "fontsize": 10, "vspace": 80}}
Bits | Type | Reset | Name | Description |
31:12 | | | | Reserved |
11 | ro | 0x0 | VAL_11 | 1 - An alert event has been set 0 - No alert event has been set |
10 | ro | 0x0 | VAL_10 | 1 - An alert event has been set 0 - No alert event has been set |
9 | ro | 0x0 | VAL_9 | 1 - An alert event has been set 0 - No alert event has been set |
8 | ro | 0x0 | VAL_8 | 1 - An alert event has been set 0 - No alert event has been set |
7 | ro | 0x0 | VAL_7 | 1 - An alert event has been set 0 - No alert event has been set |
6 | ro | 0x0 | VAL_6 | 1 - An alert event has been set 0 - No alert event has been set |
5 | ro | 0x0 | VAL_5 | 1 - An alert event has been set 0 - No alert event has been set |
4 | ro | 0x0 | VAL_4 | 1 - An alert event has been set 0 - No alert event has been set |
3 | ro | 0x0 | VAL_3 | 1 - An alert event has been set 0 - No alert event has been set |
2 | ro | 0x0 | VAL_2 | 1 - An alert event has been set 0 - No alert event has been set |
1 | ro | 0x0 | VAL_1 | 1 - An alert event has been set 0 - No alert event has been set |
0 | ro | 0x0 | VAL_0 | 1 - An alert event has been set 0 - No alert event has been set |
Status readback for ast
- Offset:
0x50
- Reset default:
0x0
- Reset mask:
0x7
{"reg": [{"name": "ast_init_done", "bits": 1, "attr": ["ro"], "rotate": -90}, {"name": "io_pok", "bits": 2, "attr": ["ro"], "rotate": -90}, {"bits": 29}], "config": {"lanes": 1, "fontsize": 10, "vspace": 150}}
Bits | Type | Reset | Name | Description |
31:3 | | | | Reserved |
2:1 | ro | 0x0 | io_pok | IO power is ready |
0 | ro | 0x0 | ast_init_done | AST has finished initializing |