From: lawrence rust <lawrence@softsystem.co.uk>
To: Shane Harrison <shane.harrison@paragon.co.nz>
Cc: linux-media@vger.kernel.org
Subject: Re: Fwd: No audio in HW Compressed MPEG2 container on HVR-1300
Date: Tue, 03 Aug 2010 15:48:19 +0200 [thread overview]
Message-ID: <1280843299.1492.127.camel@gagarin> (raw)
In-Reply-To: <AANLkTi=V3eKuJ1jXPcBuSxUy6djCoK4q2pR-V0zo_cMS@mail.gmail.com>
On Tue, 2010-08-03 at 09:02 +1200, Shane Harrison wrote:
[snip]
> Thanks for the audio path info. While you are on a roll, a few more questions ?
> 1) So do you know how the I2S input (from WM8775) is looped back to
> the I2S output that is fed to the MPEG encoder? I can only assume in
> software?
Yes, it is looped through the cx23883 under s/w control.
> I note that the driver has a comment re. using passthrough
> mode in the CX2388x but actually uses normal mode which isn't a
> loopback. Hence something else must generate the I2S output source.
I believe that as long as b13 of AUD_CTL is set then i2s data is output
- this bit is set in set_audio_finish(). The code comment is wrong, as
you say, the i2sctl register is set to normal mode. In normal mode the
i2s data output is either i2s-in or the demodulated audio from the
analog tuner, dependent upon configuration.
> 2) I interpreted the following note in the CX23416 datasheet slightly
> differently than you:
> "The CX23416 audio input interface is designed to work with most commonly
> available audio analog-to-digital converters (ADCs) that are
> compatible with the Sony
> I2S data format. An I2S-compatible audio part can be supported
> by running its AILR
> sync signal through an inverting flip-flop, clocked by an
> inverted AICKIN, before
> passing it to the CX23416.
> I assumed it was saying it accepted standard Sony variant but you
> could connect to Philips I2S if you used a flip-flop to invert and
> synchronise with the AICKIN.
Yes you are correct, the flip-flop is needed (which is what I wanted to
emphasise) only for _Philips_ mode but the cx23883 i2sout is programmed
for Sony mode in set_audio_finish() i.e. AUD_I2SOUTPUTCNT = 1.
> I did notice that the HVR1300 board has
> a footprint for an IC that is connected to the I2S outputs in some
> manner. I wondered what this was - does something need to be fitted
> then to make these two devices talk directly? I also note that the
> driver sets the I2S input to be Philips (as output by the WM8775) and
> the I2S output as Sony which seems like an attempt to talk directly.
> A bit confused here.....
The wm8775 outputs Philips format in i2s mode and that's what
cx88_set_tvaudio() programs the cx23883 to accept on i2sin.
If the cx23883 were programmed for pass-thru mode then the cx23416 would
receive the wrong data format. I believe that's the reason for using
'normal' mode.
However, I believe there may be a problem in set_audio_finish() when
CX88_MPEG_BLACKBIRD is set. If core->tvaudio == WW_I2SADC (which it
true for s-video and composite inputs) then cx88_set_tvaudio() calls
set_audio_finish(core, EN_I2SIN_ENABLE) to enable i2s audio input but in
the CX88_MPEG_BLACKBIRD case the EN_I2SIN_ENABLE is never written to
AUD_CTL. This may account for the white noise you hear. You could test
this easily by forcing the cx88 module parameter 'analog' to 1
> 3) Given I am getting audio sometimes in the MPEG2 stream, is it using
> another path into the CX23416. The idea of getting lucky on switching
> glitches seems improbable on the I2S interface since once I get audio
> I continue to have it until a hard reboot. Switching glitches and
> race conditions on the control interfaces being successful every so
> often I could buy.
>
> Still to try the patch - will let you know. Unfortunately our
> HVR-1300 is in the process of being swapped out since the supplier
> wanted to try swapping boards first :-(
Let us know how you get on.
-- Lawrence Rust
next prev parent reply other threads:[~2010-08-03 13:48 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-02 2:15 No audio in HW Compressed MPEG2 container on HVR-1300 Shane Harrison
2010-08-02 9:32 ` lawrence rust
[not found] ` <AANLkTinHK8mVwrCnOZTUMsHVGTykj8bNdkKwcbMQ8LK_@mail.gmail.com>
2010-08-02 10:19 ` Fwd: " Shane Harrison
2010-08-02 11:59 ` lawrence rust
2010-08-02 21:02 ` Shane Harrison
2010-08-03 13:48 ` lawrence rust [this message]
2010-08-05 23:49 ` Shane Harrison
2010-08-06 9:40 ` lawrence rust
2010-08-06 12:15 ` Andy Walls
2010-08-06 12:22 ` Andy Walls
2010-08-07 9:54 ` lawrence rust
Reply instructions:
You may reply publicly 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=1280843299.1492.127.camel@gagarin \
--to=lawrence@softsystem.co.uk \
--cc=linux-media@vger.kernel.org \
--cc=shane.harrison@paragon.co.nz \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox