addrmap MAX86171 {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Status1";
        regwidth=0x8;
            field {
                sw = r;
                onread = rclr;
            } STATUS1_a_full[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STATUS1_frame_rdy[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STATUS1_fifo_data_rdy[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STATUS1_alc_ovf[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STATUS1_exp_ovf[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STATUS1_thresh2_hilo[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STATUS1_thresh1_hilo[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STATUS1_pwr_rdy[7:7];
    } Status1 @ 0x0;
    reg {
        name="Status2";
        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 @ 0x1;
    reg {
        name="Status3";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } Status3 @ 0x2;
    reg {
        name="FIFOWritePointer";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } FIFOWritePointer @ 0x4;
    reg {
        name="FIFOReadPointer";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } FIFOReadPointer @ 0x5;
    reg {
        name="FIFOCounter1";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } FIFO_CNT1_OVF_COUNTER[6:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } FIFO_CNT1_FIFO_DATA_COUNT_MSB[7:7];
    } FIFOCounter1 @ 0x6;
    reg {
        name="FIFOCounter2";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } FIFO_CNT2_fifo_data_count_lsb[7:0];
    } FIFOCounter2 @ 0x7;
    reg {
        name="FIFOData";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } FIFO_DATA_data[7:0];
    } FIFOData @ 0x8;
    reg {
        name="FIFOConfiguration1";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                sw = rw;
            } FIFO_CONF1_fifo_a_full[7:0];
    } FIFOConfiguration1 @ 0x9;
    reg {
        name="FIFOConfiguration2";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } FIFO_CONF2_fifo_ro[1:1];
            field {
                sw = rw;
            } FIFO_CONF2_a_full_type[2:2];
            field {
                sw = rw;
            } FIFO_CONF2_fifo_stat_clr[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = wr;
                onwrite = woclr;
            } FIFO_CONF2_flush_fifo[4:4];
    } FIFOConfiguration2 @ 0xa;
    reg {
        name="SystemConfiguration1";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } SYSTEM_CONF1_reset[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } SYSTEM_CONF1_shdn[1:1];
            field {
                sw = rw;
            } SYSTEM_CONF1_ppg1_pwrdn[2:2];
            field {
                sw = rw;
            } SYSTEM_CONF1_ppg2_pwrdn[3:3];
            field {
                sw = rw;
            } SYSTEM_CONF1_sync_mode[5:4];
            field {
                sw = rw;
            } SYSTEM_CONF1_sw_force_sync[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } SYSTEM_CONF1_meas9_en[7:7];
    } SystemConfiguration1 @ 0xc;
    reg {
        name="SystemConfiguration2";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } SYSTEM_CONF2_MEASX_EN[7:0];
    } SystemConfiguration2 @ 0xd;
    reg {
        name="SystemConfiguration3";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } SystemConfiguration3 @ 0xe;
    reg {
        name="PhotodiodeBias";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } PhotodiodeBias @ 0xf;
    reg {
        name="PinFunctionalConfiguration";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } PinFunctionalConfiguration @ 0x10;
    reg {
        name="OutputPinConfiguration";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                sw = rw;
            } OUT_PIN_CONF_int1_ocfg[2:1];
            field {
                sw = rw;
            } OUT_PIN_CONF_int2_ocfg[4:3];
    } OutputPinConfiguration @ 0x11;
    reg {
        name="FrameRateClockFrequency";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FR_CLK_fine_tune[4:0];
            field {
                sw = rw;
                reset=1'b1;
            } FR_CLK_sel[5:5];
    } FrameRateClockFrequency @ 0x15;
    reg {
        name="FrameRateClockDividerMSB";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                sw = rw;
                reset=7'b1;
            } FR_CLK_div_h[6:0];
    } FrameRateClockDividerMSB @ 0x16;
    reg {
        name="FrameRateClockDividerLSB";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                sw = rw;
            } FR_CLK_div_l[7:0];
    } FrameRateClockDividerLSB @ 0x17;
    reg {
        name="Measurement1Select";
        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];
    } Measurement1Select @ 0x18;
    reg {
        name="Measurement1Configuration1";
        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];
    } Measurement1Configuration1 @ 0x19;
    reg {
        name="Measurement1Configuration2";
        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];
    } Measurement1Configuration2 @ 0x1a;
    reg {
        name="Measurement1Configuration3";
        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];
    } Measurement1Configuration3 @ 0x1b;
    reg {
        name="Measurement1DriverACurrent";
        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];
    } Measurement1DriverACurrent @ 0x1c;
    reg {
        name="Measurement1DriverBCurrent";
        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];
    } Measurement1DriverBCurrent @ 0x1d;
    reg {
        name="Measurement1DriverCCurrent";
        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];
    } Measurement1DriverCCurrent @ 0x1e;
    reg {
        name="Measurement2Select";
        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];
    } Measurement2Select @ 0x20;
    reg {
        name="Measurement2Configuration1";
        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];
    } Measurement2Configuration1 @ 0x21;
    reg {
        name="Measurement2Configuration2";
        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];
    } Measurement2Configuration2 @ 0x22;
    reg {
        name="Measurement2Configuration3";
        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];
    } Measurement2Configuration3 @ 0x23;
    reg {
        name="Measurement2DriverACurrent";
        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];
    } Measurement2DriverACurrent @ 0x24;
    reg {
        name="Measurement2DriverBCurrent";
        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];
    } Measurement2DriverBCurrent @ 0x25;
    reg {
        name="Measurement2DriverCCurrent";
        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];
    } Measurement2DriverCCurrent @ 0x26;
    reg {
        name="Measurement3Select";
        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];
    } Measurement3Select @ 0x28;
    reg {
        name="Measurement3Configuration1";
        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];
    } Measurement3Configuration1 @ 0x29;
    reg {
        name="Measurement3Configuration2";
        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];
    } Measurement3Configuration2 @ 0x2a;
    reg {
        name="Measurement3Configuration3";
        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];
    } Measurement3Configuration3 @ 0x2b;
    reg {
        name="Measurement3DriverACurrent";
        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];
    } Measurement3DriverACurrent @ 0x2c;
    reg {
        name="Measurement3DriverBCurrent";
        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];
    } Measurement3DriverBCurrent @ 0x2d;
    reg {
        name="Measurement3DriverCCurrent";
        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];
    } Measurement3DriverCCurrent @ 0x2e;
    reg {
        name="Measurement4Select";
        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];
    } Measurement4Select @ 0x30;
    reg {
        name="Measurement4Configuration1";
        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];
    } Measurement4Configuration1 @ 0x31;
    reg {
        name="Measurement4Configuration2";
        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];
    } Measurement4Configuration2 @ 0x32;
    reg {
        name="Measurement4Configuration3";
        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];
    } Measurement4Configuration3 @ 0x33;
    reg {
        name="Measurement4DriverACurrent";
        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];
    } Measurement4DriverACurrent @ 0x34;
    reg {
        name="Measurement4DriverBCurrent";
        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];
    } Measurement4DriverBCurrent @ 0x35;
    reg {
        name="Measurement4DriverCCurrent";
        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];
    } Measurement4DriverCCurrent @ 0x36;
    reg {
        name="Measurement5Select";
        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];
    } Measurement5Select @ 0x38;
    reg {
        name="Measurement5Configuration1";
        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];
    } Measurement5Configuration1 @ 0x39;
    reg {
        name="Measurement5Configuration2";
        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];
    } Measurement5Configuration2 @ 0x3a;
    reg {
        name="Measurement5Configuration3";
        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];
    } Measurement5Configuration3 @ 0x3b;
    reg {
        name="Measurement5DriverACurrent";
        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];
    } Measurement5DriverACurrent @ 0x3c;
    reg {
        name="Measurement5DriverBCurrent";
        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];
    } Measurement5DriverBCurrent @ 0x3d;
    reg {
        name="Measurement5DriverCCurrent";
        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];
    } Measurement5DriverCCurrent @ 0x3e;
    reg {
        name="Measurement6Select";
        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];
    } Measurement6Select @ 0x40;
    reg {
        name="Measurement6Configuration1";
        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];
    } Measurement6Configuration1 @ 0x41;
    reg {
        name="Measurement6Configuration2";
        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];
    } Measurement6Configuration2 @ 0x42;
    reg {
        name="Measurement6Configuration3";
        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];
    } Measurement6Configuration3 @ 0x43;
    reg {
        name="Measurement6DriverACurrent";
        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];
    } Measurement6DriverACurrent @ 0x44;
    reg {
        name="Measurement6DriverBCurrent";
        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];
    } Measurement6DriverBCurrent @ 0x45;
    reg {
        name="Measurement6DriverCCurrent";
        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];
    } Measurement6DriverCCurrent @ 0x46;
    reg {
        name="Measurement7Select";
        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];
    } Measurement7Select @ 0x48;
    reg {
        name="Measurement7Configuration1";
        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];
    } Measurement7Configuration1 @ 0x49;
    reg {
        name="Measurement7Configuration2";
        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];
    } Measurement7Configuration2 @ 0x4a;
    reg {
        name="Measurement7Configuration3";
        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];
    } Measurement7Configuration3 @ 0x4b;
    reg {
        name="Measurement7DriverACurrent";
        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];
    } Measurement7DriverACurrent @ 0x4c;
    reg {
        name="Measurement7DriverBCurrent";
        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];
    } Measurement7DriverBCurrent @ 0x4d;
    reg {
        name="Measurement7DriverCCurrent";
        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];
    } Measurement7DriverCCurrent @ 0x4e;
    reg {
        name="Measurement8Select";
        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];
    } Measurement8Select @ 0x50;
    reg {
        name="Measurement8Configuration1";
        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];
    } Measurement8Configuration1 @ 0x51;
    reg {
        name="Measurement8Configuration2";
        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];
    } Measurement8Configuration2 @ 0x52;
    reg {
        name="Measurement8Configuration3";
        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];
    } Measurement8Configuration3 @ 0x53;
    reg {
        name="Measurement8DriverACurrent";
        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];
    } Measurement8DriverACurrent @ 0x54;
    reg {
        name="Measurement8DriverBCurrent";
        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];
    } Measurement8DriverBCurrent @ 0x55;
    reg {
        name="Measurement8DriverCCurrent";
        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];
    } Measurement8DriverCCurrent @ 0x56;
    reg {
        name="Measurement9Select";
        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];
    } Measurement9Select @ 0x58;
    reg {
        name="Measurement9Configuration1";
        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];
    } Measurement9Configuration1 @ 0x59;
    reg {
        name="Measurement9Configuration2";
        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];
    } Measurement9Configuration2 @ 0x5a;
    reg {
        name="Measurement9Configuration3";
        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];
    } Measurement9Configuration3 @ 0x5b;
    reg {
        name="Measurement9DriverACurrent";
        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];
    } Measurement9DriverACurrent @ 0x5c;
    reg {
        name="Measurement9DriverBCurrent";
        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];
    } Measurement9DriverBCurrent @ 0x5d;
    reg {
        name="Measurement9DriverCCurrent";
        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];
    } Measurement9DriverCCurrent @ 0x5e;
    reg {
        name="ThresholdMeasurementSelect";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ThresholdMeasurementSelect @ 0x68;
    reg {
        name="ThresholdHysteresis";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ThresholdHysteresis @ 0x69;
    reg {
        name="PPGLoThreshold1";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } PPGLoThreshold1 @ 0x6a;
    reg {
        name="PPGHiThreshold1";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } PPGHiThreshold1 @ 0x6b;
    reg {
        name="PPGLoThreshold2";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } PPGLoThreshold2 @ 0x6c;
    reg {
        name="PPGHiThreshold2";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } PPGHiThreshold2 @ 0x6d;
    reg {
        name="PicketFenceMeasurementSelect";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } PicketFenceMeasurementSelect @ 0x70;
    reg {
        name="PicketFenceConfiguration";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } PicketFenceConfiguration @ 0x71;
    reg {
        name="Interrupt1Enable1";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                sw = rw;
            } INT1_ENABLE1_led_tx_en[0:0];
            field {
                sw = rw;
            } INT1_ENABLE1_thresh1_hilo_en[1:1];
            field {
                sw = rw;
            } INT1_ENABLE1_thresh2_hilo_en[2:2];
            field {
                sw = rw;
            } INT1_ENABLE1_exp_ovf_en[3:3];
            field {
                sw = rw;
            } INT1_ENABLE1_alc_ovf_en[4:4];
            field {
                sw = rw;
            } INT1_ENABLE1_fifo_data_rdy_en[5:5];
            field {
                sw = rw;
            } INT1_ENABLE1_framerdy_en[6:6];
            field {
                sw = rw;
            } INT1_ENABLE1_a_full_en[7:7];
    } Interrupt1Enable1 @ 0x78;
    reg {
        name="Interrupt1Enable2";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } Interrupt1Enable2 @ 0x79;
    reg {
        name="Interrupt1Enable3";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } Interrupt1Enable3 @ 0x7a;
    reg {
        name="Interrupt2Enable1";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x8;
            field {
                sw = rw;
            } INT2_ENABLE1_led_tx_en[0:0];
            field {
                sw = rw;
            } INT2_ENABLE1_thresh1_hilo_en[1:1];
            field {
                sw = rw;
            } INT2_ENABLE1_thresh2_hilo_en[2:2];
            field {
                sw = rw;
            } INT2_ENABLE1_exp_ovf_en[3:3];
            field {
                sw = rw;
            } INT2_ENABLE1_alc_ovf_en[4:4];
            field {
                sw = rw;
            } INT2_ENABLE1_fifo_data_rdy_en[5:5];
            field {
                sw = rw;
            } INT2_ENABLE1_framerdy_en[6:6];
            field {
                sw = rw;
            } INT2_ENABLE1_a_full_en[7:7];
    } Interrupt2Enable1 @ 0x7c;
    reg {
        name="Interrupt2Enable2";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } Interrupt2Enable2 @ 0x7d;
    reg {
        name="Interrupt2Enable3";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } Interrupt2Enable3 @ 0x7e;
    reg {
        name="PartID";
        regwidth=0x8;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } PART_ID_part_id[7:0];
    } PartID @ 0xff;
} Registers_addrmap;


};