../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: