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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.