addrmap RenesasRZG_GPT {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="WriteProtection";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } WP_Register_Write_Disable[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PRKEY_GTWP_Key_Code[15:8];
    } WriteProtection @ 0x0;
    reg {
        name="SoftwareStart";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } CSTRT[0:0];
    } SoftwareStart @ 0x4;
    reg {
        name="SoftwareStop";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } CSTOP[0:0];
    } SoftwareStop @ 0x8;
    reg {
        name="SoftwareClear";
        regwidth=0x20;
            field {
                sw = rw;
            } CCLR[13:0];
    } SoftwareClear @ 0xc;
    reg {
        name="StartSourceSelect";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } StartSourceSelect @ 0x10;
    reg {
        name="StopSourceSelect";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } StopSourceSelect @ 0x14;
    reg {
        name="ClearSourceSelect";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } ClearSourceSelect @ 0x18;
    reg {
        name="UpCountSourceSelect";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } UpCountSourceSelect @ 0x1c;
    reg {
        name="DownCountSourceSelect";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } DownCountSourceSelect @ 0x20;
    reg {
        name="InputCaptureSourceSelectA";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } InputCaptureSourceSelectA @ 0x24;
    reg {
        name="InputCaptureSourceSelectB";
        regwidth=0x20;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[31:0];
    } InputCaptureSourceSelectB @ 0x28;
    reg {
        name="TimerControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CST_Count_Start[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } MD_Mode_Select[18:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TPCS_Timer_Prescaler_Select[26:23];
    } TimerControl @ 0x2c;
    reg {
        name="CountDirectionAndDutySetting";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } UD_Count_Direction_Setting[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } UDF_Forcible_Count_Direction_Setting[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OADTY_GTIOCnA_Output_Duty_Setting[17:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OADTYF_Forcible_GTIOCnA_Output_Duty_Setting[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OADTYR_GTIOCnA_Output_Value_Selecting[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OBDTY_GTIOCnB_Output_Duty_Setting[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OBDTYF_Forcible_GTIOCnB_Output_Duty_Setting[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OBDTYR_GTIOCnB_Output_Value_Selecting[27:27];
    } CountDirectionAndDutySetting @ 0x30;
    reg {
        name="IOControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTIOA_GTIOCnA_Pin_Function_Select[4:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OADFLT_GTIOCnA_Pin_Output_Value_Setting_at_the_Count_Stop[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OAHLD_GTIOCnA_Pin_Output_Value_Setting_at_the_Start_Stop_Count[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OAE_GTIOCnA_Pin_Output_Enable[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OADF_GTIOCnA_Pin_Disaable_Value_Setting[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NFAEN_Noise_Filter_A_Enable[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NFCSA_Noise_Filter_A_Sampling_Clock_Select[15:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTIOB_GTIOCnB_Pin_Function_Select[20:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OBDFLT_GTIOCnB_Pin_Output_Value_Setting_at_the_Count_Stop[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OBHLD_GTIOCnB_Pin_Output_Value_Setting_at_the_Start_Stop_Count[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OBE_GTIOCnB_Pin_Output_Enable[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } OBDF_GTIOCnB_Pin_Disaable_Value_Setting[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NFBEN_Noise_Filter_B_Enable[29:29];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } NFCSB_Noise_Filter_B_Sampling_Clock_Select[31:30];
    } IOControl @ 0x34;
    reg {
        name="InterruptOutputSetting";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADTRAUEN_GTADTRA_Register_Compare_Match_Up_Counting_A_D_Conversion_Start[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADTRADEN_GTADTRA_Register_Compare_Match_Down_Counting_A_D_Conversion_Start[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADTRBUEN_GTADTRB_Register_Compare_Match_Up_Counting_A_D_Conversion_Start[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADTRBDEN_GTADTRB_Register_Compare_Match_Down_Counting_A_D_Conversion_Start[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GRP_Output_Disable_Source_Select[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GRPABH_Same_Time_Output_Level_High_Disable_Request_Enable[29:29];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GRPABL_Same_Time_Output_Level_Low_Disable_Request_Enable[30:30];
    } InterruptOutputSetting @ 0x38;
    reg {
        name="Status";
        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];
    } Status @ 0x3c;
    reg {
        name="BufferEnable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BD0_GTCCR_Buffer_Operation_Disable[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BD1_GTPR_Buffer_Operation_Disable[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } BD2_GTAADTRA_GTADTRB_Registers_Buffer_Operation_Disable[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CCRA_GTCCRA_Buffer_Operation[17:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CCRB_GTCCRB_Buffer_Operation[19:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PR_GTPR_Buffer_Operation[21:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } CCRSWT_GTCCRA_and_GTCCRB_Forcible_Buffer_Operation[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADTTA_GTADTRA_Register_Buffer_Transfer_Timing_Select[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADTDA_GTADTRA_Register_Double_Buffer_Operation[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADTTB_GTADTRB_Register_Buffer_Transfer_Timing_Select[29:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADTDB_GTADTRB_Register_Double_Buffer_Operation[30:30];
    } BufferEnable @ 0x40;
    reg {
        name="InterruptAndADConverterSkipping";
        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];
    } InterruptAndADConverterSkipping @ 0x44;
    reg {
        name="Counter";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } GTCNT[31:0];
    } Counter @ 0x48;
    reg {
        name="CompareCaptureA";
        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];
    } CompareCaptureA @ 0x4c;
    reg {
        name="CycleSetting";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } GTPR[31:0];
    } CycleSetting @ 0x64;
    reg {
        name="CycleSettingBuffer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTPBR[31:0];
    } CycleSettingBuffer @ 0x68;
    reg {
        name="CycleSettingDoubleBuffer";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTPDBR[31:0];
    } CycleSettingDoubleBuffer @ 0x6c;
    reg {
        name="ADConversionStartA";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTADTRA[31:0];
    } ADConversionStartA @ 0x70;
    reg {
        name="ADConversionStartBufferA";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTADTBRA[31:0];
    } ADConversionStartBufferA @ 0x74;
    reg {
        name="ADConversionStartDoubleBufferA";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTADTDBRA[31:0];
    } ADConversionStartDoubleBufferA @ 0x78;
    reg {
        name="ADConversionStartB";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTADTRB[31:0];
    } ADConversionStartB @ 0x7c;
    reg {
        name="ADConversionStartBufferB";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTADTBRB[31:0];
    } ADConversionStartBufferB @ 0x80;
    reg {
        name="ADConversionStartDoubleBufferB";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTADTDBRB[31:0];
    } ADConversionStartDoubleBufferB @ 0x84;
    reg {
        name="DeadTimeControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TDE_Negative_Phase_Waveform_Setting[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TDBUE[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TDBDE[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TDFER[8:8];
    } DeadTimeControl @ 0x88;
    reg {
        name="DeadTimeValueU";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTDVU[31:0];
    } DeadTimeValueU @ 0x8c;
    reg {
        name="DeadTimeValueD";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTDVD[31:0];
    } DeadTimeValueD @ 0x90;
    reg {
        name="DeadTimeBufferU";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTDBU[31:0];
    } DeadTimeBufferU @ 0x94;
    reg {
        name="DeadTimeBufferD";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } GTDBD[31:0];
    } DeadTimeBufferD @ 0x98;
    reg {
        name="OutputProtectionStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SOS[1:0];
    } OutputProtectionStatus @ 0x9c;
    reg {
        name="OutputProtectionTempRelease";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SOTR[0:0];
    } OutputProtectionTempRelease @ 0xa0;
} ChannelRegisters_addrmap;


};