Hardware volume


I’ve just ordered the vim version of the tone board.
I would like to know if the hardware volume control of the es9038q2m is used to adjust volume ( with a alsa driver for example or through I2c)
I’m using a tpa3255 based amplifier with no volume control, I would like to get the maximum quality of the tone board with hardware volume control and not by software ( it means lose some bits of the signal).


Use XMOS I2C can adjust volume but you need to update XMOS software,if you familiar with XMOS I think can have a try.
Good luck!


In order to update Xmos software I need your source code , modify , compile and reflash the xmos ?
Do you provide source code and the SDK to cpmpile the new software ?
Is the I2C signal of the ess chip available on a board pin, we could consider a multimaster I2C and connect the I2C also to the VIM.


We cannot provide the XMOS source code right now for there is no more time to deal with it ,but we will arrange time to prepare it later!:joy:



I’ve checked the cms resistor to connect to , there are very tiny. It will be very difficult to solder wires on it.
If your philosophy is no sound quality tradeoff, (the lack of toslink is explained by the bad quality of this interfaces : jitter …) , In order to enhance the sound quality at low level , it would be good that you develop the hardware mixer like i’ve seen on other xmos based product. In the same way, it would be very interesting to change other parameter like thd compensation or filter of the ESS.

I can help a little if necessary



You can change parameter like thd compensation or filter of the ESS. But our tone board was debugged in an ideal state^_^
If you are interested, you can change the parameters to play!


How to change these parameters ?
Unless you provide update on xmos firmware , I can’t figure out how to do it.

I think the board will be in ideal state with hardware volume management :slight_smile: Do you plan to update firmware ?



Maybe at the end of this year :grinning:


I’ve ordered an xtag adapter to flash the xmos chip. I will try to develop the feature myself :slight_smile: end of the year is too far for me.
Could you provide the original firmware,as my custom firmware could brick the device ?
Obviously getting your xtime project would be the best answer :slight_smile:




I’ve received my xtag3 adapter, it looks like I can’t connect it directly to the tone board. I’ve you got the schematic to build the adapter cable between them ?
Here is the pinout of the xtag 3 :
1 5V Target to Host Power
2 NC N/A No connection
3 MSEL Host to Target Select boot from JTAG - Active Low
4 GND N/A Ground
5 TDSRC Host to Target JTAG Test Data
6 XL1_UP1 Target to Host xCONNECT Link
7 TMS Host to Target JTAG Test Mode Select
8 GND N/A Ground
9 TCK Host to Target JTAG Test Clock
10 XL1_UP0 Target to Host xCONNECT Link
11 DEBUG Bidirectional Debug
12 GND N/A Ground
13 TDSNK Target to Host JTAG Test Data
14 XL1_DN0 Host to Target xCONNECT Link
15 RST_N Host to Target System Reset - Active Low
16 GND N/A Ground
17 UART_RX Host to Target Serial Port
18 XL1_DN1 Host to Target xCONNECT Link
19 UART_TX Target to Host Serial Port
20 GND N/A Ground
Please, could you provide the mapping versus your debug connector ?



1、5V Target to Host Power = 5V0 /TONE_5V

5、TDSRC Host to Target JTAG Test Data = TDO
7、TMS Host to Target JTAG Test Mode Select = TMS
9、TCK Host to Target JTAG Test Clock
13、TDSNK Target to Host JTAG Test Data = TDI
15、RST_N Host to Target System Reset - Active Low = RST


Thanks a lot !
Now ,i have to create a xn file to dump the firmware !


Dump done,
I’ve got a binary file of 1MB( it looks like the flash memory is not the same as in the schematic (512kB). How to do to be sure that my dump file is correct and i could write it again to the board without brick it ?


I’ve compiled my first firmware and uploaded to the tone board, as expected it doesn’t work :slight_smile: ,no sound but at least the board is recognized as a xmos device, the alsamixer shows the hardware volume so good news.I’ve done basic configuration of the 9038 through i2c and managed the 2 gpios to enable the good audio clock
I think i need advice on the conf file.
here is my setup :

            <!-- Audio Ports -->          
            <Port Location="XS1_PORT_1D"  Name="PORT_MCLK_IN"/>
            <Port Location="XS1_PORT_1P"  Name="PORT_I2S_LRCLK"/>
            <Port Location="XS1_PORT_1O"  Name="PORT_I2S_BCLK"/>
            <Port Location="XS1_PORT_1N"  Name="PORT_I2S_DAC0"/>
            <Port Location="XS1_PORT_4C"  Name="PORT_I2C"/>
            <Port Location="XS1_PORT_1O"  Name="PORT_DSD_DAC0"/>
            <port Location="XS1_PORT_1N"  Name="PORT_DSD_DAC1"/>
            <Port Location="XS1_PORT_1P"  Name="PORT_DSD_CLK"/>
            <Port Location="XS1_PORT_16B"  Name="PORT_MCLK_COUNT"/> 

Am I in the right direction ?


I’ve managed to upload my new firmware , I’ve got now a full working firmware with hardware volume management. The board is very good at debugging, i was able to debug and trace my firmware code.

I can now manage the volume of the spdif input which was impossible before.


congrats!!! xxxxxxxxx