blob: ddda2545c1a89dbd743bf0aba81217fc15da98bf [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
package pinmux_pkg;
// Wakeup Detector Modes
typedef enum logic [2:0] {
Disabled = 3'b000,
Negedge = 3'b001,
Posedge = 3'b010,
Edge = 3'b011,
LowTimed = 3'b100,
HighTimed = 3'b101
} wkup_mode_e;
// Number of IO power OK signals
parameter int NIOPokSignals = 2;
typedef struct packed {
logic [NIOPokSignals-1:0] domain;
} io_pok_req_t;
// DFT Test Mode straps
parameter int NDFTStraps = 2;
// Strap sampling is only supported on MIOs at the moment
parameter int DftStrapPos [NDFTStraps] = '{3, 2};
// Interface with LC controller
typedef struct packed {
logic valid;
logic [NDFTStraps-1:0] straps;
} dft_strap_test_req_t;
// Life cycle DFT straps for TAP select
parameter int NLcStraps = 2;
// Strap sampling is only supported on MIOs at the moment
parameter int LcStrapPos [NLcStraps] = '{1, 0};
// Interface with LC controller
typedef struct packed {
logic sample_pulse;
} lc_strap_req_t;
typedef struct packed {
logic valid;
logic [NLcStraps-1:0] straps;
} lc_strap_rsp_t;
endpackage : pinmux_pkg