addrmap LSM9DS1_IMU {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="ActivityThreshold";
        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];
    } ActivityThreshold @ 0x4;
    reg {
        name="ActivityDuration";
        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];
    } ActivityDuration @ 0x5;
    reg {
        name="AccelerometerInterruptGeneratorConfig";
        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];
    } AccelerometerInterruptGeneratorConfig @ 0x6;
    reg {
        name="AccelerometerInterruptGeneratorThresholdX";
        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];
    } AccelerometerInterruptGeneratorThresholdX @ 0x7;
    reg {
        name="AccelerometerInterruptGeneratorThresholdY";
        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];
    } AccelerometerInterruptGeneratorThresholdY @ 0x8;
    reg {
        name="AccelerometerInterruptGeneratorThresholdZ";
        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];
    } AccelerometerInterruptGeneratorThresholdZ @ 0x9;
    reg {
        name="AccelerometerInterruptGeneratorDuration";
        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];
    } AccelerometerInterruptGeneratorDuration @ 0xa;
    reg {
        name="GyroscopeReference";
        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];
    } GyroscopeReference @ 0xb;
    reg {
        name="InterruptControl1";
        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];
    } InterruptControl1 @ 0xc;
    reg {
        name="InterruptControl2";
        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];
    } InterruptControl2 @ 0xd;
    reg {
        name="WhoAmI";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
                reset=8'b1101000;
            } DUMMY[7:0];
    } WhoAmI @ 0xf;
    reg {
        name="Control1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BW__Gyroscope_bandwith_selection[1:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } FS_G__Gyroscope_full_scale_selection[4:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ODR__Gyroscope_output_data_rate[7:5];
    } Control1 @ 0x10;
    reg {
        name="Control2";
        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];
    } Control2 @ 0x11;
    reg {
        name="Control3";
        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];
    } Control3 @ 0x12;
    reg {
        name="GyroscopeOrientationConfiguration";
        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];
    } GyroscopeOrientationConfiguration @ 0x13;
    reg {
        name="GyroscopeInterruptGeneratorSource";
        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];
    } GyroscopeInterruptGeneratorSource @ 0x14;
    reg {
        name="TemperatureOutputLow";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_TEMP_L[7:0];
    } TemperatureOutputLow @ 0x15;
    reg {
        name="TemperatureOutputHigh";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_TEMP_H[7:0];
    } TemperatureOutputHigh @ 0x16;
    reg {
        name="Status1";
        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];
    } Status1 @ 0x17;
    reg {
        name="GyroscopeOutputXLow";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_X_L_G[7:0];
    } GyroscopeOutputXLow @ 0x18;
    reg {
        name="GyroscopeOutputXHigh";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_X_H_G[7:0];
    } GyroscopeOutputXHigh @ 0x19;
    reg {
        name="GyroscopeOutputYLow";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_Y_L_G[7:0];
    } GyroscopeOutputYLow @ 0x1a;
    reg {
        name="GyroscopeOutputYHigh";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_Y_H_G[7:0];
    } GyroscopeOutputYHigh @ 0x1b;
    reg {
        name="GyroscopeOutputZLow";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_Z_L_G[7:0];
    } GyroscopeOutputZLow @ 0x1c;
    reg {
        name="GyroscopeOutputZHigh";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_Z_H_G[7:0];
    } GyroscopeOutputZHigh @ 0x1d;
    reg {
        name="Control4";
        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];
    } Control4 @ 0x1e;
    reg {
        name="Control5";
        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];
    } Control5 @ 0x1f;
    reg {
        name="Control6";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BW_XL__Accelerometer_anti_aliasing_filter_bandwith_selection[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BW_SCAL_ODR__Accelerometer_bandwith_selection[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } FS_XL__Accelerometer_full_scale_selection[4:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ODR_XL__Accelerometer_output_data_rate[7:5];
    } Control6 @ 0x20;
    reg {
        name="Control7";
        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];
    } Control7 @ 0x21;
    reg {
        name="Control8";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SW_RESET__Software_reset[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BLE__Big_Little_Endian_data_selection[1:1];
            field {
                sw = rw;
                reset=1'b1;
            } IF_ADD_INC__Register_address_automatically_incremented[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SIM__SPI_serial_interface_mode[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PP_OD__Push_pull_open_drain[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } H_LACTIVE__Interrupt_activation_level[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BDU__Block_data_update[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BOOT__Reboot_memory[7:7];
    } Control8 @ 0x22;
    reg {
        name="Control9";
        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];
    } Control9 @ 0x23;
    reg {
        name="Control10";
        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];
    } Control10 @ 0x24;
    reg {
        name="AccelerometerInterruptGeneratorSource";
        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];
    } AccelerometerInterruptGeneratorSource @ 0x26;
    reg {
        name="Status2";
        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];
    } Status2 @ 0x27;
    reg {
        name="AccelerometerOutputXLow";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_X_L_XL[7:0];
    } AccelerometerOutputXLow @ 0x28;
    reg {
        name="AccelerometerOutputXHigh";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_X_H_XL[7:0];
    } AccelerometerOutputXHigh @ 0x29;
    reg {
        name="AccelerometerOutputYLow";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_Y_L_XL[7:0];
    } AccelerometerOutputYLow @ 0x2a;
    reg {
        name="AccelerometerOutputYHigh";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_Y_H_XL[7:0];
    } AccelerometerOutputYHigh @ 0x2b;
    reg {
        name="AccelerometerOutputZLow";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_Z_L_XL[7:0];
    } AccelerometerOutputZLow @ 0x2c;
    reg {
        name="AccelerometerOutputZHigh";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } OUT_Z_H_XL[7:0];
    } AccelerometerOutputZHigh @ 0x2d;
    reg {
        name="FifoControl";
        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];
    } FifoControl @ 0x2e;
    reg {
        name="FifoSource";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } FSS__Number_of_unread_samples_in_FIFO[5:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OVRN__FIFO_overrun_status[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FTH__FIFO_threshold_status[7:7];
    } FifoSource @ 0x2f;
    reg {
        name="GyroscopeInterruptGeneratorConfiguration";
        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];
    } GyroscopeInterruptGeneratorConfiguration @ 0x30;
    reg {
        name="GyroscopeInterruptGeneratorThresholdXHigh";
        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];
    } GyroscopeInterruptGeneratorThresholdXHigh @ 0x31;
    reg {
        name="GyroscopeInterruptGeneratorThresholdXLow";
        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];
    } GyroscopeInterruptGeneratorThresholdXLow @ 0x32;
    reg {
        name="GyroscopeInterruptGeneratorThresholdYHigh";
        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];
    } GyroscopeInterruptGeneratorThresholdYHigh @ 0x33;
    reg {
        name="GyroscopeInterruptGeneratorThresholdYLow";
        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];
    } GyroscopeInterruptGeneratorThresholdYLow @ 0x34;
    reg {
        name="GyroscopeInterruptGeneratorThresholdZHigh";
        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];
    } GyroscopeInterruptGeneratorThresholdZHigh @ 0x35;
    reg {
        name="GyroscopeInterruptGeneratorThresholdZLow";
        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];
    } GyroscopeInterruptGeneratorThresholdZLow @ 0x36;
    reg {
        name="GyroscopeInterruptGeneratorDuration";
        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];
    } GyroscopeInterruptGeneratorDuration @ 0x37;
} Registers_addrmap;


};