addrmap RenesasDA14_GPT {

/* Some conversion errors detected, this might mean that the peripheral's registers structure in this file is incomplete.
 * Please refer to logs and comments in the file for more information.
 * 
 * Field "TIM_IRQ_STATUS_" overlaps another field at the same offset (0x8) and will be skipped, as it is illegal in SystemRDL.
 * Field "TIM_TIMER_BUSY_" overlaps another field at the same offset (0x9) and will be skipped, as it is illegal in SystemRDL.
 * Field "TIM_PWM_BUSY_" overlaps another field at the same offset (0xa) and will be skipped, as it is illegal in SystemRDL.
 * Field "TIM_SWITCHED_TO_DIVN_CLK_" overlaps another field at the same offset (0xb) and will be skipped, as it is illegal in SystemRDL.
 * Field "TIM_IRQ_STATUS_" overlaps another field at the same offset (0x8) and will be skipped, as it is illegal in SystemRDL.
 * Field "TIM_TIMER_BUSY_" overlaps another field at the same offset (0x9) and will be skipped, as it is illegal in SystemRDL.
 * Field "TIM_PWM_BUSY_" overlaps another field at the same offset (0xa) and will be skipped, as it is illegal in SystemRDL.
 * Field "TIM_SWITCHED_TO_DIVN_CLK_" overlaps another field at the same offset (0xb) and will be skipped, as it is illegal in SystemRDL.
 * Register "GPIO3Selection" overlaps another register at the same offset (0x34) and will be skipped, as it is illegal in SystemRDL.
 */

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } TIM_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_ONESHOT_MODE_EN[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } TIM_COUNT_DOWN_EN[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_IN1_EVENT_FALL_EN[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_IN2_EVENT_FALL_EN[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } TIM_IRQ_EN[5:5];
            field {
                sw = rw;
            } TIM_FREE_RUN_MODE_EN[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Change, Provider.";
                sw = rw;
            } TIM_SYS_CLK_EN[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } TIM_CLK_EN[8:8];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_IN3_EVENT_FALL_EN[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_IN4_EVENT_FALL_EN[10:10];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_CAP_GPIO1_IRQ_EN[11:11];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_CAP_GPIO2_IRQ_EN[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_CAP_GPIO3_IRQ_EN[13:13];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_CAP_GPIO4_IRQ_EN[14:14];
    } Control @ 0x0;
    reg {
        name="CounterValue";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_TIMER_VALUE[23:0];
    } CounterValue @ 0x4;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_IN1_STATE[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_IN2_STATE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_ONESHOT_PHASE[3:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_GPIO1_EVENT_PENDING[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_GPIO2_EVENT_PENDING[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_GPIO3_EVENT_PENDING[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_GPIO4_EVENT_PENDING[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_IRQ_STATUS[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_TIMER_BUSY[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_PWM_BUSY[10:10];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_SWITCHED_TO_DIVN_CLK[11:11];
            /* Conversion error: Field "TIM_IRQ_STATUS_" overlaps another field at the same offset (0x8) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_IRQ_STATUS_[8:8];
            */
            /* Conversion error: Field "TIM_TIMER_BUSY_" overlaps another field at the same offset (0x9) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_TIMER_BUSY_[9:9];
            */
            /* Conversion error: Field "TIM_PWM_BUSY_" overlaps another field at the same offset (0xa) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_PWM_BUSY_[10:10];
            */
            /* Conversion error: Field "TIM_SWITCHED_TO_DIVN_CLK_" overlaps another field at the same offset (0xb) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_SWITCHED_TO_DIVN_CLK_[11:11];
            */
            /* Conversion error: Field "TIM_IRQ_STATUS_" overlaps another field at the same offset (0x8) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_IRQ_STATUS_[8:8];
            */
            /* Conversion error: Field "TIM_TIMER_BUSY_" overlaps another field at the same offset (0x9) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_TIMER_BUSY_[9:9];
            */
            /* Conversion error: Field "TIM_PWM_BUSY_" overlaps another field at the same offset (0xa) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_PWM_BUSY_[10:10];
            */
            /* Conversion error: Field "TIM_SWITCHED_TO_DIVN_CLK_" overlaps another field at the same offset (0xb) and will be skipped, as it is illegal in SystemRDL.
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_SWITCHED_TO_DIVN_CLK_[11:11];
            */
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_IN3_STATE[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_IN4_STATE[13:13];
    } Status @ 0x8;
    reg {
        name="GPIO1Selection";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_GPIO1_CONF[5:0];
    } GPIO1Selection @ 0xc;
    reg {
        name="GPIO2Selection";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_GPIO2_CONF[5:0];
    } GPIO2Selection @ 0x10;
    reg {
        name="Settings";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } TIM_RELOAD[23:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } TIM_PRESCALER[28:24];
    } Settings @ 0x14;
    reg {
        name="ShotDuration";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_SHOTWIDTH[23:0];
    } ShotDuration @ 0x18;
    reg {
        name="EventValueGPIO1";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_CAPTURE_GPIO1[23:0];
    } EventValueGPIO1 @ 0x20;
    reg {
        name="EventValueGPIO2";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_CAPTURE_GPIO2[23:0];
    } EventValueGPIO2 @ 0x24;
    reg {
        name="Prescaler";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_PRESCALER_VAL[4:0];
    } Prescaler @ 0x28;
    reg {
        name="PWMControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_PWM_FREQ[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_PWM_DC[31:16];
    } PWMControl @ 0x2c;
    reg {
        name="InterruptClear";
        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];
    } InterruptClear @ 0x34;
    /* Conversion error: Register "GPIO3Selection" overlaps another register at the same offset (0x34) and will be skipped, as it is illegal in SystemRDL.
    reg {
        name="GPIO3Selection";
        regwidth=0x20;

    } GPIO3Selection @ 0x34;
    */
    reg {
        name="GPIO4Selection";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TIM_GPIO4_CONF[5:0];
    } GPIO4Selection @ 0x38;
    reg {
        name="EventValueGPIO3";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_CAPTURE_GPIO3[23:0];
    } EventValueGPIO3 @ 0x3c;
    reg {
        name="EventValueGPIO4";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } TIM_CAPTURE_GPIO4[23:0];
    } EventValueGPIO4 @ 0x40;
    reg {
        name="GPIOEventClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TIM_CLEAR_GPIO1_EVENT[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TIM_CLEAR_GPIO2_EVENT[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TIM_CLEAR_GPIO3_EVENT[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } TIM_CLEAR_GPIO4_EVENT[3:3];
    } GPIOEventClear @ 0x44;
    reg {
        name="InterruptClearExtended";
        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];
    } InterruptClearExtended @ 0x48;
} Registers_addrmap;


};