New driver crashes with "unable to handle paging request"
Rolf Evers-Fischer
embedded24 at evers-fischer.de
Wed Apr 30 07:08:04 PDT 2014
I have resolved the problem by enabling the USB clocks:
Write "2" to register "CM_PER_USB0_CLKCTRL" (address 0x44e0001c).
Kind regards,
Rolf
> Rolf Evers-Fischer <embedded24 at evers-fischer.de> hat am 24. April 2014 um
> 10:52 geschrieben:
>
>
>
> Hi Sascha,
>
> > Sascha Hauer <s.hauer at pengutronix.de> hat am 24. April 2014 um 08:58
> > geschrieben:
> >
> >
> > Hi Rolf,
> >
> > On Wed, Apr 23, 2014 at 06:09:40PM +0200, Rolf Evers-Fischer wrote:
> > > I'm just trying to port the USB driver "musb" (for the AM335x platform)
> > > from
> > > linux kernel to barebox.
> > > But whenever I want to read any address in the range
> > > 0x47401400-0x474017ff,
> > > the
> > > barebox crashes with "unable to handle paging request".
> > > I have already tried to invoke a "map_io_sections(0x0, 0x47400000,
> > > 0x2000)",
> > > but
> > > it didn't help.
> >
> > barebox creates a flat 1:1 mapping when the MMU is enabled. You won't
> > need any calls to map_io_sections or some ioremap correspondent
> > function.
> >
>
> Thank you. That's good to know.
>
> > It may be that you have to enable some bus clocks in order to access the
> > musb.
> >
>
> Maybe. I found this in TI's "Technical Reference Manual":
> "Prior to configuring the USB Module Registers, the USB SubSystem and PHY are
> required to be released
> from reset, enable interconnects and controllers clocks as well as configure
> the
> USB PHY with appropriate
> setting."
>
> Quite a lot of work, but I'll definitely have to check it.
>
> > To make sure you don't have MMU trouble could you post the output of
> > 'mmuinfo 0x47400000'?
> >
>
> PAR result for 0x47400000:
> privileged read: 0x47400290
> Physical Address [31:12]: 0x47400000
> Reserved [11]: 0x0
> Not Outer Shareable [10]: 0x0
> Non-Secure [9]: 0x1
> Impl. def. [8]: 0x0
> Shareable [7]: 0x1
> Inner mem. attr. [6:4]: 0x1 (0b001 Strongly-ordered)
> Outer mem. attr. [3:2]: 0x0 (0b00 Non-cacheable)
> SuperSection [1]: 0x0
> Failure [0]: 0x0
> privileged write: 0x47400290
> Physical Address [31:12]: 0x47400000
> Reserved [11]: 0x0
> Not Outer Shareable [10]: 0x0
> Non-Secure [9]: 0x1
> Impl. def. [8]: 0x0
> Shareable [7]: 0x1
> Inner mem. attr. [6:4]: 0x1 (0b001 Strongly-ordered)
> Outer mem. attr. [3:2]: 0x0 (0b00 Non-cacheable)
> SuperSection [1]: 0x0
> Failure [0]: 0x0
>
>
> Best regards,
> Rolf
More information about the barebox
mailing list