// Generated by PeakRDL-regblock - A free and open-source SystemVerilog generator
//  https://github.com/SystemRDL/PeakRDL-regblock

package atxmega_spi_pkg;
    typedef struct {
        logic next;
        logic we;
    } atxmega_spi__CTRL__MASTER__in_t;

    typedef struct {
        atxmega_spi__CTRL__MASTER__in_t MASTER;
    } atxmega_spi__CTRL__in_t;

    typedef struct {
        logic next;
        logic we;
    } atxmega_spi__STATUS__WRCOL__in_t;

    typedef struct {
        logic next;
        logic we;
    } atxmega_spi__STATUS__IF__in_t;

    typedef struct {
        atxmega_spi__STATUS__WRCOL__in_t WRCOL;
        atxmega_spi__STATUS__IF__in_t IF;
    } atxmega_spi__STATUS__in_t;

    typedef struct {
        logic [7:0] next;
    } atxmega_spi__DATA__RDATA__in_t;

    typedef struct {
        atxmega_spi__DATA__RDATA__in_t RDATA;
    } atxmega_spi__DATA__in_t;

    typedef struct {
        atxmega_spi__CTRL__in_t CTRL;
        atxmega_spi__STATUS__in_t STATUS;
        atxmega_spi__DATA__in_t DATA;
    } atxmega_spi__in_t;

    typedef struct {
        logic [1:0] value;
    } atxmega_spi__CTRL__PRESCALER__out_t;

    typedef struct {
        logic [1:0] value;
    } atxmega_spi__CTRL__MODE__out_t;

    typedef struct {
        logic value;
    } atxmega_spi__CTRL__MASTER__out_t;

    typedef struct {
        logic value;
    } atxmega_spi__CTRL__DORD__out_t;

    typedef struct {
        logic value;
    } atxmega_spi__CTRL__ENABLE__out_t;

    typedef struct {
        logic value;
    } atxmega_spi__CTRL__CLK2X__out_t;

    typedef struct {
        atxmega_spi__CTRL__PRESCALER__out_t PRESCALER;
        atxmega_spi__CTRL__MODE__out_t MODE;
        atxmega_spi__CTRL__MASTER__out_t MASTER;
        atxmega_spi__CTRL__DORD__out_t DORD;
        atxmega_spi__CTRL__ENABLE__out_t ENABLE;
        atxmega_spi__CTRL__CLK2X__out_t CLK2X;
    } atxmega_spi__CTRL__out_t;

    typedef struct {
        logic [1:0] value;
    } atxmega_spi__INTCTRL__INTLVL__out_t;

    typedef struct {
        atxmega_spi__INTCTRL__INTLVL__out_t INTLVL;
    } atxmega_spi__INTCTRL__out_t;

    typedef struct {
        logic value;
    } atxmega_spi__STATUS__WRCOL__out_t;

    typedef struct {
        logic value;
    } atxmega_spi__STATUS__IF__out_t;

    typedef struct {
        atxmega_spi__STATUS__WRCOL__out_t WRCOL;
        atxmega_spi__STATUS__IF__out_t IF;
    } atxmega_spi__STATUS__out_t;

    typedef struct {
        logic [7:0] value;
    } atxmega_spi__DATA__WDATA__out_t;

    typedef struct {
        atxmega_spi__DATA__WDATA__out_t WDATA;
    } atxmega_spi__DATA__out_t;

    typedef struct {
        atxmega_spi__CTRL__out_t CTRL;
        atxmega_spi__INTCTRL__out_t INTCTRL;
        atxmega_spi__STATUS__out_t STATUS;
        atxmega_spi__DATA__out_t DATA;
    } atxmega_spi__out_t;
endpackage