addrmap Quark_GPIOController {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="PortAData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_1[31:0];
    } PortAData @ 0x0;
    reg {
        name="PortADataDirection";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_2[31:0];
    } PortADataDirection @ 0x4;
    reg {
        name="PortADataSource";
        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];
    } PortADataSource @ 0x8;
    reg {
        name="InterruptEnable";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_3[31:0];
    } InterruptEnable @ 0x30;
    reg {
        name="InterruptMask";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_4[31:0];
    } InterruptMask @ 0x34;
    reg {
        name="InterruptType";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_5[31:0];
    } InterruptType @ 0x38;
    reg {
        name="InterruptPolarity";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_6[31:0];
    } InterruptPolarity @ 0x3c;
    reg {
        name="InterruptStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } No_name_7[31:0];
    } InterruptStatus @ 0x40;
    reg {
        name="RawInterruptStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } No_name_8[31:0];
    } RawInterruptStatus @ 0x44;
    reg {
        name="DebounceEnable";
        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];
    } DebounceEnable @ 0x48;
    reg {
        name="ClearInterrupt";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } No_name_9[31:0];
    } ClearInterrupt @ 0x4c;
    reg {
        name="PortAExternalPort";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } No_name_10[31:0];
    } PortAExternalPort @ 0x50;
    reg {
        name="SynchronizationLevel";
        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];
    } SynchronizationLevel @ 0x60;
    reg {
        name="InterruptBothEdgeType";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } No_name_11[31:0];
    } InterruptBothEdgeType @ 0x68;
} Registers_addrmap;


};