[Jan 14] KDE Neon (20190113-1500) - Pinebook1080P / Pinebook |[Jan 14] Q4OS (2.7-r1) - Pinebook1080P / Pinebook | [Dec 07] DietPi(v6.18) - Pinebook / Manjaro KDE (preview3) / Manjaro LXQT (preview3) - Pinebook |[Dec 06] Armbian Debian Stretch (5.67) / Armbian Ubuntu 18.04 Bionic Desktop (5.67) - RockPro64 |[Dec 05] DietPi(v6.18) - 1080P Pinebook

Project Inspiration | Get Started | IRC Logs | Forum Rules/Policy


[SOLVED] No sound from phone-jack via "es8316" on rockpro64
#1
The environment is "bionic-lxde-rockpro64-0.7.9-1067-arm64.img.xz".(https://github.com/ayufan-rock64/linux-b...m64.img.xz)
kernel is updated to "linux-image-4.4.138-1094". (https://github.com/ayufan-rock64/linux-k..._arm64.deb)


The sound via hdmi is output well.
However, there is no sound via "es8316", but somehow rubbish comes out on the serial console.

Is there a person who has successfully outputted sound via "es8316" ?
Reply
#2
Moin!

> Is there a person who has successfully outputted sound via "es8316" ?

Just wanted to say that you are not allone: Same problem here.

Greetings, J.
Reply
#3
As a result of various investigations,
These problems turned out to be caused by the kernel side.

The issues is as follows (0.7.9: gitlab-ci-linux-build-67: 4.4.132-1075)
1. "es8316-sound" no sound.
2. "spdif-sound"  no sound.
3. "serial-console output" contains garbage.

All of the above issues have been solved by modifying kernel.

---
*Additional information)
 At currently the newest kernel (4.4.154-1122),
 all sound (in addition to the above, "hdmi-sound" also) can not output.

I also confirmed that it works correctly with the same modification.
Reply
#4
(10-05-2018, 12:23 AM)t4_4t Wrote: As a result of various investigations,
These problems turned out to be caused by the kernel side.

The issues is as follows (0.7.9: gitlab-ci-linux-build-67: 4.4.132-1075)
1. "es8316-sound" no sound.
2. "spdif-sound"  no sound.
3. "serial-console output" contains garbage.

All of the above issues have been solved by modifying kernel.

---
*Additional information)
 At currently the newest kernel (4.4.154-1122),
 all sound (in addition to the above, "hdmi-sound" also) can not output.

I also confirmed that it works correctly with the same modification.


I agree with your findings on 4.4.132 & 4.4.154 kernels - what mods do youu apply to the kernel to correct things?
ROCKPro64 v2.1 2GB, SM961 128GB NVMe for rootfs, HDMI video & sound, Bluetooth keyboard & mouse
Started Bionic minimal - now Cosmic, Openbox desktop for general purpose daily PC.
Reply
#5
Just upgraded to 4.4.154-1122 and have the same issue here as well.
Reply
#6
OK - still trying to get some noise out of my ES8316. Think I am pretty close but help/suggestions required, please!

I am compiling my own 4.19 kernel: Ayufan versions have no ALSA devices at all. I now have
Code:
[email protected]:~$ uname -a
Linux rpro64.dukla.net 4.19.0 #3 SMP PREEMPT Wed Oct 24 10:47:48 BST 2018 aarch64 aarch64 aarch64 GNU/Linux
[email protected]:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchipes8316c [rockchip,es8316-codec], device 0: ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Which is quite promising. Also
Code:
$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=rockchipes8316c
    rockchip,es8316-codec,
    Default Audio Device
sysdefault:CARD=rockchipes8316c
    rockchip,es8316-codec,
    Default Audio Device
dmix:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct sample mixing device
dsnoop:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct sample snooping device
hw:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct hardware device without any conversions
plughw:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Hardware device with all software conversions

But

Code:
$ speaker-test -c 2 sysdefault:CARD=rockchipes8316c

