From: jassisinghbrar@gmail.com (jassi brar)
To: linux-arm-kernel@lists.infradead.org
Subject: Samsung SoC ASOC drivers
Date: Fri, 4 Sep 2009 13:10:24 +0900 [thread overview]
Message-ID: <1b68c6790909032110r68710ccdjefeafae0eec3fda5@mail.gmail.com> (raw)
In-Reply-To: <20090904012736.GA3997@prithivi.gnumonks.org>
On Fri, Sep 4, 2009 at 10:27 AM, Harald Welte<laforge@gnumonks.org> wrote:
> Hi Jassi,
>>
>> I hope we agree the SoC-Master/Slave option should be selected in make
>> menuconfig. ?Direction of LRCLK, BCLK thus gets decided there.
>>
>> IMHO, source of MCLK - I2SCDCLK, PCLK, SCLK_Audio(with further options) - is
>> better decided during compile-time too. Otherwise, put-get-put-setrate-'ing
>> different clocks, according to the LRCLK needed, in runtime will add more
>> complexity than flexibility to the driver. Or so do i think.
>
> I'm sorry to have to disagree. ?The driver is compiled once into a kernel or
> kernel module. ?The resulting kernel module has to run on every board (mach-*)
> that is out there
Hmmm... i didn't realize that scenario.
Esp for source clocks, which has to do with cpu_dai.
Anyways, I will have to consider such expert comments when i submit the code.
>> Yes, state-machine code of v3.2 can run both v4 and v5 and 5.1channel
>> support of v4 can run that of v5 too. Now v5 has got an added feature
>> ?- LowPowerAudioMode(LPAM) which wud rather take minor tweaks in even
>> the ALSA stack to run.
>> And I think we can no longer juggle and reuse the 24xx code.
>> Either we manage two classes of I2S drivers - simple 2channel Vs
>> sophisticated 5.1channel with h/w mixing and LPAM etc,
>> Or we restructure to drivers around "library" like functionality - like PXA.
>
> I'm personally not too much into any of those details. ?Having two drivers
> with one 2channel and one 5.1channel sounds a bit like the 5.1channel will
> be a superset of the 2channel driver, i.e. it will (among many other things)
> also implement those bits in the 2channel driver - which I believe would be
> suboptimal.
So do i think. I'd rather favor the second option.
>> >> As a starter we cud do by converting Samsung's I2S code 24xx(and even
>> >> s3c) agnostic?
>> > I'm not quite sure what you mean by this?
>> I meant we can atleast make names of functions and datastructures 2410 neutral,
>> like changing from s3c24xx_i2s to samsung_i2s_v2 or somthing like that.
>> i.e, designing around IPs rather than SoCs.
>>
>> Not just for I2S, rather for entire BSP, I believe an approach with
>> riddance from
>> the jargon of Samsung SoCs(s3c, s5p, 2410, 24xx, 2412, 64xx etc) and centered
>> around IPs rather than the SoCs wud server us better.
>
> I like that approach, but two comments:
>
> 1) The problem is just that the samsung user manuals never specify the version
> ? of the IP cores, so for anyone outside samsung it is impossible to know
> ? those version numbers. ?Maybe a publicly releaseable single page table
> ? listing all IP cores in the rows and have one column for every SoC would help
Yes, and the classification can be maintainer defined and maybe kept
in some Documentations/samsung-soc.txt or something.
A similar IP based classification is already in place and a very
successful example -- ARM cpu.
> 2) it would mean that we start with renaming many things across arch/arm code
> ? and in the drivers subdirectory, which is difficult to synchronize and will
> ? cause delays for any real development (i.e. becoming more feature-complete).
> We really should focus on adding features and fixing bugs right now, rather than
> thinking of the perfect solution which would hold back any real pogress.
I share you concern. I don't intend to start submiting patches right away.
I am only trying to bring to notice one point to the maintainers and
if everybody agrees, that wud be taken up slowly and steadily.
Btw, I am already modifying Samsung 6410 I2S and SPI code to fit in
the existing mainline structure.
next prev parent reply other threads:[~2009-09-04 4:10 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-02 3:17 Samsung S3C6410 mainline merge coordination Harald Welte
2009-09-02 9:51 ` Nelson Castillo
2009-09-02 12:15 ` Harald Welte
2009-09-02 15:58 ` Nelson Castillo
2009-09-02 10:05 ` Mark Brown
2009-09-02 12:11 ` Harald Welte
2009-09-02 13:44 ` jassi brar
2009-09-02 14:47 ` Mark Brown
2009-09-03 0:38 ` jassi brar
2009-09-03 12:14 ` Mark Brown
2009-09-03 13:39 ` jassi brar
2009-09-03 15:18 ` Mark Brown
2009-09-04 1:08 ` jassi brar
2009-09-04 13:41 ` Mark Brown
2009-09-04 14:27 ` jassi brar
2009-09-04 14:57 ` Mark Brown
2009-09-04 1:27 ` Samsung SoC ASOC drivers Harald Welte
2009-09-04 4:10 ` jassi brar [this message]
2009-09-02 19:09 ` Samsung S3C6410 mainline merge coordination Ben Dooks
2009-09-03 0:21 ` Joonyoung Shim
2009-09-03 11:06 ` Mark Brown
2009-09-03 12:48 ` Joonyoung Shim
2009-09-02 13:45 ` Mark Brown
2009-09-02 19:22 ` Ben Dooks
[not found] ` <19987914.1168001251884594226.JavaMail.coremail@bj126app54.126.com>
2009-09-02 12:01 ` Harald Welte
2009-09-02 19:10 ` Ben Dooks
2009-09-02 22:26 ` Harald Welte
2009-09-03 9:51 ` Daniel Silverstone
2009-09-03 10:34 ` Russell King - ARM Linux
2009-09-03 10:40 ` Daniel Silverstone
2009-09-04 5:48 ` Pavel Machek
2009-09-02 12:03 ` David F. Carlson
2009-09-02 12:46 ` Peter Korsgaard
2009-09-02 19:16 ` Ben Dooks
2009-09-03 1:56 ` Harald Welte
2009-09-03 10:04 ` Peter Korsgaard
2009-09-03 10:57 ` Mark Brown
[not found] ` <7641737.122161251944382753.JavaMail.coremail@bj126app17.126.com>
2009-09-03 4:31 ` Harald Welte
2009-09-10 5:49 ` Samsung S3C6410 / SmartQ / 2D acceleration / Xorg Harald Welte
2009-09-15 23:34 ` Ben Dooks
2009-09-15 9:49 ` Samsung S3C6410 / SmartQ / 2D acceleration / Xorgy David F. Carlson
2009-09-02 12:49 ` Samsung S3C6410 mainline merge coordination Peter Korsgaard
2009-09-02 22:30 ` Harald Welte
2009-09-02 16:12 ` Ben Dooks
2009-09-02 21:25 ` David F. Carlson
2009-09-02 23:18 ` Harald Welte
2009-09-03 3:31 ` Bill Gatliff
2009-09-03 3:38 ` Nelson Castillo
2009-09-03 4:33 ` Harald Welte
2009-09-04 7:15 ` Nelson Castillo
2009-09-02 16:58 ` Mark Brown
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=1b68c6790909032110r68710ccdjefeafae0eec3fda5@mail.gmail.com \
--to=jassisinghbrar@gmail.com \
--cc=linux-arm-kernel@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
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;
as well as URLs for NNTP newsgroup(s).