From: "Luís Vitório Cargnini" <lvcargnini@ieee.org>
To: OMAP <Linux-omap-open-source@linux.omap.com>,
dspgateway-devel@lists.sourceforge.net
Subject: McBSP usage inside DSP processor
Date: Tue, 13 Feb 2007 15:16:24 -0200 [thread overview]
Message-ID: <ae36f8040702130916j2ef9ca99le666600ae90af321@mail.gmail.com> (raw)
Dears:
I and my colleague are developing an application that will need to access an
AD/DA, from DSP processor, we are trying the McBSP functions MCBSP_init(),
read an write and so on. But we are having difficulties on execute this.
Someone knows how to access an McBSP inside DSP side ?
we are using DSPGateway.
Something that we note is that MCBSP_init() do not exist and are always
generating an error on compilation but CSL_init() works; someone could give
some info about it ?
here follow an code been developed by us:
#define CHIP_5510PG2_2 1
#include <std.h>
#include <stdint.h>
#include <math.h>
#include <csl.h>
#include <csl_dma.h>
#include <csl_emif.h>
#include <csl_irq.h>
#include <csl_timer.h>
#include <csl_mcbsp.h>
#include "tokliBIOS.h"
#define MCBSP_DEV0 (0)
#define MCBSP_DEV1 (1)
#define MCBSP_DEV2 (2)
#define BUFSIZ (0x10000/2)
int count;
void write_isr(void);
MCBSP_Handle fd;
MCBSP_Config configuracao = { /*tudo uint16*/
0x0200, //spcr1
0x1800, //spcr2
0x0000, //rcr1
0x0020, //rcr2
0x0000, //xcr1
0x0060, //xcr2
0x3249, //srgr1
0x03FF, //srgr2
0x0040, //mcr1
0x00A0, //mcr2
0x00E0, //pcr
0x0000, //rcera
0x0000, //rcerb
0x0000, //rcerc
0x0000, //rcerd
0x0000, //rcere
0x0000, //rcerf
0x0000, //rcerg
0x0000, //rcerh
0x0000, //xcera
0x0000, //xcerb
0x0000, //xcerc
0x0000, //xcerd
0x0000, //xcere
0x0000, //xcerf
0x0000, //xcerg
0x0000 //xcerh
};
void write_isr(void)
{
while(!MCBSP_xrdy(fd));
MCBSP_write16(fd, 1);
while(!MCBSP_rrdy(fd));
count = MCBSP_read16(fd);//o maximo eh 65536
}
static Uns mm_rcv_bksnd(struct dsptask *task, Uns bid, Uns cnt)
{
Int i;
Uns *ipbp = ipbuf_d[bid];
Uns off, len;
#define OFF 0 /* arbitrary */
Uns bid2;
uint16_t *addr = task->udata;
if (cnt != 2)
{
//dbg(task, "[DSP]: illegal data cnt: %d\n", cnt);
unuse_ipbuf(task, bid);
return 0;
}
off = ipbp[0]; /* offset within the mapped space */
len = ipbp[1]; /* len (in word count) */
unuse_ipbuf(task, bid);
CSL_init();//inicializa a tudo
fd = MCBSP_open(MCBSP_DEV1, MCBSP_OPEN_RESET);//ok
MCBSP_reset(fd);
MCBSP_config(fd,&configuracao);
IRQ_clear(IRQ_EVT_INT1);
IRQ_configArgs(IRQ_EVT_INT1, write_isr, 0, 0, 0);
IRQ_enable(IRQ_EVT_INT1); /* enable MCBSP1 transmit ready
interrupt */
MCBSP_start(fd, MCBSP_RCV_START | MCBSP_XMIT_START | MCBSP_SRGR_START |
MCBSP_SRGR_FRAMESYNC, 0x0010);
MCBSP_write16(fd,79);
busywait(2000000L);
while(!MCBSP_rrdy(fd));
count = MCBSP_read16(fd);//o maximo eh 65536
bid2 = get_free_ipbuf(task);
//if(bid2 == MBCMD_BID_NULL)
// return MBCMD_EID_STVBUF;
ipbp = ipbuf_d[bid2];
ipbp[0] = OFF;
ipbp[1] = count;
bksnd(task, bid2, 2);
return 0;
}
--
------------------------------------------------------------------------------
Thanks && Regards
Msc. Bsc. Luís Vitório Cargnini
IEEE Member
Mastering Degree student @ PUC-RS
Electrical Engineer Faculty
Ipiranga Avenue, 6681 – Building 30
P.O. Box: 90619-900 – Porto Alegre/RS
Phone: +55 51 3320 3500 extension: 7696
---------------------------------------------------------------------------------
next reply other threads:[~2007-02-13 17:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-13 17:16 Luís Vitório Cargnini [this message]
2007-02-15 10:29 ` McBSP usage inside DSP processor Guruswamy, Senthilvadivu
2007-02-15 17:54 ` Diogo Scolari
2007-02-15 18:15 ` Guruswamy, Senthilvadivu
2007-02-15 19:02 ` Diogo Scolari
2007-02-15 19:07 ` Guruswamy, Senthilvadivu
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=ae36f8040702130916j2ef9ca99le666600ae90af321@mail.gmail.com \
--to=lvcargnini@ieee.org \
--cc=Linux-omap-open-source@linux.omap.com \
--cc=dspgateway-devel@lists.sourceforge.net \
/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.