speaker-test 1.1.6

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Playback open error: -22,Invalid argument

And then system log fills with
Code:
[   83.424483] es8316 1-0010: No sysclk provided
[   83.425020] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22

I did remember 0010 in an error message earlier in the boot:

Code:
$ dmesg | grep ff880000
[    2.090028] rockchip-pinctrl pinctrl: pin gpio4-0 already requested by 1-0010; cannot claim for ff880000.i2s
[    2.090907] rockchip-pinctrl pinctrl: pin-128 (ff880000.i2s) status -22
[    2.092501] rockchip-i2s ff880000.i2s: Error applying setting, reverse things back
[    2.093180] rockchip-i2s: probe of ff880000.i2s failed with error -22

So the question - how to sort the 1-0010 | gpio4-0 | ff880000.i2s conflict? Pretty sure this is in the device tree somewhere but have yet to find something obvious.
ROCKPro64 v2.1 2GB, SM961 128GB NVMe for rootfs, HDMI video & sound, Bluetooth keyboard & mouse
Started Bionic minimal - now Cosmic, Openbox desktop for general purpose daily PC.
Reply
#7
The problem of "es8316" is quite tough and can not be solved by only modifying "*.dts" or "kernel-config".

For example, your proposal is,
> So the question - how to sort the 1-0010 | gpio4-0 | ff880000.i2s conflict ?

If you fix it, you can surely see some improvement.
However, this kind of modification alone is not enough,
and only the effect of reducing errors from the "boot-log" is obtained.

In order for "es8316" to work correctly, both "dts" and "*.c source-code" modifications are necessary,
and the modification is more extensive (perhaps, more than you think).

"original-kernel (4.19.0-1073-ayufan)"
https://github.com/ayufan-rock64/linux-m..._arm64.deb
Code:
$ uname -a
Linux Rock64 4.19.0-1073-ayufan-ga6e013135a6e #1 SMP PREEMPT Tue Oct 23 09:19:54 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

[   16.057479] rockchip-pinctrl pinctrl: pin gpio4-0 already requested by ff880000.i2s; cannot claim for 1-0010
[   16.059298] rockchip-pinctrl pinctrl: pin-128 (1-0010) status -22
[   16.060034] rockchip-pinctrl pinctrl: could not request pin 128 (gpio4-0) from group i2s-8ch-mclk  on device rockchip-pinctrl
[   16.061258] es8316 1-0010: Error applying setting, reverse things back
[   16.062080] es8316: probe of 1-0010 failed with error -22

$ aplay -l
aplay: device_list:270: no soundcards found...

$ aplay -L
default
   Playback/recording through the PulseAudio sound server
null
   Discard all samples (playback) or generate zero samples (capture)
pulse
   PulseAudio Sound Server

$ pactl list sinks
Sink #0
       State: IDLE
       Name: auto_null
       Description: Dummy Output
       Driver: module-null-sink.c
       Sample Specification: s16le 2ch 44100Hz
       Channel Map: front-left,front-right
       Owner Module: 10
       Mute: no
       Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
               balance 0.00
       Base Volume: 65536 / 100% / 0.00 dB
       Monitor Source: auto_null.monitor
       Latency: 2213366 usec, configured 2000000 usec
       Flags: DECIBEL_VOLUME LATENCY
       Properties:
               device.description = "Dummy Output"
               device.class = "abstract"
               device.icon_name = "audio-card"
       Formats:
               pcm

"original-kernel" with "modified-dts" (your proposal, perhaps what you tried to do)
Code:
$ uname -a
Linux Rock64 4.19.0-1073-ayufan-ga6e013135a6e #1 SMP PREEMPT Tue Oct 23 09:19:54 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

