0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef _WM8523_H
0013 #define _WM8523_H
0014
0015
0016
0017
0018 #define WM8523_DEVICE_ID 0x00
0019 #define WM8523_REVISION 0x01
0020 #define WM8523_PSCTRL1 0x02
0021 #define WM8523_AIF_CTRL1 0x03
0022 #define WM8523_AIF_CTRL2 0x04
0023 #define WM8523_DAC_CTRL3 0x05
0024 #define WM8523_DAC_GAINL 0x06
0025 #define WM8523_DAC_GAINR 0x07
0026 #define WM8523_ZERO_DETECT 0x08
0027
0028 #define WM8523_REGISTER_COUNT 9
0029 #define WM8523_MAX_REGISTER 0x08
0030
0031
0032
0033
0034
0035
0036
0037
0038 #define WM8523_CHIP_ID_MASK 0xFFFF
0039 #define WM8523_CHIP_ID_SHIFT 0
0040 #define WM8523_CHIP_ID_WIDTH 16
0041
0042
0043
0044
0045 #define WM8523_CHIP_REV_MASK 0x0007
0046 #define WM8523_CHIP_REV_SHIFT 0
0047 #define WM8523_CHIP_REV_WIDTH 3
0048
0049
0050
0051
0052 #define WM8523_SYS_ENA_MASK 0x0003
0053 #define WM8523_SYS_ENA_SHIFT 0
0054 #define WM8523_SYS_ENA_WIDTH 2
0055
0056
0057
0058
0059 #define WM8523_TDM_MODE_MASK 0x1800
0060 #define WM8523_TDM_MODE_SHIFT 11
0061 #define WM8523_TDM_MODE_WIDTH 2
0062 #define WM8523_TDM_SLOT_MASK 0x0600
0063 #define WM8523_TDM_SLOT_SHIFT 9
0064 #define WM8523_TDM_SLOT_WIDTH 2
0065 #define WM8523_DEEMPH 0x0100
0066 #define WM8523_DEEMPH_MASK 0x0100
0067 #define WM8523_DEEMPH_SHIFT 8
0068 #define WM8523_DEEMPH_WIDTH 1
0069 #define WM8523_AIF_MSTR 0x0080
0070 #define WM8523_AIF_MSTR_MASK 0x0080
0071 #define WM8523_AIF_MSTR_SHIFT 7
0072 #define WM8523_AIF_MSTR_WIDTH 1
0073 #define WM8523_LRCLK_INV 0x0040
0074 #define WM8523_LRCLK_INV_MASK 0x0040
0075 #define WM8523_LRCLK_INV_SHIFT 6
0076 #define WM8523_LRCLK_INV_WIDTH 1
0077 #define WM8523_BCLK_INV 0x0020
0078 #define WM8523_BCLK_INV_MASK 0x0020
0079 #define WM8523_BCLK_INV_SHIFT 5
0080 #define WM8523_BCLK_INV_WIDTH 1
0081 #define WM8523_WL_MASK 0x0018
0082 #define WM8523_WL_SHIFT 3
0083 #define WM8523_WL_WIDTH 2
0084 #define WM8523_FMT_MASK 0x0007
0085 #define WM8523_FMT_SHIFT 0
0086 #define WM8523_FMT_WIDTH 3
0087
0088
0089
0090
0091 #define WM8523_DAC_OP_MUX_MASK 0x00C0
0092 #define WM8523_DAC_OP_MUX_SHIFT 6
0093 #define WM8523_DAC_OP_MUX_WIDTH 2
0094 #define WM8523_BCLKDIV_MASK 0x0038
0095 #define WM8523_BCLKDIV_SHIFT 3
0096 #define WM8523_BCLKDIV_WIDTH 3
0097 #define WM8523_SR_MASK 0x0007
0098 #define WM8523_SR_SHIFT 0
0099 #define WM8523_SR_WIDTH 3
0100
0101
0102
0103
0104 #define WM8523_ZC 0x0010
0105 #define WM8523_ZC_MASK 0x0010
0106 #define WM8523_ZC_SHIFT 4
0107 #define WM8523_ZC_WIDTH 1
0108 #define WM8523_DACR 0x0008
0109 #define WM8523_DACR_MASK 0x0008
0110 #define WM8523_DACR_SHIFT 3
0111 #define WM8523_DACR_WIDTH 1
0112 #define WM8523_DACL 0x0004
0113 #define WM8523_DACL_MASK 0x0004
0114 #define WM8523_DACL_SHIFT 2
0115 #define WM8523_DACL_WIDTH 1
0116 #define WM8523_VOL_UP_RAMP 0x0002
0117 #define WM8523_VOL_UP_RAMP_MASK 0x0002
0118 #define WM8523_VOL_UP_RAMP_SHIFT 1
0119 #define WM8523_VOL_UP_RAMP_WIDTH 1
0120 #define WM8523_VOL_DOWN_RAMP 0x0001
0121 #define WM8523_VOL_DOWN_RAMP_MASK 0x0001
0122 #define WM8523_VOL_DOWN_RAMP_SHIFT 0
0123 #define WM8523_VOL_DOWN_RAMP_WIDTH 1
0124
0125
0126
0127
0128 #define WM8523_DACL_VU 0x0200
0129 #define WM8523_DACL_VU_MASK 0x0200
0130 #define WM8523_DACL_VU_SHIFT 9
0131 #define WM8523_DACL_VU_WIDTH 1
0132 #define WM8523_DACL_VOL_MASK 0x01FF
0133 #define WM8523_DACL_VOL_SHIFT 0
0134 #define WM8523_DACL_VOL_WIDTH 9
0135
0136
0137
0138
0139 #define WM8523_DACR_VU 0x0200
0140 #define WM8523_DACR_VU_MASK 0x0200
0141 #define WM8523_DACR_VU_SHIFT 9
0142 #define WM8523_DACR_VU_WIDTH 1
0143 #define WM8523_DACR_VOL_MASK 0x01FF
0144 #define WM8523_DACR_VOL_SHIFT 0
0145 #define WM8523_DACR_VOL_WIDTH 9
0146
0147
0148
0149
0150 #define WM8523_ZD_COUNT_MASK 0x0003
0151 #define WM8523_ZD_COUNT_SHIFT 0
0152 #define WM8523_ZD_COUNT_WIDTH 2
0153
0154 #endif