addrmap OpenTitan_LifeCycleController {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="AlertTest";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } fatal_prog_error[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } fatal_state_error[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } fatal_bus_integ_error[2:2];
    } AlertTest @ 0x0;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                sw = r;
            } READY[0:0];
            field {
                sw = r;
            } TRANSITION_SUCCESSFUL[1:1];
            field {
                sw = r;
            } TRANSITION_COUNT_ERROR[2:2];
            field {
                sw = r;
            } TRANSITION_ERROR[3:3];
            field {
                sw = r;
            } TOKEN_ERROR[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FLASH_RMA_ERROR[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OTP_ERROR[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STATE_ERROR[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OTP_PARTITION_ERROR[8:8];
    } Status @ 0x4;
    reg {
        name="ClaimTransitionIf";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=8'b1101001;
            } MUTEX[7:0];
    } ClaimTransitionIf @ 0x8;
    reg {
        name="TransitionRegisterWriteEnable";
        regwidth=0x20;
            field {
                sw = rw;
            } TRANSITION_REGWEN[0:0];
    } TransitionRegisterWriteEnable @ 0xc;
    reg {
        name="TransitionCommand";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } START[0:0];
    } TransitionCommand @ 0x10;
    reg {
        name="TransitionControl";
        regwidth=0x20;
            field {
                sw = rw;
            } EXT_CLOCK_EN[0:0];
    } TransitionControl @ 0x14;
    reg {
        name="TransitionToken0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TRANSITION_TOKEN_idx[31:0];
    } TransitionToken0 [4]@ 0x18 += 4;
    reg {
        name="TransitionTarget";
        regwidth=0x20;
            field {
                sw = rw;
            } STATE[29:0];
    } TransitionTarget @ 0x28;
    reg {
        name="OtpVendorTestControl";
        regwidth=0x20;
            field {
                sw = rw;
            } OTP_VENDOR_TEST_CTRL[31:0];
    } OtpVendorTestControl @ 0x2c;
    reg {
        name="OtpVendorTestStatus";
        regwidth=0x20;
            field {
                sw = r;
            } OTP_VENDOR_TEST_STATUS[31:0];
    } OtpVendorTestStatus @ 0x30;
    reg {
        name="LifeCycleState";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } STATE[29:0];
    } LifeCycleState @ 0x34;
    reg {
        name="LifeCycleTransitionCounter";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } COUNT[4:0];
    } LifeCycleTransitionCounter @ 0x38;
    reg {
        name="LifeCycleIdState";
        regwidth=0x20;
            field {
                sw = r;
            } STATE[31:0];
    } LifeCycleIdState @ 0x3c;
    reg {
        name="HardwareRevision";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CHIP_REV[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CHIP_GEN[31:16];
    } HardwareRevision @ 0x40;
    reg {
        name="DeviceId0";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } DEVICE_ID_idx[31:0];
    } DeviceId0 [8]@ 0x44 += 4;
    reg {
        name="ManufacturingState0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MANUF_STATE_idx[31:0];
    } ManufacturingState0 [8]@ 0x64 += 4;
} Registers_addrmap;


};