Thanks Chen-Yu, that patch was literally what I was about to write myself
(but in a more spagetti-like way).

root@orangepi:~# speaker-test -D hw:1 -c 2
> speaker-test 1.1.3
> Playback device is hw:1
> Stream parameters are 48000Hz, S16_LE, 2 channels
> Using 16 octaves of pink noise
> Rate set to 48000Hz (requested 48000Hz)
> Buffer size range from 128 to 131072
> Period size range from 64 to 16384
> Using max buffer size 131072
> Periods = 4
> Unable to set hw params for playback: Invalid argument
> Setting of hwparams failed: Invalid argument



dmesg:

> [  395.364594] sun4i-i2s 1c22000.i2s: Unsupported oversample rate: 2083
> [  395.370978] sun4i-i2s 1c22000.i2s: ASoC: can't set 1c22000.i2s hw
> params: -22



cheers!

On 14 December 2017 at 07:34, Chen-Yu Tsai <[email protected]> wrote:

> On Thu, Dec 14, 2017 at 3:22 PM, Chris Obbard <[email protected]> wrote:
> > Had a tiny bit of time this morning, had to give it a go. But no joy.
> >
> >>
> >> root@orangepi:~# speaker-test --device hw:1 --channels 2
> >> speaker-test 1.1.3
> >> Playback device is hw:1
> >> Stream parameters are 48000Hz, S16_LE, 2 channels
> >> Using 16 octaves of pink noise
> >> Rate set to 48000Hz (requested 48000Hz)
> >> Buffer size range from 128 to 131072
> >> Period size range from 64 to 16384
> >> Using max buffer size 131072
> >> Periods = 4
> >> Unable to set hw params for playback: Invalid argument
> >> Setting of hwparams failed: Invalid argument
> >
> >
> > Will start delving into the I2S driver later this eve...
>
> Could you try applying the patch I just sent:
>
>    https://patchwork.kernel.org/patch/10111589/
>
> This should give you some information about why "set hw params" failed.
>
> ChenYu
>
> > Cheers!
> >
> >
> > On 14 December 2017 at 06:46, Code Kipper <[email protected]> wrote:
> >>
> >> On 13 December 2017 at 21:51, Chris Obbard <[email protected]> wrote:
> >> > Hi CK,
> >> >
> >> > That worked! Thanks.
> >> >
> >> > Here's the desg output now, all looks OK:
> >> >>
> >> >> [    5.364112] wm8731 0-001a: Assuming static MCLK
> >> >> [    5.368716] wm8731 0-001a: 0-001a supply AVDD not found, using
> dummy
> >> >> regulator
> >> >> [    5.376037] wm8731 0-001a: 0-001a supply HPVDD not found, using
> >> >> dummy
> >> >> regulator
> >> >> [    5.383089] sun4i-codec 1c22c00.codec: ASoC: codec-analog@1f015c0
> >> >> not
> >> >> registered
> >> >> [    5.383098] sun4i-codec 1c22c00.codec: Failed to register our card
> >> >> [    5.397183] wm8731 0-001a: 0-001a supply DCVDD not found, using
> >> >> dummy
> >> >> regulator
> >> >> [    5.404775] wm8731 0-001a: 0-001a supply DBVDD not found, using
> >> >> dummy
> >> >> regulator
> >> >> [    5.413332] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec
> >> >> mapping
> >> >> ok
> >> >> [    5.420312] sun4i-codec 1c22c00.codec: ASoC: no DMI vendor name!
> >> >> [    5.445524] asoc-simple-card sound: wm8731-hifi <-> 1c22000.i2s
> >> >> mapping
> >> >> ok
> >> >> [    5.452773] asoc-simple-card sound: ASoC: no DMI vendor name!
> >> >
> >> >
> >> > The card is now detected by alsa (I also have a USB card plugged in):
> >> >>
> >> >> root@orangepi:~# aplay -l
> >> >>
> >> >> **** List of PLAYBACK Hardware Devices ****
> >> >> card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
> >> >>   Subdevices: 1/1
> >> >>   Subdevice #0: subdevice #0
> >> >> card 1: audio [AudioInjector audio], device 0:
> 1c22000.i2s-wm8731-hifi
> >> >> wm8731-hifi-0 []
> >> >>   Subdevices: 1/1
> >> >>   Subdevice #0: subdevice #0
> >> >> card 2: CODEC [USB AUDIO  CODEC], device 0: USB Audio [USB Audio]
> >> >>   Subdevices: 1/1
> >> >>   Subdevice #0: subdevice #0
> >> >
> >> >
> >> > & I can access Alsamixer to set settings over the already connected
> I2C
> >> > bus.
> >> >
> >> > But when it comes to playing a media file fails (seems to work OK with
> >> > USB
> >> > card):
> >> >>
> >> >> root@orangepi:~# speaker-test --device hw:1
> >> >>
> >> >>
> >> >> speaker-test 1.1.3
> >> >>
> >> >>
> >> >> Playback device is hw:1
> >> >>
> >> >> Stream parameters are 48000Hz, S16_LE, 1 channels
> >> >>
> >> >> Using 16 octaves of pink noise
> >> >>
> >> >> Channels count (1) not available for playbacks: Invalid argument
> >> >>
> >> >> Setting of hwparams failed: Invalid argument
> >>
> >> you will need to use speaker-test --device hw:1 -c 2
> >>
> >> >
> >> >
> >> > I will look tomorrow (with a scope) for any sign of twiddling on the
> I2S
> >> > pins, but I doubt it...
> >>
> >> Have hope?...if you don't hear anything initially can you change what
> >> is being written to SUN8I_I2S_FMT0_LRCK_PERIOD to 125.
> >> CK
> >> >
> >> >
> >> > Here's my DTS entry (copied from your WIP branch):
> >> >>
> >> >>         sound {
> >> >>                 compatible = "simple-audio-card";
> >> >>                 simple-audio-card,name = "AudioInjector audio";
> >> >>                 simple-audio-card,format = "i2s";
> >> >>                 simple-audio-card,bitclock-master = <&codec_master>;
> >> >>                 simple-audio-card,frame-master = <&codec_master>;
> >> >>                 simple-audio-card,widgets =
> >> >>                                         "Headphone", "Headphone
> Jack",
> >> >>                                         "Microphone", "Microphone
> >> >> Jack",
> >> >>                                         "Line", "Line Jack";
> >> >>                 simple-audio-card,routing =
> >> >>                                         "Headphone Jack", "RHPOUT",
> >> >>                                         "Headphone Jack", "LHPOUT",
> >> >>                                         "LLINEIN", "Line Jack",
> >> >>                                         "MICIN", "Mic Bias",
> >> >>                                         "Mic Bias", "Microphone
> Jack";
> >> >>                 simple-audio-card,cpu {
> >> >>                         sound-dai = <&i2s0>;
> >> >>                 };
> >> >>                 codec_master: simple-audio-card,codec {
> >> >>                         sound-dai = <&wm8731>;
> >> >>                         system-clock-frequency = <12000000>;
> >> >>                 };
> >> >>         };
> >> >
> >> >
> >> >
> >> > Cheers!
> >> >
> >> >
> >> >
> >> >
> >> > On 13 December 2017 at 09:57, Code Kipper <[email protected]>
> wrote:
> >> >>
> >> >> is CONFIG_DMA_SUN6I=y set in the .config(It isn't by default)?
> >> >> CK
> >> >>
> >> >> On 12 December 2017 at 20:11, Chris Obbard <[email protected]>
> wrote:
> >> >> > So finally tonight I managed to connect up the Audioinjector to the
> >> >> > correct
> >> >> > pins on the Orangepi PC2.
> >> >> >
> >> >> > It seems to be talking over i2c to the wm8731 OK, but fails to
> setup
> >> >> > using
> >> >> > DMAEngine?
> >> >> >
> >> >> > Here's the relevant parts of dmesg:
> >> >> >
> >> >> >> [    0.000000] Linux version 4.15.0-rc2-gbd0835a69-dirty
> >> >> >> (chris@sunxi-build) (gcc version 7.2.0 (Debian 7.2.0-11)) #5 SMP
> >> >> >> PREEMPT Mon
> >> >> >> Dec 11 18:35:03 GMT 2017
> >> >> >> [    0.000000] Machine model: Xunlong Orange Pi PC 2
> >> >> >> [    2.001533] ALSA device list:
> >> >> >> [    2.004504]   No soundcards found.
> >> >> >> [    7.954144] sun4i-i2s 1c22000.i2s: Could not register PCM
> >> >> >> [    7.972456] sun4i-codec 1c22c00.codec: Failed to register
> against
> >> >> >> DMAEngine
> >> >> >> [    8.000740] wm8731 0-001a: Assuming static MCLK
> >> >> >> [    8.005336] wm8731 0-001a: 0-001a supply AVDD not found, using
> >> >> >> dummy
> >> >> >> regulator
> >> >> >> [    8.012660] wm8731 0-001a: 0-001a supply HPVDD not found, using
> >> >> >> dummy
> >> >> >> regulator
> >> >> >> [    8.020087] wm8731 0-001a: 0-001a supply DCVDD not found, using
> >> >> >> dummy
> >> >> >> regulator
> >> >> >> [    8.020157] sun4i-i2s 1c22000.i2s: Could not register PCM
> >> >> >> [    8.021684] sun4i-codec 1c22c00.codec: Failed to register
> against
> >> >> >> DMAEngine
> >> >> >> [    8.039901] wm8731 0-001a: 0-001a supply DBVDD not found, using
> >> >> >> dummy
> >> >> >> regulator
> >> >> >> [    8.051789] sun4i-i2s 1c22000.i2s: Could not register PCM
> >> >> >> [    8.059306] sun4i-codec 1c22c00.codec: Failed to register
> against
> >> >> >> DMAEngine
> >> >> >> [    8.697652] sun4i-i2s 1c22000.i2s: Could not register PCM
> >> >> >> [    8.708108] sun4i-codec 1c22c00.codec: Failed to register
> against
> >> >> >> DMAEngine
> >> >> >> [    8.718261] sun4i-i2s 1c22000.i2s: Could not register PCM
> >> >> >
> >> >> >
> >> >> > On 12 December 2017 at 06:23, Code Kipper <[email protected]>
> >> >> > wrote:
> >> >> >>
> >> >> >> I don't understand why they changed the header on the newer boards
> >> >> >> away from something that was raspberry pi compatible, the only
> thing
> >> >> >> in common now is that they are 40 pins. I have a audio injector in
> >> >> >> the
> >> >> >> post on its way to me; but I'm pretty sure as it generates the
> >> >> >> clocks
> >> >> >> that there will need to be some work to get it working.
> >> >> >>
> >> >> >> CK
> >> >> >>
> >> >> >> On 11 December 2017 at 20:41, Chris Obbard <[email protected]>
> >> >> >> wrote:
> >> >> >> > Hi CK,
> >> >> >> >
> >> >> >> > I have added the simple-soundcard node and the other relevant
> >> >> >> > stuff
> >> >> >> > in
> >> >> >> > the
> >> >> >> > DTS and all seems to be OK.
> >> >> >> >
> >> >> >> > Looks like the GPIO header on Orange Pi PC2 doesn't have access
> to
> >> >> >> > PCM0_DOUT
> >> >> >> > (or PCM0_MCLK, but that doesn't matter so much), so I'm at a
> >> >> >> > stand-still
> >> >> >> > until I can de-solder the resistor attached to the status LED.
> >> >> >> >
> >> >> >> >
> >> >> >> > I am testing with the AudioInjector Stereo, I was hoping it
> would
> >> >> >> > be
> >> >> >> > a
> >> >> >> > simple case of just plugging the Pi HAT in, but it never seems
> to
> >> >> >> > be
> >> >> >> > as
> >> >> >> > simple as that :-).
> >> >> >> >
> >> >> >> >
> >> >> >> > Will keep you updated with progress.
> >> >> >> >
> >> >> >> > Cheers!
> >> >> >> >
> >> >> >> >
> >> >> >> > On 11 December 2017 at 13:16, Code Kipper <[email protected]
> >
> >> >> >> > wrote:
> >> >> >> >>
> >> >> >> >> Hi Chris.
> >> >> >> >> H5 support went in with the H3 so it should work. You will need
> >> >> >> >> to
> >> >> >> >> make dts changes or overlays for the devices that you're using.
> >> >> >> >> CK
> >> >> >> >>
> >> >> >> >> On 11 December 2017 at 12:41, Chris Obbard <[email protected]>
> >> >> >> >> wrote:
> >> >> >> >> > Hey
> >> >> >> >> >
> >> >> >> >> > I am looking into the H5 i2s mainline support, can anyone
> >> >> >> >> > update
> >> >> >> >> > me
> >> >> >> >> > on
> >> >> >> >> > the
> >> >> >> >> > status of this, point me to a wip branch or patch?
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > Cheers!
> >> >> >> >> >
> >> >> >> >> > --
> >> >> >> >> > You received this message because you are subscribed to the
> >> >> >> >> > Google
> >> >> >> >> > Groups
> >> >> >> >> > "linux-sunxi" group.
> >> >> >> >> > To unsubscribe from this group and stop receiving emails from
> >> >> >> >> > it,
> >> >> >> >> > send
> >> >> >> >> > an
> >> >> >> >> > email to [email protected].
> >> >> >> >> > For more options, visit https://groups.google.com/d/optout.
> >> >> >> >
> >> >> >> >
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "linux-sunxi" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to [email protected].
> > For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to