@@ -130,46 +130,46 @@ bool ES8388::begin(int sda, int scl, uint32_t frequency)
130130 {
131131
132132 /* mute DAC during setup, power up all systems, slave mode */
133- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL3, 0x04 );
134- res & = write_reg (ES8388_ADDR, ES8388_CONTROL2, 0x50 );
135- res & = write_reg (ES8388_ADDR, ES8388_CHIPPOWER, 0x00 );
136- res & = write_reg (ES8388_ADDR, ES8388_MASTERMODE, 0x00 );
133+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL3, 0x04 );
134+ res | = write_reg (ES8388_ADDR, ES8388_CONTROL2, 0x50 );
135+ res | = write_reg (ES8388_ADDR, ES8388_CHIPPOWER, 0x00 );
136+ res | = write_reg (ES8388_ADDR, ES8388_MASTERMODE, 0x00 );
137137
138138 /* power up DAC and enable LOUT1+2 / ROUT1+2, ADC sample rate = DAC sample rate */
139- res & = write_reg (ES8388_ADDR, ES8388_DACPOWER, 0x3e );
140- res & = write_reg (ES8388_ADDR, ES8388_CONTROL1, 0x12 );
139+ res | = write_reg (ES8388_ADDR, ES8388_DACPOWER, 0x3e );
140+ res | = write_reg (ES8388_ADDR, ES8388_CONTROL1, 0x12 );
141141
142142 /* DAC I2S setup: 16 bit word length, I2S format; MCLK / Fs = 256*/
143- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL1, 0x18 );
144- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL2, 0x02 );
143+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL1, 0x18 );
144+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL2, 0x02 );
145145
146146 /* DAC to output route mixer configuration: ADC MIX TO OUTPUT */
147- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL16, 0x1B );
148- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL17, 0x90 );
149- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL20, 0x90 );
147+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL16, 0x1B );
148+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL17, 0x90 );
149+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL20, 0x90 );
150150
151151 /* DAC and ADC use same LRCK, enable MCLK input; output resistance setup */
152- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL21, 0x80 );
153- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL23, 0x00 );
152+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL21, 0x80 );
153+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL23, 0x00 );
154154
155155 /* DAC volume control: 0dB (maximum, unattenuated) */
156- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL5, 0x00 );
157- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL4, 0x00 );
156+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL5, 0x00 );
157+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL4, 0x00 );
158158
159159 /* power down ADC while configuring; volume: +9dB for both channels */
160- res & = write_reg (ES8388_ADDR, ES8388_ADCPOWER, 0xff );
161- res & = write_reg (ES8388_ADDR, ES8388_ADCCONTROL1, 0x88 ); // +24db
160+ res | = write_reg (ES8388_ADDR, ES8388_ADCPOWER, 0xff );
161+ res | = write_reg (ES8388_ADDR, ES8388_ADCCONTROL1, 0x88 ); // +24db
162162
163163 // differential, stereo, Right => LINPUT1/RINPUT1 , Left => LINPUT2/RINPUT2
164- res & = write_reg (ES8388_ADDR, ES8388_ADCCONTROL2, 0xFC ); //
165- res & = write_reg (ES8388_ADDR, ES8388_ADCCONTROL3, 0x02 ); // 00
164+ res | = write_reg (ES8388_ADDR, ES8388_ADCCONTROL2, 0xFC ); //
165+ res | = write_reg (ES8388_ADDR, ES8388_ADCCONTROL3, 0x02 ); // 00
166166
167- res & = write_reg (ES8388_ADDR, ES8388_ADCCONTROL4, 0x0c );
168- res & = write_reg (ES8388_ADDR, ES8388_ADCCONTROL5, 0x02 );
167+ res | = write_reg (ES8388_ADDR, ES8388_ADCCONTROL4, 0x0c );
168+ res | = write_reg (ES8388_ADDR, ES8388_ADCCONTROL5, 0x02 );
169169
170170 /* set ADC volume */
171- res & = write_reg (ES8388_ADDR, ES8388_ADCCONTROL8, 0x00 );
172- res & = write_reg (ES8388_ADDR, ES8388_ADCCONTROL9, 0x00 );
171+ res | = write_reg (ES8388_ADDR, ES8388_ADCCONTROL8, 0x00 );
172+ res | = write_reg (ES8388_ADDR, ES8388_ADCCONTROL9, 0x00 );
173173
174174 // ALC
175175 // (optimized for voice)
@@ -182,20 +182,20 @@ bool ES8388::begin(int sda, int scl, uint32_t frequency)
182182
183183
184184 // Set mono => (R + L) / 2
185- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL7, 0x20 );
185+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL7, 0x20 );
186186
187187 /* set LOUT1 / ROUT1 volume: 0dB (unattenuated) */
188- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL24, 0x21 );
189- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL25, 0x21 );
188+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL24, 0x21 );
189+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL25, 0x21 );
190190
191191 /* set LOUT2 / ROUT2 volume: 0dB (unattenuated) */
192- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL26, 0x21 );
193- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL27, 0x21 );
192+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL26, 0x21 );
193+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL27, 0x21 );
194194
195195 /* power up and enable DAC; power up ADC (no MIC bias) */
196- res & = write_reg (ES8388_ADDR, ES8388_DACPOWER, 0x3C );
197- res & = write_reg (ES8388_ADDR, ES8388_DACCONTROL3, 0x00 );
198- res & = write_reg (ES8388_ADDR, ES8388_ADCPOWER, 0x00 );
196+ res | = write_reg (ES8388_ADDR, ES8388_DACPOWER, 0x3C );
197+ res | = write_reg (ES8388_ADDR, ES8388_DACCONTROL3, 0x00 );
198+ res | = write_reg (ES8388_ADDR, ES8388_ADCPOWER, 0x00 );
199199
200200 /* set up MCLK) */
201201// PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0_CLK_OUT1);
0 commit comments