[   10.538432] asoc-simple-card es8316-sound: ASoC: no source widget found for MICBIAS1
[   10.539291] asoc-simple-card es8316-sound: ASoC: Failed to add route MICBIAS1 -> direct -> Mic Jack
[   10.540228] asoc-simple-card es8316-sound: ASoC: no sink widget found for IN1P
[   10.540973] asoc-simple-card es8316-sound: ASoC: Failed to add route Mic Jack -> direct -> IN1P
[   11.978401] es8316 1-0010: ASoC: Differential Mux DAPM update failed: -6
[   11.979565] es8316 1-0010: ASoC: Digital Mic Mux DAPM update failed: -6
[   13.149657] es8316 1-0010: ASoC: Differential Mux DAPM update failed: -6
[   13.151011] es8316 1-0010: ASoC: Digital Mic Mux DAPM update failed: -6

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
[  280.461123] es8316 1-0010: No sysclk provided
[  280.464960] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
...
[  280.507795] es8316 1-0010: No sysclk provided
[  280.511685] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
card 0: rockchipes8316c [rockchip,es8316-codec], device 0: ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ aplay -L
[  347.616981] es8316 1-0010: No sysclk provided
[  347.620827] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
...
[  347.663448] es8316 1-0010: No sysclk provided
[  347.667337] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
sysdefault:CARD=rockchipes8316c
    rockchip,es8316-codec,
    Default Audio Device
dmix:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct sample mixing device
dsnoop:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct sample snooping device
hw:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct hardware device without any conversions
plughw:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Hardware device with all software conversions

$ pactl list sinks
[  129.097332] es8316 1-0010: No sysclk provided
[  129.097841] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
...
[  129.110316] es8316 1-0010: No sysclk provided
[  129.110825] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
Sink #0
        State: IDLE
        Name: auto_null
        Description: Dummy Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 11
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: auto_null.monitor
        Latency: 2216568 usec, configured 2000000 usec
        Flags: DECIBEL_VOLUME LATENCY
        Properties:
                device.description = "Dummy Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm


"my-kernel"
Code:
$ uname -a
Linux Rock64 4.19.0-1073-ayufan-ga6e013135a6e #1 SMP PREEMPT Tue Oct 23 20:05:55 JST 2018 aarch64 aarch64 aarch64 GNU/Linux

[    3.683845] asoc-simple-card es8316-sound: ES8316 HiFi <-> ff890000.i2s mapping ok
[    3.684589] asoc-simple-card es8316-sound: ASoC: no DMI vendor name!
[    3.691358] asoc-simple-card spdif-sound: dit-hifi <-> ff870000.spdif mapping ok
[    3.692034] asoc-simple-card spdif-sound: ASoC: no DMI vendor name!
[    4.254556] asoc-simple-card hdmi-sound: i2s-hifi <-> ff8a0000.i2s mapping ok
[    4.255369] asoc-simple-card hdmi-sound: ASoC: no DMI vendor name!

[    4.500561] ALSA device list:
[    4.500561]   #0: ROCKCHIP,ES8316
[    4.500561]   #1: ROCKCHIP,SPDIF
[    4.500561]   #2: ROCKCHIP,HDMI


$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ROCKCHIPES8316 [ROCKCHIP,ES8316], device 0: ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ROCKCHIPSPDIF [ROCKCHIP,SPDIF], device 0: ff870000.spdif-dit-hifi dit-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: ROCKCHIPHDMI [ROCKCHIP,HDMI], device 0: ff8a0000.i2s-i2s-hifi i2s-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ aplay -L
default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
default:CARD=ROCKCHIPES8316
    ROCKCHIP,ES8316,
    Default Audio Device
sysdefault:CARD=ROCKCHIPES8316
    ROCKCHIP,ES8316,
    Default Audio Device
dmix:CARD=ROCKCHIPES8316,DEV=0
    ROCKCHIP,ES8316,
    Direct sample mixing device
dsnoop:CARD=ROCKCHIPES8316,DEV=0
    ROCKCHIP,ES8316,
    Direct sample snooping device
hw:CARD=ROCKCHIPES8316,DEV=0
    ROCKCHIP,ES8316,
    Direct hardware device without any conversions
plughw:CARD=ROCKCHIPES8316,DEV=0
    ROCKCHIP,ES8316,
    Hardware device with all software conversions
