musb not detecting disconnection in gadget mode

2010-06-23 Thread jean-philippe francois
I have the following problem when using USB in peripheral only mode on DM365:

The problem occurs at disconnection. The drivers stays in b_peripheral
mode, instead of
going to 'b_idle' state
Davinci USB is used in gadget mode :

Unplug case A :
The device is unplugged.
cat /sys/device/platform/musb_hdrc/mode outputs 'b_idle'

Unplug case B :
Very similar, except before unplugging, the dismount volume or
eject mass storage button is clicked.
cat /sys/device/platform/musb_hdrc/mode outputs 'b_peripheral'.
When the cable is plugged back in, the module finally detects the
disconnection and goes to 'b_idle' state
before going back to 'b_peripheral state'
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Kernel Booting Problem

2010-06-23 Thread amr ali

I downloaded the standard Linux kernel 2.6.33.2 and compiled it with the 
default TI Davinci kernel configuration.
I am booting the kernel with NFS as Root FS. Kernel boots till I get the 
message Freeing INIT memory and nothing happens.
When I try to boot withh montavista .6.10 kernel with the same file systems it 
continue booting with no problems.
The booting log can for the non-working kernel can be found here @ 
http://pastebin.org/354048
Any ideas, why the kernel is not running my init application?

--
Amr Ali Abdel-Naby
Embedded Systems Developer
www.embedded-tips.blogspot.com


  
_
Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
https://signup.live.com/signup.aspx?id=60969___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


How to add LCD output and 320x240 resolution in gstreamer TIDmaivideosink in dm365

2010-06-23 Thread tamil arasu
Hi All


   This is Arasu.I am new to gstreamer and this forum.My
Target
board is DM365 Leopard .i was able to display video in composite output
using TIDmaivideosink.now i want to add  *LCD* output and 320x240 resolution
in *gstreamer* for TIDmaivideosink.

Below  one is working.
gst-launch -v videotestsrc  ! TIDmaiVideoSink videoStd=D1_NTSC
videoOutput=composite sync=false


how to add *LCD* output and QVGA(320X240)resolution to TIDmaiVideoSink

Can anyone guide me?



Thanks and regards,

Arasu
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Re: Kernel Booting Problem

2010-06-23 Thread Caglar Akyuz
On Wednesday 23 June 2010 01:03:25 pm amr ali wrote:
 I downloaded the standard Linux kernel 2.6.33.2 and compiled it with the
  default TI Davinci kernel configuration. I am booting the kernel with NFS
  as Root FS. Kernel boots till I get the message Freeing INIT memory and
  nothing happens. When I try to boot withh montavista .6.10 kernel with the
  same file systems it continue booting with no problems. The booting log
  can for the non-working kernel can be found here @

I'm not suprised that it is not working. This is an EABI/OABI issue, besides 
many other things changed for C library as well.

In short, you need a new file system. May I suggest narcissus [1]?

Regards,
Caglar

[1] http://www.angstrom-distribution.org/narcissus/

  http://pastebin.org/354048 Any ideas, why the kernel is not running my
  init application?
 
 --
 Amr Ali Abdel-Naby
 Embedded Systems Developer
 www.embedded-tips.blogspot.com
 
 
 
 _
 Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
 https://signup.live.com/signup.aspx?id=60969
 
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


RE: Kernel Booting Problem

2010-06-23 Thread amr ali

