This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Peculiar Register Write problem
- To: "Trenton D. Adams" <tadams at extremeeng dot com>, "'eCos discussion'" <ecos-discuss at sources dot redhat dot com>
- Subject: Re: [ECOS] Peculiar Register Write problem
- From: "Lewin A.R.W. Edwards" <larwe at larwe dot com>
- Date: Wed, 27 Jun 2001 11:19:05 -0400
>This is the code for initializing the CL-PS6700 PCMCIA controller.
>Everything from PCCIRR1 on does not happen. I've put this code inside a
[...]
>If I put
>in those 4 lines after a call to cf_init (), the registers do get set
So we can infer that your init code as posted is not complete, and that it
relies on some other register's state being intialized by cf_init(). Look
at the source for cf_init() and see what registers it initializes. Cut and
paste into your code until the registers become properly writable.
Cirrus's other EDBs use GPIO pins to drive chip select signals on various
hardware. Check in particular that you're setting up the data direction
register for the GPIO pins correctly, I think this is a likely culprit for
your problem. (Just copy the value eCos uses for the time being, once you
develop your own board you could modify it where necessary. But whatever
value eCos uses will be sensible - presumably <g> - for the Cirrus board).
-- Lewin A.R.W. Edwards
Embedded Engineer, Digi-Frame Inc.
Work: http://www.digi-frame.com/
Tel (914) 937-4090 9am-6:30pm M-F ET
Personal: http://www.larwe.com/ http://www.zws.com/
"Far better it is to dare mighty things, to win glorious triumphs, even
though checkered by failure, than to rank with those poor spirits who
neither enjoy much nor suffer much, because they live in the gray twilight
that knows not victory nor defeat."
(Theodore Roosevelt)