default:CARD=ROCKCHIPSPDIF
    ROCKCHIP,SPDIF,
    Default Audio Device
sysdefault:CARD=ROCKCHIPSPDIF
    ROCKCHIP,SPDIF,
    Default Audio Device
dmix:CARD=ROCKCHIPSPDIF,DEV=0
    ROCKCHIP,SPDIF,
    Direct sample mixing device
dsnoop:CARD=ROCKCHIPSPDIF,DEV=0
    ROCKCHIP,SPDIF,
    Direct sample snooping device
hw:CARD=ROCKCHIPSPDIF,DEV=0
    ROCKCHIP,SPDIF,
    Direct hardware device without any conversions
plughw:CARD=ROCKCHIPSPDIF,DEV=0
    ROCKCHIP,SPDIF,
    Hardware device with all software conversions
default:CARD=ROCKCHIPHDMI
    ROCKCHIP,HDMI,
    Default Audio Device
sysdefault:CARD=ROCKCHIPHDMI
    ROCKCHIP,HDMI,
    Default Audio Device
dmix:CARD=ROCKCHIPHDMI,DEV=0
    ROCKCHIP,HDMI,
    Direct sample mixing device
dsnoop:CARD=ROCKCHIPHDMI,DEV=0
    ROCKCHIP,HDMI,
    Direct sample snooping device
hw:CARD=ROCKCHIPHDMI,DEV=0
    ROCKCHIP,HDMI,
    Direct hardware device without any conversions
plughw:CARD=ROCKCHIPHDMI,DEV=0
    ROCKCHIP,HDMI,
    Hardware device with all software conversions

$ pactl list sinks
Sink #0
        State: IDLE
        Name: alsa_output.platform-es8316-sound.stereo-fallback
        Description: Built-in Audio Stereo
        Driver: module-alsa-card.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 6
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.platform-es8316-sound.stereo-fallback.monitor
        Latency: 1896804 usec, configured 2000000 usec
        Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
        Properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = ""
                alsa.id = "ff890000.i2s-ES8316 HiFi ES8316 HiFi-0"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "0"
                alsa.card_name = "ROCKCHIP,ES8316"
                alsa.long_card_name = "ROCKCHIP,ES8316"
                device.bus_path = "platform-es8316-sound"
                sysfs.path = "/devices/platform/es8316-sound/sound/card0"
                device.form_factor = "internal"
                device.string = "hw:0"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "stereo-fallback"
                device.profile.description = "Stereo"
                device.description = "Built-in Audio Stereo"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Ports:
                analog-output-headphones: Headphones (priority: 9000)
        Active Port: analog-output-headphones
        Formats:
                pcm

Sink #1
        State: IDLE
        Name: alsa_output.platform-hdmi-sound.stereo-fallback
        Description: Built-in Audio Stereo
        Driver: module-alsa-card.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 7
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.platform-hdmi-sound.stereo-fallback.monitor
        Latency: 1949733 usec, configured 2000000 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY
        Properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = ""
                alsa.id = "ff8a0000.i2s-i2s-hifi i2s-hifi-0"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "2"
                alsa.card_name = "ROCKCHIP,HDMI"
                alsa.long_card_name = "ROCKCHIP,HDMI"
                device.bus_path = "platform-hdmi-sound"
                sysfs.path = "/devices/platform/hdmi-sound/sound/card2"
                device.form_factor = "internal"
                device.string = "hw:2"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "stereo-fallback"
                device.profile.description = "Stereo"
                device.description = "Built-in Audio Stereo"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Ports:
                analog-output: Analog Output (priority: 9900)
        Active Port: analog-output
        Formats:
                pcm

