addrmap RenesasRZG_IIC {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control1";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            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=0x20;
            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 @ 0x4;
    reg {
        name="Mode1";
        regwidth=0x20;
            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];
    } Mode1 @ 0x8;
    reg {
        name="Mode2";
        regwidth=0x20;
            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 @ 0xc;
    reg {
        name="Mode3";
        regwidth=0x20;
            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;
            } SMBE[7:7];
    } Mode3 @ 0x10;
    reg {
        name="FunctionEnable";
        regwidth=0x20;
            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 @ 0x14;
    reg {
        name="StatusEnable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } SAR0[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SAR1[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SAR2[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } GCE[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 @ 0x18;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            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 @ 0x1c;
    reg {
        name="Status1";
        regwidth=0x20;
            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 @ 0x20;
    reg {
        name="Status2";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            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 @ 0x24;
    reg {
        name="SlaveAddress0";
        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];
    } SlaveAddress0 @ 0x28;
    reg {
        name="SlaveAddress1";
        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];
    } SlaveAddress1 @ 0x2c;
    reg {
        name="SlaveAddress2";
        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];
    } SlaveAddress2 @ 0x30;
    reg {
        name="BitRateLowLevel";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11111;
            } BRL4_0[4:0];
    } BitRateLowLevel @ 0x34;
    reg {
        name="BitRateHighLevel";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=5'b11111;
            } BRH4_0[4:0];
    } BitRateHighLevel @ 0x38;
    reg {
        name="TransmitData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } DRT7_0[7:0];
    } TransmitData @ 0x3c;
    reg {
        name="ReceiveData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } DRR7_0[7:0];
    } ReceiveData @ 0x40;
} Registers_addrmap;


};