tinyriscv/rtl/perips/pinmux/pinmux_reg_pkg.sv

87 lines
1.9 KiB
Systemverilog

// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
//
// Register Package auto-generated by `reggen` containing data structure
package pinmux_reg_pkg;
// Address widths within the block
parameter int BlockAw = 2;
////////////////////////////
// Typedefs for registers //
////////////////////////////
typedef struct packed {
struct packed {
logic [1:0] q;
} io0_mux;
struct packed {
logic [1:0] q;
} io1_mux;
struct packed {
logic [1:0] q;
} io2_mux;
struct packed {
logic [1:0] q;
} io3_mux;
struct packed {
logic [1:0] q;
} io4_mux;
struct packed {
logic [1:0] q;
} io5_mux;
struct packed {
logic [1:0] q;
} io6_mux;
struct packed {
logic [1:0] q;
} io7_mux;
struct packed {
logic [1:0] q;
} io8_mux;
struct packed {
logic [1:0] q;
} io9_mux;
struct packed {
logic [1:0] q;
} io10_mux;
struct packed {
logic [1:0] q;
} io11_mux;
struct packed {
logic [1:0] q;
} io12_mux;
struct packed {
logic [1:0] q;
} io13_mux;
struct packed {
logic [1:0] q;
} io14_mux;
struct packed {
logic [1:0] q;
} io15_mux;
} pinmux_reg2hw_ctrl_reg_t;
// Register -> HW type
typedef struct packed {
pinmux_reg2hw_ctrl_reg_t ctrl; // [31:0]
} pinmux_reg2hw_t;
// Register offsets
parameter logic [BlockAw-1:0] PINMUX_CTRL_OFFSET = 2'h0;
// Register index
typedef enum int {
PINMUX_CTRL
} pinmux_id_e;
// Register width information to check illegal writes
parameter logic [3:0] PINMUX_PERMIT [1] = '{
4'b1111 // index[0] PINMUX_CTRL
};
endpackage