addrmap EOSS3_Voice {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="VoiceConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMIC_SEL[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_SEL[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MODE_SEL[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } MONO_CHN_SEL[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } I2S_DS_SEL[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_VOICE_SCENARIO[7:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_MIC_SWITCH_TO_AP[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_USE_DC_BLOCK[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_MUX[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_NO[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } I2S_PGA_EN[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DIV_AP[17:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DIV_WD[23:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_0_CLEAR[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_1_CLEAR[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_VOICE_DETECTED_MASK[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMIC_VOICE_DETECTED_MASK[27:27];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAC_BLK_DONE_MASK[28:28];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAC_BUF_DONE_MASK[29:29];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AP_PDM_CLK_ON_MASK[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AP_PDM_CLK_OFF_MASK[31:31];
    } VoiceConfig @ 0x0;
    reg {
        name="LPSDConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_THD[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_RATIO_STOP[23:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_RATIO_RUN[31:24];
    } LPSDConfig @ 0x4;
    reg {
        name="VoiceDMACConfig";
        regwidth=0x20;
            field {
                sw = rw;
            } DMAC_EN[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } DMAC_START[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } DMAC_STOP[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AHB_RDY[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AHB_BURST_LENGTH[5:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PINGPONG_MODE[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } STEREO_DUAL_BUF_MODE[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } VOICE_DMAC_BURST_SPD[15:8];
    } VoiceDMACConfig @ 0x8;
    reg {
        name="VoiceDMACLength";
        regwidth=0x20;
            field {
                sw = rw;
            } DMAC_BLK_LEN[15:0];
            field {
                sw = rw;
            } DMAC_BUF_LEN[31:16];
    } VoiceDMACLength @ 0xc;
    reg {
        name="VoiceDMACFifo";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAC_BUF_OFFSET[31:16];
    } VoiceDMACFifo @ 0x10;
    reg {
        name="VoiceDMACDestinationAddress0";
        regwidth=0x20;
            field {
                sw = rw;
            } VOICE_DMAC_DST_ADDR0[31:0];
    } VoiceDMACDestinationAddress0 @ 0x14;
    reg {
        name="VoiceDMACDestinationAddress1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } VOICE_DMAC_DST_ADDR1[31:0];
    } VoiceDMACDestinationAddress1 @ 0x18;
    reg {
        name="PDMCoreConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_CORE_EN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SOFT_MUTE[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DIV_MODE[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } S_CYCLES[5:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } HP_GAIN[9:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ADCHPD[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } M_CLK_DIV[12:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SINC_RATE[19:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PGA_L[24:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PGA_R[29:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMICK_DLY[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DIV_WD_MODE[31:31];
    } PDMCoreConfig @ 0x1c;
    reg {
        name="VoiceStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_0A_EMPTY[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_0A_FULL[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_0A_OVERFLOW[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_0B_EMPTY[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_0B_FULL[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_0B_OVERFLOW[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_1A_EMPTY[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_1A_FULL[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_1A_OVERFLOW[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_1B_EMPTY[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_1B_FULL[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } FIFO_1B_OVERFLOW[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMIC_VOICE_DETECTED_REG[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } LPSD_VOICE_DETECTED_REG[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AP_PDM_CLK_OFF_REG[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } AP_PDM_CLK_ON_REG[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAC1_BUF_DONE_REG[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAC1_BLK_DONE_REG[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAC0_BUF_DONE_REG[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DMAC0_BLK_DONE_REG[23:23];
    } VoiceStatus @ 0x20;
    reg {
        name="I2SConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } I2S_LRCDIV[11:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } I2S_BCLKDIV[17:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } I2S_CLK_INV[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } I2S_IWL[20:19];
    } I2SConfig @ 0x24;
    reg {
        name="FifoSRAMConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_0A_TEST1[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_0A_RME[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_0A_RM[5:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_0B_TEST1[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_0B_RME[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_0B_RM[11:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_1A_TEST1[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_1A_RME[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_1A_RM[17:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_1B_TEST1[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_1B_RME[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SRAM_1B_RM[23:20];
    } FifoSRAMConfig @ 0x28;
    reg {
        name="PDMSRAMConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_SRAM_L_TEST1[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_SRAM_L_RME[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_SRAM_L_RM[5:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_SRAM_R_TEST1[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_SRAM_R_RME[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } PDM_SRAM_R_RM[11:8];
    } PDMSRAMConfig @ 0x2c;
    reg {
        name="DebugMUXConfig";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } DBG_MUX_CFG[31:0];
    } DebugMUXConfig @ 0x30;
} Registers_addrmap;


};