I have a new file system, I generated it by buildroot. 
What should be in that filesystem. I do not have device nodes, how do I create 
them automatically?
--
Amr Ali Abdel-Naby
Embedded Systems Developer
www.embedded-tips.blogspot.com




 From: caglarak...@gmail.com
 To: davinci-linux-open-source@linux.davincidsp.com
 Subject: Re: Kernel Booting Problem
 Date: Wed, 23 Jun 2010 13:23:17 +0300
 CC: amra...@hotmail.com
 
 On Wednesday 23 June 2010 01:03:25 pm amr ali wrote:
  I downloaded the standard Linux kernel 2.6.33.2 and compiled it with the
   default TI Davinci kernel configuration. I am booting the kernel with NFS
   as Root FS. Kernel boots till I get the message Freeing INIT memory and
   nothing happens. When I try to boot withh montavista .6.10 kernel with the
   same file systems it continue booting with no problems. The booting log
   can for the non-working kernel can be found here @
 
 I'm not suprised that it is not working. This is an EABI/OABI issue, besides 
 many other things changed for C library as well.
 
 In short, you need a new file system. May I suggest narcissus [1]?
 
 Regards,
 Caglar
 
 [1] http://www.angstrom-distribution.org/narcissus/
 
   http://pastebin.org/354048 Any ideas, why the kernel is not running my
   init application?
  
  --
  Amr Ali Abdel-Naby
  Embedded Systems Developer
  www.embedded-tips.blogspot.com
  
  
  
  _
  Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
  https://signup.live.com/signup.aspx?id=60969
  
  
_
Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
https://signup.live.com/signup.aspx?id=60969___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Re: Kernel Booting Problem

2010-06-23 Thread Caglar Akyuz
On Wednesday 23 June 2010 01:31:05 pm amr ali wrote:
 I have a new file system, I generated it by buildroot.
 What should be in that filesystem. I do not have device nodes, how do I
  create them automatically? --

I guess you extracting a tar image for NFS use, if so then you should extract 
file system image with root permissions otherwise device nodes won't be 
populated.

If you still have problems, then please give Narcissus a go.

Regards,
Caglar

 Amr Ali Abdel-Naby
 Embedded Systems Developer
 www.embedded-tips.blogspot.com
 
  From: caglarak...@gmail.com
  To: davinci-linux-open-source@linux.davincidsp.com
  Subject: Re: Kernel Booting Problem
  Date: Wed, 23 Jun 2010 13:23:17 +0300
  CC: amra...@hotmail.com
 
  On Wednesday 23 June 2010 01:03:25 pm amr ali wrote:
   I downloaded the standard Linux kernel 2.6.33.2 and compiled it with
   the default TI Davinci kernel configuration. I am booting the kernel
   with NFS as Root FS. Kernel boots till I get the message Freeing INIT
   memory and nothing happens. When I try to boot withh montavista .6.10
   kernel with the same file systems it continue booting with no problems.
   The booting log can for the non-working kernel can be found here @
 
  I'm not suprised that it is not working. This is an EABI/OABI issue,
  besides many other things changed for C library as well.
 
  In short, you need a new file system. May I suggest narcissus [1]?
 
  Regards,
  Caglar
 
  [1] http://www.angstrom-distribution.org/narcissus/
 
http://pastebin.org/354048 Any ideas, why the kernel is not running my
init application?
  
   --
   Amr Ali Abdel-Naby
   Embedded Systems Developer
   www.embedded-tips.blogspot.com
  
  
  
   _
   Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
   https://signup.live.com/signup.aspx?id=60969
 
 _
 Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
 https://signup.live.com/signup.aspx?id=60969
 
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


RE: Kernel Booting Problem

2010-06-23 Thread amr ali

I tried my new kernel with my new file system, I build with buildroot.
The kernel booted and passed by the free init message, the current log is:
Freeing init memory: 124K

Warning: unable to open an initial console.

