This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Peculiar Register Write problem



>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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]