Package: usbdev_reg_pkg

Description

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

Constants

Name Type Value Description
NEndpoints int 12
NumAlerts int 1
BlockAw int 12 Address widths within the block
BlockAw logic [BlockAw-1:0] undefined Register offsets
BlockAw logic [BlockAw-1:0] 4
BlockAw logic [BlockAw-1:0] 8
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 10
BlockAw logic [BlockAw-1:0] 14
BlockAw logic [BlockAw-1:0] 18
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 20
BlockAw logic [BlockAw-1:0] 24
BlockAw logic [BlockAw-1:0] 28
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 30
BlockAw logic [BlockAw-1:0] 34
BlockAw logic [BlockAw-1:0] 38
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 40
BlockAw logic [BlockAw-1:0] 44
BlockAw logic [BlockAw-1:0] 48
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 50
BlockAw logic [BlockAw-1:0] 54
BlockAw logic [BlockAw-1:0] 58
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 60
BlockAw logic [BlockAw-1:0] 64
BlockAw logic [BlockAw-1:0] 68
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 70
BlockAw logic [BlockAw-1:0] 74
BlockAw logic [BlockAw-1:0] 78
USBDEV_INTR_TEST_RESVAL logic [16:0] undefined Reset values for hwext registers and their fields
USBDEV_INTR_TEST_PKT_RECEIVED_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_PKT_SENT_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_DISCONNECTED_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_HOST_LOST_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_LINK_RESET_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_LINK_SUSPEND_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_LINK_RESUME_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_AV_EMPTY_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_RX_FULL_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_AV_OVERFLOW_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_LINK_IN_ERR_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_RX_CRC_ERR_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_RX_PID_ERR_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_RX_BITSTUFF_ERR_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_FRAME_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_CONNECTED_RESVAL logic [0:0] undefined
USBDEV_INTR_TEST_LINK_OUT_ERR_RESVAL logic [0:0] undefined
USBDEV_ALERT_TEST_RESVAL logic [0:0] undefined
USBDEV_ALERT_TEST_FATAL_FAULT_RESVAL logic [0:0] undefined
USBDEV_USBSTAT_RESVAL logic [31:0] 80000000
USBDEV_USBSTAT_RX_EMPTY_RESVAL logic [0:0] undefined
USBDEV_RXFIFO_RESVAL logic [23:0] undefined
USBDEV_PHY_PINS_SENSE_RESVAL logic [16:0] logic [BlockAw-1:0]
USBDEV_BUFFER_SIZE int unsigned 800
USBDEV_PERMIT logic [3:0] undefined Register width information to check illegal writes

Types

