addrmap OpenCoresI2C {

/* Some conversion errors detected, this might mean that the peripheral's registers structure in this file is incomplete.
 * Please refer to logs and comments in the file for more information.
 * 
 * Register "Receive" overlaps another register at the same offset (0xc) and will be skipped, as it is illegal in SystemRDL.
 * Register "Status" overlaps another register at the same offset (0x10) and will be skipped, as it is illegal in SystemRDL.
 */

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="ClockPrescaleLow";
        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];
    } ClockPrescaleLow @ 0x0;
    reg {
        name="ClockPrescaleHigh";
        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];
    } ClockPrescaleHigh @ 0x4;
    reg {
        name="Control";
        regwidth=0x8;
            field {
                sw = rw;
            } No_name_1[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Interrupt_enable[6:6];
    } Control @ 0x8;
    reg {
        name="Transmit";
        regwidth=0x8;
            field {
                sw = w;
            } No_name_2[7:0];
    } Transmit @ 0xc;
    /* Conversion error: Register "Receive" overlaps another register at the same offset (0xc) and will be skipped, as it is illegal in SystemRDL.
    reg {
        name="Receive";
        regwidth=0x8;

    } Receive @ 0xc;
    */
    reg {
        name="Command";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x8;
            field {
                sw = w;
            } No_name_7[7:7];
            field {
                sw = w;
            } No_name_3_[6:6];
            field {
                sw = w;
            } No_name_4_[5:5];
            field {
                sw = w;
            } No_name_5_[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ACK[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } No_name_6_[0:0];
    } Command @ 0x10;
    /* Conversion error: Register "Status" overlaps another register at the same offset (0x10) and will be skipped, as it is illegal in SystemRDL.
    reg {
        name="Status";
        regwidth=0x8;

    } Status @ 0x10;
    */
} Registers_addrmap;


};