Sink #2
        State: IDLE
        Name: alsa_output.platform-spdif-sound.stereo-fallback
        Description: Built-in Audio Stereo
        Driver: module-alsa-card.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 8
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.platform-spdif-sound.stereo-fallback.monitor
        Latency: 1985337 usec, configured 2000000 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY
        Properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = ""
                alsa.id = "ff870000.spdif-dit-hifi dit-hifi-0"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "1"
                alsa.card_name = "ROCKCHIP,SPDIF"
                alsa.long_card_name = "ROCKCHIP,SPDIF"
                device.bus_path = "platform-spdif-sound"
                sysfs.path = "/devices/platform/spdif-sound/sound/card1"
                device.form_factor = "internal"
                device.string = "hw:1"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "stereo-fallback"
                device.profile.description = "Stereo"
                device.description = "Built-in Audio Stereo"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Ports:
                analog-output: Analog Output (priority: 9900)
        Active Port: analog-output
        Formats:
                pcm

Of course, all the sounds "es8316" / "hdmi" / "spdif" are working.
However, sadly, "mainline-kernel" has not yet implemented "video-accelerator" (mpp related),
it is not fun even if only the sound comes out.

So, I usually do not use "mainline-kernel".
Reply
#8
(10-26-2018, 05:46 AM)t4_4t Wrote: ...

Of course, all the sounds "es8316" / "hdmi" / "spdif" are working.
However, sadly, "mainline-kernel" has not yet implemented "video-accelerator" (mpp related),
it is not fun even if only the sound comes out.

So, I usually do not use "mainline-kernel".

So you mark it as "SOLVED". Could you kindly point us to the solution? Diffs or so... since that comes to modifying kernel source as you've mentioned.
Reply
#9
Please make a 'Pull Request' so we all can hear something. Thanks.
Sorry for any mistakes. English is not my native language

1. RP64 v2.0 / PCIe NVMe as root / sd-card as boot / 2,5 Zoll HDD 1TB (USB3) using as Webserver .... (Armbian 5.67.181217 nightly)
2. RP64 v2.1 / PCIe SATA / sd-card / 2 * 2,5 Zoll 2TB HDD (raid1) / using as NAS / Kernel 4.19.0-rc4-1071-ayufan
3. RP64 v2.1 / Corsair GTX USB3 as root / sd-card as boot (ARMBIAN 5.67.181217 nightly)

https://forum.frank-mankel.org/category/14/rockpro64


Reply
#10
(10-26-2018, 05:46 AM)t4_4t Wrote: The problem of "es8316" is quite tough and can not be solved by only modifying "*.dts" or "kernel-config".

For example, your proposal is,
> So the question - how to sort the 1-0010 | gpio4-0 | ff880000.i2s conflict ?

If you fix it, you can surely see some improvement.
However, this kind of modification alone is not enough,
and only the effect of reducing errors from the "boot-log" is obtained.

In order for "es8316" to work correctly, both "dts" and "*.c source-code" modifications are necessary,
and the modification is more extensive (perhaps, more than you think).

"original-kernel (4.19.0-1073-ayufan)"
https://github.com/ayufan-rock64/linux-m..._arm64.deb
Code:
$ uname -a
Linux Rock64 4.19.0-1073-ayufan-ga6e013135a6e #1 SMP PREEMPT Tue Oct 23 09:19:54 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

[   16.057479] rockchip-pinctrl pinctrl: pin gpio4-0 already requested by ff880000.i2s; cannot claim for 1-0010
[   16.059298] rockchip-pinctrl pinctrl: pin-128 (1-0010) status -22
[   16.060034] rockchip-pinctrl pinctrl: could not request pin 128 (gpio4-0) from group i2s-8ch-mclk  on device rockchip-pinctrl
[   16.061258] es8316 1-0010: Error applying setting, reverse things back
[   16.062080] es8316: probe of 1-0010 failed with error -22

$ aplay -l
aplay: device_list:270: no soundcards found...

$ aplay -L
default
   Playback/recording through the PulseAudio sound server
null
   Discard all samples (playback) or generate zero samples (capture)
pulse
   PulseAudio Sound Server

$ pactl list sinks
Sink #0
       State: IDLE
       Name: auto_null
       Description: Dummy Output
       Driver: module-null-sink.c
       Sample Specification: s16le 2ch 44100Hz
       Channel Map: front-left,front-right
       Owner Module: 10
       Mute: no
       Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
               balance 0.00
       Base Volume: 65536 / 100% / 0.00 dB
       Monitor Source: auto_null.monitor
       Latency: 2213366 usec, configured 2000000 usec
       Flags: DECIBEL_VOLUME LATENCY
       Properties:
               device.description = "Dummy Output"
               device.class = "abstract"
               device.icon_name = "audio-card"
       Formats:
               pcm

"original-kernel" with "modified-dts" (your proposal, perhaps what you tried to do)
Code:
$ uname -a
Linux Rock64 4.19.0-1073-ayufan-ga6e013135a6e #1 SMP PREEMPT Tue Oct 23 09:19:54 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

[   10.538432] asoc-simple-card es8316-sound: ASoC: no source widget found for MICBIAS1
[   10.539291] asoc-simple-card es8316-sound: ASoC: Failed to add route MICBIAS1 -> direct -> Mic Jack
[   10.540228] asoc-simple-card es8316-sound: ASoC: no sink widget found for IN1P
[   10.540973] asoc-simple-card es8316-sound: ASoC: Failed to add route Mic Jack -> direct -> IN1P
[   11.978401] es8316 1-0010: ASoC: Differential Mux DAPM update failed: -6
[   11.979565] es8316 1-0010: ASoC: Digital Mic Mux DAPM update failed: -6
[   13.149657] es8316 1-0010: ASoC: Differential Mux DAPM update failed: -6
[   13.151011] es8316 1-0010: ASoC: Digital Mic Mux DAPM update failed: -6

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
[  280.461123] es8316 1-0010: No sysclk provided
[  280.464960] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
...
[  280.507795] es8316 1-0010: No sysclk provided
[  280.511685] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
card 0: rockchipes8316c [rockchip,es8316-codec], device 0: ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ aplay -L
[  347.616981] es8316 1-0010: No sysclk provided
[  347.620827] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
...
[  347.663448] es8316 1-0010: No sysclk provided
[  347.667337] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
sysdefault:CARD=rockchipes8316c
    rockchip,es8316-codec,
    Default Audio Device
dmix:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct sample mixing device
dsnoop:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct sample snooping device
hw:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Direct hardware device without any conversions
plughw:CARD=rockchipes8316c,DEV=0
    rockchip,es8316-codec,
    Hardware device with all software conversions

$ pactl list sinks
[  129.097332] es8316 1-0010: No sysclk provided
[  129.097841] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
...
[  129.110316] es8316 1-0010: No sysclk provided
[  129.110825] es8316 1-0010: ASoC: can't open codec ES8316 HiFi: -22
Sink #0
        State: IDLE
        Name: auto_null
        Description: Dummy Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 11
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: auto_null.monitor
        Latency: 2216568 usec, configured 2000000 usec
        Flags: DECIBEL_VOLUME LATENCY
        Properties:
                device.description = "Dummy Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm


"my-kernel"
Code:
$ uname -a
Linux Rock64 4.19.0-1073-ayufan-ga6e013135a6e #1 SMP PREEMPT Tue Oct 23 20:05:55 JST 2018 aarch64 aarch64 aarch64 GNU/Linux

[    3.683845] asoc-simple-card es8316-sound: ES8316 HiFi <-> ff890000.i2s mapping ok
[    3.684589] asoc-simple-card es8316-sound: ASoC: no DMI vendor name!
[    3.691358] asoc-simple-card spdif-sound: dit-hifi <-> ff870000.spdif mapping ok
[    3.692034] asoc-simple-card spdif-sound: ASoC: no DMI vendor name!
[    4.254556] asoc-simple-card hdmi-sound: i2s-hifi <-> ff8a0000.i2s mapping ok
[    4.255369] asoc-simple-card hdmi-sound: ASoC: no DMI vendor name!

[    4.500561] ALSA device list:
[    4.500561]   #0: ROCKCHIP,ES8316
[    4.500561]   #1: ROCKCHIP,SPDIF
[    4.500561]   #2: ROCKCHIP,HDMI


$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ROCKCHIPES8316 [ROCKCHIP,ES8316], device 0: ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ROCKCHIPSPDIF [ROCKCHIP,SPDIF], device 0: ff870000.spdif-dit-hifi dit-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: ROCKCHIPHDMI [ROCKCHIP,HDMI], device 0: ff8a0000.i2s-i2s-hifi i2s-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ aplay -L
default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
default:CARD=ROCKCHIPES8316
    ROCKCHIP,ES8316,
    Default Audio Device
sysdefault:CARD=ROCKCHIPES8316
    ROCKCHIP,ES8316,
    Default Audio Device
dmix:CARD=ROCKCHIPES8316,DEV=0
    ROCKCHIP,ES8316,
    Direct sample mixing device
dsnoop:CARD=ROCKCHIPES8316,DEV=0
    ROCKCHIP,ES8316,
    Direct sample snooping device
hw:CARD=ROCKCHIPES8316,DEV=0
    ROCKCHIP,ES8316,
    Direct hardware device without any conversions
plughw:CARD=ROCKCHIPES8316,DEV=0
    ROCKCHIP,ES8316,
    Hardware device with all software conversions
default:CARD=ROCKCHIPSPDIF
    ROCKCHIP,SPDIF,
    Default Audio Device
sysdefault:CARD=ROCKCHIPSPDIF
    ROCKCHIP,SPDIF,
    Default Audio Device
dmix:CARD=ROCKCHIPSPDIF,DEV=0
    ROCKCHIP,SPDIF,
    Direct sample mixing device
dsnoop:CARD=ROCKCHIPSPDIF,DEV=0
    ROCKCHIP,SPDIF,
    Direct sample snooping device
hw:CARD=ROCKCHIPSPDIF,DEV=0
    ROCKCHIP,SPDIF,
    Direct hardware device without any conversions
plughw:CARD=ROCKCHIPSPDIF,DEV=0
    ROCKCHIP,SPDIF,
    Hardware device with all software conversions
default:CARD=ROCKCHIPHDMI
    ROCKCHIP,HDMI,
    Default Audio Device
sysdefault:CARD=ROCKCHIPHDMI
    ROCKCHIP,HDMI,
    Default Audio Device
dmix:CARD=ROCKCHIPHDMI,DEV=0
    ROCKCHIP,HDMI,
    Direct sample mixing device
dsnoop:CARD=ROCKCHIPHDMI,DEV=0
    ROCKCHIP,HDMI,
    Direct sample snooping device
hw:CARD=ROCKCHIPHDMI,DEV=0
    ROCKCHIP,HDMI,
    Direct hardware device without any conversions
plughw:CARD=ROCKCHIPHDMI,DEV=0
    ROCKCHIP,HDMI,
    Hardware device with all software conversions

$ pactl list sinks
Sink #0
        State: IDLE
        Name: alsa_output.platform-es8316-sound.stereo-fallback
        Description: Built-in Audio Stereo
        Driver: module-alsa-card.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 6
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.platform-es8316-sound.stereo-fallback.monitor
        Latency: 1896804 usec, configured 2000000 usec
        Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
        Properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = ""
                alsa.id = "ff890000.i2s-ES8316 HiFi ES8316 HiFi-0"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "0"
                alsa.card_name = "ROCKCHIP,ES8316"
                alsa.long_card_name = "ROCKCHIP,ES8316"
                device.bus_path = "platform-es8316-sound"
                sysfs.path = "/devices/platform/es8316-sound/sound/card0"
                device.form_factor = "internal"
                device.string = "hw:0"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "stereo-fallback"
                device.profile.description = "Stereo"
                device.description = "Built-in Audio Stereo"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Ports:
                analog-output-headphones: Headphones (priority: 9000)
        Active Port: analog-output-headphones
        Formats:
                pcm

