blob: cf43d0e4b4e15794e0dc9c6bf2d91469305fcce1 [file] [log] [blame]
// 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 usbdev_reg_pkg;
// Register to internal design logic
typedef struct packed {
struct packed {
struct packed {
logic q; // [278]
} pkt_received;
struct packed {
logic q; // [277]
} pkt_sent;
struct packed {
logic q; // [276]
} disconnected;
struct packed {
logic q; // [275]
} host_lost;
struct packed {
logic q; // [274]
} link_reset;
struct packed {
logic q; // [273]
} link_suspend;
struct packed {
logic q; // [272]
} link_resume;
struct packed {
logic q; // [271]
} av_empty;
struct packed {
logic q; // [270]
} rx_full;
struct packed {
logic q; // [269]
} av_overflow;
} intr_state;
struct packed {
struct packed {
logic q; // [268]
} pkt_received;
struct packed {
logic q; // [267]
} pkt_sent;
struct packed {
logic q; // [266]
} disconnected;
struct packed {
logic q; // [265]
} host_lost;
struct packed {
logic q; // [264]
} link_reset;
struct packed {
logic q; // [263]
} link_suspend;
struct packed {
logic q; // [262]
} link_resume;
struct packed {
logic q; // [261]
} av_empty;
struct packed {
logic q; // [260]
} rx_full;
struct packed {
logic q; // [259]
} av_overflow;
} intr_enable;
struct packed {
struct packed {
logic q; // [258]
logic qe; // [257]
} pkt_received;
struct packed {
logic q; // [256]
logic qe; // [255]
} pkt_sent;
struct packed {
logic q; // [254]
logic qe; // [253]
} disconnected;
struct packed {
logic q; // [252]
logic qe; // [251]
} host_lost;
struct packed {
logic q; // [250]
logic qe; // [249]
} link_reset;
struct packed {
logic q; // [248]
logic qe; // [247]
} link_suspend;
struct packed {
logic q; // [246]
logic qe; // [245]
} link_resume;
struct packed {
logic q; // [244]
logic qe; // [243]
} av_empty;
struct packed {
logic q; // [242]
logic qe; // [241]
} rx_full;
struct packed {
logic q; // [240]
logic qe; // [239]
} av_overflow;
} intr_test;
struct packed {
struct packed {
logic q; // [238]
} enable;
struct packed {
logic [6:0] q; // [237:231]
} device_address;
} usbctrl;
struct packed {
logic [4:0] q; // [230:226]
logic qe; // [225]
} avbuffer;
struct packed {
struct packed {
logic [4:0] q; // [224:220]
logic re; // [219]
} buffer;
struct packed {
logic [6:0] q; // [218:212]
logic re; // [211]
} size;
struct packed {
logic q; // [210]
logic re; // [209]
} setup;
struct packed {
logic [3:0] q; // [208:205]
logic re; // [204]
} ep;
} rxfifo;
struct packed {
struct packed {
logic q; // [203]
} setup0;
struct packed {
logic q; // [202]
} setup1;
struct packed {
logic q; // [201]
} setup2;
struct packed {
logic q; // [200]
} setup3;
struct packed {
logic q; // [199]
} setup4;
struct packed {
logic q; // [198]
} setup5;
struct packed {
logic q; // [197]
} setup6;
struct packed {
logic q; // [196]
} setup7;
struct packed {
logic q; // [195]
} setup8;
struct packed {
logic q; // [194]
} setup9;
struct packed {
logic q; // [193]
} setup10;
struct packed {
logic q; // [192]
} setup11;
struct packed {
logic q; // [191]
} out0;
struct packed {
logic q; // [190]
} out1;
struct packed {
logic q; // [189]
} out2;
struct packed {
logic q; // [188]
} out3;
struct packed {
logic q; // [187]
} out4;
struct packed {
logic q; // [186]
} out5;
struct packed {
logic q; // [185]
} out6;
struct packed {
logic q; // [184]
} out7;
struct packed {
logic q; // [183]
} out8;
struct packed {
logic q; // [182]
} out9;
struct packed {
logic q; // [181]
} out10;
struct packed {
logic q; // [180]
} out11;
} rxenable;
struct packed {
struct packed {
logic q; // [179]
} stall0;
struct packed {
logic q; // [178]
} stall1;
struct packed {
logic q; // [177]
} stall2;
struct packed {
logic q; // [176]
} stall3;
struct packed {
logic q; // [175]
} stall4;
struct packed {
logic q; // [174]
} stall5;
struct packed {
logic q; // [173]
} stall6;
struct packed {
logic q; // [172]
} stall7;
struct packed {
logic q; // [171]
} stall8;
struct packed {
logic q; // [170]
} stall9;
struct packed {
logic q; // [169]
} stall10;
struct packed {
logic q; // [168]
} stall11;
} stall;
struct packed {
struct packed {
logic [4:0] q; // [167:163]
} buffer0;
struct packed {
logic [6:0] q; // [162:156]
} size0;
struct packed {
logic q; // [155]
} pend0;
struct packed {
logic q; // [154]
} rdy0;
} configin0;
struct packed {
struct packed {
logic [4:0] q; // [153:149]
} buffer1;
struct packed {
logic [6:0] q; // [148:142]
} size1;
struct packed {
logic q; // [141]
} pend1;
struct packed {
logic q; // [140]
} rdy1;
} configin1;
struct packed {
struct packed {
logic [4:0] q; // [139:135]
} buffer2;
struct packed {
logic [6:0] q; // [134:128]
} size2;
struct packed {
logic q; // [127]
} pend2;
struct packed {
logic q; // [126]
} rdy2;
} configin2;
struct packed {
struct packed {
logic [4:0] q; // [125:121]
} buffer3;
struct packed {
logic [6:0] q; // [120:114]
} size3;
struct packed {
logic q; // [113]
} pend3;
struct packed {
logic q; // [112]
} rdy3;
} configin3;
struct packed {
struct packed {
logic [4:0] q; // [111:107]
} buffer4;
struct packed {
logic [6:0] q; // [106:100]
} size4;
struct packed {
logic q; // [99]
} pend4;
struct packed {
logic q; // [98]
} rdy4;
} configin4;
struct packed {
struct packed {
logic [4:0] q; // [97:93]
} buffer5;
struct packed {
logic [6:0] q; // [92:86]
} size5;
struct packed {
logic q; // [85]
} pend5;
struct packed {
logic q; // [84]
} rdy5;
} configin5;
struct packed {
struct packed {
logic [4:0] q; // [83:79]
} buffer6;
struct packed {
logic [6:0] q; // [78:72]
} size6;
struct packed {
logic q; // [71]
} pend6;
struct packed {
logic q; // [70]
} rdy6;
} configin6;
struct packed {
struct packed {
logic [4:0] q; // [69:65]
} buffer7;
struct packed {
logic [6:0] q; // [64:58]
} size7;
struct packed {
logic q; // [57]
} pend7;
struct packed {
logic q; // [56]
} rdy7;
} configin7;
struct packed {
struct packed {
logic [4:0] q; // [55:51]
} buffer8;
struct packed {
logic [6:0] q; // [50:44]
} size8;
struct packed {
logic q; // [43]
} pend8;
struct packed {
logic q; // [42]
} rdy8;
} configin8;
struct packed {
struct packed {
logic [4:0] q; // [41:37]
} buffer9;
struct packed {
logic [6:0] q; // [36:30]
} size9;
struct packed {
logic q; // [29]
} pend9;
struct packed {
logic q; // [28]
} rdy9;
} configin9;
struct packed {
struct packed {
logic [4:0] q; // [27:23]
} buffer10;
struct packed {
logic [6:0] q; // [22:16]
} size10;
struct packed {
logic q; // [15]
} pend10;
struct packed {
logic q; // [14]
} rdy10;
} configin10;
struct packed {
struct packed {
logic [4:0] q; // [13:9]
} buffer11;
struct packed {
logic [6:0] q; // [8:2]
} size11;
struct packed {
logic q; // [1]
} pend11;
struct packed {
logic q; // [0]
} rdy11;
} configin11;
} usbdev_reg2hw_t;
// Internal design logic to register
typedef struct packed {
struct packed {
struct packed {
logic d; // [139]
logic de; // [138]
} pkt_received;
struct packed {
logic d; // [137]
logic de; // [136]
} pkt_sent;
struct packed {
logic d; // [135]
logic de; // [134]
} disconnected;
struct packed {
logic d; // [133]
logic de; // [132]
} host_lost;
struct packed {
logic d; // [131]
logic de; // [130]
} link_reset;
struct packed {
logic d; // [129]
logic de; // [128]
} link_suspend;
struct packed {
logic d; // [127]
logic de; // [126]
} link_resume;
struct packed {
logic d; // [125]
logic de; // [124]
} av_empty;
struct packed {
logic d; // [123]
logic de; // [122]
} rx_full;
struct packed {
logic d; // [121]
logic de; // [120]
} av_overflow;
} intr_state;
struct packed {
struct packed {
logic [6:0] d; // [119:113]
logic de; // [112]
} device_address;
} usbctrl;
struct packed {
struct packed {
logic [10:0] d; // [111:101]
} frame;
struct packed {
logic d; // [100]
} host_lost;
struct packed {
logic [1:0] d; // [99:98]
} link_state;
struct packed {
logic d; // [97]
} usb_sense;
struct packed {
logic [2:0] d; // [96:94]
} av_depth;
struct packed {
logic d; // [93]
} av_full;
struct packed {
logic [2:0] d; // [92:90]
} rx_depth;
struct packed {
logic d; // [89]
} rx_empty;
} usbstat;
struct packed {
struct packed {
logic [4:0] d; // [88:84]
} buffer;
struct packed {
logic [6:0] d; // [83:77]
} size;
struct packed {
logic d; // [76]
} setup;
struct packed {
logic [3:0] d; // [75:72]
} ep;
} rxfifo;
struct packed {
struct packed {
logic d; // [71]
logic de; // [70]
} sent0;
struct packed {
logic d; // [69]
logic de; // [68]
} sent1;
struct packed {
logic d; // [67]
logic de; // [66]
} sent2;
struct packed {
logic d; // [65]
logic de; // [64]
} sent3;
struct packed {
logic d; // [63]
logic de; // [62]
} sent4;
struct packed {
logic d; // [61]
logic de; // [60]
} sent5;
struct packed {
logic d; // [59]
logic de; // [58]
} sent6;
struct packed {
logic d; // [57]
logic de; // [56]
} sent7;
struct packed {
logic d; // [55]
logic de; // [54]
} sent8;
struct packed {
logic d; // [53]
logic de; // [52]
} sent9;
struct packed {
logic d; // [51]
logic de; // [50]
} sent10;
struct packed {
logic d; // [49]
logic de; // [48]
} sent11;
} in_sent;
struct packed {
struct packed {
logic d; // [47]
logic de; // [46]
} pend0;
struct packed {
logic d; // [45]
logic de; // [44]
} rdy0;
} configin0;
struct packed {
struct packed {
logic d; // [43]
logic de; // [42]
} pend1;
struct packed {
logic d; // [41]
logic de; // [40]
} rdy1;
} configin1;
struct packed {
struct packed {
logic d; // [39]
logic de; // [38]
} pend2;
struct packed {
logic d; // [37]
logic de; // [36]
} rdy2;
} configin2;
struct packed {
struct packed {
logic d; // [35]
logic de; // [34]
} pend3;
struct packed {
logic d; // [33]
logic de; // [32]
} rdy3;
} configin3;
struct packed {
struct packed {
logic d; // [31]
logic de; // [30]
} pend4;
struct packed {
logic d; // [29]
logic de; // [28]
} rdy4;
} configin4;
struct packed {
struct packed {
logic d; // [27]
logic de; // [26]
} pend5;
struct packed {
logic d; // [25]
logic de; // [24]
} rdy5;
} configin5;
struct packed {
struct packed {
logic d; // [23]
logic de; // [22]
} pend6;
struct packed {
logic d; // [21]
logic de; // [20]
} rdy6;
} configin6;
struct packed {
struct packed {
logic d; // [19]
logic de; // [18]
} pend7;
struct packed {
logic d; // [17]
logic de; // [16]
} rdy7;
} configin7;
struct packed {
struct packed {
logic d; // [15]
logic de; // [14]
} pend8;
struct packed {
logic d; // [13]
logic de; // [12]
} rdy8;
} configin8;
struct packed {
struct packed {
logic d; // [11]
logic de; // [10]
} pend9;
struct packed {
logic d; // [9]
logic de; // [8]
} rdy9;
} configin9;
struct packed {
struct packed {
logic d; // [7]
logic de; // [6]
} pend10;
struct packed {
logic d; // [5]
logic de; // [4]
} rdy10;
} configin10;
struct packed {
struct packed {
logic d; // [3]
logic de; // [2]
} pend11;
struct packed {
logic d; // [1]
logic de; // [0]
} rdy11;
} configin11;
} usbdev_hw2reg_t;
// Register Address
parameter USBDEV_INTR_STATE_OFFSET = 12'h 0;
parameter USBDEV_INTR_ENABLE_OFFSET = 12'h 4;
parameter USBDEV_INTR_TEST_OFFSET = 12'h 8;
parameter USBDEV_USBCTRL_OFFSET = 12'h c;
parameter USBDEV_USBSTAT_OFFSET = 12'h 10;
parameter USBDEV_AVBUFFER_OFFSET = 12'h 14;
parameter USBDEV_RXFIFO_OFFSET = 12'h 18;
parameter USBDEV_RXENABLE_OFFSET = 12'h 1c;
parameter USBDEV_IN_SENT_OFFSET = 12'h 20;
parameter USBDEV_STALL_OFFSET = 12'h 24;
parameter USBDEV_CONFIGIN0_OFFSET = 12'h 28;
parameter USBDEV_CONFIGIN1_OFFSET = 12'h 2c;
parameter USBDEV_CONFIGIN2_OFFSET = 12'h 30;
parameter USBDEV_CONFIGIN3_OFFSET = 12'h 34;
parameter USBDEV_CONFIGIN4_OFFSET = 12'h 38;
parameter USBDEV_CONFIGIN5_OFFSET = 12'h 3c;
parameter USBDEV_CONFIGIN6_OFFSET = 12'h 40;
parameter USBDEV_CONFIGIN7_OFFSET = 12'h 44;
parameter USBDEV_CONFIGIN8_OFFSET = 12'h 48;
parameter USBDEV_CONFIGIN9_OFFSET = 12'h 4c;
parameter USBDEV_CONFIGIN10_OFFSET = 12'h 50;
parameter USBDEV_CONFIGIN11_OFFSET = 12'h 54;
endpackage