addrmap MPFS_CAN {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Low";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } Low @ 0x0;
    reg {
        name="High";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } High @ 0x4;
} Offset_addrmap;
addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="InterruptStatus";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ARB_LOSS[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OVR_LOAD[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BIT_ERR[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STUFF_ERR[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ACK_ERR[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FORM_ERR[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CRC_ERR[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BUS_OFF[9:9];
            field {
                sw = wr;
                onwrite = woclr;
            } RX_MSG_LOSS[10:10];
            field {
                sw = wr;
                onwrite = woclr;
            } TX_MSG[11:11];
            field {
                sw = wr;
                onwrite = woclr;
            } RX_MSG[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RTR_MSG[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STUCK_AT_0[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SST_FAILURE[15:15];
    } InterruptStatus @ 0x0;
    reg {
        name="InterruptEnable";
        regwidth=0x20;
            field {
                sw = rw;
            } Int_enbl[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } arb_loss_enbl[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ovr_load_enbl[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } bit_err_enbl[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } stuff_err_enbl[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ack_err_enbl[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } form_err_enbl[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } crc_err_enbl[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } bus_off_enbl[9:9];
            field {
                sw = rw;
            } rx_msg_loss[10:10];
            field {
                sw = rw;
            } tx_msg_enbl[11:11];
            field {
                sw = rw;
            } rx_msg_enbl[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rtr_msg_enbl[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } stuck_at_0_enbl[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sst_failure_enbl[15:15];
    } InterruptEnable @ 0x4;
    reg {
        name="ReceiveBufferStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } RX_STATUS[31:0];
    } ReceiveBufferStatus @ 0x8;
    reg {
        name="TransmitBufferStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TX_STATUS[31:0];
    } TransmitBufferStatus @ 0xc;
    reg {
        name="Command";
        regwidth=0x20;
            field {
                sw = rw;
            } RunStopMode[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ListenOnlyMode[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LoopbackTestMode[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAMTestMode[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Revision_Control[30:16];
    } Command @ 0x14;
    reg {
        name="Config";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } EDGE_MODE[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SAMPLING_MODE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CFG_SJW[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AUTO_RESTART[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CFG_TSEG2[7:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CFG_TSEG1[11:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CFG_ARBITER[12:12];
            field {
                sw = rw;
            } SWAP_ENDIAN[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ECR_MODE[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CFG_BITRATE[30:16];
    } Config @ 0x18;
    reg {
        name="TransmitMessageControlCommand";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } TransmitMessageControlCommand @ 0x20;
    reg {
        name="TransmitMessageID";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } TransmitMessageID @ 0x24;
    reg {
        name="TransmitMessageDataHigh";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } TransmitMessageDataHigh @ 0x28;
    reg {
        name="TransmitMessageDataLow";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } TransmitMessageDataLow @ 0x2c;
    reg {
        name="ReceiveMessageControlCommand";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ReceiveMessageControlCommand @ 0x220;
    reg {
        name="ReceiveMessageID";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ReceiveMessageID @ 0x224;
    reg {
        name="ReceiveMessageDataHigh";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ReceiveMessageDataHigh @ 0x228;
    reg {
        name="ReceiveMessageDataLow";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ReceiveMessageDataLow @ 0x22c;
    reg {
        name="ReceiveMessageAcceptanceMaskRegister";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ReceiveMessageAcceptanceMaskRegister @ 0x230;
    reg {
        name="ReceiveMessageAcceptanceCodeRegister";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ReceiveMessageAcceptanceCodeRegister @ 0x234;
    reg {
        name="ReceiveMessageAcceptanceMaskRegisterData";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ReceiveMessageAcceptanceMaskRegisterData @ 0x238;
    reg {
        name="ReceiveMessageAcceptanceCodeRegisterData";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ReceiveMessageAcceptanceCodeRegisterData @ 0x23c;
} ControllerRegisters_addrmap;


};