warning: `proftpd' uses 32-bit capabilities (legacy support in use)
and nothing happens after.

Any help?
--
Amr Ali Abdel-Naby
Embedded Systems Developer
www.embedded-tips.blogspot.com




 From: caglarak...@gmail.com
 To: amra...@hotmail.com
 Subject: Re: Kernel Booting Problem
 Date: Wed, 23 Jun 2010 13:42:18 +0300
 CC: davinci-linux-open-source@linux.davincidsp.com
 
 On Wednesday 23 June 2010 01:31:05 pm amr ali wrote:
  I have a new file system, I generated it by buildroot.
  What should be in that filesystem. I do not have device nodes, how do I
   create them automatically? --
 
 I guess you extracting a tar image for NFS use, if so then you should extract 
 file system image with root permissions otherwise device nodes won't be 
 populated.
 
 If you still have problems, then please give Narcissus a go.
 
 Regards,
 Caglar
 
  Amr Ali Abdel-Naby
  Embedded Systems Developer
  www.embedded-tips.blogspot.com
  
   From: caglarak...@gmail.com
   To: davinci-linux-open-source@linux.davincidsp.com
   Subject: Re: Kernel Booting Problem
   Date: Wed, 23 Jun 2010 13:23:17 +0300
   CC: amra...@hotmail.com
  
   On Wednesday 23 June 2010 01:03:25 pm amr ali wrote:
I downloaded the standard Linux kernel 2.6.33.2 and compiled it with
the default TI Davinci kernel configuration. I am booting the kernel
with NFS as Root FS. Kernel boots till I get the message Freeing INIT
memory and nothing happens. When I try to boot withh montavista .6.10
kernel with the same file systems it continue booting with no problems.
The booting log can for the non-working kernel can be found here @
  
   I'm not suprised that it is not working. This is an EABI/OABI issue,
   besides many other things changed for C library as well.
  
   In short, you need a new file system. May I suggest narcissus [1]?
  
   Regards,
   Caglar
  
   [1] http://www.angstrom-distribution.org/narcissus/
  
 http://pastebin.org/354048 Any ideas, why the kernel is not running my
 init application?
   
--
Amr Ali Abdel-Naby
Embedded Systems Developer
www.embedded-tips.blogspot.com
   
   
   
_
Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
https://signup.live.com/signup.aspx?id=60969
  
  _
  Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
  https://signup.live.com/signup.aspx?id=60969
  
  
_
Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
https://signup.live.com/signup.aspx?id=60969___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Re: [PATCH 01/14] ASoC: DaVinci: Added support for stereo I2S

2010-06-23 Thread Raffaele Recalcati
Hi Kevin,
first of all thanks for your reply.

I'm very happy to see a feedback.

2010/6/22 Kevin Hilman khil...@deeprootsystems.com

 Raffaele Recalcati lamiapost...@gmail.com writes:

  From: Raffaele Recalcati raffaele.recalc...@bticino.it
 
 - Frame Sync master and Clock master (internally generated)
 - Frame Sync master and Clock slave
 
  Signed-off-by: Raffaele Recalcati raffaele.recalc...@bticino.it
  Signed-off-by: Davide Bonfanti davide.bonfa...@bticino.it
  ---

 First, some general comments on your series.

 1) Grouping patches together in series is usually done to suggest
 interdependencies, or that all the patches go together towards a
 single problem/feature etc.  Your current series combines multiple
 patches, most of which are independent and most of which need to go
 upstream through different subsytems.


It will be done.



 For example, the audio/asoc patches go upstream through the ASoC
 maintainers, and the SPI, touchscreen, mfd, MTD drivers all have
 different subsystems and maintainers.

 The only thing that gets merged directly through me and the davinci
 git tree are changes to arch/arm/mach-davinci/*.


 So, I suggest you break this up into patches that are per-subsytem.
 In other words, one patch/series for arch/arm/mach-davinci/* another
 for audio, another for video, etc.


Ok, but what about sound/soc/davinci and similar directories?
Anyway ... the patches are sent also to davinci mailing list and you can see
them.



 To find out the right mailing lists for each of these subsystems,
 please consult the MAINTAINERS file.  A really useful tool is the
 scripts/get_maintainer.pl script.  Running that on a patch will
 suggest the right audience for that patch using the MAINTAINERS file.
 Since I gathered you're now using git-send-email, you can use this script
 in combination with git-send-email's --cc-cmd option.  e.g.

   git-send-email --to davinci list --cc-cmd=scripts/get_maintainer.pl [...]

 will automatically add the right folks to the Cc: line of the emails
 sent by git-send-email.

 2) For each series, please be sure to state what tree the patches
 were generated against, and on what platforms they were tested.


I will write for example:
The patch has been created against
http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
and checked with bmx dm365 board (similar to evm dm365).


 3) Please add descriptive changelogs to each patch.  The changelog
   should describe the problem being addressed, the solution and
   why.


It will be done.



 Some other comments below on this patch...

   sound/soc/davinci/davinci-i2s.c |  120
 +++---
   1 files changed, 110 insertions(+), 10 deletions(-)
 
  diff --git a/sound/soc/davinci/davinci-i2s.c
 b/sound/soc/davinci/davinci-i2s.c
  index adadcd3..620f977 100644
  --- a/sound/soc/davinci/davinci-i2s.c
  +++ b/sound/soc/davinci/davinci-i2s.c
  @@ -68,16 +68,23 @@
   #define DAVINCI_MCBSP_RCR_RDATDLY(v) ((v)  16)
   #define DAVINCI_MCBSP_RCR_RFIG   (1  18)
   #define DAVINCI_MCBSP_RCR_RWDLEN2(v) ((v)  21)
  +#define DAVINCI_MCBSP_RCR_RFRLEN2(v) ((v)  24)
  +#define DAVINCI_MCBSP_RCR_RPHASE (1  31)
 
   #define DAVINCI_MCBSP_XCR_XWDLEN1(v) ((v)  5)
   #define DAVINCI_MCBSP_XCR_XFRLEN1(v) ((v)  8)
   #define DAVINCI_MCBSP_XCR_XDATDLY(v) ((v)  16)
   #define DAVINCI_MCBSP_XCR_XFIG   (1  18)
   #define DAVINCI_MCBSP_XCR_XWDLEN2(v) ((v)  21)
  +#define DAVINCI_MCBSP_XCR_XFRLEN2(v) ((v)  24)
  +#define DAVINCI_MCBSP_XCR_XPHASE (1  31)
 
  +
  +#define CLKGDV(v)(v) /* Bits 0:7 */
   #define DAVINCI_MCBSP_SRGR_FWID(v)   ((v)  8)
   #define DAVINCI_MCBSP_SRGR_FPER(v)   ((v)  16)
   #define DAVINCI_MCBSP_SRGR_FSGM  (1  28)
  +#define DAVINCI_MCBSP_SRGR_CLKSM (1  29)
 
   #define DAVINCI_MCBSP_PCR_CLKRP  (1  0)
   #define DAVINCI_MCBSP_PCR_CLKXP  (1  1)
  @@ -89,6 +96,13 @@
   #define DAVINCI_MCBSP_PCR_FSRM   (1  10)
   #define DAVINCI_MCBSP_PCR_FSXM   (1  11)
 
  +/*
  + * This define works when both clock and FS are output for the cpu
  + * and makes clock very fast (FS is not simmetrical, but sampling
  + * frequency is better approximated
  + */
  +#define I2S_FAST_CLOCK
  +
   enum {
DAVINCI_MCBSP_WORD_8 = 0,
DAVINCI_MCBSP_WORD_12,
  @@ -146,6 +160,13 @@ struct davinci_mcbsp_dev {
unsigned enable_channel_combine:1;
   };
 
  +struct davinci_mcbsp_data {
  + unsigned intfmt;

 this indent is a tab (as it should be)

  +int clk_div;

 and this is spaces.  Please use tabs throughout.


I had a checkpatch false positive.
I have fixed it sending this patch to its mantainers.
Sorry, but this mail client (gmail with webmail) converts tabs in spaces so
the following patch
is not directly usable.

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a4d7434..315a827 100755
--- 

RE: CMEM module build with recent kernel drop.

2010-06-23 Thread Tivy, Robert
 -Original Message-
 From: 
 davinci-linux-open-source-bounces+rtivy=ti@linux.davincids
 p.com 
 [mailto:davinci-linux-open-source-bounces+rtivy=ti@linux.d
 avincidsp.com] On Behalf Of Mike Williamson
 Sent: Friday, May 28, 2010 6:46 AM
 To: davinci-linux-open-source@linux.davincidsp.com
 Subject: CMEM module build with recent kernel drop.
 
 Not sure if this is the right place for this...
 
 It looks like the latest version of the linux utilities 
 (specifically CMEM for the OMAP-L138) no longer build with 
 kernel Revs = 2.6.34.  This is due to the change in the 
 dma-api (e.g., the dmac_inv_range and clean functions have 
 gone away).  I tried to replace the dmac_* calls with 
 dmac_map_area as suggested in another thread I stumbled upon, 
 but the module failed to load as the underlying __glue'd symbols
 (arm926_dma_map_area) are not exported.
 
 Has anyone else run into this?  Am I missing something?  My 
 understanding is CMEM is required in order to use DSPLink.
 Is this not the case?
 
 I'm trying to build linuxutils_2.25.02.08 from TI.  I'm 
 tempted to simply export the needed symbols, but that sort of 
 flies in the face of the new DMA-API architecture.  Is there 
 a patch to CMEM out there?
 
 Thanks for any insight.
 
 -Mike
 
 --
 Michael Williamson
 315-425-4045x230
 www.criticallink.com
 ___
 Davinci-linux-open-source mailing list
 Davinci-linux-open-source@linux.davincidsp.com
 http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
 

This place is as good as any for CMEM issues, as it is monitored by those that 
are responsible for developing CMEM (and we did see your old post here but 
wanted to wait to respond until we knew the answer).  Another good place would 
be the TI Forums (http://e2e.ti.com/) which are an ever-evolving database of 
TI issues and answers.  There's a TI Linux Forum here: 
http://e2e.ti.com/support/embedded/f/354.aspx

TI has just released a Linux Utils package that contains a CMEM with support 
for Linux 2.6.34.  It can be downloaded from 
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/linuxutils/2_25_04_10/index_FDS.html.
  Since this is new it hasn't gained a lot of mileage, so please let us know 
(using this list would be fine) if there are issues or if the new cache 
functionality doesn't work.

Regards,

- Rob

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Check out my photos on Shtyle.fm

2010-06-23 Thread uniquep...@gmail.com

	
		
			

	
		Hi davinci-linux-open-sou...@linux.davincidsp.com!
	

			
		
	
	
		
			

	
	

	
		Check out my photos on Shtyle.fm
		
		I've created a profile on Shtyle.fm to upload my photos, share files and make new friends and I want to add you as a friend.
		
		View my Profile and Photos 
		
		Regards,
		
		priyanka
		
		
	

			
		
	
	
		
			You can opt-out of Shtyle.fm emails.
		
	


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


[PATCH] ASoC: DaVinci: Added support for stereo I2S

2010-06-23 Thread Raffaele Recalcati
From: Raffaele Recalcati raffaele.recalc...@bticino.it

Added audio playback support with [frame sync master - clock master] 
mode
and with [frame sync master - clock slave].
Clock slave can be important when the external codec need system clock
and bit clock synchronized.
In the clock master case there is a FIXME message in the source code, 
because we
(Davide and myself) have guessed a frequency of 12200 that seems 
the base
to be divided.
This patch has been developed against the

http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
git tree and has been tested on bmx board (similar to dm365 evm, but 
using
uda1345 as external audio codec).

Signed-off-by: Raffaele Recalcati raffaele.recalc...@bticino.it
Signed-off-by: Davide Bonfanti davide.bonfa...@bticino.it
---
 arch/arm/mach-davinci/include/mach/asp.h |7 ++
 sound/soc/davinci/davinci-i2s.c  |  141 ++
 2 files changed, 129 insertions(+), 19 deletions(-)

diff --git a/arch/arm/mach-davinci/include/mach/asp.h 
b/arch/arm/mach-davinci/include/mach/asp.h
index 834725f..b1faeb9 100644
--- a/arch/arm/mach-davinci/include/mach/asp.h
+++ b/arch/arm/mach-davinci/include/mach/asp.h
@@ -63,6 +63,13 @@ struct snd_platform_data {
unsigned sram_size_playback;
unsigned sram_size_capture;
 
+   /*
+* This define works when both clock and FS are output for the cpu
+* and makes clock very fast (FS is not simmetrical, but sampling
+* frequency is better approximated
+*/
+   int i2s_fast_clock;
+
/* McASP specific fields */
int tdm_slots;
u8 op_mode;
diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c
index adadcd3..8811d25 100644
--- a/sound/soc/davinci/davinci-i2s.c
+++ b/sound/soc/davinci/davinci-i2s.c
@@ -68,16 +68,23 @@
 #define DAVINCI_MCBSP_RCR_RDATDLY(v)   ((v)  16)
 #define DAVINCI_MCBSP_RCR_RFIG (1  18)
 #define DAVINCI_MCBSP_RCR_RWDLEN2(v)   ((v)  21)
+#define DAVINCI_MCBSP_RCR_RFRLEN2(v)   ((v)  24)
+#define DAVINCI_MCBSP_RCR_RPHASE   (1  31)
 
 #define DAVINCI_MCBSP_XCR_XWDLEN1(v)   ((v)  5)
 #define DAVINCI_MCBSP_XCR_XFRLEN1(v)   ((v)  8)
 #define DAVINCI_MCBSP_XCR_XDATDLY(v)   ((v)  16)
 #define DAVINCI_MCBSP_XCR_XFIG (1  18)
 #define DAVINCI_MCBSP_XCR_XWDLEN2(v)   ((v)  21)
+#define DAVINCI_MCBSP_XCR_XFRLEN2(v)   ((v)  24)
+#define DAVINCI_MCBSP_XCR_XPHASE   (1  31)
 
+
+#define CLKGDV(v)  (v) /* Bits 0:7 */
 #define DAVINCI_MCBSP_SRGR_FWID(v) ((v)  8)
 #define DAVINCI_MCBSP_SRGR_FPER(v) ((v)  16)
 #define DAVINCI_MCBSP_SRGR_FSGM(1  28)
+#define DAVINCI_MCBSP_SRGR_CLKSM   (1  29)
 
 #define DAVINCI_MCBSP_PCR_CLKRP(1  0)
 #define DAVINCI_MCBSP_PCR_CLKXP(1  1)
@@ -144,8 +151,17 @@ struct davinci_mcbsp_dev {
 * won't end up being swapped because of the underrun.
 */
unsigned enable_channel_combine:1;
+
+   int i2s_fast_clock;
+};
+
+struct davinci_mcbsp_data {
+   unsigned intfmt;
+   int clk_div;
 };
 
+static struct davinci_mcbsp_data mcbsp_data;
+
 static inline void davinci_mcbsp_write_reg(struct davinci_mcbsp_dev *dev,
   int reg, u32 val)
 {
@@ -255,24 +271,27 @@ static int davinci_i2s_set_dai_fmt(struct snd_soc_dai 
*cpu_dai,
unsigned int pcr;
unsigned int srgr;
srgr = DAVINCI_MCBSP_SRGR_FSGM |
-   DAVINCI_MCBSP_SRGR_FPER(DEFAULT_BITPERSAMPLE * 2 - 1) |
-   DAVINCI_MCBSP_SRGR_FWID(DEFAULT_BITPERSAMPLE - 1);
+  DAVINCI_MCBSP_SRGR_FPER(DEFAULT_BITPERSAMPLE * 2 - 1) |
+  DAVINCI_MCBSP_SRGR_FWID(DEFAULT_BITPERSAMPLE - 1);
+   /* Attention srgr is updated by hw_params! */
 
+   mcbsp_data.fmt = fmt;
/* set master/slave audio interface */
switch (fmt  SND_SOC_DAIFMT_MASTER_MASK) {
+   case SND_SOC_DAIFMT_CBS_CFM:
case SND_SOC_DAIFMT_CBS_CFS:
/* cpu is master */
pcr = DAVINCI_MCBSP_PCR_FSXM |
-   DAVINCI_MCBSP_PCR_FSRM |
-   DAVINCI_MCBSP_PCR_CLKXM |
-   DAVINCI_MCBSP_PCR_CLKRM;
+ DAVINCI_MCBSP_PCR_FSRM |
+ DAVINCI_MCBSP_PCR_CLKXM |
+ DAVINCI_MCBSP_PCR_CLKRM;
break;
case SND_SOC_DAIFMT_CBM_CFS:
/* McBSP CLKR pin is the input for the Sample Rate Generator.
 * McBSP FSR and FSX are driven by the Sample Rate Generator. */
pcr = DAVINCI_MCBSP_PCR_SCLKME |
-   DAVINCI_MCBSP_PCR_FSXM |
-   DAVINCI_MCBSP_PCR_FSRM;
+ DAVINCI_MCBSP_PCR_FSXM |
+ DAVINCI_MCBSP_PCR_FSRM;

Re: [PATCH] ASoC: DaVinci: Added support for stereo I2S

2010-06-23 Thread Mark Brown
On 23 Jun 2010, at 15:33, Raffaele Recalcati wrote:

 From: Raffaele Recalcati raffaele.recalc...@bticino.it
 
   Added audio playback support with [frame sync master - clock master] 
 mode
   and with [frame sync master - clock slave].
   Clock slave can be important when the external codec need system clock
   and bit clock synchronized.
   In the clock master case there is a FIXME message in the source code, 
 because we
   (Davide and myself) have guessed a frequency of 12200 that seems 
 the base
   to be divided.
   This patch has been developed against the
   
 http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
   git tree and has been tested on bmx board (similar to dm365 evm, but 
 using
   uda1345 as external audio codec).
 
 Signed-off-by: Raffaele Recalcati raffaele.recalc...@bticino.it
 Signed-off-by: Davide Bonfanti davide.bonfa...@bticino.it

I'd pretty much echo what Liam said - I'm not 100% sure from your description 
what the
patch is supposed to do and the code isn't particularly clear either. It 
*looks* like you're
trying to add a new clock source, but from the description this appears to be an
externally visible clock which makes it very unclear why you have to guess the 
frequency.
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Re: [PATCH] ASoC: DaVinci: Added support for stereo I2S

2010-06-23 Thread Liam Girdwood
On Wed, 2010-06-23 at 16:33 +0200, Raffaele Recalcati wrote:
 From: Raffaele Recalcati raffaele.recalc...@bticino.it
 
   Added audio playback support with [frame sync master - clock master] 
 mode
   and with [frame sync master - clock slave].
   Clock slave can be important when the external codec need system clock
   and bit clock synchronized.
   In the clock master case there is a FIXME message in the source code, 
 because we
   (Davide and myself) have guessed a frequency of 12200 that seems 
 the base
   to be divided.
   This patch has been developed against the
   
 http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
   git tree and has been tested on bmx board (similar to dm365 evm, but 
 using
   uda1345 as external audio codec).
 
 Signed-off-by: Raffaele Recalcati raffaele.recalc...@bticino.it
 Signed-off-by: Davide Bonfanti davide.bonfa...@bticino.it

Had a quick check, it looks like you have made some unintended
formatting changes that make the patch look more complex than necessary.

 ---
  arch/arm/mach-davinci/include/mach/asp.h |7 ++
  sound/soc/davinci/davinci-i2s.c  |  141 
 ++
  2 files changed, 129 insertions(+), 19 deletions(-)
 
 diff --git a/arch/arm/mach-davinci/include/mach/asp.h 
 b/arch/arm/mach-davinci/include/mach/asp.h
 index 834725f..b1faeb9 100644
 --- a/arch/arm/mach-davinci/include/mach/asp.h
 +++ b/arch/arm/mach-davinci/include/mach/asp.h
 @@ -63,6 +63,13 @@ struct snd_platform_data {
   unsigned sram_size_playback;
   unsigned sram_size_capture;
  
 + /*
 +  * This define works when both clock and FS are output for the cpu
 +  * and makes clock very fast (FS is not simmetrical, but sampling
 +  * frequency is better approximated
 +  */
 + int i2s_fast_clock;
 +
   /* McASP specific fields */
   int tdm_slots;
   u8 op_mode;
 diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c
 index adadcd3..8811d25 100644
 --- a/sound/soc/davinci/davinci-i2s.c
 +++ b/sound/soc/davinci/davinci-i2s.c
 @@ -68,16 +68,23 @@
  #define DAVINCI_MCBSP_RCR_RDATDLY(v) ((v)  16)
  #define DAVINCI_MCBSP_RCR_RFIG   (1  18)
  #define DAVINCI_MCBSP_RCR_RWDLEN2(v) ((v)  21)
 +#define DAVINCI_MCBSP_RCR_RFRLEN2(v) ((v)  24)
 +#define DAVINCI_MCBSP_RCR_RPHASE (1  31)
  
  #define DAVINCI_MCBSP_XCR_XWDLEN1(v) ((v)  5)
  #define DAVINCI_MCBSP_XCR_XFRLEN1(v) ((v)  8)
  #define DAVINCI_MCBSP_XCR_XDATDLY(v) ((v)  16)
  #define DAVINCI_MCBSP_XCR_XFIG   (1  18)
  #define DAVINCI_MCBSP_XCR_XWDLEN2(v) ((v)  21)
 +#define DAVINCI_MCBSP_XCR_XFRLEN2(v) ((v)  24)
 +#define DAVINCI_MCBSP_XCR_XPHASE (1  31)
  
 +
 +#define CLKGDV(v)(v) /* Bits 0:7 */

Should you not have a DAVINCI prefix here too ?

  #define DAVINCI_MCBSP_SRGR_FWID(v)   ((v)  8)
  #define DAVINCI_MCBSP_SRGR_FPER(v)   ((v)  16)
  #define DAVINCI_MCBSP_SRGR_FSGM  (1  28)
 +#define DAVINCI_MCBSP_SRGR_CLKSM (1  29)
  
  #define DAVINCI_MCBSP_PCR_CLKRP  (1  0)
  #define DAVINCI_MCBSP_PCR_CLKXP  (1  1)
 @@ -144,8 +151,17 @@ struct davinci_mcbsp_dev {
* won't end up being swapped because of the underrun.
*/
   unsigned enable_channel_combine:1;
 +
 + int i2s_fast_clock;
 +};
 +
 +struct davinci_mcbsp_data {
 + unsigned intfmt;
 + int clk_div;
  };
  
 +static struct davinci_mcbsp_data mcbsp_data;
 +

This struct should be part of the dai private data.

  static inline void davinci_mcbsp_write_reg(struct davinci_mcbsp_dev *dev,
  int reg, u32 val)
  {
 @@ -255,24 +271,27 @@ static int davinci_i2s_set_dai_fmt(struct snd_soc_dai 
 *cpu_dai,
   unsigned int pcr;
   unsigned int srgr;
   srgr = DAVINCI_MCBSP_SRGR_FSGM |
 - DAVINCI_MCBSP_SRGR_FPER(DEFAULT_BITPERSAMPLE * 2 - 1) |
 - DAVINCI_MCBSP_SRGR_FWID(DEFAULT_BITPERSAMPLE - 1);
 +DAVINCI_MCBSP_SRGR_FPER(DEFAULT_BITPERSAMPLE * 2 - 1) |
 +DAVINCI_MCBSP_SRGR_FWID(DEFAULT_BITPERSAMPLE - 1);
 + /* Attention srgr is updated by hw_params! */
  
 + mcbsp_data.fmt = fmt;
   /* set master/slave audio interface */
   switch (fmt  SND_SOC_DAIFMT_MASTER_MASK) {
 + case SND_SOC_DAIFMT_CBS_CFM:
   case SND_SOC_DAIFMT_CBS_CFS:
   /* cpu is master */
   pcr = DAVINCI_MCBSP_PCR_FSXM |
 - DAVINCI_MCBSP_PCR_FSRM |
 - DAVINCI_MCBSP_PCR_CLKXM |
 - DAVINCI_MCBSP_PCR_CLKRM;
 +   DAVINCI_MCBSP_PCR_FSRM |
 +   DAVINCI_MCBSP_PCR_CLKXM |
 +   DAVINCI_MCBSP_PCR_CLKRM;
   break;
   case SND_SOC_DAIFMT_CBM_CFS:
   /* McBSP CLKR pin is the input for the Sample Rate Generator.
* McBSP FSR and FSX are