Omap4 DSS clocks

Christoph Fritz chf.fritz at googlemail.com
Thu Mar 14 09:46:01 EDT 2013


On Thu, 2013-03-14 at 14:33 +0100, Sascha Hauer wrote:
> On Thu, Mar 14, 2013 at 02:23:56PM +0100, Christoph Fritz wrote:
> > On Thu, 2013-03-14 at 17:11 +0400, Alexander Shiyan wrote:
> > > > > On Thu, 2013-03-14 at 16:48 +0400, Alexander Shiyan wrote:
> > > > > > >  Barebox crashes while reading a DSS register:
> > > > > > > 
> > > > > > >   $ md 0x48040000
> > > > > > >   unable to handle paging request at address 0x48040000
> > > > > > > 
> > > > > > > I suppose this is due to a turned off clock.
> > > > > > > 
> > > > > > > Any hints?
> > > > > > 
> > > > > > Probably this is a bug. I reproduced it.
> > > > > > 
> > > > > > Try to specify start & end address, like:
> > > > > > md -l 0x48040000-0x48040010
> > > > > 
> > > > > I get the same effect: it crashes.
> > > > 
> > > > OK. It seems rw_buf not initialized.
> > > > 
> > > > So change line:
> > > > static char *rw_buf; 
> > > > to
> > > > static char *rw_buf[RW_BUF_SIZE]; 
> > > Without asterisk, like:
> > >  static char rw_buf[RW_BUF_SIZE]; 
> > 
> > malloc expects a pointer:
> > commands/mem.c:634: error: incompatible types when assigning to type
> > ‘char[4096]’ from type ‘void *’
> > 
> > As you can see below, for a quick test I commented the lines, but
> > barebox still crashes.
> > 
> > Why don't you suppose that this is due to the non functional DSS?
> 
> I wouldn't expect a bug in the code. This would have been discovered
> already.

Register CM_DSS_DSS_CLKCTRL (0x4a009120) reads 0x00070F02 and so the
field [17:16] IDLEST reads 0x3 which means "Module is disabled and
cannot be accessed". On linux, its 0x2 which means "functional".

Any hints?

Thanks
 -- Christoph





More information about the barebox mailing list