// Copyright 2017 The Fuchsia Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #pragma once // Register offsets for the A113G chip. Taken from the A113G datasheet. #define A113_PDM_PHYS_BASE 0xff632000 #define PDM_CTRL 0x00 #define PDM_HCIC_CTRL1 0x01 #define PDM_HCIC_CTRL2 0x02 #define PDM_F1_CTRL 0x03 #define PDM_F2_CTRL 0x04 #define PDM_F3_CTRL 0x05 #define PDM_HPF_CTRL 0x06 #define PDM_CHAN_CTRL 0x07 #define PDM_CHAN_CTRL1 0x08 #define PDM_COEFF_ADDR 0x09 #define PDM_COEFF_DATA 0x0A #define PDM_CLKG_CTRL 0x0B #define PDM_STS 0x0C #define A113_EE_AUDIO_PHYS_BASE 0xff642000 #define EE_AUDIO_CLK_GATE_EN 0x000 #define EE_AUDIO_MCLK_A_CTRL 0x001 #define EE_AUDIO_MCLK_B_CTRL 0x002 #define EE_AUDIO_MCLK_C_CTRL 0x003 #define EE_AUDIO_MCLK_D_CTRL 0x004 #define EE_AUDIO_MCLK_E_CTRL 0x005 #define EE_AUDIO_MCLK_F_CTRL 0x006 #define EE_AUDIO_MST_A_SCLK_CTRL0 0x010 #define EE_AUDIO_MST_A_SCLK_CTRL1 0x011 #define EE_AUDIO_MST_B_SCLK_CTRL0 0x012 #define EE_AUDIO_MST_B_SCLK_CTRL1 0x013 #define EE_AUDIO_MST_C_SCLK_CTRL0 0x014 #define EE_AUDIO_MST_C_SCLK_CTRL1 0x015 #define EE_AUDIO_MST_D_SCLK_CTRL0 0x016 #define EE_AUDIO_MST_D_SCLK_CTRL1 0x017 #define EE_AUDIO_MST_E_SCLK_CTRL0 0x018 #define EE_AUDIO_MST_E_SCLK_CTRL1 0x019 #define EE_AUDIO_MST_F_SCLK_CTRL0 0x01a #define EE_AUDIO_MST_F_SCLK_CTRL1 0x01b #define EE_AUDIO_CLK_TDMIN_A_CTRL 0x020 #define EE_AUDIO_CLK_TDMIN_B_CTRL 0x021 #define EE_AUDIO_CLK_TDMIN_C_CTRL 0x022 #define EE_AUDIO_CLK_TDMIN_LB_CTRL 0x023 #define EE_AUDIO_CLK_TDMOUT_A_CTRL 0x024 #define EE_AUDIO_CLK_TDMOUT_B_CTRL 0x025 #define EE_AUDIO_CLK_TDMOUT_C_CTRL 0x026 #define EE_AUDIO_CLK_SPDIFIN_CTRL 0x027 #define EE_AUDIO_CLK_SPDIFOUT_CTRL 0x028 #define EE_AUDIO_CLK_RESAMPLE_CTRL 0x029 #define EE_AUDIO_CLK_LOCKER_CTRL 0x02a #define EE_AUDIO_CLK_PDMIN_CTRL0 0x02b #define EE_AUDIO_CLK_PDMIN_CTRL1 0x02c #define EE_AUDIO_TODDR_A_CTRL0 0x040 #define EE_AUDIO_TODDR_A_CTRL1 0x041 #define EE_AUDIO_TODDR_A_START_ADDR 0x042 #define EE_AUDIO_TODDR_A_FINISH_ADDR 0x043 #define EE_AUDIO_TODDR_A_INT_ADDR 0x044 #define EE_AUDIO_TODDR_A_STATUS1 0x045 #define EE_AUDIO_TODDR_A_STATUS2 0x046 #define EE_AUDIO_TODDR_A_START_ADDRB 0x047 #define EE_AUDIO_TODDR_A_FINISH_ADDRB 0x048 #define EE_AUDIO_TODDR_B_CTRL0 0x050 #define EE_AUDIO_TODDR_B_CTRL1 0x051 #define EE_AUDIO_TODDR_B_START_ADDR 0x052 #define EE_AUDIO_TODDR_B_FINISH_ADDR 0x053 #define EE_AUDIO_TODDR_B_INT_ADDR 0x054 #define EE_AUDIO_TODDR_B_STATUS1 0x055 #define EE_AUDIO_TODDR_B_STATUS2 0x056 #define EE_AUDIO_TODDR_B_START_ADDRB 0x057 #define EE_AUDIO_TODDR_B_FINISH_ADDRB 0x058 #define EE_AUDIO_TODDR_C_CTRL0 0x060 #define EE_AUDIO_TODDR_C_CTRL1 0x061 #define EE_AUDIO_TODDR_C_START_ADDR 0x062 #define EE_AUDIO_TODDR_C_FINISH_ADDR 0x063 #define EE_AUDIO_TODDR_C_INT_ADDR 0x064 #define EE_AUDIO_TODDR_C_STATUS1 0x065 #define EE_AUDIO_TODDR_C_STATUS2 0x066 #define EE_AUDIO_TODDR_C_START_ADDRB 0x067 #define EE_AUDIO_TODDR_C_FINISH_ADDRB 0x068 #define EE_AUDIO_FRDDR_A_CTRL0 0x070 #define EE_AUDIO_FRDDR_A_CTRL1 0x071 #define EE_AUDIO_FRDDR_A_START_ADDR 0x072 #define EE_AUDIO_FRDDR_A_FINISH_ADDR 0x073 #define EE_AUDIO_FRDDR_A_INT_ADDR 0x074 #define EE_AUDIO_FRDDR_A_STATUS1 0x075 #define EE_AUDIO_FRDDR_A_STATUS2 0x076 #define EE_AUDIO_FRDDR_A_START_ADDRB 0x077 #define EE_AUDIO_FRDDR_A_FINISH_ADDRB 0x078 #define EE_AUDIO_FRDDR_B_CTRL0 0x080 #define EE_AUDIO_FRDDR_B_CTRL1 0x081 #define EE_AUDIO_FRDDR_B_START_ADDR 0x082 #define EE_AUDIO_FRDDR_B_FINISH_ADDR 0x083 #define EE_AUDIO_FRDDR_B_INT_ADDR 0x084 #define EE_AUDIO_FRDDR_B_STATUS1 0x085 #define EE_AUDIO_FRDDR_B_STATUS2 0x086 #define EE_AUDIO_FRDDR_B_START_ADDRB 0x087 #define EE_AUDIO_FRDDR_B_FINISH_ADDRB 0x088 #define EE_AUDIO_FRDDR_C_CTRL0 0x090 #define EE_AUDIO_FRDDR_C_CTRL1 0x091 #define EE_AUDIO_FRDDR_C_START_ADDR 0x092 #define EE_AUDIO_FRDDR_C_FINISH_ADDR 0x093 #define EE_AUDIO_FRDDR_C_INT_ADDR 0x094 #define EE_AUDIO_FRDDR_C_STATUS1 0x095 #define EE_AUDIO_FRDDR_C_STATUS2 0x096 #define EE_AUDIO_FRDDR_C_START_ADDRB 0x097 #define EE_AUDIO_FRDDR_C_FINISH_ADDRB 0x098 #define EE_AUDIO_ARB_CTRL 0x0a0 #define EE_AUDIO_LB_CTRL0 0x0b0 #define EE_AUDIO_LB_CTRL1 0x0b1 #define EE_AUDIO_TDMIN_A_CTRL 0x0c0 #define EE_AUDIO_TDMIN_A_SWAP 0x0c1 #define EE_AUDIO_TDMIN_A_MASK0 0x0c2 #define EE_AUDIO_TDMIN_A_MASK1 0x0c3 #define EE_AUDIO_TDMIN_A_MASK2 0x0c4 #define EE_AUDIO_TDMIN_A_MASK3 0x0c5 #define EE_AUDIO_TDMIN_A_STAT 0x0c6 #define EE_AUDIO_TDMIN_A_MUTE_VAL 0x0c7 #define EE_AUDIO_TDMIN_A_MUTE0 0x0c8 #define EE_AUDIO_TDMIN_A_MUTE1 0x0c9 #define EE_AUDIO_TDMIN_A_MUTE2 0x0ca #define EE_AUDIO_TDMIN_A_MUTE3 0x0cb #define EE_AUDIO_TDMIN_B_CTRL 0x0d0 #define EE_AUDIO_TDMIN_B_SWAP 0x0d1 #define EE_AUDIO_TDMIN_B_MASK0 0x0d2 #define EE_AUDIO_TDMIN_B_MASK1 0x0d3 #define EE_AUDIO_TDMIN_B_MASK2 0x0d4 #define EE_AUDIO_TDMIN_B_MASK3 0x0d5 #define EE_AUDIO_TDMIN_B_STAT 0x0d6 #define EE_AUDIO_TDMIN_B_MUTE_VAL 0x0d7 #define EE_AUDIO_TDMIN_B_MUTE0 0x0d8 #define EE_AUDIO_TDMIN_B_MUTE1 0x0d9 #define EE_AUDIO_TDMIN_B_MUTE2 0x0da #define EE_AUDIO_TDMIN_B_MUTE3 0x0db #define EE_AUDIO_TDMIN_C_CTRL 0x0e0 #define EE_AUDIO_TDMIN_C_SWAP 0x0e1 #define EE_AUDIO_TDMIN_C_MASK0 0x0e2 #define EE_AUDIO_TDMIN_C_MASK1 0x0e3 #define EE_AUDIO_TDMIN_C_MASK2 0x0e4 #define EE_AUDIO_TDMIN_C_MASK3 0x0e5 #define EE_AUDIO_TDMIN_C_STAT 0x0e6 #define EE_AUDIO_TDMIN_C_MUTE_VAL 0x0e7 #define EE_AUDIO_TDMIN_C_MUTE0 0x0e8 #define EE_AUDIO_TDMIN_C_MUTE1 0x0e9 #define EE_AUDIO_TDMIN_C_MUTE2 0x0ea #define EE_AUDIO_TDMIN_C_MUTE3 0x0eb #define EE_AUDIO_TDMIN_LB_CTRL 0x0f0 #define EE_AUDIO_TDMIN_LB_SWAP 0x0f1 #define EE_AUDIO_TDMIN_LB_MASK0 0x0f2 #define EE_AUDIO_TDMIN_LB_MASK1 0x0f3 #define EE_AUDIO_TDMIN_LB_MASK2 0x0f4 #define EE_AUDIO_TDMIN_LB_MASK3 0x0f5 #define EE_AUDIO_TDMIN_LB_STAT 0x0f6 #define EE_AUDIO_TDMIN_LB_MUTE_VAL 0x0f7 #define EE_AUDIO_TDMIN_LB_MUTE0 0x0f8 #define EE_AUDIO_TDMIN_LB_MUTE1 0x0f9 #define EE_AUDIO_TDMIN_LB_MUTE2 0x0fa #define EE_AUDIO_TDMIN_LB_MUTE3 0x0fb #define EE_AUDIO_SPDIFIN_CTRL0 0x100 #define EE_AUDIO_SPDIFIN_CTRL1 0x101 #define EE_AUDIO_SPDIFIN_CTRL2 0x102 #define EE_AUDIO_SPDIFIN_CTRL3 0x103 #define EE_AUDIO_SPDIFIN_CTRL4 0x104 #define EE_AUDIO_SPDIFIN_CTRL5 0x105 #define EE_AUDIO_SPDIFIN_CTRL6 0x106 #define EE_AUDIO_SPDIFIN_STAT0 0x107 #define EE_AUDIO_SPDIFIN_STAT1 0x108 #define EE_AUDIO_SPDIFIN_STAT2 0x109 #define EE_AUDIO_SPDIFIN_MUTE_VAL 0x10a #define EE_AUDIO_RESAMPLE_CTRL0 0x110 #define EE_AUDIO_RESAMPLE_CTRL1 0x111 #define EE_AUDIO_RESAMPLE_CTRL2 0x112 #define EE_AUDIO_RESAMPLE_CTRL3 0x113 #define EE_AUDIO_RESAMPLE_COEF0 0x114 #define EE_AUDIO_RESAMPLE_COEF1 0x115 #define EE_AUDIO_RESAMPLE_COEF2 0x116 #define EE_AUDIO_RESAMPLE_COEF3 0x117 #define EE_AUDIO_RESAMPLE_COEF4 0x118 #define EE_AUDIO_RESAMPLE_STATUS1 0x119 #define EE_AUDIO_SPDIFOUT_STAT 0x120 #define EE_AUDIO_SPDIFOUT_GAIN0 0x121 #define EE_AUDIO_SPDIFOUT_GAIN1 0x122 #define EE_AUDIO_SPDIFOUT_CTRL0 0x123 #define EE_AUDIO_SPDIFOUT_CTRL1 0x124 #define EE_AUDIO_SPDIFOUT_PREAMB 0x125 #define EE_AUDIO_SPDIFOUT_SWAP 0x126 #define EE_AUDIO_SPDIFOUT_CHSTS0 0x127 #define EE_AUDIO_SPDIFOUT_CHSTS1 0x128 #define EE_AUDIO_SPDIFOUT_CHSTS2 0x129 #define EE_AUDIO_SPDIFOUT_CHSTS3 0x12a #define EE_AUDIO_SPDIFOUT_CHSTS4 0x12b #define EE_AUDIO_SPDIFOUT_CHSTS5 0x12c #define EE_AUDIO_SPDIFOUT_CHSTS6 0x12d #define EE_AUDIO_SPDIFOUT_CHSTS7 0x12e #define EE_AUDIO_SPDIFOUT_CHSTS8 0x12f #define EE_AUDIO_SPDIFOUT_CHSTS9 0x130 #define EE_AUDIO_SPDIFOUT_CHSTSA 0x131 #define EE_AUDIO_SPDIFOUT_CHSTSB 0x132 #define EE_AUDIO_SPDIFOUT_MUTE_VAL 0x133 #define EE_AUDIO_TDMOUT_A_CTRL0 0x140 #define EE_AUDIO_TDMOUT_A_CTRL1 0x141 #define EE_AUDIO_TDMOUT_A_SWAP 0x142 #define EE_AUDIO_TDMOUT_A_MASK0 0x143 #define EE_AUDIO_TDMOUT_A_MASK1 0x144 #define EE_AUDIO_TDMOUT_A_MASK2 0x145 #define EE_AUDIO_TDMOUT_A_MASK3 0x146 #define EE_AUDIO_TDMOUT_A_STAT 0x147 #define EE_AUDIO_TDMOUT_A_GAIN0 0x148 #define EE_AUDIO_TDMOUT_A_GAIN1 0x149 #define EE_AUDIO_TDMOUT_A_MUTE_VAL 0x14a #define EE_AUDIO_TDMOUT_A_MUTE0 0x14b #define EE_AUDIO_TDMOUT_A_MUTE1 0x14c #define EE_AUDIO_TDMOUT_A_MUTE2 0x14d #define EE_AUDIO_TDMOUT_A_MUTE3 0x14e #define EE_AUDIO_TDMOUT_A_MASK_VAL 0x14f #define EE_AUDIO_TDMOUT_B_CTRL0 0x150 #define EE_AUDIO_TDMOUT_B_CTRL1 0x151 #define EE_AUDIO_TDMOUT_B_SWAP 0x152 #define EE_AUDIO_TDMOUT_B_MASK0 0x153 #define EE_AUDIO_TDMOUT_B_MASK1 0x154 #define EE_AUDIO_TDMOUT_B_MASK2 0x155 #define EE_AUDIO_TDMOUT_B_MASK3 0x156 #define EE_AUDIO_TDMOUT_B_STAT 0x157 #define EE_AUDIO_TDMOUT_B_GAIN0 0x158 #define EE_AUDIO_TDMOUT_B_GAIN1 0x159 #define EE_AUDIO_TDMOUT_B_MUTE_VAL 0x15a #define EE_AUDIO_TDMOUT_B_MUTE0 0x15b #define EE_AUDIO_TDMOUT_B_MUTE1 0x15c #define EE_AUDIO_TDMOUT_B_MUTE2 0x15d #define EE_AUDIO_TDMOUT_B_MUTE3 0x15e #define EE_AUDIO_TDMOUT_B_MASK_VAL 0x15f #define EE_AUDIO_TDMOUT_C_CTRL0 0x160 #define EE_AUDIO_TDMOUT_C_CTRL1 0x161 #define EE_AUDIO_TDMOUT_C_SWAP 0x162 #define EE_AUDIO_TDMOUT_C_MASK0 0x163 #define EE_AUDIO_TDMOUT_C_MASK1 0x164 #define EE_AUDIO_TDMOUT_C_MASK2 0x165 #define EE_AUDIO_TDMOUT_C_MASK3 0x166 #define EE_AUDIO_TDMOUT_C_STAT 0x167 #define EE_AUDIO_TDMOUT_C_GAIN0 0x168 #define EE_AUDIO_TDMOUT_C_GAIN1 0x169 #define EE_AUDIO_TDMOUT_C_MUTE_VAL 0x16a #define EE_AUDIO_TDMOUT_C_MUTE0 0x16b #define EE_AUDIO_TDMOUT_C_MUTE1 0x16c #define EE_AUDIO_TDMOUT_C_MUTE2 0x16d #define EE_AUDIO_TDMOUT_C_MUTE3 0x16e #define EE_AUDIO_TDMOUT_C_MASK_VAL 0x16f #define EE_AUDIO_POW_DET_CTRL0 0x180 #define EE_AUDIO_POW_DET_TH_HI 0x181 #define EE_AUDIO_POW_DET_TH_LO 0x182 #define EE_AUDIO_POW_DET_VALUE 0x183 #define EE_AUDIO_SECURITY_CTRL 0x193