ES9028Q2M driver for Raspbian based distro

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
GitHub - VinnyLorrin/Rpi-ES9018K2M-DAC

Only tested on ES9028Q2M DAC, current known issue located at post#57

To use,
1. copy 'es9018k2m.ko' to /lib/modules/4.9.79-v7+/kernel/sound/soc/codecs/
2. copy 'rpi-es9018k2m-dac.ko' to /lib/modules/4.9.79-v7+/kernel/sound/soc/bcm
3. copy 'rpi-es9018k2m-dac.dtbo' to /boot/overlays/
4. execute 'depmod -a'
5. add 'dtparam=i2s=on', 'dtparam=i2c_arm=on' and 'dtoverlay=rpi-es9018k2m-dac' to /boot/config.txt, and remove the old DAC overlay entry.
6. reboot.

The code is developed based on GitHub - SatoruKawase/I-Sabre-K2M: Audiophonics I-Sabre K2M DAC Board ALSA Driver. The register definition is based on GitHub - luoyi/Rpi-ES9018K2M-DAC.

Enjoy

:cop: Attachment removed by moderation as requested by OP
 
Last edited:
9028 specific ? would it work for 9018K2m or 9038Q2m.?

Since the Moode advanced kernels have been dropped from 4.0 the only i2s driver I can make work on 9038Q2m is rpi-dac.....

I am not sure if 9038Q2M has the same register definition as ES9028Q2M. But ES9018K2M definitely does not work. You can download the datasheet for 9018 from https://myl8test.files.wordpress.com/2013/05/download-es9018-datasheet-here.pdf and modify the source file accordingly to compile your own driver. Or you can download the source from GitHub - SatoruKawase/I-Sabre-K2M: Audiophonics I-Sabre K2M DAC Board ALSA Driver, I think it was made specific to 9018K2M.
 
hi gandolf,

Have you read your ESS NDA?

ESS will not let you open source drivers. That's why there are not any included in any of the Linux distributions.

regards

Let me put it in this way.
1. All the sources are taken from the other GitHub repos, no new information from me.

2. The NDA indeed prohibits me from disclosing any information related to their datasheet, but I have never received any datasheets from ESS, I cannot violate the NDA by disclosing the information that I don't have, can I?
 
That's great. I saw it in your source code. Thank you for the very professional design.

By the way, can I install your driver in Volumio?

Regards,
Ian

You are welcome. I believe most of credits should go to SatoruKawase and luoyi on github. Anyway, to use it in Volumio, please verify your kernel version is 4.9.79-v7+. If Volumio uses the same kernel, it should work.
 
Ok, found how to upgrade kernel...
from here...raspbian - Why I can't update kernel version? - Raspberry Pi Stack Exchange


Go to [ Commits * Hexxeh/rpi-firmware * GitHub ] and find the commit key for the version you want.

Then use the following command will update to the last version.

sudo rpi-update <commit key here>

I think Tim had regressed the kernel version due to some problems elsewhere.
You must have an earlier build with the first kernel whereas I built today and got the regression.

Yeap, my Moode was built right after he officially released the 4.0
 
disable_splash=1
hdmi_drive=2
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=audio=off
max_usb_current=1
# Enable the lirc-rpi module
dtoverlay=lirc-rpi
# Override the defaults for the lirc-rpi module
dtparam=gpio_in_pin=27
dtoverlay=hifibunny-q2m
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt
 
disable_splash=1
hdmi_drive=2
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=audio=off
max_usb_current=1
# Enable the lirc-rpi module
dtoverlay=lirc-rpi
# Override the defaults for the lirc-rpi module
dtparam=gpio_in_pin=27
dtoverlay=hifibunny-q2m
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt

Please comment out 'dtoverlay=lirc-rpi' and try again. May I ask what board are you using? It is probably helpful to find out the function of GPIO27.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.