addrmap RenesasRA_IIC {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control1";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SDAI[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SCLI[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SDAO[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SCLO[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SOWP[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CLO[5:5];
            field {
                sw = rw;
            } IICRST[6:6];
            field {
                sw = rw;
            } ICE[7:7];
    } Control1 @ 0x0;
    reg {
        name="Control2";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } ST[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } RS[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } SP[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } TRS[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } MST[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } BBSY[7:7];
    } Control2 @ 0x1;
    reg {
        name="Mode1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BC2_0[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } BCWP[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CKS2_0[6:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MTWP[7:7];
    } Mode1 @ 0x2;
    reg {
        name="Mode2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TMOS[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } TMOL[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } TMOH[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SDDL2_0[6:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DLCS[7:7];
    } Mode2 @ 0x3;
    reg {
        name="Mode3";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NF1_0[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ACKBR[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } ACKBT[3:3];
            field {
                sw = rw;
            } ACKWP[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RDRFS[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WAIT[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SMBS[7:7];
    } Mode3 @ 0x4;
    reg {
        name="FunctionEnable";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TMOE[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } MALE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NALE[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SALE[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } NACKE[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } NFE[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SCLE[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FMPE[7:7];
    } FunctionEnable @ 0x5;
    reg {
        name="StatusEnable";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SAR0E[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SAR1E[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SAR2E[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } GCAE[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DIDE[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HOAE[7:7];
    } StatusEnable @ 0x6;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TMOIE[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ALIE[1:1];
            field {
                sw = rw;
            } STIE[2:2];
            field {
                sw = rw;
            } SPIE[3:3];
            field {
                sw = rw;
            } NAKIE[4:4];
            field {
                sw = rw;
            } RIE[5:5];
            field {
                sw = rw;
            } TEIE[6:6];
            field {
                sw = rw;
            } TIE[7:7];
    } InterruptEnable @ 0x7;
    reg {
        name="Status1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AAS0[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AAS1[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AAS2[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GCA[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DID[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HOA[7:7];
    } Status1 @ 0x8;
    reg {
        name="Status2";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TMOF[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AL[1:1];
            field {
                sw = rw;
                onwrite = wzc;
            } START[2:2];
            field {
                sw = rw;
                onwrite = wzc;
            } STOP[3:3];
            field {
                sw = rw;
                onwrite = wzc;
            } NACKF[4:4];
            field {
                sw = rw;
                onwrite = wzc;
            } RDRF[5:5];
            field {
                sw = rw;
                onwrite = wzc;
            } TEND[6:6];
            field {
                sw = rw;
                onwrite = wzc;
            } TDRE[7:7];
    } Status2 @ 0x9;
    reg {
        name="SlaveAddressLower0";
        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];
    } SlaveAddressLower0 @ 0xa;
    reg {
        name="SlaveAddressUpper0";
        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];
    } SlaveAddressUpper0 @ 0xb;
    reg {
        name="SlaveAddressLower1";
        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];
    } SlaveAddressLower1 @ 0xc;
    reg {
        name="SlaveAddressUpper1";
        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];
    } SlaveAddressUpper1 @ 0xd;
    reg {
        name="SlaveAddressLower2";
        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];
    } SlaveAddressLower2 @ 0xe;
    reg {
        name="SlaveAddressUpper2";
        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];
    } SlaveAddressUpper2 @ 0xf;
    reg {
        name="BitRateLowLevel";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11111;
            } BRL4_0[4:0];
    } BitRateLowLevel @ 0x10;
    reg {
        name="BitRateHighLevel";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11111;
            } BRH4_0[4:0];
    } BitRateHighLevel @ 0x11;
    reg {
        name="TransmitData";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } ICDRT[7:0];
    } TransmitData @ 0x12;
    reg {
        name="ReceiveData";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } ICDRR[7:0];
    } ReceiveData @ 0x13;
    reg {
        name="WakeupUnit";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WUAFA[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } WUAFA_[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WUF[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WUIE[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WUE[7:7];
    } WakeupUnit @ 0x16;
    reg {
        name="WakeupUnit2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } WUSEN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WUASYF[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } WUSYF[2:2];
    } WakeupUnit2 @ 0x17;
} Registers_addrmap;


};