Sign in

username:

password:



Not a member?

Search c55x



Search tips

Subscribe to c55x



c55x by Keywords

AIC23 | C5509 | CCS | CSL | EMIF | EVM | GEL | GPIO | HPI | Interfacing | JTAG | McBSP | OMAP | Omap15 | OMAP59 | RTDX | SDRAM | TMS320VC5509 | USB | XDS5

Ads

Discussion Groups

Discussion Groups | TMS320C55x | MCSI1 (DSP side) and DMA operation on OMAP5912

Technical discussions about the TI C55x DSPs (including the c5501, c5502, c5503, c5507, c5509, c5510 and OMAP5910).

  

Post a new Thread

MCSI1 (DSP side) and DMA operation on OMAP5912 - r_hmoreno - Mar 7 12:02:00 2006



Hello everyone,

I'm trying to use MCSI1 with data transfer performed by DMA on
OMAP5912. My objective is to transfer 48 registers (16 bits each
register), but each time I run the application, only the first
register is written on the output several times (until MCSI's clock is
disabled). The event that syncs the element transfer on DMA is the
frame sync generated by MCSI1 TX. It seems that the source address for
DMA reading data is not being incremented, although post-increment
parameter is set on DMA config registers. DMA is activated on MCSI1
parameter (only TX transfer by DMA).

If you don't mind I would like to post the portion of my code that
configures the DMA.

DSP_DMA_GCR	= 0x000c;	// Global Control Reg
DSP_DMA_GSCR	= 0x0001;	// Global Software Compatibility Reg
DSP_DMA_GTCR	= 0x0000;	// Global Timeout Control Reg
  
DSP_DMA_CSDP0	= 0x0605;	// Channel 0 Source and Dest. Parameter Reg
DSP_DMA_CCR0	= 0x1041;	// Channel 0 Control Reg
DSP_DMA_CICR0	= 0x0020;	// Channel 0 Interrupt Control Reg

DSP_DMA_CSSA_L0	= (((long)intRegProg << 1) & (0xffff));	// Channel 0
Source Start Address Lower Part Reg

DSP_DMA_CSSA_U0	= (((long)intRegProg >> 15) & (0x00ff));// Channel 0
Source Start Address Upper Part Reg

DSP_DMA_CDSA_L0	= ((((long)(ioport int*)0x9420) << 1) & (0xffff));	//
Channel 0 Dest. Start Address Lower Part Reg

DSP_DMA_CDSA_U0	= ((((long)(ioport int*)0x9420) >> 15) & (0x0001));	//
Channel 0 Dest. Start Address Upper Part Reg

DSP_DMA_CEN0		= QTD_REG_PROG_TX;	// Element Number Reg
DSP_DMA_CFN0		= 0x0001;		// Frame Number Reg
	//Enable DMA channel 0

DSP_DMA_CCR0 = DSP_DMA_CCR0 | 0x0080; //Enable DMA 

//Start MCSI1 clock
  
DSP_MCSI1_Control = 0x0001;
	Do anyone have any idea on what I should do now? Am I forgetting to
set something? Help me please!!

I really aprecciate any help.

Regards,

Rafael.
	


(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )