On Thursday 28 September 2006 18:58, Leonid wrote:
> > What you really need, is an U-Boot command to set/get SDR registers,
> > indirectly accessed via the DCR 0x0e/0x0f registers. Something
> > like "setsdr/getsdr".
> [Leonid] I thought rather of some generic function, allowing indirect
> access to DCR-related registers since 0xE/0xF is not only combination of
> address/data - for EBC they use 0x12/0x13 for instance. To that end, GET
> command must receive 3 "address" arguments - DCR address register, DCR
> data register and offset while SET will also need a value. Please advice
> on command's name. Something like that I guess:
> getidcr e f 0x40
> setidcr e f 40 0xbadd
> where "i" in the middle stays for "indirect". What do you think?
Good idea. Much more flexible this way. I'm just thinking, if we really need
this 2nd argument for the "DCR data register", since all "DCR data registers"
I found upon a quick look into on of the AMCC manuals, are located at "DCR
address register + 1". This way we would save one parameter, but would loose
some flexibility. Best would be, if you made the 2nd paramter optional:
getidcr e [f] 0x40
setidcr e [f] 40 0xbadd
This way, you could decide upon the parameter count (argc), if the "DCR data
register" is supplied or not. What do you think?
> Now regarding implementation. Simplest way is to call
> set_dcr()/get_dcr() from C code but that actually doesn't ensure that
> the register under consideration was not overwritten in between. I can
> disable interrupts, do you think it's OK? This is debug monitor function
> after all, nobody cares regarding performance here...
Yes, you should definitely disable the interrupts in this function.
> > It would be best, if you could supply a proper patch
> > with such additional commands.
> [Leonid] It will be quite a honor for me to serve this community. Can
> you refer me to proper link how I do proceed with patch submission:
> review, help information, actual sources delivering, etc...
This is explained at the end of the README under "Submitting Patches:". And
please also take a look at "Coding Standards:".