../src/lowrisc_ip_pinmux_component_0.1/rtl/pinmux_pkg.sv Cov: 100%
1: // Copyright lowRISC contributors.
2: // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3: // SPDX-License-Identifier: Apache-2.0
4:
5: package pinmux_pkg;
6:
7: // Wakeup Detector Modes
8: typedef enum logic [2:0] {
9: Disabled = 3'b000,
10: Negedge = 3'b001,
11: Posedge = 3'b010,
12: Edge = 3'b011,
13: LowTimed = 3'b100,
14: HighTimed = 3'b101
15: } wkup_mode_e;
16:
17: // Interface with LC controller
18: parameter int NStraps = 2;
19: // Strap sampling is only supported on MIOs at the moment
20: parameter int MioStrapPos [0:NStraps-1] = '{1, 0};
21:
22: typedef struct packed {
23: logic sample_pulse;
24: } lc_strap_req_t;
25:
26: parameter lc_strap_req_t LC_PINMUX_STRAP_REQ_DEFAULT = '{
27: sample_pulse: 1'b0
28: };
29:
30: typedef struct packed {
31: logic valid;
32: logic [NStraps-1:0] straps;
33: } lc_strap_rsp_t;
34:
35: endpackage : pinmux_pkg
36: