LKML Archive on lore.kernel.org
 help / color / Atom feed
From: Vasily Khoruzhick <anarsoul@gmail.com>
To: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Cc: Heiko Stuebner <heiko@sntech.de>,
	linux-rockchip@lists.infradead.org,
	linux-kernel <linux-kernel@vger.kernel.org>,
	arm-linux <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] arm64: dts: rockchip: add analog audio nodes on rk3399-rockpro64
Date: Sun, 10 Nov 2019 21:40:16 -0800
Message-ID: <CA+E=qVdy-wqmR+XOms5S2zMp+B0vM7Dj_fk9N=08-1WjfKDm0Q@mail.gmail.com> (raw)
In-Reply-To: <abc648cc-0b5d-b407-b74b-639833ba196b@katsuster.net>

On Sun, Nov 10, 2019 at 7:30 PM Katsuhiro Suzuki
<katsuhiro@katsuster.net> wrote:
>
> Hello Vasily,

Hi Katsuhiro,

Thanks for response!

> Thank you for reporting.
>
> On 2019/11/11 9:17, Vasily Khoruzhick wrote:
> > On Sat, Sep 7, 2019 at 10:48 AM Katsuhiro Suzuki
> > <katsuhiro@katsuster.net> wrote:
> >>
> >> This patch adds audio codec (Everest ES8316) and I2S audio nodes for
> >> RK3399 RockPro64.
> >
> > Hi Katsuhiro,
> >
> > I tested your patch with my rockpro64 on 5.4-rc6 which has your other
> > patches to es8316 driver, but apparently it doesn't work.
> >
> > 'alsamixer' complains 'cannot load mixer controls: No such device or
> > address' and if I try to play audio with mpg123 it pretends that it
> > plays something but there's no sound.
> >
> > Any idea what can be wrong?
> >
>
> Do you use defconfig? If so I guess we need turn on more configs:
>
> - simple-graph-card driver (CONFIG_SND_AUDIO_GRAPH_CARD)
> - ES8316 (SND_SOC_ES8316)

I have these enabled, card is present in /proc/asound/cards, but
alsamixer doesn't work with it.

> FYI) ASoC related status or logs in my environment as follows:
>
> root@rockpro64:~# uname -a
> Linux rockpro64 5.4.0-rc6-next-20191108 #169 SMP PREEMPT Mon Nov 11 12:21:44 JST 2019 aarch64 GNU/Linux

I'm running 5.4.0-rc6  (commit
00aff6836241ae5654895dcea10e6d4fc5878ca6) with your patch "arm64: dts:
rockchip: add analog audio nodes on rk3399-rockpro64" on top of it.

> root@rockpro64:~# dmesg | grep -i asoc
> [   21.509903] asoc-simple-card hdmi-sound: i2s-hifi <-> ff8a0000.i2s mapping ok
> [   21.510550] asoc-simple-card hdmi-sound: ASoC: no DMI vendor name!
> [   21.567906] asoc-audio-graph-card sound: ES8316 HiFi <-> ff890000.i2s mapping ok
> [   21.568565] asoc-audio-graph-card sound: ASoC: no DMI vendor name!

Similar here:

[vasilykh@rockpro64 ~]$ dmesg | grep -i asoc
[   15.627685] asoc-audio-graph-card sound: ES8316 HiFi <->
ff890000.i2s mapping ok
[   16.250196] asoc-simple-card hdmi-sound: i2s-hifi <-> ff8a0000.i2s mapping ok

> root@rockpro64:~# cat /proc/asound/pcm
> 00-00: ff8a0000.i2s-i2s-hifi i2s-hifi-0 : ff8a0000.i2s-i2s-hifi i2s-hifi-0 : playback 1
> 01-00: ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 : ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 : playback 1 : capture 1

Same here:

[vasilykh@rockpro64 ~]$ cat /proc/asound/pcm
00-00: ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 : ff890000.i2s-ES8316
HiFi ES8316 HiFi-0 : playback 1 : capture 1
01-00: ff8a0000.i2s-i2s-hifi i2s-hifi-0 : ff8a0000.i2s-i2s-hifi
i2s-hifi-0 : playback

> root@rockpro64:~# cat /sys/kernel/debug/asoc/components
> hdmi-audio-codec.3.auto
> ff8a0000.i2s
> ff8a0000.i2s
> ff890000.i2s
> ff890000.i2s
> ff880000.i2s
> ff880000.i2s
> es8316.1-0011
> snd-soc-dummy
> snd-soc-dummy

Same here.

> root@rockpro64:~# cat /sys/kernel/debug/asoc/dais
> i2s-hifi
> ff8a0000.i2s
> ff890000.i2s
> ff880000.i2s
> ES8316 HiFi
> snd-soc-dummy-dai

Same here.

Yet alsamixer doesn't work for me. It terminates with 'cannot load
mixer controls: No such device or address'. Strace shows that fails
here:

openat(AT_FDCWD, "/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 3
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
ioctl(3, SNDRV_CTL_IOCTL_PVERSION, 0xfffffd3ad04c) = 0
fcntl(3, F_GETFL)                       = 0x20002 (flags O_RDWR|O_LARGEFILE)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
ioctl(3, SNDRV_CTL_IOCTL_ELEM_LIST, 0xfffffd3ad228) = 0
ioctl(3, SNDRV_CTL_IOCTL_ELEM_LIST, 0xfffffd3ad228) = 0
ioctl(3, SNDRV_CTL_IOCTL_ELEM_INFO, 0xfffffd3ace38) = 0
ioctl(3, SNDRV_CTL_IOCTL_ELEM_READ, 0xfffffd3ac160) = -1 ENXIO (No
such device or address)

Looks like it fails to talk to the codec?

mpg123 thinks that it's playing audio, but my headphones connected to
3.5mm output are silent.

Regards,
Vasily


> Best Regards,
> Katsuhiro Suzuki
>
>
> > Regards,
> > Vasily
> >
> >> Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
> >> ---
> >>   .../boot/dts/rockchip/rk3399-rockpro64.dts    | 28 +++++++++++++++++++
> >>   1 file changed, 28 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> >> index 0401d4ec1f45..8b1e6382b140 100644
> >> --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> >> +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
> >> @@ -81,6 +81,12 @@
> >>                  reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
> >>          };
> >>
> >> +       sound {
> >> +               compatible = "audio-graph-card";
> >> +               label = "rockchip,rk3399";
> >> +               dais = <&i2s1_p0>;
> >> +       };
> >> +
> >>          vcc12v_dcin: vcc12v-dcin {
> >>                  compatible = "regulator-fixed";
> >>                  regulator-name = "vcc12v_dcin";
> >> @@ -470,6 +476,20 @@
> >>          i2c-scl-rising-time-ns = <300>;
> >>          i2c-scl-falling-time-ns = <15>;
> >>          status = "okay";
> >> +
> >> +       es8316: codec@11 {
> >> +               compatible = "everest,es8316";
> >> +               reg = <0x11>;
> >> +               clocks = <&cru SCLK_I2S_8CH_OUT>;
> >> +               clock-names = "mclk";
> >> +               #sound-dai-cells = <0>;
> >> +
> >> +               port {
> >> +                       es8316_p0_0: endpoint {
> >> +                               remote-endpoint = <&i2s1_p0_0>;
> >> +                       };
> >> +               };
> >> +       };
> >>   };
> >>
> >>   &i2c3 {
> >> @@ -505,6 +525,14 @@
> >>          rockchip,playback-channels = <2>;
> >>          rockchip,capture-channels = <2>;
> >>          status = "okay";
> >> +
> >> +       i2s1_p0: port {
> >> +               i2s1_p0_0: endpoint {
> >> +                       dai-format = "i2s";
> >> +                       mclk-fs = <256>;
> >> +                       remote-endpoint = <&es8316_p0_0>;
> >> +               };
> >> +       };
> >>   };
> >>
> >>   &i2s2 {
> >> --
> >> 2.23.0.rc1
> >>
> >>
> >> _______________________________________________
> >> linux-arm-kernel mailing list
> >> linux-arm-kernel@lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >
>

  reply index

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-07 17:48 Katsuhiro Suzuki
2019-10-04 17:26 ` Katsuhiro Suzuki
2019-10-04 19:54   ` Heiko Stuebner
2019-11-11  0:17 ` Vasily Khoruzhick
2019-11-11  3:30   ` Katsuhiro Suzuki
2019-11-11  5:40     ` Vasily Khoruzhick [this message]
2019-11-11 19:25       ` Vasily Khoruzhick
2019-11-12  5:34         ` Katsuhiro Suzuki
2019-11-12  5:43           ` Vasily Khoruzhick
2019-11-12  5:49             ` Vasily Khoruzhick
2019-11-12 18:34               ` Katsuhiro Suzuki
2019-11-12 19:46                 ` Vasily Khoruzhick
2019-11-13 15:02                   ` Hugh Cole-Baker
2019-11-15  9:28                     ` Katsuhiro Suzuki

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+E=qVdy-wqmR+XOms5S2zMp+B0vM7Dj_fk9N=08-1WjfKDm0Q@mail.gmail.com' \
    --to=anarsoul@gmail.com \
    --cc=heiko@sntech.de \
    --cc=katsuhiro@katsuster.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git