Name Type Description
usbdev_reg2hw_intr_state_reg_t struct packed {
struct packed {
logic q;
} pkt_received;
struct packed {
logic q;
} pkt_sent;
struct packed {
logic q;
} disconnected;
struct packed {
logic q;
} host_lost;
struct packed {
logic q;
} link_reset;
struct packed {
logic q;
} link_suspend;
struct packed {
logic q;
} link_resume;
struct packed {
logic q;
} av_empty;
struct packed {
logic q;
} rx_full;
struct packed {
logic q;
} av_overflow;
struct packed {
logic q;
} link_in_err;
struct packed {
logic q;
} rx_crc_err;
struct packed {
logic q;
} rx_pid_err;
struct packed {
logic q;
} rx_bitstuff_err;
struct packed {
logic q;
} frame;
struct packed {
logic q;
} connected;
struct packed {
logic q;
} link_out_err;
}
////////////////////////// Typedefs for registers // //////////////////////////
usbdev_reg2hw_intr_enable_reg_t struct packed {
struct packed {
logic q;
} pkt_received;
struct packed {
logic q;
} pkt_sent;
struct packed {
logic q;
} disconnected;
struct packed {
logic q;
} host_lost;
struct packed {
logic q;
} link_reset;
struct packed {
logic q;
} link_suspend;
struct packed {
logic q;
} link_resume;
struct packed {
logic q;
} av_empty;
struct packed {
logic q;
} rx_full;
struct packed {
logic q;
} av_overflow;
struct packed {
logic q;
} link_in_err;
struct packed {
logic q;
} rx_crc_err;
struct packed {
logic q;
} rx_pid_err;
struct packed {
logic q;
} rx_bitstuff_err;
struct packed {
logic q;
} frame;
struct packed {
logic q;
} connected;
struct packed {
logic q;
} link_out_err;
}
usbdev_reg2hw_intr_test_reg_t struct packed {
struct packed {
logic q;
logic qe;
} pkt_received;
struct packed {
logic q;
logic qe;
} pkt_sent;
struct packed {
logic q;
logic qe;
} disconnected;
struct packed {
logic q;
logic qe;
} host_lost;
struct packed {
logic q;
logic qe;
} link_reset;
struct packed {
logic q;
logic qe;
} link_suspend;
struct packed {
logic q;
logic qe;
} link_resume;
struct packed {
logic q;
logic qe;
} av_empty;
struct packed {
logic q;
logic qe;
} rx_full;
struct packed {
logic q;
logic qe;
} av_overflow;
struct packed {
logic q;
logic qe;
} link_in_err;
struct packed {
logic q;
logic qe;
} rx_crc_err;
struct packed {
logic q;
logic qe;
} rx_pid_err;
struct packed {
logic q;
logic qe;
} rx_bitstuff_err;
struct packed {
logic q;
logic qe;
} frame;
struct packed {
logic q;
logic qe;
} connected;
struct packed {
logic q;
logic qe;
} link_out_err;
}
usbdev_reg2hw_alert_test_reg_t struct packed {
logic q;
logic qe;
}
usbdev_reg2hw_usbctrl_reg_t struct packed {
struct packed {
logic q;
} enable;
struct packed {
logic [6:0] q;
} device_address;
}
usbdev_reg2hw_avbuffer_reg_t struct packed {
logic [4:0] q;
logic qe;
}
usbdev_reg2hw_rxfifo_reg_t struct packed {
struct packed {
logic [4:0] q;
logic re;
} buffer;
struct packed {
logic [6:0] q;
logic re;
} size;
struct packed {
logic q;
logic re;
} setup;
struct packed {
logic [3:0] q;
logic re;
} ep;
}
usbdev_reg2hw_rxenable_setup_mreg_t struct packed {
logic q;
}
usbdev_reg2hw_rxenable_out_mreg_t struct packed {
logic q;
}
usbdev_reg2hw_stall_mreg_t struct packed {
logic q;
}
usbdev_reg2hw_configin_mreg_t struct packed {
struct packed {
logic [4:0] q;
} buffer;
struct packed {
logic [6:0] q;
} size;
struct packed {
logic q;
} pend;
struct packed {
logic q;
} rdy;
}
usbdev_reg2hw_iso_mreg_t struct packed {
logic q;
}
usbdev_reg2hw_data_toggle_clear_mreg_t struct packed {
logic q;
logic qe;
}
usbdev_reg2hw_phy_pins_drive_reg_t struct packed {
struct packed {
logic q;
} dp_o;
struct packed {
logic q;
} dn_o;
struct packed {
logic q;
} d_o;
struct packed {
logic q;
} se0_o;
struct packed {
logic q;
} oe_o;
struct packed {
logic q;
} tx_mode_se_o;
struct packed {
logic q;
} dp_pullup_en_o;
struct packed {
logic q;
} dn_pullup_en_o;
struct packed {
logic q;
} suspend_o;
struct packed {
logic q;
} en;
}
usbdev_reg2hw_phy_config_reg_t struct packed {
struct packed {
logic q;
} rx_differential_mode;
struct packed {
logic q;
} tx_differential_mode;
struct packed {
logic q;
} eop_single_bit;
struct packed {
logic q;
} override_pwr_sense_en;
struct packed {
logic q;
} override_pwr_sense_val;
struct packed {
logic q;
} pinflip;
struct packed {
logic q;
} usb_ref_disable;
struct packed {
logic q;
} tx_osc_test_mode;
}
usbdev_reg2hw_wake_config_reg_t struct packed {
struct packed {
logic q;
} wake_en;
struct packed {
logic q;
} wake_ack;
}
usbdev_hw2reg_intr_state_reg_t struct packed {
struct packed {
logic d;
logic de;
} pkt_received;
struct packed {
logic d;
logic de;
} pkt_sent;
struct packed {
logic d;
logic de;
} disconnected;
struct packed {
logic d;
logic de;
} host_lost;
struct packed {
logic d;
logic de;
} link_reset;
struct packed {
logic d;
logic de;
} link_suspend;
struct packed {
logic d;
logic de;
} link_resume;
struct packed {
logic d;
logic de;
} av_empty;
struct packed {
logic d;
logic de;
} rx_full;
struct packed {
logic d;
logic de;
} av_overflow;
struct packed {
logic d;
logic de;
} link_in_err;
struct packed {
logic d;
logic de;
} rx_crc_err;
struct packed {
logic d;
logic de;
} rx_pid_err;
struct packed {
logic d;
logic de;
} rx_bitstuff_err;
struct packed {
logic d;
logic de;
} frame;
struct packed {
logic d;
logic de;
} connected;
struct packed {
logic d;
logic de;
} link_out_err;
}
usbdev_hw2reg_usbctrl_reg_t struct packed {
struct packed {
logic [6:0] d;
logic de;
} device_address;
}
usbdev_hw2reg_usbstat_reg_t struct packed {
struct packed {
logic [10:0] d;
} frame;
struct packed {
logic d;
} host_lost;
struct packed {
logic [2:0] d;
} link_state;
struct packed {
logic d;
} sense;
struct packed {
logic [2:0] d;
} av_depth;
struct packed {
logic d;
} av_full;
struct packed {
logic [2:0] d;
} rx_depth;
struct packed {
logic d;
} rx_empty;
}
usbdev_hw2reg_rxfifo_reg_t struct packed {
struct packed {
logic [4:0] d;
} buffer;
struct packed {
logic [6:0] d;
} size;
struct packed {
logic d;
} setup;
struct packed {
logic [3:0] d;
} ep;
}
usbdev_hw2reg_in_sent_mreg_t struct packed {
logic d;
logic de;
}
usbdev_hw2reg_stall_mreg_t struct packed {
logic d;
logic de;
}
usbdev_hw2reg_configin_mreg_t struct packed {
struct packed {
logic d;
logic de;
} pend;
struct packed {
logic d;
logic de;
} rdy;
}
usbdev_hw2reg_phy_pins_sense_reg_t struct packed {
struct packed {
logic d;
} rx_dp_i;
struct packed {
logic d;
} rx_dn_i;
struct packed {
logic d;
} rx_d_i;
struct packed {
logic d;
} tx_dp_o;
struct packed {
logic d;
} tx_dn_o;
struct packed {
logic d;
} tx_d_o;
struct packed {
logic d;
} tx_se0_o;
struct packed {
logic d;
} tx_oe_o;
struct packed {
logic d;
} suspend_o;
struct packed {
logic d;
} pwr_sense;
}
usbdev_hw2reg_wake_debug_reg_t struct packed {
logic [2:0] d;
logic de;
}
usbdev_reg2hw_rxenable_setup_mreg_t struct packed {
usbdev_reg2hw_intr_state_reg_t intr_state;
usbdev_reg2hw_intr_enable_reg_t intr_enable;
usbdev_reg2hw_intr_test_reg_t intr_test;
usbdev_reg2hw_alert_test_reg_t alert_test;
usbdev_reg2hw_usbctrl_reg_t usbctrl;
usbdev_reg2hw_avbuffer_reg_t avbuffer;
usbdev_reg2hw_rxfifo_reg_t rxfifo;
usbdev_reg2hw_rxenable_setup_mreg_t [11:0] rxenable_setup;
usbdev_reg2hw_rxenable_out_mreg_t [11:0] rxenable_out;
usbdev_reg2hw_stall_mreg_t [11:0] stall;
usbdev_reg2hw_configin_mreg_t [11:0] configin;
usbdev_reg2hw_iso_mreg_t [11:0] iso;
usbdev_reg2hw_data_toggle_clear_mreg_t [11:0] data_toggle_clear;
usbdev_reg2hw_phy_pins_drive_reg_t phy_pins_drive;
usbdev_reg2hw_phy_config_reg_t phy_config;
usbdev_reg2hw_wake_config_reg_t wake_config;
}
Register -> HW type
usbdev_hw2reg_in_sent_mreg_t struct packed {
usbdev_hw2reg_intr_state_reg_t intr_state;
usbdev_hw2reg_usbctrl_reg_t usbctrl;
usbdev_hw2reg_usbstat_reg_t usbstat;
usbdev_hw2reg_rxfifo_reg_t rxfifo;
usbdev_hw2reg_in_sent_mreg_t [11:0] in_sent;
usbdev_hw2reg_stall_mreg_t [11:0] stall;
usbdev_hw2reg_configin_mreg_t [11:0] configin;
usbdev_hw2reg_phy_pins_sense_reg_t phy_pins_sense;
usbdev_hw2reg_wake_debug_reg_t wake_debug;
}
HW -> register type
usbdev_id_e enum int {
USBDEV_INTR_STATE,
USBDEV_INTR_ENABLE,
USBDEV_INTR_TEST,
USBDEV_ALERT_TEST,
USBDEV_USBCTRL,
USBDEV_USBSTAT,
USBDEV_AVBUFFER,
USBDEV_RXFIFO,
USBDEV_RXENABLE_SETUP,
USBDEV_RXENABLE_OUT,
USBDEV_IN_SENT,
USBDEV_STALL,
USBDEV_CONFIGIN_0,
USBDEV_CONFIGIN_1,
USBDEV_CONFIGIN_2,
USBDEV_CONFIGIN_3,
USBDEV_CONFIGIN_4,
USBDEV_CONFIGIN_5,
USBDEV_CONFIGIN_6,
USBDEV_CONFIGIN_7,
USBDEV_CONFIGIN_8,
USBDEV_CONFIGIN_9,
USBDEV_CONFIGIN_10,
USBDEV_CONFIGIN_11,
USBDEV_ISO,
USBDEV_DATA_TOGGLE_CLEAR,
USBDEV_PHY_PINS_SENSE,
USBDEV_PHY_PINS_DRIVE,
USBDEV_PHY_CONFIG,
USBDEV_WAKE_CONFIG,
USBDEV_WAKE_DEBUG }
Register index