addrmap STM32H7_HardwareSemaphore {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Semaphore";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } PROCID[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } MASTERID[15:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } LOCK[31:31];
    } Semaphore [32]@ 0x0 += 4;
    reg {
        name="ReadLockSemaphore";
        desc = "This register has the following custom Renode callbacks: Read";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } PROCID[7:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } MASTERID[15:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } LOCK[31:31];
    } ReadLockSemaphore [32]@ 0x80 += 4;
    reg {
        name="InterruptEnable";
        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];
    } InterruptEnable @ 0x100;
    reg {
        name="InterruptClear";
        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];
    } InterruptClear @ 0x104;
    reg {
        name="InterruptStatus";
        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];
    } InterruptStatus @ 0x108;
    reg {
        name="MaskedInterruptStatus";
        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];
    } MaskedInterruptStatus @ 0x10c;
    reg {
        name="Clear";
        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];
    } Clear @ 0x140;
    reg {
        name="Key";
        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];
    } Key @ 0x144;
} Registers_addrmap;


};