Sink #1
        State: IDLE
        Name: alsa_output.platform-hdmi-sound.stereo-fallback
        Description: Built-in Audio Stereo
        Driver: module-alsa-card.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 7
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.platform-hdmi-sound.stereo-fallback.monitor
        Latency: 1949733 usec, configured 2000000 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY
        Properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = ""
                alsa.id = "ff8a0000.i2s-i2s-hifi i2s-hifi-0"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "2"
                alsa.card_name = "ROCKCHIP,HDMI"
                alsa.long_card_name = "ROCKCHIP,HDMI"
                device.bus_path = "platform-hdmi-sound"
                sysfs.path = "/devices/platform/hdmi-sound/sound/card2"
                device.form_factor = "internal"
                device.string = "hw:2"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "stereo-fallback"
                device.profile.description = "Stereo"
                device.description = "Built-in Audio Stereo"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Ports:
                analog-output: Analog Output (priority: 9900)
        Active Port: analog-output
        Formats:
                pcm

Sink #2
        State: IDLE
        Name: alsa_output.platform-spdif-sound.stereo-fallback
        Description: Built-in Audio Stereo
        Driver: module-alsa-card.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 8
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.platform-spdif-sound.stereo-fallback.monitor
        Latency: 1985337 usec, configured 2000000 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY
        Properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = ""
                alsa.id = "ff870000.spdif-dit-hifi dit-hifi-0"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "1"
                alsa.card_name = "ROCKCHIP,SPDIF"
                alsa.long_card_name = "ROCKCHIP,SPDIF"
                device.bus_path = "platform-spdif-sound"
                sysfs.path = "/devices/platform/spdif-sound/sound/card1"
                device.form_factor = "internal"
                device.string = "hw:1"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "stereo-fallback"
                device.profile.description = "Stereo"
                device.description = "Built-in Audio Stereo"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Ports:
                analog-output: Analog Output (priority: 9900)
        Active Port: analog-output
        Formats:
                pcm

Of course, all the sounds "es8316" / "hdmi" / "spdif" are working.
However, sadly, "mainline-kernel" has not yet implemented "video-accelerator" (mpp related),
it is not fun even if only the sound comes out.

So, I usually do not use "mainline-kernel".

I understand, i need to modify sound/soc/codecs/es8316.c 
Can you tell me which other files i need to modify?

Can you share your asound.rc file?
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  RETRO-GAMING: ANNOUNCING BETA RELEASE OF RECALBOX FOR THE ROCKPRO64 Mrfixit2001 11 372 4 hours ago
Last Post: Luke
  Centos 7 for RockPro64 Luke 0 32 10 hours ago
Last Post: Luke
  Arch Linux on RockPro64 mmatyas 21 3,645 01-13-2019, 12:41 PM
Last Post: p1x3l3d
Big Grin ANNOUNCING RECALBOX FOR THE ROCKPRO64 - ALPHA RELEASE Mrfixit2001 20 2,673 01-10-2019, 11:42 AM
Last Post: Luke
  First Lakka image for ROCKPro64 Ntemis 11 1,936 12-19-2018, 06:52 PM
Last Post: Rafius
  Rockpro64 Ubuntu 18.04 minimal 64 bit - shutdown command whitehat 2 400 12-15-2018, 12:27 PM
Last Post: Martronic
Question rockpro64: Enable sdio0, disable pcie, on ayufan 4.4.132 ? fosf0r 3 327 12-12-2018, 04:33 PM
Last Post: Luke
  slarm64 (unofficial slackware) ROCKPro64 RK3399 (aarch64) mara 10 1,115 12-12-2018, 01:07 PM
Last Post: mara
  WiFi support on RockPro64 tagyro 4 421 12-11-2018, 02:43 PM
Last Post: fosf0r
  DietPi for the RockPro64 Luke 9 1,763 11-19-2018, 12:39 PM
Last Post: spatial_dreams

Forum Jump:


Users browsing this thread: 1 Guest(s)