• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1root {
2    platfrom {
3        template codec_controller {
4            match_attr = "";
5            serviceName = "";
6            codecDaiName = "";
7        }
8        controller_0x120c1030 :: codec_controller {
9            match_attr = "hdf_codec_driver";
10            serviceName = "codec_service_0";
11            codecDaiName = "codec_dai";
12        }
13        controller_0x120c1031 :: codec_controller {
14            match_attr = "hdf_codec_driver_ex";
15            serviceName = "codec_service_1";
16            codecDaiName = "codec_dai";
17            regConfig {
18                 /* reg: register address
19                    rreg: register address
20                    shift: shift bits
21                    rshift: rshift bits
22                    min: min value
23                    max: max value
24                    mask: mask of value
25                    invert: enum InvertVal 0-uninvert 1-invert
26                    value: value
27                */
28
29                /* reg, value */
30                resetSeqConfig = [
31                    0x00,    0x03
32                ];
33
34                /* reg, value */
35                initSeqConfig = [
36                    0x00,    0xC0, // es8316_reset
37                    0x01,    0x7F, // es8316_clkmgr_clksw
38                    0x02,    0x08, // es8316_clkmgr_clksel
39                    0x03,    0x20, // es8316_clkmgr_adcosr
40                    0x04,    0x11, // es8316_clkmgr_adcdiv1
41                    0x05,    0x00, // es8316_clkmgr_adcdiv2
42                    0x06,    0x11, // es8316_clkmgr_dacdiv1
43                    0x07,    0x00, // es8316_clkmgr_dacdiv2
44                    0x08,    0x00, // es8316_clkmgr_cpdiv
45                    0x09,    0x04, // es8316_serdata1
46                    0x0A,    0x0C, // es8316_serdata_adc
47                    0x0B,    0x0C, // es8316_serdata_dac
48                    0x0C,    0xFF, // es8316_sys_vmidsel
49                    0x0D,    0x00, // es8316_sys_pdn
50                    0x0E,    0x3F, // es8316_sys_lp1
51                    0x0F,    0x1F, // es8316_sys_lp2
52                    0x10,    0x11, // es8316_sys_vmidlow
53                    0x11,    0xFC, // es8316_sys_vsel
54                    0x12,    0x28, // es8316_sys_ref
55                    0x13,    0x00, // es8316_hpmix_sel
56                    0x14,    0x88, // es8316_hpmix_switch
57                    0x15,    0x00, // es8316_hpmix_pdn
58                    0x16,    0xBB, // es8316_hpmix_vol
59                    0x17,    0x66, // es8316_cphp_outen
60                    0x18,    0x00, // es8316_cphp_ical_vol
61                    0x19,    0x06, // es8316_cphp_pdn1
62                    0x1A,    0x22, // es8316_cphp_pdn2
63                    0x1B,    0x03, // es8316_cphp_ldoctl
64                    0x1C,    0x0F, // es8316_cal_type
65                    0x1D,    0x00, // es8316_cal_set
66                    0x1E,    0x90, // es8316_cal_hpliv
67                    0x1F,    0x90, // es8316_cal_hpriv
68                    0x20,    0x00, // es8316_cal_hplmv
69                    0x21,    0x00, // es8316_cal_hprmv
70                    0x22,    0x00, // es8316_adc_pdn_linsel
71                    0x23,    0x60, // es8316_adc_pgagain // mic gain
72                    0x24,    0x00, // es8316_adc_d2sepga
73                    0x25,    0x08, // es8316_adc_dmic
74                    0x26,    0x30, // es8316_adc_mute    // capture mute bit[5]
75                    0x27,    0x00, // es8316_adc_volume  // capture volume
76                    0x29,    0xCD, // es8316_adc_alc1
77                    0x2A,    0x08, // es8316_adc_alc2
78                    0x2B,    0xA0, // es8316_adc_alc3
79                    0x2C,    0x05, // es8316_adc_alc4
80                    0x2D,    0x06, // es8316_adc_alc5
81                    0x2E,    0x61, // es8316_adc_alc_ng
82                    0x2F,    0x00, // es8316_dac_pdn
83                    0x30,    0x30, // es8316_dac_set1 // output mute bit[5]
84                    0x31,    0x20, // es8316_dac_set2
85                    0x32,    0x00, // es8316_dac_set3
86                    0x33,    0x1A, // es8316_dac_voll // left output volume
87                    0x34,    0x1A, // es8316_dac_volr // right output volume
88                    0x35,    0x1F
89                ];
90
91                /* reg, rreg, shift, rshift, min, max, mask, invert, value */
92                ctrlParamsSeqConfig = [
93                    0x33,    0x34,    0,    0,    0x0,    0xC0,   0xFF,   1,    0x00, // output volume
94//                  0x27,    0x27,    0,    0,    0x0,    0xC0,   0xFF,   1,    0x00, // capture volume
95                    0x23,    0x23,    4,    4,    0x0,    0x0A,   0x0F,   0,    0x00, // capture volume(mic gain)
96                    0x30,    0x30,    5,    5,    0x0,    0x01,   0x01,   0,    0x00, // output mute
97                    0x26,    0x26,    5,    5,    0x0,    0x01,   0x01,   0,    0x00, // capture mute
98                    0x23,    0x23,    4,    4,    0x0,    0x0A,   0x0F,   0,    0x00, // mic left gain
99                    0x23,    0x23,    4,    4,    0x0,    0x0A,   0x0F,   0,    0x00, // mic right gain
100                    0x2F,    0x2F,    0,    0,    0x0,    0x11,   0x11,   0,    0x00, // output channel
101                    0x22,    0x22,    4,    4,    0x0,    0x03,   0x03,   0,    0x00  // capture channel
102                ];
103
104                /* reg, rreg, shift, rshift, min, max, mask, invert, value */
105                daiStartupSeqConfig = [
106                    0x22,    0x22,    0,    0,    0x0,    0xFF,   0xFF,    0,    0x00, // es8316_adc_pdn_linsel
107                    0x2F,    0x2F,    0,    0,    0x0,    0xFF,   0xFF,    0,    0x00, // es8316_dac_pdn
108                    0x26,    0x26,    0,    0,    0x0,    0xFF,   0xFF,    0,    0x10, // es8316_adc_mute(capture unmute)
109                    0x30,    0x30,    0,    0,    0x0,    0xFF,   0xFF,    0,    0x10  // es8316_dac_set1(output unmute)
110                ];
111
112                /* reg, rreg, shift, rshift, min, max, mask, invert, value
113                   The top three are frequency, format and channel respectively, and the others are behind
114                */
115                daiParamsSeqConfig = [
116                    // playback input params (hal input)
117                    0x09,    0x09,    0,    0,    0x0,    0x0F,   0x0F,    0,    0x00, // i2s_frequency
118                    0x0B,    0x0B,    2,    2,    0x0,    0x04,   0x0F,    0,    0x00, // i2s_format
119                    0x2F,    0x2F,    0,    0,    0x0,    0x11,   0xFF,    0,    0x00, // i2s_channel
120                    // capture input params (hal input)
121                    0x09,    0x09,    0,    0,    0x0,    0x0F,   0x0F,    0,    0x00, // capture__frequency
122                    0x0A,    0x0A,    2,    2,    0x0,    0x04,   0x0F,    0,    0x00, // capture_format
123                    0x22,    0x22,    4,    4,    0x0,    0x03,   0x0F,    0,    0x00  // capture_channel
124                ];
125
126                /* reg, value */
127                getStatusSeqConfig = [
128                    0x4F,    0x0
129                ];
130
131                /*
132                    "Master Playback Volume",
133                    "Master Capture Volume",
134                    "Playback Mute",
135                    "Capture Mute",
136                    "Mic Left Gain",
137                    "Mic Right Gain",
138                    "External Codec Enable",
139                    "Internally Codec Enable",
140                    "Render Channel Mode",
141                    "Captrue Channel Mode"
142                */
143                /* array index, iface, enable */
144                controlsConfig = [
145                    0,  0,  1,
146                    1,  1,  1,
147                    2,  0,  1,
148                    3,  1,  1,
149                    4,  2,  1,
150                    5,  2,  1,
151                    8,  6,  1,
152                    9,  6,  1
153                ];
154           }
155        }
156
157    }
158}
159