RE: DSPLINK: MSGQ_get() with WAIT_NONE arg causes freeze
Kelby, We found this issue recently, and it needs a fix in sync.c file. I will send it separately to you. Regards, Mugdha -Original Message- From: davinci-linux-open-source-boun...@linux.davincidsp.com [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of Kelby Rogers Sent: Monday, April 27, 2009 9:02 AM To: davinci-linux-open-source@linux.davincidsp.com Subject: DSPLINK: MSGQ_get() with WAIT_NONE arg causes freeze I am having trouble getting MSGQ_get() to work when set to non-blocking, i.e. with the parameter WAIT_NONE. It works fine blocking. I am using dsplink 1.60, and testing on the DM6446 EVM. The symptom of the problem is the Linux OS freezes, requiring a reboot. I have isolated the problem with the following changes to the GPP 'message' sample application which is provided with dsplink. Index: message.c === --- message.c (revision 26492) +++ message.c (working copy) @@ -406,7 +406,11 @@ /* * Receive the message. */ -status = MSGQ_get (SampleGppMsgq, WAIT_FOREVER, msg) ; +do +{ + status = MSGQ_get (SampleGppMsgq, WAIT_NONE, msg) ; +} while (status == DSP_ENOTCOMPLETE); + if (DSP_FAILED (status)) { MESSAGE_1Print (MSGQ_get () failed. Status = [0x%x]\n, status) ; If anyone has some pointers to what I am doing wrong or where to look, please let me know. Regards, Kelby === This email, including any attachments, is only for the intended addressee. It is subject to copyright, is confidential and may be the subject of legal or other privilege, none of which is waived or lost by reason of this transmission. If the receiver is not the intended addressee, please accept our apologies, notify us by return, delete all copies and perform no other act on the email. Unfortunately, we cannot warrant that the email has not been altered or corrupted during transmission. === ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
RE: when port a software , bus error
Hi, On Arm, you can access only word aligned data. To access a 32 bit value, the address needs to be 32 bit aligned etc.. If the data is not aligned, then a bus error is thrown. I'm guessing that its because of the char m, data[] will not be aligned in _test_c. Thanks and Regards, Sid +91-80-25099294 -Original Message- From: zhenfeng ren [mailto:1985re...@gmail.com] Sent: Saturday, April 25, 2009 8:44 AM To: davinci-linux-open-source@linux.davincidsp.com Subject: when port a software , bus error hi, everyone: Just like the code as below: 1 #include algorithm 2 #include stdio.h 3 4 #pragma pack(push, 1) 5 typedef struct _test_c 6 { 7 char m; 8 int data[10]; 9 }test_c; 10 #pragma pack(pop) 11 12 int main() 13 { 14 printf( sizeof test_c is %d \n, sizeof(test_c)); 15 test_c test; 16 for(int i=0; i10; i++) 17 test.data[i] = 9-i; 18 //int data[10]={9, 8, 7, 6, 5, 4, 2, 3, 1 , 0}; 19 std::sort(test.data, test.data+10); 20 21 return 1; 22 } This code can work on X86, but cause bus error runing on Davinci(My board is DM6446, GCC 3.4) . I know the problem is: std::sort(test.data, test.data+10);test.data is not 4-Bytes aligned. The software I want to port uses structs liking test_c a lot. Could anyone give me some advice ? -- Thanks, Zhenfeng Ren ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: Changing Machine ID
On Sunday 26 April 2009, Manjunatha AM wrote: Hi I downloaded latest OS (linux-davinci-2.6-historic )from source.mvsta.com and compiled it for Davinci DM6446 EVM with low level debug option selected. You have a pretty old version of U-Boot there ... When I boot the board it gives below error; * Starting kernel ... Uncompressing Linux... . done, booting the kernel. Error: unrecognized/unsupported machine ID (r1 = 0x0356). Available machine support: ID (hex)NAME 0385DaVinci DM644x EVM Please check your kernel config and/or bootloader. ** I dont have latest Bootloader source http://www.denx.de/wiki/U-Boot ... 2009.03 should work. Though if you're using 1.1 silicion, I'd be paranoid and stick with that bootloader. and hence I need to change the kernel source to boot with same machine ID(passed by present bootloader..)which file I need to change?? --- arch/arm/tools/mach-types |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types @@ -862,7 +862,7 @@ magpie MACH_MAGPIE MAGPIE 850 mx21adsMACH_MX21ADSMX21ADS 851 mb87m3400 MACH_MB87M3400 MB87M3400 852 mguard_delta MACH_MGUARD_DELTA MGUARD_DELTA853 -davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP854 +#davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP854 htcuniversal MACH_HTCUNIVERSAL HTCUNIVERSAL855 tpad MACH_TPAD TPAD856 roverp3MACH_ROVERP3ROVERP3 857 @@ -908,7 +908,8 @@ nadia2vbMACH_NADIA2VB NADIA2VB 897 r1000 MACH_R1000 R1000 898 hw90250MACH_HW90250HW90250 899 omap_2430sdp MACH_OMAP_2430SDP OMAP_2430SDP900 -davinci_evmMACH_DAVINCI_EVMDAVINCI_EVM 901 +#davinci_evm MACH_DAVINCI_EVMDAVINCI_EVM 901 +davinci_evmMACH_DAVINCI_EVMDAVINCI_EVM 854 omap_tornado MACH_OMAP_TORNADO OMAP_TORNADO902 olocreek MACH_OLOCREEK OLOCREEK903 palmz72MACH_PALMZ72PALMZ72 904 ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
RE: when port a software , bus error
Zhenfeng, As Sid pointed out, the bus error is due to access of int32 data at non word aligned address. You have turned on structure packing with the #pragma directive. If this was not done, the compiler would have padded 3 bytes between the char 'm' and int 'data'. In that case, the int 'data' would have been word aligned. You can use #pragma pack(push, 4) to resolve the problem. Best Regards, Anand Balagopalakrishnan Texas Instruments India -Original Message- From: davinci-linux-open-source-bounces+anandb=ti@linux.davincidsp.com [mailto:davinci-linux-open-source-bounces+anandb=ti@linux.davincidsp.com] On Behalf Of Heroor, Siddharth Sent: Monday, April 27, 2009 11:30 AM To: zhenfeng ren; davinci-linux-open-source@linux.davincidsp.com Subject: RE: when port a software , bus error Hi, On Arm, you can access only word aligned data. To access a 32 bit value, the address needs to be 32 bit aligned etc.. If the data is not aligned, then a bus error is thrown. I'm guessing that its because of the char m, data[] will not be aligned in _test_c. Thanks and Regards, Sid +91-80-25099294 -Original Message- From: zhenfeng ren [mailto:1985re...@gmail.com] Sent: Saturday, April 25, 2009 8:44 AM To: davinci-linux-open-source@linux.davincidsp.com Subject: when port a software , bus error hi, everyone: Just like the code as below: 1 #include algorithm 2 #include stdio.h 3 4 #pragma pack(push, 1) 5 typedef struct _test_c 6 { 7 char m; 8 int data[10]; 9 }test_c; 10 #pragma pack(pop) 11 12 int main() 13 { 14 printf( sizeof test_c is %d \n, sizeof(test_c)); 15 test_c test; 16 for(int i=0; i10; i++) 17 test.data[i] = 9-i; 18 //int data[10]={9, 8, 7, 6, 5, 4, 2, 3, 1 , 0}; 19 std::sort(test.data, test.data+10); 20 21 return 1; 22 } This code can work on X86, but cause bus error runing on Davinci(My board is DM6446, GCC 3.4) . I know the problem is: std::sort(test.data, test.data+10);test.data is not 4-Bytes aligned. The software I want to port uses structs liking test_c a lot. Could anyone give me some advice ? -- Thanks, Zhenfeng Ren ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: Re: Changing Machine ID
Title: Samsung Enterprise Portal mySingle Manjunatha, Both the boot loader and the Kernel should have the same machine ID. Otherwise the kernel won't boot. --Jayakrishnan --- Original Message ---Sender : David Brownelldavi...@pacbell.netDate : Apr 27, 2009 15:10 (GMT+09:00)Title : Re: Changing Machine IDOnSunday26April2009,ManjunathaAMwrote: Hi IdownloadedlatestOS(linux-davinci-2.6-historic)fromsource.mvsta.com andcompileditforDavinciDM6446EVMwithlowleveldebugoptionselected. YouhaveaprettyoldversionofU-Bootthere... WhenIboottheboarditgivesbelowerror; * Startingkernel... Uncompressing Linux... .done,bootingthekernel. Error:unrecognized/unsupportedmachineID(r1=0x0356). Availablemachinesupport: ID(hex)NAME 0385DaVinciDM644xEVM Pleasecheckyourkernelconfigand/orbootloader. ** IdonthavelatestBootloadersource http://www.denx.de/wiki/U-Boot...2009.03shouldwork. Thoughifyoureusing1.1silicion,Idbeparanoid andstickwiththatbootloader. andhenceIneedtochangethekernel sourcetobootwithsamemachineID(passedbypresentbootloader..)which fileIneedtochange?? --- arch/arm/tools/mach-types|5+++-- 1filechanged,3insertions(+),2deletions(-) ---a/arch/arm/tools/mach-types +++b/arch/arm/tools/mach-types @@-862,7+862,7@@magpieMACH_MAGPIEMAGPIE850 mx21adsMACH_MX21ADSMX21ADS851 mb87m3400MACH_MB87M3400MB87M3400852 mguard_deltaMACH_MGUARD_DELTAMGUARD_DELTA853 -davinci_dvdpMACH_DAVINCI_DVDPDAVINCI_DVDP854 +davinci_dvdpMACH_DAVINCI_DVDPDAVINCI_DVDP854 htcuniversalMACH_HTCUNIVERSALHTCUNIVERSAL855 tpadMACH_TPADTPAD856 roverp3MACH_ROVERP3ROVERP3857 @@-908,7+908,8@@nadia2vbMACH_NADIA2VBNADIA2VB897 r1000MACH_R1000R1000898 hw90250MACH_HW90250HW90250899 omap_2430sdpMACH_OMAP_2430SDPOMAP_2430SDP900 -davinci_evmMACH_DAVINCI_EVMDAVINCI_EVM901 +davinci_evmMACH_DAVINCI_EVMDAVINCI_EVM901 +davinci_evmMACH_DAVINCI_EVMDAVINCI_EVM854 omap_tornadoMACH_OMAP_TORNADOOMAP_TORNADO902 olocreekMACH_OLOCREEKOLOCREEK903 palmz72MACH_PALMZ72PALMZ72904 ___ Davinci-linux-open-sourcemailinglist Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
About the NFS file system
Hi John, My board use the kernel Linux version 2.6.18_pro500-davinci_evm(MVL Pro 5.0), but it cannot mount the NFS file system, that is the ERROR message: *IP-Config: Complete: device=eth0, addr=192.168.0.125, mask=255.255.255.0, gw=192.168.0.1, host=XJTUIPCEVM, domain=, nis-domain=(none), bootserver=192.168.0.238, rootserver=192.168.0.238, rootpath= Looking up port of RPC 13/2 on 192.168.0.238 portmap: server 192.168.0.238 not responding, timed out Root-NFS: Unable to get nfsd port number from server, using default Looking up port of RPC 15/1 on 192.168.0.238 portmap: server 192.168.0.238 not responding, timed out Root-NFS: Unable to get mountd port number from server, using default mount: server 192.168.0.238 not responding, timed out Root-NFS: Server returned error -5 while mounting /home/workdir/filesys VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device nfs or unknown-block(2,0) Please append a correct root= boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)* and I am sure that the NFS server computer is working well. Could you tell me some info about that message? Thank you ~~ Zhang ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
McBSP DMA Event [DM355]
Hi, I have enabled McBSP0 in the board-dm355-evm.c file. I have configure McBSP0 for audio but it is not working( Currently I am using McBSP0 for only recording purpose...). I found that McBSP1 EDMA event is enable in mcbsp.c file by following code: if (cpu_is_davinci_dm355()) { __REG(EDMA_EVTMUX) = ~(0x3);/* enable EDMA event for MCBSP1 */ How do I enable EDMA event for McBSP0? Below is configuration done for McBSP0 that I am using... spcr2= FREE | XINTM(3), spcr1= RINTM(3), rcr2 = RWDLEN2(DAVINCI_MCBSP_WORD_16) | RDATDLY(1), rcr1 = RFRLEN1(1) | RWDLEN1(DAVINCI_MCBSP_WORD_16), xcr2 = XWDLEN2(DAVINCI_MCBSP_WORD_16) | XDATDLY(1) | XFIG, xcr1 = XFRLEN1(1) | XWDLEN1(DAVINCI_MCBSP_WORD_16), srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1), srgr2 = FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1), /* configure McBSP to be the I2S slave */ pcr0 = CLKXP | CLKRP, I have also tried using CLKX PIN as CLKS PIN for recoding. But it doesn't work... I have went through all the McBSP related email chain to get McBSP0 work but it hasn't... Any idea guys how to make McBSP0 work for PCM audio? Thanks. ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: Changing Machine ID
On Mon, 2009-04-27 at 05:59 -0500, Steve Chen wrote: On Mon, 2009-04-27 at 11:06 +0530, Manjunatha AM wrote: Hi I downloaded latest OS (linux-davinci-2.6-historic )from source.mvsta.com On a separate note, you probably don't want to use linux-davinci-2.6 I mean linux-davinci-2.6-historic, sorry. since it is obsolete. Instead take a look at the git repository from kernel.org at http://git.kernel.org/?p=linux/kernel/git/khilman/linux-davinci.git;a=summary Regards, Steve ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: Changing Machine ID
On Mon, 2009-04-27 at 11:06 +0530, Manjunatha AM wrote: Hi I downloaded latest OS (linux-davinci-2.6-historic )from source.mvsta.com On a separate note, you probably don't want to use linux-davinci-2.6 since it is obsolete. Instead take a look at the git repository from kernel.org at http://git.kernel.org/?p=linux/kernel/git/khilman/linux-davinci.git;a=summary Regards, Steve ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: McBSP DMA Event [DM355]
On Mon, 2009-04-27 at 14:20 +0530, Azam Ansari wrote: Hi, I have enabled McBSP0 in the board-dm355-evm.c file. I have configure McBSP0 for audio but it is not working( Currently I am using McBSP0 for only recording purpose...). May want to check the pinmux settings.. just a thought. Regards, Steve ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: McBSP DMA Event [DM355]
Hi Steve, When I check /proc/pinmux it shows that Pinmux is configured for McBSP 29:34 but when I see the schematics it shows that McBSP pins are on 25:30. Can you please tell me how do i enable event mux for McBSP0 pin 25:30? On Mon, Apr 27, 2009 at 5:18 PM, Steve Chen sc...@mvista.com wrote: On Mon, 2009-04-27 at 14:20 +0530, Azam Ansari wrote: Hi, I have enabled McBSP0 in the board-dm355-evm.c file. I have configure McBSP0 for audio but it is not working( Currently I am using McBSP0 for only recording purpose...). May want to check the pinmux settings.. just a thought. Regards, Steve ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: McBSP DMA Event [DM355]
On Mon, 2009-04-27 at 18:22 +0530, Azam Ansari wrote: Hi Steve, When I check /proc/pinmux it shows that Pinmux is configured for McBSP 29:34 but when I see the schematics it shows that McBSP pins are on 25:30. Can you please tell me how do i enable event mux for McBSP0 pin 25:30? There is a pinmux layer that is used to manage pinmux settings. The definitions are in In file, arch/arm/mach-davinci/mux_cfg.c. Please take a look at davinci_dm355_pins. With MV kernel pinmux is setup automatically when clk_enable is called. You can see the actual call to setup pinmux in arch/arm/mach-davinci/board-dm355-evm.c function dm355_setup_pinmux. It seems the code is setting pinmux register 3 bits 0-5 as 1's (following code segment comes from davinci_dm355_pins in arch/arm/mach-davinci/mux_cfg.c. ... MUX_CFG(MCBSP0_BDX,3, 0, 1, 1, 0) MUX_CFG(MCBSP0_X, 3, 1, 1, 1, 0) MUX_CFG(MCBSP0_BFSX, 3, 2, 1, 1, 0) MUX_CFG(MCBSP0_BDR,3, 3, 1, 1, 0) MUX_CFG(MCBSP0_R, 3, 4, 1, 1, 0) MUX_CFG(MCBSP0_BFSR, 3, 5, 1, 1, 0) ... It is not immediately obvious looking at the datasheet that 1 is the correct setting. perhaps try setting to 0's and see if it works for you. ... MUX_CFG(MCBSP0_BDX,3, 0, 1, 0, 0) MUX_CFG(MCBSP0_X, 3, 1, 1, 0, 0) MUX_CFG(MCBSP0_BFSX, 3, 2, 1, 0, 0) MUX_CFG(MCBSP0_BDR,3, 3, 1, 0, 0) MUX_CFG(MCBSP0_R, 3, 4, 1, 0, 0) MUX_CFG(MCBSP0_BFSR, 3, 5, 1, 0, 0) ... If you have a scope to look at the clocks and data, it would be helpful in debugging as well. Regards, Steve On Mon, Apr 27, 2009 at 5:18 PM, Steve Chen sc...@mvista.com wrote: On Mon, 2009-04-27 at 14:20 +0530, Azam Ansari wrote: Hi, I have enabled McBSP0 in the board-dm355-evm.c file. I have configure McBSP0 for audio but it is not working( Currently I am using McBSP0 for only recording purpose...). May want to check the pinmux settings.. just a thought. Regards, Steve ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Problem about DSP server config of DM6446
Hi all , In my application , I have to create one algorithm many times . Fistly I config DSP server's CFG file and set stack size to 16384 in Server.algs {} , but app can only create 7 instances of my algorithm . Then I fix stack to 4096 and I can create more . My question is How many algorithm objects can I create . Which document describe it indetail ? 2009-04-27 chensu.main ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
DaVinci pull request
Minor update since v3 of posted series: - dropped the clk_put() of clocks that are always enabled. The following changes since commit 091069740304c979f957ceacec39c461d0192158: Linus Torvalds (1): Linux 2.6.30-rc3 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git for-rmk David Brownell (2): davinci: gpio bugfixes davinci: DM644x: NAND: update partitioning Kevin Hilman (10): davinci: add default Kconfig, add HAVE_IDE davinci: add runtime CPU detection support davinci: major rework of clock, PLL, PSC infrastructure davinci: add arch_ioremap() which uses existing static mappings davinci: timers: use clk_get_rate() davinci: add EDMA driver davinci: serial: generalize for more SoCs davinci: update pin-multiplexing support davinci: DM644x: rename board file davinci: update DM644x support in preparation for more SoCs Mark A. Greer (1): davinci: PSC: Clear bits in MDCTL reg before setting new bits Sudhakar Rajashekhara (1): davinci: DM646x: add interrupt number and priorities s-paul...@ti.com (1): davinci: DM355 IRQ Definitions arch/arm/Kconfig |2 + arch/arm/configs/davinci_all_defconfig | 1784 arch/arm/mach-davinci/Kconfig | 47 +- arch/arm/mach-davinci/Makefile |9 +- arch/arm/mach-davinci/board-dm644x-evm.c | 696 arch/arm/mach-davinci/board-evm.c | 440 - arch/arm/mach-davinci/clock.c | 385 +++-- arch/arm/mach-davinci/clock.h | 87 +- arch/arm/mach-davinci/devices.c|7 + arch/arm/mach-davinci/dm644x.c | 461 + arch/arm/mach-davinci/dma.c| 1135 + arch/arm/mach-davinci/gpio.c | 82 +- arch/arm/mach-davinci/id.c | 35 +- .../mach-davinci/include/mach/board-dm6446evm.h| 20 + arch/arm/mach-davinci/include/mach/clkdev.h| 13 + arch/arm/mach-davinci/include/mach/clock.h |1 - arch/arm/mach-davinci/include/mach/common.h|6 + arch/arm/mach-davinci/include/mach/cputype.h | 49 + arch/arm/mach-davinci/include/mach/dm644x.h| 37 + arch/arm/mach-davinci/include/mach/edma.h | 228 +++ arch/arm/mach-davinci/include/mach/gpio.h | 27 +- arch/arm/mach-davinci/include/mach/hardware.h | 51 +- arch/arm/mach-davinci/include/mach/io.h| 20 +- arch/arm/mach-davinci/include/mach/irqs.h | 103 ++- arch/arm/mach-davinci/include/mach/mux.h | 220 ++- arch/arm/mach-davinci/include/mach/psc.h | 53 +- arch/arm/mach-davinci/include/mach/serial.h| 21 +- arch/arm/mach-davinci/io.c | 23 +- arch/arm/mach-davinci/irq.c| 156 ++- arch/arm/mach-davinci/mux.c| 100 +- arch/arm/mach-davinci/mux.h| 51 + arch/arm/mach-davinci/psc.c| 98 +- arch/arm/mach-davinci/serial.c | 95 +- arch/arm/mach-davinci/time.c | 103 +- arch/arm/mach-davinci/usb.c|2 + 35 files changed, 5730 insertions(+), 917 deletions(-) create mode 100644 arch/arm/configs/davinci_all_defconfig create mode 100644 arch/arm/mach-davinci/board-dm644x-evm.c delete mode 100644 arch/arm/mach-davinci/board-evm.c create mode 100644 arch/arm/mach-davinci/dm644x.c create mode 100644 arch/arm/mach-davinci/dma.c create mode 100644 arch/arm/mach-davinci/include/mach/board-dm6446evm.h create mode 100644 arch/arm/mach-davinci/include/mach/clkdev.h create mode 100644 arch/arm/mach-davinci/include/mach/cputype.h create mode 100644 arch/arm/mach-davinci/include/mach/dm644x.h create mode 100644 arch/arm/mach-davinci/include/mach/edma.h create mode 100644 arch/arm/mach-davinci/mux.h ___ 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 3/3 v4] ARM: da830 - Add support for DA830/OMAP-L137 EVM
On Fri, Apr 24, 2009 at 07:35:03PM -0700, Mark A. Greer wrote: From: Mark A. Greer mgr...@mvista.com diff --git a/arch/arm/mach-davinci/include/mach/debug-macro.S b/arch/arm/mach-davinci/include/mach/debug-macro.S index de3fc21..1a4a1e3 100644 --- a/arch/arm/mach-davinci/include/mach/debug-macro.S +++ b/arch/arm/mach-davinci/include/mach/debug-macro.S @@ -24,7 +24,14 @@ tst \rx, #1 @ MMU enabled? moveq \rx, #0x0100@ physical base address movne \rx, #0xfe00@ virtual base +#if defined(CONFIG_ARCH_DAVINCI_DA830_EVM) defined(CONFIG_ARCH_DAVINCI_DMx) This should be 'CONFIG_MACH_DAVINCI_DA830_EVM'. Thanks to Sergei for finding that. Mark -- ___ 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 2/3 v4] ARM: da830 - Add base DA830/OMAP-L137 SoC support
On Fri, Apr 24, 2009 at 07:34:07PM -0700, Mark A. Greer wrote: diff --git a/arch/arm/mach-davinci/devices-da830.c b/arch/arm/mach-davinci/devices-da830.c +int da830_register_spi(int instance, struct davinci_i2c_platform_data *pdata) ^^^ This is clearly broken. Mark -- ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC
On Monday 27 April 2009, Scott Wood wrote: It is for compatibility with a widely-deployed legacy ECC layout -- more details can be found in the list archives. See my original query, which IMO disproves that assertion. What this option enables differs in two ways from what the MontaVista code does. (Speaking here of the 1-bit HW ECC. The 4-bit support is another mess, which would be made far worse by needing to carry the BROKEN_ECC mode.) One could define a MONTAVISTA_COMPAT option, but it would not AFAICT be this BROKEN_ECC since it would only differ from the current Linux code in *one* of those three ways. (Which has in turn also been claimed to be broken, by mis-reporting some multi-bit errors as single-bit ones.) Which is why I'm wondering what that original U-Boot code for HW ECC was trying to be compatible with, since it clearly wasn't MontaVista Linux ... or even the U-Boot versions I've seen be distributed with it. - Dave ___ 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 3/3 v4] ARM: da830 - Add support for DA830/OMAP-L137 EVM
On Monday 27 April 2009, Mark A. Greer wrote: --- a/arch/arm/mach-davinci/include/mach/debug-macro.S +++ b/arch/arm/mach-davinci/include/mach/debug-macro.S @@ -24,7 +24,14 @@ tst \rx, #1 @ MMU enabled? moveq \rx, #0x0100@ physical base address movne \rx, #0xfe00@ virtual base +#if defined(CONFIG_ARCH_DAVINCI_DA830_EVM) defined(CONFIG_ARCH_DAVINCI_DMx) This should be 'CONFIG_MACH_DAVINCI_DA830_EVM'. You man it wouldn't be applicable to DA830 boards other than that EVM?? Same comment in a few other places. From what you've said, these are chip-specific issues, not board-specific ones... ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC
On Monday 27 April 2009, Scott Wood wrote: David Brownell wrote: On Monday 27 April 2009, Scott Wood wrote: It is for compatibility with a widely-deployed legacy ECC layout -- more details can be found in the list archives. See my original query, which IMO disproves that assertion. The entire mess was presented as being for compatibility in these threads: The *non*BROKEN stuff is certainly compatible with the NAND code in the DaVinci kernel GIT tree, which is now in mainline. The BROKEN stuff is somewhat compatible with the MV kernels, iff restricted to small-page support. But ... the U-Boot with which those kernels were shipped doesn't use 1-bit HW ECC, so that may not be much of a concern. (The original mainline u-boot large page support was very broken, and wasn't MV-compatible. So arguably there were two separate compatibility issues: MV, and large-page bugginess.) http://lists.denx.de/pipermail/u-boot/2008-June/036055.html http://lists.denx.de/pipermail/u-boot/2008-August/039679.html If some portions of it aren't actually needed for compatibility, then we can remove them. Or we can remove the entire thing, if nobody cares anymore -- if anyone out there does care and is using this, please speak up now. I'm hoping for the nobody cares any more option... Anyone who *does* can always use their current version of U-Boot ... or patch it back in. If there have been complaints due to lack of compatibility between current GIT kernels and the MV releases, I've not heard them. What this option enables differs in two ways from what the MontaVista code does. (Speaking here of the 1-bit HW ECC. The 4-bit support is another mess, which would be made far worse by needing to carry the BROKEN_ECC mode.) I see no reason why new features would have to be supported on both sides of the ifdef. I was referring to a textual mess. One clean way to add a broken ECC mode would be as a completely different set of functions, instead of a pile of #ifdefs. And 4-bit will be troublesome for other reasons. Which is why I'm wondering what that original U-Boot code for HW ECC was trying to be compatible with, since it clearly wasn't MontaVista Linux ... or even the U-Boot versions I've seen be distributed with it. MV 2.6.10 was the claim. Right. I looked at TI's 1.20 (MV 4.0/2.6.10) and 2.0 beta (MV 5.0/2.6.18) code, and their sibling U-Boot versions. If that compatibilty is actually needed, the simplest way to get it might be to define functions to mangle the the ECC words (standard ~PQRstu --- MV PsQRtu) and use the current *correction* code; the OOB bit pattern changes but not the algorithm. I think I'll add a comment about that. - Dave -Scott ___ 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 3/3 v4] ARM: da830 - Add support for DA830/OMAP-L137 EVM
On Mon, Apr 27, 2009 at 12:49:54PM -0700, David Brownell wrote: On Monday 27 April 2009, Mark A. Greer wrote: --- a/arch/arm/mach-davinci/include/mach/debug-macro.S +++ b/arch/arm/mach-davinci/include/mach/debug-macro.S @@ -24,7 +24,14 @@ tst \rx, #1 @ MMU enabled? moveq \rx, #0x0100@ physical base address movne \rx, #0xfe00@ virtual base +#if defined(CONFIG_ARCH_DAVINCI_DA830_EVM) defined(CONFIG_ARCH_DAVINCI_DMx) This should be 'CONFIG_MACH_DAVINCI_DA830_EVM'. You man it wouldn't be applicable to DA830 boards other than that EVM?? Maybe, maybe not. Same comment in a few other places. From what you've said, these are chip-specific issues, not board-specific ones... Well, there are lots of pinmux conflicts on the da830. For devices that aren't used all of the time, it makes sense to allow the driver and the resources it requires to come and go on demand--maybe even the console if there is a graphic console. Either way, what uart is used for the serial console is determined by the board not the chip. Mark -- ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
RE: Problem about DSP server config of DM6446
I'm not sure about a document, but the number of algorithm objects that you can create depends on the size of the memory block from which the stacks are allocated. As you've seen, cutting the stack size down allows you to create more. You might be able to find a formula, but the real answer is as many as you have memory for. - Rob From: davinci-linux-open-source-boun...@linux.davincidsp.com [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of chensu.main Sent: Monday, April 27, 2009 8:03 AM To: davinci-linux-open-source Subject: Problem about DSP server config of DM6446 Hi all , In my application , I have to create one algorithm many times . Fistly I config DSP server's CFG file and set stack size to 16384 in Server.algs {} , but app can only create 7 instances of my algorithm . Then I fix stack to 4096 and I can create more . My question is How many algorithm objects can I create . Which document describe it indetail ? 2009-04-27 chensu.main ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: when port a software , bus error
hi, Thanks for your answers. Now, I have changed the member variable in struct to make sure that the alignment is correct. -- Thanks, Zhenfeng Ren ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: THS8200 Module and DM6446EVM Initial Setup
Hmmm... Just to let you know that the EVMDM6446 and the THS8200 daughter card CAN work together to output VESA compliant signals (in VESA slave mode). I modified the THS8200 drivers (CDC949 pixel clock, VPBE and THS8200 registers) to support RGB output of 1024x768 at 60 fps, with refresh rate of 65 Mhz and it worked fine. I can hook up the daugther card to any LCD monitor... I had answered another reader a few months ago who wanted to interface the THS8200 from a DM355. I had forgotten to post the reply to the group. Anyway, here goes, I hope this helps: From: Carl Renaud Sent: 2008-12-16 22:12:02 To: zuowenping Cc: Subject: Re: How can i use VGA(480p) format output to ths8200 in dm355 platform I just went through the process of supporting 1024x768 VGA on the THS8200 evm (with a dm6446, but should be the same on dm355). 1) You will need to modify the files: ths8200_encoder.h ths8200_encoder.c (for THS8200, CDCE949 and THS7303 reprogramming) davinci_platform.c (for VPBE VENC reprogramming) vid_encoder_types.h These files are located under: workdir/lsp/ti-davinci/include/media/davinci workdir/lsp/ti-davinci/drivers/media/video/davinci 2) Search for COMPONENT1 and VID_ENC_STD_720P_60. Anywhere these are used, you will need to add something for 640x480 support. 3) You will need to set timings for front and back porch, sync length and data valid (I did not knew about these 2 weeks ago). To get the right timings, check the site www.tkk.fi/Misc/Electronics/faq/vga2rgb/calc.html. Note that the timings depend on the pixel rate clock (and thus the refresh rate). For example, 640x480 at 60 Hz requires a pixel clock of 25.17 MHz, horizontal: front porch 16 pixels, sync 96 pixels, back 48 pixels...etc. These values will need to be programmed in the VPBE VENC AND the THS8200. 4) First you need to program the pixel clock(vpbe_clk) which will be fed to the DM355 VBPE VENC. For example, in 640x480 at 60 Hz you need 25.17 MHz. This is done by the CDCE949 (on the THS8200 daughter card). You need to read document SCAS844A.pdf (on TI site). You will also need the TI clock pro application (on the CDCE949 part web page) to get the register settings. Note that the clock pro application is not reliable. I needed a 65MHz clock and the register config it gave me generated a jittery 65MHz clock. I did the N and M computation by hand and then let the TI clock pro software populate the registers. You will need to experiment... 5) I do not know about the DM355 evm, but on the DM6446, we needed to add a wire on the DM6446 evm to route the vpbe_clk (check the schematics). 6) You will need to read and understand all registers of the: VPBE VENC. THS8200 Get the documents and a lot of coffee ;-) 7) I did not make any changes to the THS7303 configuration 8) VERY IMPORTANT: You will want to configure the THS8200 using: VESA slave input 16 bits RGB 4:4:4 You will need to configure the VPBE VENC using: output Parallel RGB 888 However note that not all Parallel RGB 888 lines are routed to the THS8200 daughter card. It ends up being RGB565, and thus, the color resolution is reduced (But it is more than OK for testing. I've been playing videos and it is more than fair). 9) Expect a few days of reading/testing to get it to work. I suggest you write a user level application to play with the registers/configuration. Once you get it right, port these settings to the driver... Good luck ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: is there any LCD Kits for DM355 DVEVM board
You can use the THS8200 daughter card (sold by Spectrum), but will need to modify the drivers to support RGB output to an LCD monitor (not a trivial task). On Fri, Apr 24, 2009 at 10:02 PM, weixin Li weixinl...@yahoo.com wrote: Hello I have a DM355 EVM board and want to connect an LCD. Is there any available LCD module can be used? Is there daughter board available with the mating connector to connect directly to the EVM board? Thanks, Wayne ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
RE: Changing Machine ID
Hi David, Thanks for your reply, I have changed /arch/arm/tools/mach-types as per suggestion and kernel started booting...I have some problem in mounting filesystem.. Thanks Manjuntah.AM -Original Message- From: David Brownell [mailto:davi...@pacbell.net] Sent: Monday, April 27, 2009 11:41 AM To: davinci-linux-open-source@linux.davincidsp.com; manjunat...@tataelxsi.co.in Subject: Re: Changing Machine ID On Sunday 26 April 2009, Manjunatha AM wrote: Hi I downloaded latest OS (linux-davinci-2.6-historic )from source.mvsta.com and compiled it for Davinci DM6446 EVM with low level debug option selected. You have a pretty old version of U-Boot there ... When I boot the board it gives below error; * Starting kernel ... Uncompressing Linux... . done, booting the kernel. Error: unrecognized/unsupported machine ID (r1 = 0x0356). Available machine support: ID (hex)NAME 0385DaVinci DM644x EVM Please check your kernel config and/or bootloader. ** I dont have latest Bootloader source http://www.denx.de/wiki/U-Boot ... 2009.03 should work. Though if you're using 1.1 silicion, I'd be paranoid and stick with that bootloader. and hence I need to change the kernel source to boot with same machine ID(passed by present bootloader..)which file I need to change?? --- arch/arm/tools/mach-types |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types @@ -862,7 +862,7 @@ magpie MACH_MAGPIE MAGPIE 850 mx21adsMACH_MX21ADSMX21ADS 851 mb87m3400 MACH_MB87M3400 MB87M3400 852 mguard_delta MACH_MGUARD_DELTA MGUARD_DELTA853 -davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP854 +#davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP854 htcuniversal MACH_HTCUNIVERSAL HTCUNIVERSAL855 tpad MACH_TPAD TPAD856 roverp3MACH_ROVERP3ROVERP3 857 @@ -908,7 +908,8 @@ nadia2vbMACH_NADIA2VB NADIA2VB 897 r1000 MACH_R1000 R1000 898 hw90250MACH_HW90250HW90250 899 omap_2430sdp MACH_OMAP_2430SDP OMAP_2430SDP900 -davinci_evmMACH_DAVINCI_EVMDAVINCI_EVM 901 +#davinci_evm MACH_DAVINCI_EVMDAVINCI_EVM 901 +davinci_evmMACH_DAVINCI_EVMDAVINCI_EVM 854 omap_tornado MACH_OMAP_TORNADO OMAP_TORNADO902 olocreek MACH_OLOCREEK OLOCREEK903 palmz72MACH_PALMZ72PALMZ72 904 The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments contained in it. ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source