addrmap OB1203 {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Status0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_data_status[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_interrupt_status[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } Power_On_status[7:7];
    } Status0 @ 0x0;
    reg {
        name="Status1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_data_status[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_interrupt_status[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_logic_signal_status[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_data_status[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_almost_full_interrupt[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TS_data_status[7:7];
    } Status1 @ 0x1;
    reg {
        name="ProximitySensorData0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_DATA_0[7:0];
    } ProximitySensorData0 @ 0x2;
    reg {
        name="ProximitySensorData1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_DATA_1[7:0];
    } ProximitySensorData1 @ 0x3;
    reg {
        name="LightSensorClearData0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_CLEAR_DATA_0[7:0];
    } LightSensorClearData0 @ 0x4;
    reg {
        name="LightSensorClearData1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_CLEAR_DATA_1[7:0];
    } LightSensorClearData1 @ 0x5;
    reg {
        name="LightSensorClearData2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_CLEAR_DATA_2[3:0];
    } LightSensorClearData2 @ 0x6;
    reg {
        name="LightSensorGreenData0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_GREEN_DATA_0[7:0];
    } LightSensorGreenData0 @ 0x7;
    reg {
        name="LightSensorGreenData1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_GREEN_DATA_1[7:0];
    } LightSensorGreenData1 @ 0x8;
    reg {
        name="LightSensorGreenData2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_GREEN_DATA_2[3:0];
    } LightSensorGreenData2 @ 0x9;
    reg {
        name="LightSensorBlueData0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_BLUE_DATA_0[7:0];
    } LightSensorBlueData0 @ 0xa;
    reg {
        name="LightSensorBlueData1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_BLUE_DATA_1[7:0];
    } LightSensorBlueData1 @ 0xb;
    reg {
        name="LightSensorBlueData2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_BLUE_DATA_2[3:0];
    } LightSensorBlueData2 @ 0xc;
    reg {
        name="LightSensorRedData0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_RED_DATA_0[7:0];
    } LightSensorRedData0 @ 0xd;
    reg {
        name="LightSensorRedData1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_RED_DATA_1[7:0];
    } LightSensorRedData1 @ 0xe;
    reg {
        name="LightSensorRedData2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_RED_DATA_2[3:0];
    } LightSensorRedData2 @ 0xf;
    reg {
        name="LightSensorCompensationData0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } COMP_DATA_0[7:0];
    } LightSensorCompensationData0 @ 0x10;
    reg {
        name="LightSensorCompensationData1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } COMP_DATA_1[7:0];
    } LightSensorCompensationData1 @ 0x11;
    reg {
        name="LightSensorCompensationData2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } COMP_DATA_2[3:0];
    } LightSensorCompensationData2 @ 0x12;
    reg {
        name="MainControl0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_MODE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SAI_LS[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SW_reset[7:7];
    } MainControl0 @ 0x15;
    reg {
        name="MainControl1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_PS_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_PS_MODE[2:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SAI_PS[3:3];
    } MainControl1 @ 0x16;
    reg {
        name="ProximitySensorLEDCurrent0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=8'b11111111;
            } PS_LED_CURR_0[7:0];
    } ProximitySensorLEDCurrent0 @ 0x17;
    reg {
        name="ProximitySensorLEDCurrent1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } PS_LED_CURR_1[0:0];
    } ProximitySensorLEDCurrent1 @ 0x18;
    reg {
        name="ProximitySensorCancellationAndPulses";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=3'b11;
            } Number_of_LED_pulses[5:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_CAN_ANA[6:6];
    } ProximitySensorCancellationAndPulses @ 0x19;
    reg {
        name="ProximitySensorPulseWidthAndPeriod";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=3'b101;
            } PS_measurement_period[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=2'b1;
            } PS_pulse_width[5:4];
    } ProximitySensorPulseWidthAndPeriod @ 0x1a;
    reg {
        name="ProximitySensorDigitalCancellation0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_CAN_DIG_0[7:0];
    } ProximitySensorDigitalCancellation0 @ 0x1b;
    reg {
        name="ProximitySensorDigitalCancellation1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_CAN_DIG_1[7:0];
    } ProximitySensorDigitalCancellation1 @ 0x1c;
    reg {
        name="ProximitySensorMovingAverageAndHysteresis";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_hysteresis_level[6:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_moving_average_enable[7:7];
    } ProximitySensorMovingAverageAndHysteresis @ 0x1d;
    reg {
        name="ProximitySensorUpperThreshold0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=8'b11111111;
            } PS_THRES_UP_0[7:0];
    } ProximitySensorUpperThreshold0 @ 0x1e;
    reg {
        name="ProximitySensorUpperThreshold1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=8'b11111111;
            } PS_THRES_UP_1[7:0];
    } ProximitySensorUpperThreshold1 @ 0x1f;
    reg {
        name="ProximitySensorLowerThreshold0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_THRES_LOW_0[7:0];
    } ProximitySensorLowerThreshold0 @ 0x20;
    reg {
        name="ProximitySensorLowerThreshold1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_THRES_LOW_1[7:0];
    } ProximitySensorLowerThreshold1 @ 0x21;
    reg {
        name="LightSensorResolutionAndPeriod";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=3'b10;
            } LS_Measurement_Period[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=3'b10;
            } LS_Resolution[6:4];
    } LightSensorResolutionAndPeriod @ 0x22;
    reg {
        name="LightSensorGain";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=2'b1;
            } LS_gain_range[1:0];
    } LightSensorGain @ 0x23;
    reg {
        name="LightSensorUpperThreshold0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=8'b11111111;
            } LS_THRES_UP_0[7:0];
    } LightSensorUpperThreshold0 @ 0x24;
    reg {
        name="LightSensorUpperThreshold1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=8'b11111111;
            } LS_THRES_UP_1[7:0];
    } LightSensorUpperThreshold1 @ 0x25;
    reg {
        name="LightSensorUpperThreshold2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=3'b111;
            } LS_THRES_UP_2[2:0];
    } LightSensorUpperThreshold2 @ 0x26;
    reg {
        name="LightSensorLowerThreshold0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_THRES_LOW_0[7:0];
    } LightSensorLowerThreshold0 @ 0x27;
    reg {
        name="LightSensorLowerThreshold1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_THRES_LOW_1[7:0];
    } LightSensorLowerThreshold1 @ 0x28;
    reg {
        name="LightSensorLowerThreshold2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_THRES_LOW_2[2:0];
    } LightSensorLowerThreshold2 @ 0x29;
    reg {
        name="LightSensorVarianceThreshold";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_THRES_VAR[2:0];
    } LightSensorVarianceThreshold @ 0x2a;
    reg {
        name="InterruptConfiguration0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_INT_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_VAR_MODE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=2'b1;
            } LS_INT_SEL[5:4];
    } InterruptConfiguration0 @ 0x2b;
    reg {
        name="InterruptConfiguration1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_INT_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_LOGIC_MODE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_INT_EN[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } A_FULL_INT_EN[5:5];
    } InterruptConfiguration1 @ 0x2c;
    reg {
        name="InterruptPersist";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PS_PERSIST[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LS_PERSIST[7:4];
    } InterruptPersist @ 0x2d;
    reg {
        name="PhotoplethysmographyOrProximitySensorGain";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_PS_gain_range[5:4];
    } PhotoplethysmographyOrProximitySensorGain @ 0x2e;
    reg {
        name="PhotoplethysmographyOrProximitySensorConfiguration";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LED_FLIP[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } PPG_POW_SAVE[6:6];
    } PhotoplethysmographyOrProximitySensorConfiguration @ 0x2f;
    reg {
        name="PhotoplethysmographyInfraredLEDCurrent0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_IRLED_CURR_0[7:0];
    } PhotoplethysmographyInfraredLEDCurrent0 @ 0x30;
    reg {
        name="PhotoplethysmographyInfraredLEDCurrent1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_IRLED_CURR_1[0:0];
    } PhotoplethysmographyInfraredLEDCurrent1 @ 0x31;
    reg {
        name="PhotoplethysmographyRedLEDCurrent0";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_RLED_CURR_0[7:0];
    } PhotoplethysmographyRedLEDCurrent0 @ 0x32;
    reg {
        name="PhotoplethysmographyRedLEDCurrent1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_RLED_CURR_1[0:0];
    } PhotoplethysmographyRedLEDCurrent1 @ 0x33;
    reg {
        name="PhotoplethysmographyAnalogCancellation";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_CH2_CAN_ANA[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_CH1_CAN_ANA[2:2];
    } PhotoplethysmographyAnalogCancellation @ 0x34;
    reg {
        name="PhotoplethysmographyAverage";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_AVG[6:4];
    } PhotoplethysmographyAverage @ 0x35;
    reg {
        name="PhotoplethysmographyPulseWidthAndPeriod";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=4'b10;
            } PPG_measurement_period[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PPG_pulse_width[4:4];
    } PhotoplethysmographyPulseWidthAndPeriod @ 0x36;
    reg {
        name="FIFOConfiguration";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_A_FULL[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_ROLLOVER_EN[4:4];
    } FIFOConfiguration @ 0x37;
    reg {
        name="FIFOWritePointer";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_WR_PTR[4:0];
    } FIFOWritePointer @ 0x38;
    reg {
        name="FIFOReadPointer";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_RD_PTR[4:0];
    } FIFOReadPointer @ 0x39;
    reg {
        name="FIFOOverflowCounter";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_OVF_CNT[3:0];
    } FIFOOverflowCounter @ 0x3a;
    reg {
        name="FIFOData";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_DATA[7:0];
    } FIFOData @ 0x3b;
    reg {
        name="PartNumberId";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Part_Number_ID[7:0];
    } PartNumberId @ 0x3d;
    reg {
        name="DigitalGainFactoryTrimLED1";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LED1Digital_gain_trim_factory_setting[7:0];
    } DigitalGainFactoryTrimLED1 @ 0x42;
    reg {
        name="DigitalGainFactoryTrimLED2";
        regwidth=0x8;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LED2_Digital_gain_trim_factory_setting[7:0];
    } DigitalGainFactoryTrimLED2 @ 0x43;
} Registers_addrmap;


};