addrmap CC2538_GPIO {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Data";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_1[7:0];
    } Data @ 0x0;
    reg {
        name="DataDirection";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_2[7:0];
    } DataDirection @ 0x400;
    reg {
        name="InterruptSense";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_3[7:0];
    } InterruptSense @ 0x404;
    reg {
        name="InterruptBothEdges";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_4[7:0];
    } InterruptBothEdges @ 0x408;
    reg {
        name="InterruptEvent";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_5[7:0];
    } InterruptEvent @ 0x40c;
    reg {
        name="InterruptEnable";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_6[7:0];
    } InterruptEnable @ 0x410;
    reg {
        name="RawInterruptStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } No_name_7[7:0];
    } RawInterruptStatus @ 0x414;
    reg {
        name="MaskedInterruptStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } No_name_8[7:0];
    } MaskedInterruptStatus @ 0x418;
    reg {
        name="InterruptClear";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } No_name_9[7:0];
    } InterruptClear @ 0x41c;
    reg {
        name="ModeControlSelect";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AFSEL[31:0];
    } ModeControlSelect @ 0x420;
    reg {
        name="GPIOCommitUnlock";
        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];
    } GPIOCommitUnlock @ 0x520;
    reg {
        name="GPIOCommit";
        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];
    } GPIOCommit @ 0x524;
    reg {
        name="PMUX";
        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];
    } PMUX @ 0x700;
    reg {
        name="PortEdgeControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } P_EDGE_CTRL[31:0];
    } PortEdgeControl @ 0x704;
    reg {
        name="USBInputPowerUpEdgeControl";
        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];
    } USBInputPowerUpEdgeControl @ 0x708;
    reg {
        name="PowerUpInterruptEnable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PI_IEN[31:0];
    } PowerUpInterruptEnable @ 0x710;
    reg {
        name="IOPortsIRQDetectACK";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IRQ_DETECT_ACK[31:0];
    } IOPortsIRQDetectACK @ 0x718;
    reg {
        name="USBIRQDetectACK";
        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];
    } USBIRQDetectACK @ 0x71c;
    reg {
        name="MaskedIRQDetectACK";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } IRQ_DETECT_UNMASK[31:0];
    } MaskedIRQDetectACK @ 0x720;
} Registers_addrmap;


};