1// Copyright 2017 The Fuchsia Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#pragma once 6 7// Register offsets for the A113G chip. Taken from the A113G datasheet. 8 9#define A113_PDM_PHYS_BASE 0xff632000 10 11#define PDM_CTRL 0x00 12#define PDM_HCIC_CTRL1 0x01 13#define PDM_HCIC_CTRL2 0x02 14#define PDM_F1_CTRL 0x03 15#define PDM_F2_CTRL 0x04 16#define PDM_F3_CTRL 0x05 17#define PDM_HPF_CTRL 0x06 18#define PDM_CHAN_CTRL 0x07 19#define PDM_CHAN_CTRL1 0x08 20#define PDM_COEFF_ADDR 0x09 21#define PDM_COEFF_DATA 0x0A 22#define PDM_CLKG_CTRL 0x0B 23#define PDM_STS 0x0C 24 25#define A113_EE_AUDIO_PHYS_BASE 0xff642000 26 27#define EE_AUDIO_CLK_GATE_EN 0x000 28#define EE_AUDIO_MCLK_A_CTRL 0x001 29#define EE_AUDIO_MCLK_B_CTRL 0x002 30#define EE_AUDIO_MCLK_C_CTRL 0x003 31#define EE_AUDIO_MCLK_D_CTRL 0x004 32#define EE_AUDIO_MCLK_E_CTRL 0x005 33#define EE_AUDIO_MCLK_F_CTRL 0x006 34#define EE_AUDIO_MST_A_SCLK_CTRL0 0x010 35#define EE_AUDIO_MST_A_SCLK_CTRL1 0x011 36#define EE_AUDIO_MST_B_SCLK_CTRL0 0x012 37#define EE_AUDIO_MST_B_SCLK_CTRL1 0x013 38#define EE_AUDIO_MST_C_SCLK_CTRL0 0x014 39#define EE_AUDIO_MST_C_SCLK_CTRL1 0x015 40#define EE_AUDIO_MST_D_SCLK_CTRL0 0x016 41#define EE_AUDIO_MST_D_SCLK_CTRL1 0x017 42#define EE_AUDIO_MST_E_SCLK_CTRL0 0x018 43#define EE_AUDIO_MST_E_SCLK_CTRL1 0x019 44#define EE_AUDIO_MST_F_SCLK_CTRL0 0x01a 45#define EE_AUDIO_MST_F_SCLK_CTRL1 0x01b 46#define EE_AUDIO_CLK_TDMIN_A_CTRL 0x020 47#define EE_AUDIO_CLK_TDMIN_B_CTRL 0x021 48#define EE_AUDIO_CLK_TDMIN_C_CTRL 0x022 49#define EE_AUDIO_CLK_TDMIN_LB_CTRL 0x023 50#define EE_AUDIO_CLK_TDMOUT_A_CTRL 0x024 51#define EE_AUDIO_CLK_TDMOUT_B_CTRL 0x025 52#define EE_AUDIO_CLK_TDMOUT_C_CTRL 0x026 53#define EE_AUDIO_CLK_SPDIFIN_CTRL 0x027 54#define EE_AUDIO_CLK_SPDIFOUT_CTRL 0x028 55#define EE_AUDIO_CLK_RESAMPLE_CTRL 0x029 56#define EE_AUDIO_CLK_LOCKER_CTRL 0x02a 57#define EE_AUDIO_CLK_PDMIN_CTRL0 0x02b 58#define EE_AUDIO_CLK_PDMIN_CTRL1 0x02c 59#define EE_AUDIO_TODDR_A_CTRL0 0x040 60#define EE_AUDIO_TODDR_A_CTRL1 0x041 61#define EE_AUDIO_TODDR_A_START_ADDR 0x042 62#define EE_AUDIO_TODDR_A_FINISH_ADDR 0x043 63#define EE_AUDIO_TODDR_A_INT_ADDR 0x044 64#define EE_AUDIO_TODDR_A_STATUS1 0x045 65#define EE_AUDIO_TODDR_A_STATUS2 0x046 66#define EE_AUDIO_TODDR_A_START_ADDRB 0x047 67#define EE_AUDIO_TODDR_A_FINISH_ADDRB 0x048 68#define EE_AUDIO_TODDR_B_CTRL0 0x050 69#define EE_AUDIO_TODDR_B_CTRL1 0x051 70#define EE_AUDIO_TODDR_B_START_ADDR 0x052 71#define EE_AUDIO_TODDR_B_FINISH_ADDR 0x053 72#define EE_AUDIO_TODDR_B_INT_ADDR 0x054 73#define EE_AUDIO_TODDR_B_STATUS1 0x055 74#define EE_AUDIO_TODDR_B_STATUS2 0x056 75#define EE_AUDIO_TODDR_B_START_ADDRB 0x057 76#define EE_AUDIO_TODDR_B_FINISH_ADDRB 0x058 77#define EE_AUDIO_TODDR_C_CTRL0 0x060 78#define EE_AUDIO_TODDR_C_CTRL1 0x061 79#define EE_AUDIO_TODDR_C_START_ADDR 0x062 80#define EE_AUDIO_TODDR_C_FINISH_ADDR 0x063 81#define EE_AUDIO_TODDR_C_INT_ADDR 0x064 82#define EE_AUDIO_TODDR_C_STATUS1 0x065 83#define EE_AUDIO_TODDR_C_STATUS2 0x066 84#define EE_AUDIO_TODDR_C_START_ADDRB 0x067 85#define EE_AUDIO_TODDR_C_FINISH_ADDRB 0x068 86#define EE_AUDIO_FRDDR_A_CTRL0 0x070 87#define EE_AUDIO_FRDDR_A_CTRL1 0x071 88#define EE_AUDIO_FRDDR_A_START_ADDR 0x072 89#define EE_AUDIO_FRDDR_A_FINISH_ADDR 0x073 90#define EE_AUDIO_FRDDR_A_INT_ADDR 0x074 91#define EE_AUDIO_FRDDR_A_STATUS1 0x075 92#define EE_AUDIO_FRDDR_A_STATUS2 0x076 93#define EE_AUDIO_FRDDR_A_START_ADDRB 0x077 94#define EE_AUDIO_FRDDR_A_FINISH_ADDRB 0x078 95#define EE_AUDIO_FRDDR_B_CTRL0 0x080 96#define EE_AUDIO_FRDDR_B_CTRL1 0x081 97#define EE_AUDIO_FRDDR_B_START_ADDR 0x082 98#define EE_AUDIO_FRDDR_B_FINISH_ADDR 0x083 99#define EE_AUDIO_FRDDR_B_INT_ADDR 0x084 100#define EE_AUDIO_FRDDR_B_STATUS1 0x085 101#define EE_AUDIO_FRDDR_B_STATUS2 0x086 102#define EE_AUDIO_FRDDR_B_START_ADDRB 0x087 103#define EE_AUDIO_FRDDR_B_FINISH_ADDRB 0x088 104#define EE_AUDIO_FRDDR_C_CTRL0 0x090 105#define EE_AUDIO_FRDDR_C_CTRL1 0x091 106#define EE_AUDIO_FRDDR_C_START_ADDR 0x092 107#define EE_AUDIO_FRDDR_C_FINISH_ADDR 0x093 108#define EE_AUDIO_FRDDR_C_INT_ADDR 0x094 109#define EE_AUDIO_FRDDR_C_STATUS1 0x095 110#define EE_AUDIO_FRDDR_C_STATUS2 0x096 111#define EE_AUDIO_FRDDR_C_START_ADDRB 0x097 112#define EE_AUDIO_FRDDR_C_FINISH_ADDRB 0x098 113#define EE_AUDIO_ARB_CTRL 0x0a0 114#define EE_AUDIO_LB_CTRL0 0x0b0 115#define EE_AUDIO_LB_CTRL1 0x0b1 116#define EE_AUDIO_TDMIN_A_CTRL 0x0c0 117#define EE_AUDIO_TDMIN_A_SWAP 0x0c1 118#define EE_AUDIO_TDMIN_A_MASK0 0x0c2 119#define EE_AUDIO_TDMIN_A_MASK1 0x0c3 120#define EE_AUDIO_TDMIN_A_MASK2 0x0c4 121#define EE_AUDIO_TDMIN_A_MASK3 0x0c5 122#define EE_AUDIO_TDMIN_A_STAT 0x0c6 123#define EE_AUDIO_TDMIN_A_MUTE_VAL 0x0c7 124#define EE_AUDIO_TDMIN_A_MUTE0 0x0c8 125#define EE_AUDIO_TDMIN_A_MUTE1 0x0c9 126#define EE_AUDIO_TDMIN_A_MUTE2 0x0ca 127#define EE_AUDIO_TDMIN_A_MUTE3 0x0cb 128#define EE_AUDIO_TDMIN_B_CTRL 0x0d0 129#define EE_AUDIO_TDMIN_B_SWAP 0x0d1 130#define EE_AUDIO_TDMIN_B_MASK0 0x0d2 131#define EE_AUDIO_TDMIN_B_MASK1 0x0d3 132#define EE_AUDIO_TDMIN_B_MASK2 0x0d4 133#define EE_AUDIO_TDMIN_B_MASK3 0x0d5 134#define EE_AUDIO_TDMIN_B_STAT 0x0d6 135#define EE_AUDIO_TDMIN_B_MUTE_VAL 0x0d7 136#define EE_AUDIO_TDMIN_B_MUTE0 0x0d8 137#define EE_AUDIO_TDMIN_B_MUTE1 0x0d9 138#define EE_AUDIO_TDMIN_B_MUTE2 0x0da 139#define EE_AUDIO_TDMIN_B_MUTE3 0x0db 140#define EE_AUDIO_TDMIN_C_CTRL 0x0e0 141#define EE_AUDIO_TDMIN_C_SWAP 0x0e1 142#define EE_AUDIO_TDMIN_C_MASK0 0x0e2 143#define EE_AUDIO_TDMIN_C_MASK1 0x0e3 144#define EE_AUDIO_TDMIN_C_MASK2 0x0e4 145#define EE_AUDIO_TDMIN_C_MASK3 0x0e5 146#define EE_AUDIO_TDMIN_C_STAT 0x0e6 147#define EE_AUDIO_TDMIN_C_MUTE_VAL 0x0e7 148#define EE_AUDIO_TDMIN_C_MUTE0 0x0e8 149#define EE_AUDIO_TDMIN_C_MUTE1 0x0e9 150#define EE_AUDIO_TDMIN_C_MUTE2 0x0ea 151#define EE_AUDIO_TDMIN_C_MUTE3 0x0eb 152#define EE_AUDIO_TDMIN_LB_CTRL 0x0f0 153#define EE_AUDIO_TDMIN_LB_SWAP 0x0f1 154#define EE_AUDIO_TDMIN_LB_MASK0 0x0f2 155#define EE_AUDIO_TDMIN_LB_MASK1 0x0f3 156#define EE_AUDIO_TDMIN_LB_MASK2 0x0f4 157#define EE_AUDIO_TDMIN_LB_MASK3 0x0f5 158#define EE_AUDIO_TDMIN_LB_STAT 0x0f6 159#define EE_AUDIO_TDMIN_LB_MUTE_VAL 0x0f7 160#define EE_AUDIO_TDMIN_LB_MUTE0 0x0f8 161#define EE_AUDIO_TDMIN_LB_MUTE1 0x0f9 162#define EE_AUDIO_TDMIN_LB_MUTE2 0x0fa 163#define EE_AUDIO_TDMIN_LB_MUTE3 0x0fb 164#define EE_AUDIO_SPDIFIN_CTRL0 0x100 165#define EE_AUDIO_SPDIFIN_CTRL1 0x101 166#define EE_AUDIO_SPDIFIN_CTRL2 0x102 167#define EE_AUDIO_SPDIFIN_CTRL3 0x103 168#define EE_AUDIO_SPDIFIN_CTRL4 0x104 169#define EE_AUDIO_SPDIFIN_CTRL5 0x105 170#define EE_AUDIO_SPDIFIN_CTRL6 0x106 171#define EE_AUDIO_SPDIFIN_STAT0 0x107 172#define EE_AUDIO_SPDIFIN_STAT1 0x108 173#define EE_AUDIO_SPDIFIN_STAT2 0x109 174#define EE_AUDIO_SPDIFIN_MUTE_VAL 0x10a 175#define EE_AUDIO_RESAMPLE_CTRL0 0x110 176#define EE_AUDIO_RESAMPLE_CTRL1 0x111 177#define EE_AUDIO_RESAMPLE_CTRL2 0x112 178#define EE_AUDIO_RESAMPLE_CTRL3 0x113 179#define EE_AUDIO_RESAMPLE_COEF0 0x114 180#define EE_AUDIO_RESAMPLE_COEF1 0x115 181#define EE_AUDIO_RESAMPLE_COEF2 0x116 182#define EE_AUDIO_RESAMPLE_COEF3 0x117 183#define EE_AUDIO_RESAMPLE_COEF4 0x118 184#define EE_AUDIO_RESAMPLE_STATUS1 0x119 185#define EE_AUDIO_SPDIFOUT_STAT 0x120 186#define EE_AUDIO_SPDIFOUT_GAIN0 0x121 187#define EE_AUDIO_SPDIFOUT_GAIN1 0x122 188#define EE_AUDIO_SPDIFOUT_CTRL0 0x123 189#define EE_AUDIO_SPDIFOUT_CTRL1 0x124 190#define EE_AUDIO_SPDIFOUT_PREAMB 0x125 191#define EE_AUDIO_SPDIFOUT_SWAP 0x126 192#define EE_AUDIO_SPDIFOUT_CHSTS0 0x127 193#define EE_AUDIO_SPDIFOUT_CHSTS1 0x128 194#define EE_AUDIO_SPDIFOUT_CHSTS2 0x129 195#define EE_AUDIO_SPDIFOUT_CHSTS3 0x12a 196#define EE_AUDIO_SPDIFOUT_CHSTS4 0x12b 197#define EE_AUDIO_SPDIFOUT_CHSTS5 0x12c 198#define EE_AUDIO_SPDIFOUT_CHSTS6 0x12d 199#define EE_AUDIO_SPDIFOUT_CHSTS7 0x12e 200#define EE_AUDIO_SPDIFOUT_CHSTS8 0x12f 201#define EE_AUDIO_SPDIFOUT_CHSTS9 0x130 202#define EE_AUDIO_SPDIFOUT_CHSTSA 0x131 203#define EE_AUDIO_SPDIFOUT_CHSTSB 0x132 204#define EE_AUDIO_SPDIFOUT_MUTE_VAL 0x133 205#define EE_AUDIO_TDMOUT_A_CTRL0 0x140 206#define EE_AUDIO_TDMOUT_A_CTRL1 0x141 207#define EE_AUDIO_TDMOUT_A_SWAP 0x142 208#define EE_AUDIO_TDMOUT_A_MASK0 0x143 209#define EE_AUDIO_TDMOUT_A_MASK1 0x144 210#define EE_AUDIO_TDMOUT_A_MASK2 0x145 211#define EE_AUDIO_TDMOUT_A_MASK3 0x146 212#define EE_AUDIO_TDMOUT_A_STAT 0x147 213#define EE_AUDIO_TDMOUT_A_GAIN0 0x148 214#define EE_AUDIO_TDMOUT_A_GAIN1 0x149 215#define EE_AUDIO_TDMOUT_A_MUTE_VAL 0x14a 216#define EE_AUDIO_TDMOUT_A_MUTE0 0x14b 217#define EE_AUDIO_TDMOUT_A_MUTE1 0x14c 218#define EE_AUDIO_TDMOUT_A_MUTE2 0x14d 219#define EE_AUDIO_TDMOUT_A_MUTE3 0x14e 220#define EE_AUDIO_TDMOUT_A_MASK_VAL 0x14f 221#define EE_AUDIO_TDMOUT_B_CTRL0 0x150 222#define EE_AUDIO_TDMOUT_B_CTRL1 0x151 223#define EE_AUDIO_TDMOUT_B_SWAP 0x152 224#define EE_AUDIO_TDMOUT_B_MASK0 0x153 225#define EE_AUDIO_TDMOUT_B_MASK1 0x154 226#define EE_AUDIO_TDMOUT_B_MASK2 0x155 227#define EE_AUDIO_TDMOUT_B_MASK3 0x156 228#define EE_AUDIO_TDMOUT_B_STAT 0x157 229#define EE_AUDIO_TDMOUT_B_GAIN0 0x158 230#define EE_AUDIO_TDMOUT_B_GAIN1 0x159 231#define EE_AUDIO_TDMOUT_B_MUTE_VAL 0x15a 232#define EE_AUDIO_TDMOUT_B_MUTE0 0x15b 233#define EE_AUDIO_TDMOUT_B_MUTE1 0x15c 234#define EE_AUDIO_TDMOUT_B_MUTE2 0x15d 235#define EE_AUDIO_TDMOUT_B_MUTE3 0x15e 236#define EE_AUDIO_TDMOUT_B_MASK_VAL 0x15f 237#define EE_AUDIO_TDMOUT_C_CTRL0 0x160 238#define EE_AUDIO_TDMOUT_C_CTRL1 0x161 239#define EE_AUDIO_TDMOUT_C_SWAP 0x162 240#define EE_AUDIO_TDMOUT_C_MASK0 0x163 241#define EE_AUDIO_TDMOUT_C_MASK1 0x164 242#define EE_AUDIO_TDMOUT_C_MASK2 0x165 243#define EE_AUDIO_TDMOUT_C_MASK3 0x166 244#define EE_AUDIO_TDMOUT_C_STAT 0x167 245#define EE_AUDIO_TDMOUT_C_GAIN0 0x168 246#define EE_AUDIO_TDMOUT_C_GAIN1 0x169 247#define EE_AUDIO_TDMOUT_C_MUTE_VAL 0x16a 248#define EE_AUDIO_TDMOUT_C_MUTE0 0x16b 249#define EE_AUDIO_TDMOUT_C_MUTE1 0x16c 250#define EE_AUDIO_TDMOUT_C_MUTE2 0x16d 251#define EE_AUDIO_TDMOUT_C_MUTE3 0x16e 252#define EE_AUDIO_TDMOUT_C_MASK_VAL 0x16f 253#define EE_AUDIO_POW_DET_CTRL0 0x180 254#define EE_AUDIO_POW_DET_TH_HI 0x181 255#define EE_AUDIO_POW_DET_TH_LO 0x182 256#define EE_AUDIO_POW_DET_VALUE 0x183 257#define EE_AUDIO_SECURITY_CTRL 0x193 258